@yuneta/gobj-js 7.3.1 → 7.3.3

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.
@@ -211,11 +211,11 @@ var gobjJs = function(e) {
211
211
  constructor(e, t, n) {
212
212
  this.event_name = e, this.action = t, this.next_state = n;
213
213
  }
214
- }, I = class {
214
+ }, A = class {
215
215
  constructor(e) {
216
216
  this.state_name = e, this.dl_actions = [];
217
217
  }
218
- }, A = class {
218
+ }, I = class {
219
219
  constructor(e, t) {
220
220
  this.event_name = e, this.event_flag = Number(t) || 0;
221
221
  }
@@ -281,7 +281,8 @@ var gobjJs = function(e) {
281
281
  let i;
282
282
  switch (n.type) {
283
283
  case E.DTP_STRING:
284
- if (Jt(r)) i = String(r);
284
+ if (null == r) i = "";
285
+ else if (Jt(r)) i = String(r);
285
286
  else {
286
287
  let e = JSON.stringify(r);
287
288
  e && (i = String(e));
@@ -327,11 +328,11 @@ var gobjJs = function(e) {
327
328
  }
328
329
  return void 0 === i && Ot(`${Ne(e)}: attr undefined: ${n.name}`), t[n.name] = i, xt(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = i), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
329
330
  }
330
- function G(e) {
331
+ function F(e) {
331
332
  return e.jn_attrs;
332
333
  }
333
- function F(e, t, n) {
334
- return Ke(e, t) ? G(e) : e && e.bottom_gobj ? F(e.bottom_gobj, t, n) : (n && Ot(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`), null);
334
+ function G(e, t, n) {
335
+ return Ke(e, t) ? F(e) : e && e.bottom_gobj ? G(e.bottom_gobj, t, n) : (n && Ot(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`), null);
335
336
  }
336
337
  function V(e, t, n) {
337
338
  if (!(e && e instanceof S)) return n && Ot("gclass NULL"), null;
@@ -345,7 +346,7 @@ var gobjJs = function(e) {
345
346
  function W(e, t, n, r, i, l, o, s, _, a, u) {
346
347
  if (Zt(e)) return Ot("gclass_name EMPTY"), null;
347
348
  if (e.includes("`") || e.includes("^") || e.includes(".")) return Ot(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
348
- if (q(e)) return Ot(`GClass ALREADY exists: ${e}`), null;
349
+ if (H(e)) return Ot(`GClass ALREADY exists: ${e}`), null;
349
350
  let c = new S(e, r, i, l, o, s, _, a, u);
350
351
  (function(e, t) {
351
352
  e && e instanceof S ? t ? d[t] ? Ot(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ot("gclass_name undefined") : Ot("gclass undefined");
@@ -369,7 +370,7 @@ var gobjJs = function(e) {
369
370
  }
370
371
  }
371
372
  if (!c.fsm_checked) {
372
- if (H(c) < 0) return M(c), null;
373
+ if (q(c) < 0) return M(c), null;
373
374
  c.fsm_checked = !0;
374
375
  }
375
376
  return c;
@@ -401,7 +402,7 @@ var gobjJs = function(e) {
401
402
  return null;
402
403
  }
403
404
  function x(e, t) {
404
- return e instanceof S ? K(e, t) ? (Ot(`state already exists: ${t}`), -1) : (e.dl_states.push(new I(t)), 0) : (Ot("Cannot add state, typeof not GClass"), -1);
405
+ return e instanceof S ? K(e, t) ? (Ot(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (Ot("Cannot add state, typeof not GClass"), -1);
405
406
  }
406
407
  function B(e, t, n, r, i) {
407
408
  if (!(e instanceof S)) return Ot("Cannot add state, typeof not GClass"), -1;
@@ -410,7 +411,7 @@ var gobjJs = function(e) {
410
411
  return l ? Y(l, n) ? (Ot(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new $(n, r, i)), 0) : (Ot(`state not found: ${t}`), -1);
411
412
  }
412
413
  function J(e, t, n) {
413
- Zt(t) || e.push(new A(t, n));
414
+ Zt(t) || e.push(new I(t, n));
414
415
  }
415
416
  function z(e, t, n) {
416
417
  return e instanceof S ? J(e.dl_events, t, n) : (Ot("Cannot add state, typeof not GClass"), -1);
@@ -424,7 +425,7 @@ var gobjJs = function(e) {
424
425
  }
425
426
  return null;
426
427
  }
427
- function H(e) {
428
+ function q(e) {
428
429
  if (!(e instanceof S)) return Ot("Cannot add state, typeof not GClass"), -1;
429
430
  let t = 0;
430
431
  Kt(e.dl_states) || (Ot(`GClass without states: ${e.gclass_name}`), t += -1);
@@ -448,7 +449,7 @@ var gobjJs = function(e) {
448
449
  }
449
450
  return t;
450
451
  }
451
- function q(e, t) {
452
+ function H(e, t) {
452
453
  let n = null;
453
454
  try {
454
455
  n = d[e];
@@ -487,7 +488,7 @@ var gobjJs = function(e) {
487
488
  t ? (-1 === n || t.flag & n) && (t.flag & T.SDF_DEPRECATED && Nt(`${Ne(i)}: Deprecated attribute used in gobj creation: ${o}`), l += C(i, e, t, s)) : r && (r(i, o), l--);
488
489
  }
489
490
  return l;
490
- })(G(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : re, e) < 0 && (Ot(`${Ne(e)} json2data() FAILED`), Rt(r));
491
+ })(F(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : re, e) < 0 && (Ot(`${Ne(e)} json2data() FAILED`), Rt(r));
491
492
  }
492
493
  function le(e, t, r, i, l) {
493
494
  if (l & w.gobj_flag_yuno) {
@@ -504,7 +505,7 @@ var gobjJs = function(e) {
504
505
  l |= w.gobj_flag_service;
505
506
  }
506
507
  if (Zt(t)) return Ot("gclass_name must be a string"), null;
507
- let o = q(t, !1);
508
+ let o = H(t, !1);
508
509
  if (!o) return Ot(`GClass not registered: ${t}^${e}`), null;
509
510
  if (!Jt(e)) return Ot(`gobj_name must be a string: ${t}`), null;
510
511
  if (!Zt(e)) {
@@ -529,7 +530,7 @@ var gobjJs = function(e) {
529
530
  r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", we(r), Ne(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
530
531
  let t = Se(e);
531
532
  t = t.toLowerCase(), b[t] ? delete b[t] : Ot(`"service NOT found in register": ${t}`);
532
- }(e), e.playing && (Ot(`Destroying a PLAYING gobj: ${we(e)}`), be(e)), e.running && (Ot(`Destroying a RUNNING gobj: ${we(e)}`), ce(e)), gt(e, e.dl_subscriptions, !0), gt(e, e.dl_subscribings, !0), r && (ne(r, e), Re(e) && (Ie(r) !== e || $e(r) || Ae(r, null))), function(e) {
533
+ }(e), e.playing && (Ot(`Destroying a PLAYING gobj: ${we(e)}`), be(e)), e.running && (Ot(`Destroying a RUNNING gobj: ${we(e)}`), ce(e)), gt(e, e.dl_subscriptions, !0), gt(e, e.dl_subscribings, !0), r && (ne(r, e), Re(e) && (Ae(r) !== e || $e(r) || Ie(r, null))), function(e) {
533
534
  let t = e.dl_children.slice();
534
535
  for (let e = 0; e < t.length; e++) {
535
536
  let n = t[e];
@@ -633,10 +634,10 @@ var gobjJs = function(e) {
633
634
  function $e(e) {
634
635
  return !Xt(e) || !!(e.obflag & (D.obflag_destroyed | D.obflag_destroying));
635
636
  }
636
- function Ie(e) {
637
+ function Ae(e) {
637
638
  return Xt(e) ? e.bottom_gobj : (Ot("gobj NULL of bad type"), null);
638
639
  }
639
- function Ae(e, t) {
640
+ function Ie(e, t) {
640
641
  if (!Xt(e)) return Ot("gobj NULL of bad type"), null;
641
642
  e.bottom_gobj && Nt(`${Ne(e)}: bottom_gobj already set`), e.bottom_gobj = t;
642
643
  }
@@ -647,7 +648,7 @@ var gobjJs = function(e) {
647
648
  return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ce(e.dl_children, t, n, r, i);
648
649
  }
649
650
  function Ue(e, t, n, r, i) {
650
- return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, i);
651
+ return $e(e) ? (Ot("gobj NULL, destroying, or bad type"), 0) : Ge(e.dl_children, t, n, r, i);
651
652
  }
652
653
  function Ce(e, t, n, r, i) {
653
654
  let l, o = [...e];
@@ -663,24 +664,24 @@ var gobjJs = function(e) {
663
664
  }
664
665
  return 0;
665
666
  }
666
- function Ge(e, t, n, r, i) {
667
+ function Fe(e, t, n, r, i) {
667
668
  let l, o = Ce(e, t, n, r, i);
668
669
  if (o < 0) return o;
669
670
  if (t & k.WALK_LAST2FIRST) {
670
- for (let s = e.length; s > 0; s--) if (l = e[s - 1], o = Ge([...l.dl_children], t, n, r, i), o < 0) return o;
671
- } else for (let s = 0; s < e.length; s++) if (l = e[s], o = Ge([...l.dl_children], t, n, r, i), o < 0) return o;
671
+ for (let s = e.length; s > 0; s--) if (l = e[s - 1], o = Fe([...l.dl_children], t, n, r, i), o < 0) return o;
672
+ } else for (let s = 0; s < e.length; s++) if (l = e[s], o = Fe([...l.dl_children], t, n, r, i), o < 0) return o;
672
673
  return o;
673
674
  }
674
- function Fe(e, t, n, r, i) {
675
- if (t & k.WALK_BYLEVEL) return Ge(e, t, n, r, i);
675
+ function Ge(e, t, n, r, i) {
676
+ if (t & k.WALK_BYLEVEL) return Fe(e, t, n, r, i);
676
677
  let l, o;
677
678
  if (t & k.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
678
- if (o = e[s - 1], l = Fe([...o.dl_children], t, n, r, i), l < 0) return l;
679
+ if (o = e[s - 1], l = Ge([...o.dl_children], t, n, r, i), l < 0) return l;
679
680
  if (l = n(o, r, i), l < 0) return l;
680
681
  }
681
682
  else for (let s = 0; s < e.length; s++) {
682
683
  if (o = e[s], l = n(o, r, i), l < 0) return l;
683
- if (0 === l && (l = Fe([...o.dl_children], t, n, r, i), l < 0)) return l;
684
+ if (0 === l && (l = Ge([...o.dl_children], t, n, r, i), l < 0)) return l;
684
685
  }
685
686
  return 0;
686
687
  }
@@ -757,41 +758,41 @@ var gobjJs = function(e) {
757
758
  if (0 === nn(t, "__playing__")) return Ee(e);
758
759
  if (0 === nn(t, "__service__")) return he(e);
759
760
  }
760
- let n = F(e, t, !1);
761
+ let n = G(e, t, !1);
761
762
  return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Pt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
762
763
  }
763
764
  function Je(e, t) {
764
765
  t && nn(t, "__trace_level__");
765
- let n = F(e, t, !1);
766
+ let n = G(e, t, !1);
766
767
  return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Pt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
767
768
  }
768
769
  function ze(e, t) {
769
770
  if (t && 0 === nn(t, "__state__")) return tt(e);
770
- let n = F(e, t, !1);
771
+ let n = G(e, t, !1);
771
772
  return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Pt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
772
773
  }
773
774
  function Qe(e, t) {
774
- let n = F(e, t, !1);
775
+ let n = G(e, t, !1);
775
776
  return n ? !e.gclass.gmt.mt_reading || e.obflag & D.obflag_destroyed ? Pt(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
776
777
  }
777
- function He(e, t, n, r) {
778
- let i = G(e), l = 0;
778
+ function qe(e, t, n, r) {
779
+ let i = F(e), l = 0;
779
780
  for (const [r, o] of Object.entries(t)) {
780
781
  let t = Le(e, r, !0);
781
782
  t && (-1 === n || t.flag & n) && (l += C(e, i, t, o));
782
783
  }
783
784
  return l;
784
785
  }
785
- function qe(e, t, n) {
786
- let r = F(e, t, !1);
786
+ function He(e, t, n) {
787
+ let r = G(e, t, !1);
787
788
  return r ? (r[t] = en(n), xt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
788
789
  }
789
790
  function Xe(e, t, n) {
790
- let r = F(e, t, !1);
791
+ let r = G(e, t, !1);
791
792
  return r ? (r[t] = parseInt(n), xt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
792
793
  }
793
794
  function Ze(e, t, n) {
794
- let r = F(e, t, !1);
795
+ let r = G(e, t, !1);
795
796
  return r ? (r[t] = String(n), xt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & D.obflag_created && !(e.obflag & D.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ot(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
796
797
  }
797
798
  function et(e, t) {
@@ -884,7 +885,7 @@ var gobjJs = function(e) {
884
885
  let l = [];
885
886
  for (let o = 0; o < e.length; o++) {
886
887
  let s = e[o];
887
- _t(s, t, n, r, i) && Ft(l, s);
888
+ _t(s, t, n, r, i) && Gt(l, s);
888
889
  }
889
890
  return l;
890
891
  }
@@ -917,13 +918,13 @@ var gobjJs = function(e) {
917
918
  Kt(o) > 0 && (Ot(`${Ne(e)}: ${Kt(o)} subscription(s) REPEATED, will be deleted and override`), Rt(o, "subscription REPEATED"), gt(e, o, !1));
918
919
  let s = function(e, t, n, r) {
919
920
  let i = P(e, st);
920
- Gt(i, "event", t), Gt(i, "subscriber", r), Gt(i, "publisher", e);
921
+ Ft(i, "event", t), Ft(i, "subscriber", r), Ft(i, "publisher", e);
921
922
  let l = 0;
922
923
  if (n) {
923
924
  let t = gn(e, n, "__config__", null), r = gn(e, n, "__global__", null), o = gn(e, n, "__local__", null), s = dn(e, n, "__filter__", null), _ = cn(e, n, "__service__", "");
924
- if (Yt(r) > 0 && Gt(i, "__global__", kt(r)), Yt(t) > 0) {
925
+ if (Yt(r) > 0 && Ft(i, "__global__", kt(r)), Yt(t) > 0) {
925
926
  let n = kt(t);
926
- if (Gt(i, "__config__", n), on(n, "__hard_subscription__")) {
927
+ if (Ft(i, "__config__", n), on(n, "__hard_subscription__")) {
927
928
  let t = an(e, n, "__hard_subscription__", !1);
928
929
  Ut(n, "__hard_subscription__"), t && (l |= ot.__hard_subscription__);
929
930
  }
@@ -932,11 +933,11 @@ var gobjJs = function(e) {
932
933
  Ut(n, "__own_event__"), t && (l |= ot.__own_event__);
933
934
  }
934
935
  }
935
- Yt(o) > 0 && Gt(i, "__local__", kt(o)), Yt(s) > 0 && Gt(i, "__filter__", kt(s)), Zt(_) || Gt(i, "__service__", _);
936
+ Yt(o) > 0 && Ft(i, "__local__", kt(o)), Yt(s) > 0 && Ft(i, "__filter__", kt(s)), Zt(_) || Ft(i, "__service__", _);
936
937
  }
937
- return Gt(i, "subs_flag", l), i;
938
+ return Ft(i, "subs_flag", l), i;
938
939
  }(e, t, r, i);
939
- return s ? (Ft(e.dl_subscriptions, s), Ft(i.dl_subscribings, s), p && Be(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ne(e), Ne(i))), r && Rt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ct(e, s, !0, !0), s = 0), s) : (Ot(`${Ne(e)}: _create_subscription() FAILED`), 0);
940
+ return s ? (Gt(e.dl_subscriptions, s), Gt(i.dl_subscribings, s), p && Be(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ne(e), Ne(i))), r && Rt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, s) < 0 && (ct(e, s, !0, !0), s = 0), s) : (Ot(`${Ne(e)}: _create_subscription() FAILED`), 0);
940
941
  }
941
942
  function gt(e, t, n) {
942
943
  let r = [...t];
@@ -977,7 +978,7 @@ var gobjJs = function(e) {
977
978
  if (0 === d) continue;
978
979
  let b = nt(u, t, !0);
979
980
  if (b && b.event_flag & R.EVF_SYSTEM_EVENT && !rt(u, b.event_name, 0)) continue;
980
- o && ln(g, o), i && It(g, i), l && (L(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ne(u), tt(u), t || "", e && !e.running ? "!!" : "", Ne(e))), Rt(g));
981
+ o && ln(g, o), i && At(g, i), l && (L(n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ne(u), tt(u), t || "", e && !e.running ? "!!" : "", Ne(e))), Rt(g));
981
982
  let p = lt(u, t, g, e);
982
983
  if (p < 0 && c & ot.__own_event__) {
983
984
  s = -1;
@@ -1033,19 +1034,19 @@ var gobjJs = function(e) {
1033
1034
  return n;
1034
1035
  }
1035
1036
  function Ot(e) {
1036
- let t = St(e), n = Fn();
1037
+ let t = St(e), n = Gn();
1037
1038
  Et && (Et === window.console.error ? Et("%c" + n + " ERROR: " + String(t), "color:red") : (window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), Et(`${n} ERROR: ${String(t)}`)));
1038
1039
  }
1039
1040
  function Nt(e) {
1040
- let t = St(e), n = Fn();
1041
+ let t = St(e), n = Gn();
1041
1042
  Tt && (Tt === window.console.warn ? Tt("%c" + n + " WARNING: " + String(t), "color:yellow") : (window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Tt(`${n} WARNING: ${String(t)}`)));
1042
1043
  }
1043
1044
  function wt(e) {
1044
- let t = St(e), n = Fn();
1045
+ let t = St(e), n = Gn();
1045
1046
  vt && vt("%c" + n + " DEBUG: " + String(t), "color:silver");
1046
1047
  }
1047
1048
  function Dt(e) {
1048
- let t = St(e), n = Fn();
1049
+ let t = St(e), n = Gn();
1049
1050
  vt && vt("%c" + n + " MSG: " + String(t), "color:cyan");
1050
1051
  }
1051
1052
  function Rt(e, t) {
@@ -1075,12 +1076,12 @@ var gobjJs = function(e) {
1075
1076
  }
1076
1077
  return e === t;
1077
1078
  }
1078
- function It(e, t) {
1079
+ function At(e, t) {
1079
1080
  if (!t) return e;
1080
1081
  for (let n of Object.keys(t)) e[n] = t[n];
1081
1082
  return e;
1082
1083
  }
1083
- function At(e, t) {
1084
+ function It(e, t) {
1084
1085
  if (!t) return e;
1085
1086
  for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1086
1087
  return e;
@@ -1099,10 +1100,10 @@ var gobjJs = function(e) {
1099
1100
  function Ct(e, t, n) {
1100
1101
  e[t] = n;
1101
1102
  }
1102
- function Gt(e, t, n) {
1103
+ function Ft(e, t, n) {
1103
1104
  e[t] = n;
1104
1105
  }
1105
- function Ft(e, t) {
1106
+ function Gt(e, t) {
1106
1107
  e.push(t);
1107
1108
  }
1108
1109
  function Vt(e, t) {
@@ -1135,10 +1136,10 @@ var gobjJs = function(e) {
1135
1136
  function Qt(e) {
1136
1137
  return "boolean" == typeof e;
1137
1138
  }
1138
- function Ht(e) {
1139
+ function qt(e) {
1139
1140
  return null == e;
1140
1141
  }
1141
- function qt(e) {
1142
+ function Ht(e) {
1142
1143
  return "function" == typeof e;
1143
1144
  }
1144
1145
  function Xt(e) {
@@ -1339,7 +1340,7 @@ var gobjJs = function(e) {
1339
1340
  }
1340
1341
  function Tn(e, t, n, r) {
1341
1342
  let i = {};
1342
- if (It(i, t), Jt(n) && !Zt(n)) {
1343
+ if (At(i, t), Jt(n) && !Zt(n)) {
1343
1344
  let l = n;
1344
1345
  dn(e, t, l, 0, 0) ? Ut(i, l) : r && Ot(`${Ne(e)}: key not found: ${l}`);
1345
1346
  } else if (xt(n) && Mt(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? Ut(i, l) : r && Ot(`${Ne(e)}: key not found: ${l}`);
@@ -1377,7 +1378,7 @@ var gobjJs = function(e) {
1377
1378
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1378
1379
  }
1379
1380
  function Sn(e, t) {
1380
- if (Ht(e) || Ht(t)) return !0;
1381
+ if (qt(e) || qt(t)) return !0;
1381
1382
  if (Bt(e)) {
1382
1383
  if (0 === e.length) return !0;
1383
1384
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
@@ -1455,10 +1456,10 @@ var gobjJs = function(e) {
1455
1456
  let i = Dn(t, n);
1456
1457
  return i ? 0 === i.length ? (r && Ot(`stack empty: ${n}`), null) : i[0] : (r && Ot(`stack NOT FOUND: ${n}`), null);
1457
1458
  }
1458
- function In(e, t, n) {
1459
+ function An(e, t, n) {
1459
1460
  return Zt(n) ? _n(e, t, "__md_iev__`__msg_type__") : pn(e, t, "__md_iev__", "__msg_type__", n), 0;
1460
1461
  }
1461
- function An(e, t) {
1462
+ function In(e, t) {
1462
1463
  return cn(e, t, "__md_iev__`__msg_type__", "", 0);
1463
1464
  }
1464
1465
  function Ln(e, t, n) {
@@ -1524,11 +1525,11 @@ var gobjJs = function(e) {
1524
1525
  function Cn(e) {
1525
1526
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1526
1527
  }
1527
- function Gn(e) {
1528
+ function Fn(e) {
1528
1529
  const t = document.createElement("template");
1529
1530
  return t.innerHTML = e.trim(), t.content.firstChild;
1530
1531
  }
1531
- function Fn() {
1532
+ function Gn() {
1532
1533
  const e = /* @__PURE__ */ new Date(), t = e.toISOString().slice(0, 19), n = String(e.getMilliseconds()).padStart(3, "0"), r = e.getTimezoneOffset();
1533
1534
  return `${t}.${n}${r > 0 ? "-" : "+"}${String(Math.abs(r) / 60).padStart(2, "0")}${String(Math.abs(r) % 60).padStart(2, "0")}`;
1534
1535
  }
@@ -1672,11 +1673,11 @@ var gobjJs = function(e) {
1672
1673
  j(E.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1673
1674
  j(E.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1674
1675
  v()
1675
- ], Hn = {
1676
+ ], qn = {
1676
1677
  periodic: !1,
1677
1678
  msec: 0,
1678
1679
  timer_id: -1
1679
- }, qn = null;
1680
+ }, Hn = null;
1680
1681
  function Xn(e, t, n, r) {
1681
1682
  let i = e.priv, l = i.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1682
1683
  return ke(e) ? lt(De(e), l, {}, e) : pt(e, l, {}), i.periodic && (i.timer_id = setTimeout(function() {
@@ -1709,10 +1710,10 @@ var gobjJs = function(e) {
1709
1710
  mt_destroy: function(e) {}
1710
1711
  };
1711
1712
  function er(e, t) {
1712
- return e instanceof O ? "C_TIMER" !== Oe(e) ? (Ot("not C_TIMER GObj"), -1) : (qe(e, "periodic", !1), void Xe(e, "msec", t)) : (Ot("not GObj TYPE"), -1);
1713
+ return e instanceof O ? "C_TIMER" !== Oe(e) ? (Ot("not C_TIMER GObj"), -1) : (He(e, "periodic", !1), void Xe(e, "msec", t)) : (Ot("not GObj TYPE"), -1);
1713
1714
  }
1714
1715
  function tr(e, t) {
1715
- return e instanceof O ? "C_TIMER" !== Oe(e) ? (Ot("not C_TIMER GObj"), -1) : (qe(e, "periodic", !0), void Xe(e, "msec", t)) : (Ot("not GObj TYPE"), -1);
1716
+ return e instanceof O ? "C_TIMER" !== Oe(e) ? (Ot("not C_TIMER GObj"), -1) : (He(e, "periodic", !0), void Xe(e, "msec", t)) : (Ot("not GObj TYPE"), -1);
1716
1717
  }
1717
1718
  function nr(e) {
1718
1719
  return e instanceof O ? "C_TIMER" !== Oe(e) ? (Ot("not C_TIMER GObj"), -1) : void Xe(e, "msec", -1) : (Ot("not GObj TYPE"), -1);
@@ -1750,7 +1751,7 @@ var gobjJs = function(e) {
1750
1751
  var sr = {
1751
1752
  mt_create: function(e) {
1752
1753
  let t = e.priv;
1753
- Ze(e, "start_date", Fn()), Ze(e, "node_uuid", Wn()), e.priv.gobj_timer = oe(Se(e), "C_TIMER", {}, e), t.periodic_timeout = Ye(e, "periodic_timeout");
1754
+ Ze(e, "start_date", Gn()), Ze(e, "node_uuid", Wn()), e.priv.gobj_timer = oe(Se(e), "C_TIMER", {}, e), t.periodic_timeout = Ye(e, "periodic_timeout");
1754
1755
  },
1755
1756
  mt_writing: function(e, t) {},
1756
1757
  mt_start: function(e) {
@@ -1829,7 +1830,7 @@ var gobjJs = function(e) {
1829
1830
  } else Nt("WebSocket is already closed or in the process of closing.");
1830
1831
  }
1831
1832
  function dr(e, t, n) {
1832
- let r = Fn();
1833
+ let r = Gn();
1833
1834
  try {
1834
1835
  wt("\n" + r + " " + t + "\n"), Rt(n);
1835
1836
  } catch (e) {
@@ -1890,12 +1891,12 @@ var gobjJs = function(e) {
1890
1891
  language: "undefined" != typeof window ? window.navigator.language : "",
1891
1892
  required_services: Ye(Te(), "required_services")
1892
1893
  };
1893
- return kn(e, s, _r, mr(e, Se(De(e)), null)), In(e, s, "__identity__"), er(t.gobj_timer, Je(e, "timeout_idack")), pr(e, "EV_IDENTITY_CARD", s);
1894
+ return kn(e, s, _r, mr(e, Se(De(e)), null)), An(e, s, "__identity__"), er(t.gobj_timer, Je(e, "timeout_idack")), pr(e, "EV_IDENTITY_CARD", s);
1894
1895
  }
1895
1896
  function Er(e, t) {
1896
1897
  if (Zt(t.event)) return -1;
1897
1898
  let n = {}, r = t.__global__, i = t.__config__, l = t.__filter__, o = t.__service__, s = t.subscriber;
1898
- return i && (n.__config__ = i), r && (n.__global__ = r), l && (n.__filter__ = l), kn(e, n, _r, mr(e, Se(s), o)), In(e, n, "__subscribing__"), pr(e, t.event, n);
1899
+ return i && (n.__config__ = i), r && (n.__global__ = r), l && (n.__filter__ = l), kn(e, n, _r, mr(e, Se(s), o)), An(e, n, "__subscribing__"), pr(e, t.event, n);
1899
1900
  }
1900
1901
  function Tr(e, t, n, r) {
1901
1902
  let i = e.priv;
@@ -1906,11 +1907,19 @@ var gobjJs = function(e) {
1906
1907
  }
1907
1908
  function vr(e, t, n, r) {
1908
1909
  let i = e.priv, l = n.e, o = n.url;
1909
- return jt(), Nt(`${Ne(e)}: WebSocket closed ${o} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), i.websocket && (i.websocket.onopen = null, i.websocket.onmessage = null, i.websocket.onerror = null, i.websocket.onclose = null, i.websocket = null), i.inform_on_close && (i.inform_on_close = !1, pt(e, "EV_ON_CLOSE", {
1910
+ return jt(), Nt(`${Ne(e)}: WebSocket closed ${o} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), i.websocket && (i.websocket.onopen = null, i.websocket.onmessage = null, i.websocket.onerror = null, i.websocket.onclose = null, i.websocket = null), i.inform_on_close ? (i.inform_on_close = !1, pt(e, "EV_ON_CLOSE", {
1910
1911
  url: o,
1911
1912
  remote_yuno_name: i.remote_yuno_name,
1912
1913
  remote_yuno_role: i.remote_yuno_role,
1913
1914
  remote_yuno_service: i.remote_yuno_service
1915
+ })) : (Nt(`${Ne(e)}: EV_ON_OPEN_ERROR cannot open ${o} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), pt(e, "EV_ON_OPEN_ERROR", {
1916
+ url: o,
1917
+ remote_yuno_name: i.remote_yuno_name,
1918
+ remote_yuno_role: i.remote_yuno_role,
1919
+ remote_yuno_service: i.remote_yuno_service,
1920
+ code: l.code,
1921
+ reason: l.reason,
1922
+ was_clean: l.wasClean
1914
1923
  })), pe(e) && er(i.gobj_timer, Je(e, "timeout_retry")), 0;
1915
1924
  }
1916
1925
  function jr(e, t, n, r) {
@@ -1983,7 +1992,7 @@ var gobjJs = function(e) {
1983
1992
  return gr(e), -1;
1984
1993
  }
1985
1994
  l = null;
1986
- let _ = An(e, s), a = $n(e, s, _r), u = cn(e, a, "dst_role", "");
1995
+ let _ = In(e, s), a = $n(e, s, _r), u = cn(e, a, "dst_role", "");
1987
1996
  if (u !== ve()) return Ot(`"It's not my role, dst_role: ${u}, my_role: ${ve()}`), 0;
1988
1997
  let c = cn(e, a, "dst_service", "");
1989
1998
  if ("__subscribing__" === _) return -1;
@@ -2040,7 +2049,7 @@ var gobjJs = function(e) {
2040
2049
  return l || (l = {}), kn(e, n, "stats_stack", {
2041
2050
  stats: t,
2042
2051
  kw: l
2043
- }), kn(e, n, _r, i), n.__stats__ = t, In(e, n, "__stats__"), pr(e, "EV_MT_STATS", n, r), null;
2052
+ }), kn(e, n, _r, i), n.__stats__ = t, An(e, n, "__stats__"), pr(e, "EV_MT_STATS", n, r), null;
2044
2053
  },
2045
2054
  mt_command_parser: function(e, t, n, r) {
2046
2055
  if ("ST_SESSION" !== tt(e)) return Ot("Not in session"), null;
@@ -2049,7 +2058,7 @@ var gobjJs = function(e) {
2049
2058
  return l || (l = {}), kn(e, n, "command_stack", {
2050
2059
  command: t,
2051
2060
  kw: l
2052
- }), kn(e, n, _r, i), n.__command__ = t, In(e, n, "__command__"), pr(e, "EV_MT_COMMAND", n, r), null;
2061
+ }), kn(e, n, _r, i), n.__command__ = t, An(e, n, "__command__"), pr(e, "EV_MT_COMMAND", n, r), null;
2053
2062
  },
2054
2063
  mt_inject_event: function(e, t, n, r) {
2055
2064
  if ("ST_SESSION" !== tt(e)) return window.console.error("Not in session"), -1;
@@ -2058,7 +2067,7 @@ var gobjJs = function(e) {
2058
2067
  let i = mr(e, Se(r), cn(e, n, "__service__", 0, 0));
2059
2068
  Ut(n, "__service__"), kn(e, n, "__message__", t), kn(e, n, _r, i);
2060
2069
  }
2061
- return In(e, n, "__message__"), pr(e, t, n, r);
2070
+ return An(e, n, "__message__"), pr(e, t, n, r);
2062
2071
  },
2063
2072
  mt_subscription_added: function(e, t) {
2064
2073
  let n = e.priv;
@@ -2070,7 +2079,7 @@ var gobjJs = function(e) {
2070
2079
  if (n.inside_on_open) return 0;
2071
2080
  if (Zt(t.event)) return 0;
2072
2081
  let r = {}, i = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, _ = t.subscriber;
2073
- return l && (r.__config__ = l), i && (r.__global__ = i), o && (r.__filter__ = o), kn(e, r, _r, mr(e, Se(_), s)), In(e, r, "__unsubscribing__"), pr(e, t.event, r, e);
2082
+ return l && (r.__config__ = l), i && (r.__global__ = i), o && (r.__filter__ = o), kn(e, r, _r, mr(e, Se(_), s)), An(e, r, "__unsubscribing__"), pr(e, t.event, r, e);
2074
2083
  }
2075
2084
  };
2076
2085
  return e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, i, l) => new y(e, t, n, null, l, r, null, 0, null, i, null), e.SDATACM = (e, t, n, r, i, l) => new y(e, t, 0, null, l, n, null, 0, i, r, null), e.SDATACM2 = (e, t, n, r, i, l, o) => new y(e, t, n, null, o, r, null, 0, l, i, null), e.SDATADF = (e, t, n, r, i, l) => new y(e, t, n, null, l, null, r, i), e.SDATAPM = (e, t, n, r, i) => new y(e, t, n, r, i), e.SDATAPM0 = (e, t, n, r, i) => new y(e, t, n, null, i, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = o, Object.defineProperty(e, "__yuno__", {
@@ -2092,8 +2101,8 @@ var gobjJs = function(e) {
2092
2101
  let t = "";
2093
2102
  for (const n of Object.keys(i[e])) t += `${n}: ${i[e][n]};`;
2094
2103
  s.style.cssText = t;
2095
- } else "style" === e ? s.style.cssText = i[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? (_ = i[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, i[e]);
2096
- if (Jt(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(Gn(l));
2104
+ } else "style" === e ? s.style.cssText = i[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== i[e] && void 0 !== i[e] && (_ = i[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, i[e]);
2105
+ if (Jt(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(Fn(l));
2097
2106
  else if (n && _) s.textContent = n(_) || l;
2098
2107
  else s.textContent = l;
2099
2108
  else if (Bt(l)) {
@@ -2102,22 +2111,22 @@ var gobjJs = function(e) {
2102
2111
  } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ot("content ignored"), Rt(l));
2103
2112
  if (o && "object" == typeof o) for (const e of Object.keys(o)) s.addEventListener(e, o[e]);
2104
2113
  return s;
2105
- }, e.createOneHtml = Gn, e.create_json_record = function(e, t) {
2114
+ }, e.createOneHtml = Fn, e.create_json_record = function(e, t) {
2106
2115
  let n = kt(e);
2107
- return At(n, t), n;
2116
+ return It(n, t), n;
2108
2117
  }, e.create_template_record = function(e, t) {
2109
2118
  let n = {};
2110
2119
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2111
2120
  n[e] = dn(null, t, e, dn(r, "default"));
2112
2121
  }), n;
2113
- }, e.current_timestamp = Fn, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2122
+ }, e.current_timestamp = Gn, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2114
2123
  let n = yn(Kn(e), null, !1), r = {};
2115
2124
  return n && xt(n) && (r = En(e, n, t, !1)), r;
2116
2125
  }, e.db_load_persistent_attrs = function(e, t) {
2117
2126
  let n = xe(e, T.SDF_PERSIST), r = yn(Kn(e), null, !1);
2118
2127
  if (r && xt(r)) {
2119
2128
  let i = En(e, r, t, !1);
2120
- i = En(e, i, n, !1), He(e, i, T.SDF_PERSIST);
2129
+ i = En(e, i, n, !1), qe(e, i, T.SDF_PERSIST);
2121
2130
  }
2122
2131
  }, e.db_remove_persistent_attrs = function(e, t) {
2123
2132
  let n = Tn(e, yn(Kn(e), null, !1), t, !1);
@@ -2149,7 +2158,7 @@ var gobjJs = function(e) {
2149
2158
  Object.assign(t, e);
2150
2159
  }
2151
2160
  return t;
2152
- }, e.empty_string = Zt, e.escapeHtml = Cn, e.event_flag_t = R, e.gclass_add_ev_action = B, e.gclass_add_event_type = z, e.gclass_add_state = x, e.gclass_check_fsm = H, e.gclass_create = W, e.gclass_event_type = Q, e.gclass_find_by_name = q, e.gclass_flag_t = N, e.gclass_unregister = M, e.getPositionRelativeToBody = function(e) {
2161
+ }, e.empty_string = Zt, e.escapeHtml = Cn, e.event_flag_t = R, e.gclass_add_ev_action = B, e.gclass_add_event_type = z, e.gclass_add_state = x, e.gclass_check_fsm = q, e.gclass_create = W, e.gclass_event_type = Q, e.gclass_find_by_name = H, e.gclass_flag_t = N, e.gclass_unregister = M, e.getPositionRelativeToBody = function(e) {
2153
2162
  if (!e) return {
2154
2163
  top: 0,
2155
2164
  left: 0,
@@ -2170,7 +2179,7 @@ var gobjJs = function(e) {
2170
2179
  };
2171
2180
  }, e.get_function_name = Mn, e.get_now = function() {
2172
2181
  return Math.floor(Date.now() / 1e3);
2173
- }, e.gobj_bottom_gobj = Ie, e.gobj_change_parent = function(e, t) {
2182
+ }, e.gobj_bottom_gobj = Ae, e.gobj_change_parent = function(e, t) {
2174
2183
  return $e(e) ? (Ot("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (ne(e.parent, e), e.parent = null), te(t, e), t.mt_child_added && (p && Be(p, "trace_creation") && wt(n("👦👦🔵 child_added(%s): %s", we(t), Ne(e))), t.mt_child_added(t, e)), 0) : (Ot(`${Ne(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2175
2184
  }, e.gobj_change_state = et, e.gobj_command = function(e, t, r, l) {
2176
2185
  if ($e(e)) return Ot("gobj NULL or DESTROYED"), -1;
@@ -2190,18 +2199,18 @@ var gobjJs = function(e) {
2190
2199
  if (Zt(t)) return null;
2191
2200
  const n = t.toLowerCase();
2192
2201
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : Me(p, t);
2193
- }, e.gobj_find_service = Z, e.gobj_find_subscribings = bt, e.gobj_find_subscriptions = dt, e.gobj_flag_t = w, e.gobj_full_name = we, e.gobj_gclass_name = Oe, e.gobj_has_attr = Ke, e.gobj_has_event = rt, e.gobj_has_output_event = it, e.gobj_hsdata = G, e.gobj_is_destroying = $e, e.gobj_is_playing = Ee, e.gobj_is_pure_child = ke, e.gobj_is_running = pe, e.gobj_is_service = he, e.gobj_is_volatil = Re, e.gobj_list_persistent_attrs = function(e, t) {
2202
+ }, e.gobj_find_service = Z, e.gobj_find_subscribings = bt, e.gobj_find_subscriptions = dt, e.gobj_flag_t = w, e.gobj_full_name = we, e.gobj_gclass_name = Oe, e.gobj_has_attr = Ke, e.gobj_has_event = rt, e.gobj_has_output_event = it, e.gobj_hsdata = F, e.gobj_is_destroying = $e, e.gobj_is_playing = Ee, e.gobj_is_pure_child = ke, e.gobj_is_running = pe, e.gobj_is_service = he, e.gobj_is_volatil = Re, e.gobj_list_persistent_attrs = function(e, t) {
2194
2203
  return u ? u(e, t) : null;
2195
2204
  }, e.gobj_list_subscriptions = function(e) {
2196
2205
  let t = dt(e, null, null, null);
2197
2206
  for (let n = 0; n < t.length; n++) {
2198
2207
  let r = t[n], i = fn(e, r, "publisher", null, mt.KW_REQUIRED), l = fn(e, r, "subscriber", null, mt.KW_REQUIRED);
2199
- Gt(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Gt(r, "s_publisher", Ne(i)), Gt(r, "s_subscriber", Ne(l));
2208
+ Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(i)), Ft(r, "s_subscriber", Ne(l));
2200
2209
  }
2201
2210
  let n = bt(e, 0, null, 0);
2202
2211
  for (let t = 0; t < n.length; t++) {
2203
2212
  let r = n[t], i = fn(e, r, "publisher", null, mt.KW_REQUIRED), l = fn(e, r, "subscriber", null, mt.KW_REQUIRED);
2204
- Gt(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Gt(r, "s_publisher", Ne(i)), Gt(r, "s_subscriber", Ne(l));
2213
+ Ft(r, "s_event", cn(e, r, "event", "", mt.KW_REQUIRED)), Ft(r, "s_publisher", Ne(i)), Ft(r, "s_subscriber", Ne(l));
2205
2214
  }
2206
2215
  return {
2207
2216
  subscriptions: t,
@@ -2256,7 +2265,7 @@ var gobjJs = function(e) {
2256
2265
  let e = [];
2257
2266
  for (const t of Object.keys(b)) Vt(e, t);
2258
2267
  return e;
2259
- }, e.gobj_set_bottom_gobj = Ae, e.gobj_short_name = Ne, e.gobj_start = _e, e.gobj_start_children = function(e) {
2268
+ }, e.gobj_set_bottom_gobj = Ie, e.gobj_short_name = Ne, e.gobj_start = _e, e.gobj_start_children = function(e) {
2260
2269
  return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : Pe(e, k.WALK_FIRST2LAST, ae, 0, 0);
2261
2270
  }, e.gobj_start_tree = function(e) {
2262
2271
  return $e(e) ? (Ot("gobj NULL or DESTROYED"), -1) : (p && Be(p, "trace_start_stop") && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", we(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || _e(e), Ue(e, k.WALK_TOP2BOTTOM, ue, 0, 0)));
@@ -2312,14 +2321,14 @@ var gobjJs = function(e) {
2312
2321
  break;
2313
2322
  }
2314
2323
  return Ot(n("gobj_write_attr(%s): attr not found '%s'", Ne(e), l)), -1;
2315
- }, e.gobj_write_attrs = He, e.gobj_write_bool_attr = qe, e.gobj_write_integer_attr = Xe, e.gobj_write_str_attr = Ze, e.gobj_yuno = Te, e.gobj_yuno_id = je, e.gobj_yuno_name = ye, e.gobj_yuno_role = ve, e.id_index_in_obj_list = Nn, e.index_in_list = Vn, e.is_array = Bt, e.is_boolean = Qt, e.is_date = function(e) {
2324
+ }, e.gobj_write_attrs = qe, e.gobj_write_bool_attr = He, e.gobj_write_integer_attr = Xe, e.gobj_write_str_attr = Ze, e.gobj_yuno = Te, e.gobj_yuno_id = je, e.gobj_yuno_name = ye, e.gobj_yuno_role = ve, e.id_index_in_obj_list = Nn, e.index_in_list = Vn, e.is_array = Bt, e.is_boolean = Qt, e.is_date = function(e) {
2316
2325
  return e instanceof Date && !isNaN(e);
2317
- }, e.is_function = qt, e.is_gobj = Xt, e.is_metadata_key = function(e) {
2326
+ }, e.is_function = Ht, e.is_gobj = Xt, e.is_metadata_key = function(e) {
2318
2327
  if (!Jt(e)) return !1;
2319
2328
  let t;
2320
2329
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2321
2330
  return 2 === t;
2322
- }, e.is_null = Ht, e.is_number = zt, e.is_object = xt, e.is_private_key = function(e) {
2331
+ }, e.is_null = qt, e.is_number = zt, e.is_object = xt, e.is_private_key = function(e) {
2323
2332
  if (!Jt(e)) return !1;
2324
2333
  let t;
2325
2334
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -2374,9 +2383,9 @@ var gobjJs = function(e) {
2374
2383
  n ? Object.assign(n, r) : t.push(r);
2375
2384
  }
2376
2385
  return i;
2377
- }, e.json_array_append = Ft, e.json_array_append_new = Vt, e.json_array_extend = function(e, t) {
2386
+ }, e.json_array_append = Gt, e.json_array_append_new = Vt, e.json_array_extend = function(e, t) {
2378
2387
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2379
- }, e.json_array_remove = Wt, e.json_array_size = Kt, e.json_deep_copy = kt, e.json_is_identical = $t, e.json_object_del = Ut, e.json_object_get = Pt, e.json_object_set = Ct, e.json_object_set_new = Gt, e.json_object_size = Mt, e.json_object_update = It, e.json_object_update_existing = At, e.json_object_update_missing = Lt, e.json_size = Yt, e.jwt2json = function(e, t) {
2388
+ }, e.json_array_remove = Wt, e.json_array_size = Kt, e.json_deep_copy = kt, e.json_is_identical = $t, e.json_object_del = Ut, e.json_object_get = Pt, e.json_object_set = Ct, e.json_object_set_new = Ft, e.json_object_size = Mt, e.json_object_update = At, e.json_object_update_existing = It, e.json_object_update_missing = Lt, e.json_size = Yt, e.jwt2json = function(e, t) {
2380
2389
  try {
2381
2390
  let n = Un(e);
2382
2391
  switch (t) {
@@ -2516,17 +2525,23 @@ var gobjJs = function(e) {
2516
2525
  var e;
2517
2526
  }, r.send();
2518
2527
  }, e.log_debug = wt, e.log_error = Ot, e.log_info = function(e) {
2519
- let t = St(e), n = Fn();
2528
+ let t = St(e), n = Gn();
2520
2529
  yt && yt("%c" + n + " INFO: " + String(t), "color:cyan");
2521
- }, e.log_warning = Nt, e.msg_iev_get_msg_type = An, e.msg_iev_get_stack = $n, e.msg_iev_push_stack = kn, e.msg_iev_read_key = Dn, e.msg_iev_set_msg_type = In, e.msg_iev_write_key = Rn, e.node_uuid = Wn, e.parseBoolean = en, e.parseSVG = function(e) {
2530
+ }, e.log_warning = Nt, e.msg_iev_get_msg_type = In, e.msg_iev_get_stack = $n, e.msg_iev_push_stack = kn, e.msg_iev_read_key = Dn, e.msg_iev_set_msg_type = An, e.msg_iev_write_key = Rn, e.node_uuid = Wn, e.parseBoolean = en, e.parseSVG = function(e) {
2522
2531
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2523
2532
  }, e.refresh_language = function(e, t) {
2524
- qt(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2533
+ Ht(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2525
2534
  let n = e.getAttribute("data-i18n");
2526
2535
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2527
2536
  n || (n = r.nodeValue), r.nodeValue = t(n);
2528
2537
  break;
2529
2538
  }
2539
+ }), e.querySelectorAll("[data-i18n-title]").forEach(function(e) {
2540
+ let n = e.getAttribute("data-i18n-title");
2541
+ n && e.setAttribute("title", t(n));
2542
+ }), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
2543
+ let n = e.getAttribute("data-i18n-aria-label");
2544
+ n && e.setAttribute("aria-label", t(n));
2530
2545
  })) : Ot("You must supply a translation function");
2531
2546
  }, e.register_c_ievent_cli = function() {
2532
2547
  return function(e) {
@@ -2618,23 +2633,24 @@ var gobjJs = function(e) {
2618
2633
  ["EV_MT_COMMAND", R.EVF_PUBLIC_EVENT],
2619
2634
  ["EV_ON_OPEN", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
2620
2635
  ["EV_ON_CLOSE", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
2636
+ ["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
2621
2637
  ["EV_TIMEOUT", 0],
2622
2638
  [null, 0]
2623
2639
  ], t, Dr, 0, ar, ur, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
2624
2640
  }("C_IEVENT_CLI");
2625
2641
  }, e.register_c_timer = function() {
2626
2642
  return function(e) {
2627
- if (qn) return Ot(`GClass ALREADY created: ${e}`), -1;
2643
+ if (Hn) return Ot(`GClass ALREADY created: ${e}`), -1;
2628
2644
  const t = [["ST_IDLE", [[
2629
2645
  "EV_TIMEOUT",
2630
2646
  Xn,
2631
2647
  null
2632
2648
  ]]]];
2633
- return (qn = W(e, [
2649
+ return (Hn = W(e, [
2634
2650
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
2635
2651
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
2636
2652
  [0, 0]
2637
- ], t, Zn, 0, Qn, Hn, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
2653
+ ], t, Zn, 0, Qn, qn, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
2638
2654
  }("C_TIMER");
2639
2655
  }, e.register_c_yuno = function() {
2640
2656
  return function(e) {