@yuneta/gobj-js 7.2.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.
@@ -141,7 +141,7 @@ var s = "7.0.0a", i = null, l = null, _ = null, a = null, u = null, c = null, f
141
141
  DTP_POINTER: 8
142
142
  });
143
143
  h.DTP_POINTER;
144
- var T = Object.freeze({
144
+ var E = Object.freeze({
145
145
  SDF_NOTACCESS: 1,
146
146
  SDF_RD: 2,
147
147
  SDF_WR: 4,
@@ -150,7 +150,7 @@ var T = Object.freeze({
150
150
  SDF_VOLATIL: 32,
151
151
  SDF_RESOURCE: 64,
152
152
  SDF_PKEY: 128,
153
- SDF_FUTURE1: 256,
153
+ SDF_DEPRECATED: 256,
154
154
  SDF_FUTURE2: 512,
155
155
  SDF_WILD_CMD: 1024,
156
156
  SDF_STATS: 2048,
@@ -164,12 +164,12 @@ var T = Object.freeze({
164
164
  SDF_AUTHZ_S: 524288,
165
165
  SDF_AUTHZ_RS: 1048576
166
166
  });
167
- T.SDF_RD, T.SDF_WR, T.SDF_STATS, T.SDF_PERSIST, T.SDF_VOLATIL, T.SDF_RSTATS, T.SDF_PSTATS, T.SDF_WR, T.SDF_PERSIST;
168
- var E = class {
167
+ 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;
168
+ var T = class {
169
169
  constructor(e, t, n = 0, r = null, o = "", s = null, i = null, l = 0, _ = null, a = null, u = null) {
170
170
  this.type = e, this.name = t, this.alias = s, this.flag = n, this.default_value = r, this.header = i, this.fillspace = l, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
171
171
  }
172
- }, y = () => new E(0, null), v = (e, t, n, r, o) => new E(e, t, n, r, o), j = class {
172
+ }, y = () => new T(0, null), v = (e, t, n, r, o) => new T(e, t, n, r, o), j = class {
173
173
  constructor(e, t, n, r, o, s, i, l, _) {
174
174
  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 = i, this.s_user_trace_level = l, 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;
175
175
  }
@@ -219,10 +219,10 @@ var E = class {
219
219
  this.event_name = e, this.event_flag = Number(t) || 0;
220
220
  }
221
221
  };
222
- function I(e) {
222
+ function A(e) {
223
223
  Kt(e) && (e = JSON.stringify(e)), Nt(" ".repeat(Math.max(0, 2 * m - 1)) + String(e));
224
224
  }
225
- function A(e, t) {
225
+ function I(e, t) {
226
226
  let n = {};
227
227
  if (!Yt(t)) return St("sdata_desc MUST be an array"), Dt(t), n;
228
228
  for (let r = 0; r < t.length; r++) {
@@ -280,7 +280,8 @@ function P(e, t, n, r) {
280
280
  let o;
281
281
  switch (n.type) {
282
282
  case h.DTP_STRING:
283
- if (Bt(r)) o = String(r);
283
+ if (null == r) o = "";
284
+ else if (Bt(r)) o = String(r);
284
285
  else {
285
286
  let e = JSON.stringify(r);
286
287
  e && (o = String(e));
@@ -332,7 +333,7 @@ function U(e) {
332
333
  function C(e, t, n) {
333
334
  return We(e, t) ? U(e) : e && e.bottom_gobj ? C(e.bottom_gobj, t, n) : (n && St(`GClass Attribute NOT FOUND: ${Oe(e)}, attr ${t}`), null);
334
335
  }
335
- function G(e, t, n) {
336
+ function F(e, t, n) {
336
337
  if (!(e && e instanceof j)) return n && St("gclass NULL"), null;
337
338
  if (!t) return e.attrs_table;
338
339
  for (let n = 0; n < e.attrs_table.length; n++) {
@@ -341,10 +342,10 @@ function G(e, t, n) {
341
342
  }
342
343
  return n && St(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
343
344
  }
344
- function F(e, t, n, r, o, s, i, l, _, a, u) {
345
+ function G(e, t, n, r, o, s, i, l, _, a, u) {
345
346
  if (Xt(e)) return St("gclass_name EMPTY"), null;
346
347
  if (e.includes("`") || e.includes("^") || e.includes(".")) return St(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
347
- if (H(e)) return St(`GClass ALREADY exists: ${e}`), null;
348
+ if (q(e)) return St(`GClass ALREADY exists: ${e}`), null;
348
349
  let c = new j(e, r, o, s, i, l, _, a, u);
349
350
  (function(e, t) {
350
351
  e && e instanceof j ? t ? g[t] ? St(`gclass ALREADY REGISTERED: ${t}`) : g[t] = e : St("gclass_name undefined") : St("gclass undefined");
@@ -447,14 +448,14 @@ function Q(e) {
447
448
  }
448
449
  return t;
449
450
  }
450
- function H(e, t) {
451
+ function q(e, t) {
451
452
  let n = null;
452
453
  try {
453
454
  n = g[e];
454
455
  } catch (e) {}
455
456
  return n || t && St(`gclass not found: ${e}`), n;
456
457
  }
457
- function q() {
458
+ function H() {
458
459
  return !b || b.obflag & w.obflag_destroyed ? null : b;
459
460
  }
460
461
  function X(e, t) {
@@ -470,8 +471,8 @@ function ee(e, t) {
470
471
  t.parent && St(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
471
472
  }
472
473
  function te(e, t) {
473
- let n = Gn(e.dl_children, t);
474
- n >= 0 && (Ft(e.dl_children, n), t.parent = null);
474
+ let n = Fn(e.dl_children, t);
475
+ n >= 0 && (Gt(e.dl_children, n), t.parent = null);
475
476
  }
476
477
  function ne(e, t) {
477
478
  "__json_config_variables__" !== t && St(`GClass Attribute NOT FOUND: ${Oe(e)}, attr ${t}`);
@@ -482,8 +483,8 @@ function re(e, t, n) {
482
483
  if (!e || !t) return St("hsdata or kw NULL"), -1;
483
484
  let s = 0;
484
485
  for (const [i, l] of Object.entries(t)) {
485
- const t = G(o.gclass, i, !1);
486
- t ? (-1 === n || t.flag & n) && (s += P(o, e, t, l)) : r && (r(o, i), s--);
486
+ const t = F(o.gclass, i, !1);
487
+ t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && Ot(`${Oe(o)}: Deprecated attribute used in gobj creation: ${i}`), s += P(o, e, t, l)) : r && (r(o, i), s--);
487
488
  }
488
489
  return s;
489
490
  })(U(e), r, -1, e.gclass.gclass_flag & O.gcflag_ignore_unknown_attrs ? 0 : ne, e) < 0 && (St(`${Oe(e)} json2data() FAILED`), Dt(r));
@@ -503,7 +504,7 @@ function oe(e, n, r, o, s) {
503
504
  s |= N.gobj_flag_service;
504
505
  }
505
506
  if (Xt(n)) return St("gclass_name must be a string"), null;
506
- let l = H(n, !1);
507
+ let l = q(n, !1);
507
508
  if (!l) return St(`GClass not registered: ${n}^${e}`), null;
508
509
  if (!Bt(e)) return St(`gobj_name must be a string: ${n}`), null;
509
510
  if (!Xt(e)) {
@@ -511,10 +512,10 @@ function oe(e, n, r, o, s) {
511
512
  if (e.includes("^")) return St(`gobj_name cannot contain char ^: ${n}^${e}`), null;
512
513
  }
513
514
  let _ = new S(e, l, r, o, s);
514
- _.jn_attrs = A(_, l.attrs_table);
515
+ _.jn_attrs = I(_, l.attrs_table);
515
516
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
516
517
  let a = d && Ye(d, "trace_creation");
517
- return a && I(t("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & N.gobj_flag_service && Z(_), _.gobj_flag & N.gobj_flag_yuno && (d = _), _.gobj_flag & N.gobj_flag_default_service && (b = _), _.gobj_flag & N.gobj_flag_yuno || ee(o, _), _.obflag |= w.obflag_created, _.gclass.instances++, re(_, r), _.gobj_flag & N.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && I(t("👦👦🔵 child_added(%s): %s", Ne(o), Oe(_))), o.gclass.gmt.mt_child_added(o, _)), a && I(t("💙💙⏪ created: %s", Ne(_))), _;
518
+ return a && A(t("💙💙⏩ creating: %s^%s", l.gclass_name, e)), _.gobj_flag & N.gobj_flag_service && Z(_), _.gobj_flag & N.gobj_flag_yuno && (d = _), _.gobj_flag & N.gobj_flag_default_service && (b = _), _.gobj_flag & N.gobj_flag_yuno || ee(o, _), _.obflag |= w.obflag_created, _.gclass.instances++, re(_, r), _.gobj_flag & N.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && A(t("👦👦🔵 child_added(%s): %s", Ne(o), Oe(_))), o.gclass.gmt.mt_child_added(o, _)), a && A(t("💙💙⏪ created: %s", Ne(_))), _;
518
519
  }
519
520
  function se(e, t, n, r) {
520
521
  return oe(e, t, n, r, N.gobj_flag_pure_child);
@@ -523,9 +524,9 @@ function ie(e) {
523
524
  if (Re(e)) return void St("gobj NULL or DESTROYED");
524
525
  e.__refs__ > 0 && St(`${Oe(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= w.obflag_destroying;
525
526
  let n = d && Ye(d, "trace_creation");
526
- n && I(t("💔💔⏩ destroying: %s", Ne(e)));
527
+ n && A(t("💔💔⏩ destroying: %s", Ne(e)));
527
528
  let r = we(e);
528
- r && r.gclass.gmt.mt_child_removed && (n && I(t("👦👦🔴 child_removed(%s): %s", Ne(r), Oe(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & N.gobj_flag_service && function(e) {
529
+ r && r.gclass.gmt.mt_child_removed && (n && A(t("👦👦🔴 child_removed(%s): %s", Ne(r), Oe(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & N.gobj_flag_service && function(e) {
529
530
  let t = je(e);
530
531
  t = t.toLowerCase(), p[t] ? delete p[t] : St(`"service NOT found in register": ${t}`);
531
532
  }(e), e.playing && (St(`Destroying a PLAYING gobj: ${Ne(e)}`), pe(e)), e.running && (St(`Destroying a RUNNING gobj: ${Ne(e)}`), ue(e)), ft(e, e.dl_subscriptions, !0), ft(e, e.dl_subscribings, !0), r && (te(r, e), De(e) && (ke(r) !== e || Re(r) || $e(r, null))), function(e) {
@@ -534,13 +535,13 @@ function ie(e) {
534
535
  let n = t[e];
535
536
  Re(n) || ie(n);
536
537
  }
537
- }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), n && I(t("💔💔⏪ destroyed: %s", Ne(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
538
+ }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), n && A(t("💔💔⏪ destroyed: %s", Ne(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
538
539
  }
539
540
  function le(e) {
540
541
  if (Re(e)) return St("gobj NULL or DESTROYED"), -1;
541
542
  if (e.running) return St(`${Oe(e)}: GObj ALREADY RUNNING`), -1;
542
543
  if (e.disabled) return St(`${Oe(e)}: GObj DISABLED`), -1;
543
- d && Ye(d, "trace_start_stop") && I(t("⏺ ⏺ start: %s", Ne(e))), e.running = !0;
544
+ d && Ye(d, "trace_start_stop") && A(t("⏺ ⏺ start: %s", Ne(e))), e.running = !0;
544
545
  let n = 0;
545
546
  return e.gclass.gmt.mt_start && (n = e.gclass.gmt.mt_start(e)), n;
546
547
  }
@@ -553,7 +554,7 @@ function ae(e, t, n) {
553
554
  function ue(e) {
554
555
  if (Re(e)) return St("gobj NULL or DESTROYED"), -1;
555
556
  if (!e.running) return St(`${Oe(e)}: GObj NOT RUNNING`), -1;
556
- e.playing && (Ot(`${Oe(e)}: GObj stopping without previous pause`), pe(e)), d && Ye(d, "trace_start_stop") && I(t("⏹ ⏹ stop: %s", Ne(e))), e.running = !1;
557
+ e.playing && (Ot(`${Oe(e)}: GObj stopping without previous pause`), pe(e)), d && Ye(d, "trace_start_stop") && A(t("⏹ ⏹ stop: %s", Ne(e))), e.running = !1;
557
558
  let n = 0;
558
559
  return e.gclass.gmt.mt_stop && (n = e.gclass.gmt.mt_stop(e)), n;
559
560
  }
@@ -561,7 +562,7 @@ function ce(e, t, n) {
561
562
  return de(e) && ue(e), 0;
562
563
  }
563
564
  function fe(e) {
564
- return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : Ae(e, x.WALK_FIRST2LAST, ce, 0, 0);
565
+ return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : Ie(e, x.WALK_FIRST2LAST, ce, 0, 0);
565
566
  }
566
567
  function ge(e) {
567
568
  if (Re(e)) return St(`gobj NULL or DESTROYED: ${Oe(e)}`), -1;
@@ -571,12 +572,12 @@ function ge(e) {
571
572
  if (e.gclass.gclass_flag & O.gcflag_required_start_to_play) return St(`${Oe(e)}: Cannot play, start not done`), -1;
572
573
  Ot(`${Oe(e)}: GObj playing without previous start`), le(e);
573
574
  }
574
- d && Ye(d, "trace_start_stop") && I(t("⏯ ⏯ play: %s", Ne(e))), e.playing = !0;
575
+ d && Ye(d, "trace_start_stop") && A(t("⏯ ⏯ play: %s", Ne(e))), e.playing = !0;
575
576
  let n = 0;
576
577
  return e.gclass.gmt.mt_play && (n = e.gclass.gmt.mt_play(e), n < 0 && (e.playing = !1)), n;
577
578
  }
578
579
  function pe(e) {
579
- return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : e.playing ? (d && Ye(d, "trace_start_stop") && I(t("⏸ ⏸ pause: %s", Ne(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (St(`${Oe(e)}: GObj NOT PLAYING`), -1);
580
+ return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : e.playing ? (d && Ye(d, "trace_start_stop") && A(t("⏸ ⏸ pause: %s", Ne(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (St(`${Oe(e)}: GObj NOT PLAYING`), -1);
580
581
  }
581
582
  function de(e) {
582
583
  return !Re(e) && e.running;
@@ -590,59 +591,59 @@ function me(e) {
590
591
  function he(e) {
591
592
  return !Re(e) && e.playing;
592
593
  }
593
- function Te() {
594
+ function Ee() {
594
595
  return !d || d.obflag & w.obflag_destroyed ? null : d;
595
596
  }
596
- function Ee() {
597
- let e = Te();
597
+ function Te() {
598
+ let e = Ee();
598
599
  return e ? je(e) : "";
599
600
  }
600
601
  function ye() {
601
- let e = Te();
602
+ let e = Ee();
602
603
  return e ? Je(e, "yuno_role") : "";
603
604
  }
604
605
  function ve() {
605
- let e = Te();
606
+ let e = Ee();
606
607
  return e ? Je(e, "yuno_id") : "";
607
608
  }
608
609
  function je(e) {
609
- return qt(e) ? e.gobj_name : (St("gobj bad type"), null);
610
+ return Ht(e) ? e.gobj_name : (St("gobj bad type"), null);
610
611
  }
611
612
  function Se(e) {
612
- return qt(e) ? e.gclass.gclass_name : (St("gobj NULL of bad type"), null);
613
+ return Ht(e) ? e.gclass.gclass_name : (St("gobj NULL of bad type"), null);
613
614
  }
614
615
  function Oe(e) {
615
- return qt(e) ? e.gclass.gclass_name + "^" + je(e) : (St("gobj bad type"), null);
616
+ return Ht(e) ? e.gclass.gclass_name + "^" + je(e) : (St("gobj bad type"), null);
616
617
  }
617
618
  function Ne(e) {
618
- if (!qt(e)) return St("gobj NULL of bad type"), null;
619
+ if (!Ht(e)) return St("gobj NULL of bad type"), null;
619
620
  let t = Oe(e), n = we(e);
620
621
  for (; n;) t = Oe(n) + "`" + t, n = we(n);
621
622
  return t;
622
623
  }
623
624
  function we(e) {
624
- return qt(e) ? e.parent : (St("gobj NULL of bad type"), null);
625
+ return Ht(e) ? e.parent : (St("gobj NULL of bad type"), null);
625
626
  }
626
627
  function De(e) {
627
- return qt(e) ? !!(e.gobj_flag & N.gobj_flag_volatil) : (St("gobj NULL of bad type"), null);
628
+ return Ht(e) ? !!(e.gobj_flag & N.gobj_flag_volatil) : (St("gobj NULL of bad type"), null);
628
629
  }
629
630
  function xe(e) {
630
- return qt(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (St("gobj NULL of bad type"), null);
631
+ return Ht(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (St("gobj NULL of bad type"), null);
631
632
  }
632
633
  function Re(e) {
633
- return !qt(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
634
+ return !Ht(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
634
635
  }
635
636
  function ke(e) {
636
- return qt(e) ? e.bottom_gobj : (St("gobj NULL of bad type"), null);
637
+ return Ht(e) ? e.bottom_gobj : (St("gobj NULL of bad type"), null);
637
638
  }
638
639
  function $e(e, t) {
639
- if (!qt(e)) return St("gobj NULL of bad type"), null;
640
+ if (!Ht(e)) return St("gobj NULL of bad type"), null;
640
641
  e.bottom_gobj && Ot(`${Oe(e)}: bottom_gobj already set`), e.bottom_gobj = t;
641
642
  }
642
- function Ie(e, t, n) {
643
- return qt(e) ? t ? G(e.gclass, t, n) : e.gclass.attrs_table : (St("gobj NULL of bad type"), null);
643
+ function Ae(e, t, n) {
644
+ return Ht(e) ? t ? F(e.gclass, t, n) : e.gclass.attrs_table : (St("gobj NULL of bad type"), null);
644
645
  }
645
- function Ae(e, t, n, r, o) {
646
+ function Ie(e, t, n, r, o) {
646
647
  return Re(e) ? (St("gobj NULL, destroying, or bad type"), 0) : Pe(e.dl_children, t, n, r, o);
647
648
  }
648
649
  function Le(e, t, n, r, o) {
@@ -683,8 +684,8 @@ function Ce(e, t, n, r, o) {
683
684
  }
684
685
  return 0;
685
686
  }
686
- function Ge(e, t) {
687
- if (!qt(e)) return St("gobj NULL of bad type"), !1;
687
+ function Fe(e, t) {
688
+ if (!Ht(e)) return St("gobj NULL of bad type"), !1;
688
689
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
689
690
  t.__disabled__;
690
691
  let s = t.__state__;
@@ -699,12 +700,12 @@ function Ge(e, t) {
699
700
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && We(e, n) && i[n] !== t[n]) return !1;
700
701
  return !0;
701
702
  }
702
- function Fe(e, t) {
703
+ function Ge(e, t) {
703
704
  if (Re(e)) return St("gobj NULL or DESTROYED"), null;
704
705
  const n = e.dl_children;
705
706
  for (let e = 0; e < n.length; e++) {
706
707
  const r = n[e];
707
- if (Ge(r, t)) return r;
708
+ if (Fe(r, t)) return r;
708
709
  }
709
710
  return null;
710
711
  }
@@ -724,11 +725,11 @@ function Ve(e, t) {
724
725
  if (1 === n.length) return e;
725
726
  let r = n[1].split("^"), o = {};
726
727
  1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
727
- let s = Fe(e, o);
728
+ let s = Ge(e, o);
728
729
  return s ? (n.splice(0, 1), n = n.join("`"), Ve(s, n)) : null;
729
730
  }
730
731
  function We(e, t) {
731
- return !Xt(t) && !!G(e.gclass, t, !1);
732
+ return !Xt(t) && !!F(e.gclass, t, !1);
732
733
  }
733
734
  function Me(e, t, n) {
734
735
  let r = e.jn_attrs;
@@ -743,7 +744,7 @@ function Ke(e, t, n) {
743
744
  for (let n = 0; n < o.length; n++) {
744
745
  const s = o[n];
745
746
  if (s.name && (-1 === t || s.flag & t)) {
746
- let t = At(e.jn_attrs, s.name);
747
+ let t = It(e.jn_attrs, s.name);
747
748
  Pt(r, s.name, t);
748
749
  }
749
750
  }
@@ -757,35 +758,35 @@ function Ye(e, t) {
757
758
  if (0 === tn(t, "__service__")) return me(e);
758
759
  }
759
760
  let n = C(e, t, !1);
760
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? At(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
761
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? It(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
761
762
  }
762
763
  function Be(e, t) {
763
764
  t && tn(t, "__trace_level__");
764
765
  let n = C(e, t, !1);
765
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? At(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
766
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? It(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
766
767
  }
767
768
  function Je(e, t) {
768
769
  if (t && 0 === tn(t, "__state__")) return et(e);
769
770
  let n = C(e, t, !1);
770
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? At(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
771
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? It(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
771
772
  }
772
773
  function ze(e, t) {
773
774
  let n = C(e, t, !1);
774
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? At(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
775
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? It(n, t) : e.gclass.gmt.mt_reading(e, t) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
775
776
  }
776
777
  function Qe(e, t, n, r) {
777
778
  let o = U(e), s = 0;
778
779
  for (const [r, i] of Object.entries(t)) {
779
- let t = Ie(e, r, !0);
780
+ let t = Ae(e, r, !0);
780
781
  t && (-1 === n || t.flag & n) && (s += P(e, o, t, i));
781
782
  }
782
783
  return s;
783
784
  }
784
- function He(e, t, n) {
785
+ function qe(e, t, n) {
785
786
  let r = C(e, t, !1);
786
787
  return r ? (r[t] = Zt(n), Kt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
787
788
  }
788
- function qe(e, t, n) {
789
+ function He(e, t, n) {
789
790
  let r = C(e, t, !1);
790
791
  return r ? (r[t] = parseInt(n), Kt(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (St(`${Oe(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
791
792
  }
@@ -803,7 +804,7 @@ function et(e) {
803
804
  return Re(e) ? (St("gobj NULL or DESTROYED"), null) : e.current_state.state_name;
804
805
  }
805
806
  function tt(e, t, n) {
806
- if (!qt(e)) return St("gobj NULL of bad type"), null;
807
+ if (!Ht(e)) return St("gobj NULL of bad type"), null;
807
808
  let r = z(e.gclass, t);
808
809
  if (r) return r;
809
810
  if (n) {
@@ -831,17 +832,17 @@ function ot(e, n, r, o) {
831
832
  let i = 0;
832
833
  i = d && Be(d, "tracing"), "C_TIMER" === Se(o) && (i = d && Be(d, "trace_timer")), m++;
833
834
  let l = M(s, n);
834
- if (!l) return e.gclass.gmt.mt_inject_event ? (m--, i && (I(t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Oe(e), s.state_name, n || "", o && !o.running ? "!!" : "", Oe(o))), r && i > 1 && Vt(r) && Dt(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (i && I(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Se(e), je(e), s.state_name, n || "", o && !o.running ? "!!" : "", Se(o), je(o))), St(`📛📛 Event NOT DEFINED in state 📛📛: ${Oe(e)}, ${s.state_name}, ${n}`), m--, -1);
835
+ if (!l) return e.gclass.gmt.mt_inject_event ? (m--, i && (A(t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Oe(e), s.state_name, n || "", o && !o.running ? "!!" : "", Oe(o))), r && i > 1 && Vt(r) && Dt(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (i && A(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Se(e), je(e), s.state_name, n || "", o && !o.running ? "!!" : "", Se(o), je(o))), St(`📛📛 Event NOT DEFINED in state 📛📛: ${Oe(e)}, ${s.state_name}, ${n}`), m--, -1);
835
836
  if (i) {
836
837
  let _ = "";
837
- l.action && (_ = Vn(l.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Se(e), je(e), s.state_name, "", n || "", "", _, o && !o.running ? "!!" : "", Se(o), je(o))), r && i > 1 && Vt(r) && Dt(r);
838
+ l.action && (_ = Vn(l.action)), A(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Se(e), je(e), s.state_name, "", n || "", "", _, o && !o.running ? "!!" : "", Se(o), je(o))), r && i > 1 && Vt(r) && Dt(r);
838
839
  }
839
840
  l.next_state && Ze(e, l.next_state);
840
841
  let _ = -1;
841
842
  try {
842
843
  l.action && (_ = l.action(e, n, r, o));
843
844
  } finally {}
844
- return !i || e.obflag & w.obflag_destroyed || I(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Se(e), je(e), e.current_state.state_name, n || "", Jt(_) ? _ : 0)), m--, _;
845
+ return !i || e.obflag & w.obflag_destroyed || A(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Se(e), je(e), e.current_state.state_name, n || "", Jt(_) ? _ : 0)), m--, _;
845
846
  }
846
847
  var st = Object.freeze({
847
848
  __hard_subscription__: 1,
@@ -894,9 +895,9 @@ function at(e, t, n, r, o) {
894
895
  function ut(e, n, r, o) {
895
896
  let s = cn(e, n, "publisher", null, bt.KW_REQUIRED), i = cn(e, n, "subscriber", null, bt.KW_REQUIRED), l = un(e, n, "event", "", bt.KW_REQUIRED);
896
897
  if (!!(an(e, n, "subs_flag", null, bt.KW_REQUIRED) & st.__hard_subscription__) && !r) return -1;
897
- d && Ye(d, "trace_subscriptions") && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Oe(s), Oe(i))), Dt(n)), s.obflag & w.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
898
+ d && Ye(d, "trace_subscriptions") && (A(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Oe(s), Oe(i))), Dt(n)), s.obflag & w.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
898
899
  let _ = at(s.dl_subscriptions, s, l, n, i);
899
- return _ >= 0 ? Ft(s.dl_subscriptions, _) : (St(`${Oe(e)}: subscription in publisher not found`), Dt(n)), _ = at(i.dl_subscribings, s, l, n, i), _ >= 0 ? Ft(i.dl_subscribings, _) : (St(`${Oe(e)}: subscription in subscriber not found`), Dt(n)), 0;
900
+ return _ >= 0 ? Gt(s.dl_subscriptions, _) : (St(`${Oe(e)}: subscription in publisher not found`), Dt(n)), _ = at(i.dl_subscribings, s, l, n, i), _ >= 0 ? Gt(i.dl_subscribings, _) : (St(`${Oe(e)}: subscription in subscriber not found`), Dt(n)), 0;
900
901
  }
901
902
  function ct(e, n, r, o) {
902
903
  if (null == r && (r = {}), !e) return St(`publisher NULL: ev ${n}`), 0;
@@ -915,7 +916,7 @@ function ct(e, n, r, o) {
915
916
  let i = _t(e.dl_subscriptions, e, n, r, o);
916
917
  Wt(i) > 0 && (St(`${Oe(e)}: ${Wt(i)} subscription(s) REPEATED, will be deleted and override`), Dt(i, "subscription REPEATED"), ft(e, i, !1));
917
918
  let l = function(e, t, n, r) {
918
- let o = A(e, it);
919
+ let o = I(e, it);
919
920
  Ut(o, "event", t), Ut(o, "subscriber", r), Ut(o, "publisher", e);
920
921
  let s = 0;
921
922
  if (n) {
@@ -935,7 +936,7 @@ function ct(e, n, r, o) {
935
936
  }
936
937
  return Ut(o, "subs_flag", s), o;
937
938
  }(e, n, r, o);
938
- return l ? (Ct(e.dl_subscriptions, l), Ct(o.dl_subscribings, l), d && Ye(d, "trace_subscriptions") && (I(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Oe(e), Oe(o))), r && Dt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, l) < 0 && (ut(e, l, !0, !0), l = 0), l) : (St(`${Oe(e)}: _create_subscription() FAILED`), 0);
939
+ return l ? (Ct(e.dl_subscriptions, l), Ct(o.dl_subscribings, l), d && Ye(d, "trace_subscriptions") && (A(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Oe(e), Oe(o))), r && Dt(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, l) < 0 && (ut(e, l, !0, !0), l = 0), l) : (St(`${Oe(e)}: _create_subscription() FAILED`), 0);
939
940
  }
940
941
  function ft(e, t, n) {
941
942
  let r = [...t];
@@ -954,7 +955,7 @@ function dt(e, n, r) {
954
955
  let o = tt(e, n, !0);
955
956
  if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return St(`event NOT in output event list: ${Oe(e)}, ev ${n}`), -1;
956
957
  let s = d && Ye(d, "trace_subscriptions");
957
- if (s && (I(t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Se(e), je(e), e.current_state.state_name, "", n || "", "")), Dt(r)), e.gclass.gmt.mt_publish_event) {
958
+ if (s && (A(t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Se(e), je(e), e.current_state.state_name, "", n || "", "")), Dt(r)), e.gclass.gmt.mt_publish_event) {
958
959
  let t = e.gclass.gmt.mt_publish_event(e, n, r);
959
960
  if (t <= 0) return t;
960
961
  }
@@ -972,11 +973,11 @@ function dt(e, n, r) {
972
973
  if (Xt(f) || 0 === tn(f, n)) {
973
974
  fn(e, a, "__config__", null, 0);
974
975
  let o = fn(e, a, "__global__", null, 0), i = fn(e, a, "__local__", null, 0), f = gn(e, a, "__filter__", null, 0), g = r, p = 1;
975
- if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, g, u) : Mt(f) > 0 && (p = mn(g, f), s && (I(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Oe(u), Oe(e))), Dt(f))), p < 0) break;
976
+ if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, g, u) : Mt(f) > 0 && (p = mn(g, f), s && (A(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Oe(u), Oe(e))), Dt(f))), p < 0) break;
976
977
  if (0 === p) continue;
977
978
  let d = tt(u, n, !0);
978
979
  if (d && d.event_flag & D.EVF_SYSTEM_EVENT && !nt(u, d.event_name, 0)) continue;
979
- i && rn(g, i), o && kt(g, o), s && (I(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Oe(u), et(u), n || "", e && !e.running ? "!!" : "", Oe(e))), Dt(g));
980
+ i && rn(g, i), o && kt(g, o), s && (A(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Oe(u), et(u), n || "", e && !e.running ? "!!" : "", Oe(e))), Dt(g));
980
981
  let b = ot(u, n, g, e);
981
982
  if (b < 0 && c & st.__own_event__) {
982
983
  l = -1;
@@ -1005,9 +1006,9 @@ var bt = Object.freeze({
1005
1006
  JSON_TRUE: 6,
1006
1007
  JSON_FALSE: 7,
1007
1008
  JSON_NULL: 8
1008
- }), "undefined" != typeof window ? window.console : console), ht = mt.error, Tt = mt.warn, Et = mt.info, yt = mt.debug;
1009
+ }), "undefined" != typeof window ? window.console : console), ht = mt.error, Et = mt.warn, Tt = mt.info, yt = mt.debug;
1009
1010
  function vt(e) {
1010
- e ? (ht = e, Tt = e) : (ht = mt.error, Tt = mt.warn);
1011
+ e ? (ht = e, Et = e) : (ht = mt.error, Et = mt.warn);
1011
1012
  }
1012
1013
  function jt(e) {
1013
1014
  const t = Array.prototype.slice.call(arguments);
@@ -1037,7 +1038,7 @@ function St(e) {
1037
1038
  }
1038
1039
  function Ot(e) {
1039
1040
  let t = jt(e), n = Cn();
1040
- 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)}`)));
1041
+ Et && (Et === window.console.warn ? Et("%c" + n + " WARNING: " + String(t), "color:yellow") : (window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Et(`${n} WARNING: ${String(t)}`)));
1041
1042
  }
1042
1043
  function Nt(e) {
1043
1044
  let t = jt(e), n = Cn();
@@ -1084,12 +1085,12 @@ function $t(e, t) {
1084
1085
  for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1085
1086
  return e;
1086
1087
  }
1087
- function It(e, t) {
1088
+ function At(e, t) {
1088
1089
  if (!t) return e;
1089
1090
  for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1090
1091
  return e;
1091
1092
  }
1092
- function At(e, t) {
1093
+ function It(e, t) {
1093
1094
  if (e && e.hasOwnProperty(t)) return e[t];
1094
1095
  }
1095
1096
  function Lt(e, t) {
@@ -1104,10 +1105,10 @@ function Ut(e, t, n) {
1104
1105
  function Ct(e, t) {
1105
1106
  e.push(t);
1106
1107
  }
1107
- function Gt(e, t) {
1108
+ function Ft(e, t) {
1108
1109
  e.push(t);
1109
1110
  }
1110
- function Ft(e, t) {
1111
+ function Gt(e, t) {
1111
1112
  e.splice(t, 1);
1112
1113
  }
1113
1114
  function Vt(e) {
@@ -1137,10 +1138,10 @@ function zt(e) {
1137
1138
  function Qt(e) {
1138
1139
  return null == e;
1139
1140
  }
1140
- function Ht(e) {
1141
+ function qt(e) {
1141
1142
  return "function" == typeof e;
1142
1143
  }
1143
- function qt(e) {
1144
+ function Ht(e) {
1144
1145
  return e instanceof S;
1145
1146
  }
1146
1147
  function Xt(e) {
@@ -1177,7 +1178,7 @@ function on(e, t) {
1177
1178
  return !(!(t in e) || !e.hasOwnProperty(t));
1178
1179
  }
1179
1180
  function sn(e, t, n, r) {
1180
- if (e && !qt(e) && St("GObj bad instanceof"), !Kt(t) && !Yt(t)) return St(`${Oe(e)}: kw must be list or dict`), 0;
1181
+ if (e && !Ht(e) && St("GObj bad instanceof"), !Kt(t) && !Yt(t)) return St(`${Oe(e)}: kw must be list or dict`), 0;
1181
1182
  if (!Bt(n)) return St(`${Oe(e)}: path must be a string: ${String(n)}`), 0;
1182
1183
  let o = n.split("`");
1183
1184
  if (o.length <= 1) return t[n];
@@ -1186,7 +1187,7 @@ function sn(e, t, n, r) {
1186
1187
  return t;
1187
1188
  }
1188
1189
  function ln(e, t, n) {
1189
- e && !qt(e) && St("GObj bad instanceof");
1190
+ e && !Ht(e) && St("GObj bad instanceof");
1190
1191
  let [r, o] = function(e, t) {
1191
1192
  let n = e.lastIndexOf(t);
1192
1193
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
@@ -1194,7 +1195,7 @@ function ln(e, t, n) {
1194
1195
  return Xt(o) ? Lt(t, n) : Lt(sn(e, t, r, !0), o), 0;
1195
1196
  }
1196
1197
  function _n(e, t, n, r, o) {
1197
- e && !qt(e) && St("GObj bad instanceof");
1198
+ e && !Ht(e) && St("GObj bad instanceof");
1198
1199
  let s = sn(e, t, n, !1);
1199
1200
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1200
1201
  if (void 0 === s) {
@@ -1207,7 +1208,7 @@ function _n(e, t, n, r, o) {
1207
1208
  return _ && ln(e, t, n), Boolean(s);
1208
1209
  }
1209
1210
  function an(e, t, n, r, o) {
1210
- e && !qt(e) && St("GObj bad instanceof");
1211
+ e && !Ht(e) && St("GObj bad instanceof");
1211
1212
  let s = sn(e, t, n, !1);
1212
1213
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1213
1214
  if (void 0 === s) {
@@ -1220,7 +1221,7 @@ function an(e, t, n, r, o) {
1220
1221
  return _ && ln(e, t, n), Jt(s) ? parseInt(s) : (i && (St(`path value MUST BE a number: ${n}`), wt(t)), parseInt(r));
1221
1222
  }
1222
1223
  function un(e, t, n, r, o) {
1223
- e && !qt(e) && St("GObj bad instanceof");
1224
+ e && !Ht(e) && St("GObj bad instanceof");
1224
1225
  let s = sn(e, t, n, !1);
1225
1226
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1226
1227
  if (void 0 === s) {
@@ -1233,7 +1234,7 @@ function un(e, t, n, r, o) {
1233
1234
  return _ && ln(e, t, n), Bt(s) ? String(s) : (i && (St(`${Oe(e)}: path value MUST BE a string: ${n}`), wt(t)), String(r));
1234
1235
  }
1235
1236
  function cn(e, t, n, r, o) {
1236
- e && !qt(e) && St("GObj bad instanceof");
1237
+ e && !Ht(e) && St("GObj bad instanceof");
1237
1238
  let s = sn(e, t, n, !1);
1238
1239
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1239
1240
  if (void 0 === s) {
@@ -1246,7 +1247,7 @@ function cn(e, t, n, r, o) {
1246
1247
  return _ && ln(e, t, n), s;
1247
1248
  }
1248
1249
  function fn(e, t, n, r, o) {
1249
- e && !qt(e) && St("GObj bad instanceof");
1250
+ e && !Ht(e) && St("GObj bad instanceof");
1250
1251
  let s = sn(e, t, n, !1);
1251
1252
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1252
1253
  if (void 0 === s) {
@@ -1259,7 +1260,7 @@ function fn(e, t, n, r, o) {
1259
1260
  return _ && ln(e, t, n), Kt(s) ? Object(s) : (i && (St(`path value MUST BE a dict: ${n}`), wt(t)), Object(r));
1260
1261
  }
1261
1262
  function gn(e, t, n, r, o) {
1262
- e && !qt(e) && St("GObj bad instanceof");
1263
+ e && !Ht(e) && St("GObj bad instanceof");
1263
1264
  let s = sn(e, t, n, !1);
1264
1265
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
1265
1266
  if (void 0 === s) {
@@ -1272,7 +1273,7 @@ function gn(e, t, n, r, o) {
1272
1273
  return _ && ln(e, t, n), s;
1273
1274
  }
1274
1275
  function pn(e, t, n, r) {
1275
- if (e && !qt(e) && St("GObj bad instanceof"), !Kt(t)) return St("kw is not an object"), -1;
1276
+ if (e && !Ht(e) && St("GObj bad instanceof"), !Kt(t)) return St("kw is not an object"), -1;
1276
1277
  let o = n.split("`");
1277
1278
  if (o.length <= 1) return t[n] = r, 0;
1278
1279
  let s = o.length;
@@ -1283,7 +1284,7 @@ function pn(e, t, n, r) {
1283
1284
  return 0;
1284
1285
  }
1285
1286
  function dn(e, t, n, r, o) {
1286
- if (e && !qt(e) && St("GObj bad instanceof"), !Kt(t)) return St("kw is not an object"), -1;
1287
+ if (e && !Ht(e) && St("GObj bad instanceof"), !Kt(t)) return St("kw is not an object"), -1;
1287
1288
  let s = fn(e, t, n, {}, !0);
1288
1289
  return Kt(s) ? (s[r] = o, 0) : (St("subdict is not an object"), -1);
1289
1290
  }
@@ -1305,7 +1306,7 @@ function bn(e, n, r) {
1305
1306
  continue;
1306
1307
  }
1307
1308
  let u = gn(0, e, o, 0, 0);
1308
- if (u || (u = At(e, o)), !u) {
1309
+ if (u || (u = It(e, o)), !u) {
1309
1310
  s = !1;
1310
1311
  break;
1311
1312
  }
@@ -1321,7 +1322,7 @@ function mn(e, t) {
1321
1322
  return 0 === Mt(t) || bn(e, t, "");
1322
1323
  }
1323
1324
  function hn(e, t, n, r) {
1324
- e && !qt(e) && St("GObj bad instanceof");
1325
+ e && !Ht(e) && St("GObj bad instanceof");
1325
1326
  let o = {};
1326
1327
  if (Bt(n) && !Xt(n)) {
1327
1328
  let s = n;
@@ -1336,7 +1337,7 @@ function hn(e, t, n, r) {
1336
1337
  }
1337
1338
  return o;
1338
1339
  }
1339
- function Tn(e, t, n, r) {
1340
+ function En(e, t, n, r) {
1340
1341
  let o = {};
1341
1342
  if (kt(o, t), Bt(n) && !Xt(n)) {
1342
1343
  let s = n;
@@ -1351,7 +1352,7 @@ function Tn(e, t, n, r) {
1351
1352
  }
1352
1353
  return o;
1353
1354
  }
1354
- function En(e, t, n = !1) {
1355
+ function Tn(e, t, n = !1) {
1355
1356
  if ("undefined" != typeof window && window.localStorage) try {
1356
1357
  let r = window.localStorage.getItem(e);
1357
1358
  return null === r ? (n && yn(e, t), t) : JSON.parse(r);
@@ -1387,7 +1388,7 @@ function jn(e, t) {
1387
1388
  return !1;
1388
1389
  }
1389
1390
  function Sn(e, t, n, r, o) {
1390
- if (e && !qt(e) && St("GObj bad instanceof"), !t) return null;
1391
+ if (e && !Ht(e) && St("GObj bad instanceof"), !t) return null;
1391
1392
  o || (o = mn);
1392
1393
  let s = [];
1393
1394
  if (Yt(t)) for (let i = 0; i < t.length; i++) {
@@ -1438,7 +1439,7 @@ function Dn(e, t, n) {
1438
1439
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1439
1440
  }
1440
1441
  function xn(e, t, n, r) {
1441
- if (!qt(e)) return St("gobj is not a GObj"), null;
1442
+ if (!Ht(e)) return St("gobj is not a GObj"), null;
1442
1443
  if (!t) return;
1443
1444
  let o = wn(t, n);
1444
1445
  o || (o = [], Dn(t, n, o));
@@ -1449,7 +1450,7 @@ function xn(e, t, n, r) {
1449
1450
  }
1450
1451
  }
1451
1452
  function Rn(e, t, n, r) {
1452
- if (!qt(e)) return St("gobj is not a GObj"), null;
1453
+ if (!Ht(e)) return St("gobj is not a GObj"), null;
1453
1454
  if (!Kt(t)) return St("kw is not a dict"), null;
1454
1455
  let o = wn(t, n);
1455
1456
  return o ? 0 === o.length ? (r && St(`stack empty: ${n}`), null) : o[0] : (r && St(`stack NOT FOUND: ${n}`), null);
@@ -1460,7 +1461,7 @@ function kn(e, t, n) {
1460
1461
  function $n(e, t) {
1461
1462
  return un(e, t, "__md_iev__`__msg_type__", "", 0);
1462
1463
  }
1463
- function In(e, t, n) {
1464
+ function An(e, t, n) {
1464
1465
  void 0 !== n && Bt(n) || (n = "");
1465
1466
  for (let r of Object.keys(e)) {
1466
1467
  if (!e.hasOwnProperty(r)) continue;
@@ -1470,10 +1471,10 @@ function In(e, t, n) {
1470
1471
  r,
1471
1472
  e[r],
1472
1473
  n
1473
- ]), Kt(e[r]) && In(e[r], t, n), n = n.slice(0, -o.length);
1474
+ ]), Kt(e[r]) && An(e[r], t, n), n = n.slice(0, -o.length);
1474
1475
  }
1475
1476
  }
1476
- function An(e, t, n, r) {
1477
+ function In(e, t, n, r) {
1477
1478
  if (!e) return null;
1478
1479
  let o, s = e.length;
1479
1480
  for (o = 0; o < s; o++) {
@@ -1482,7 +1483,7 @@ function An(e, t, n, r) {
1482
1483
  let e = s.id;
1483
1484
  if (e && e === n) return s;
1484
1485
  if (r && on(s, t)) {
1485
- let e = An(s[t], t, n, r);
1486
+ let e = In(s[t], t, n, r);
1486
1487
  if (e) return e;
1487
1488
  }
1488
1489
  }
@@ -1531,12 +1532,12 @@ function Cn() {
1531
1532
  const e = /* @__PURE__ */ new Date(), t = e.toISOString().slice(0, 19), n = String(e.getMilliseconds()).padStart(3, "0"), r = e.getTimezoneOffset();
1532
1533
  return `${t}.${n}${r > 0 ? "-" : "+"}${String(Math.abs(r) / 60).padStart(2, "0")}${String(Math.abs(r) % 60).padStart(2, "0")}`;
1533
1534
  }
1534
- function Gn(e, t) {
1535
+ function Fn(e, t) {
1535
1536
  if (!e) throw "ERROR: index_in_list() list empty";
1536
1537
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
1537
1538
  return -1;
1538
1539
  }
1539
- function Fn() {
1540
+ function Gn() {
1540
1541
  let e = "";
1541
1542
  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;
1542
1543
  }
@@ -1675,8 +1676,8 @@ var zn = [
1675
1676
  periodic: !1,
1676
1677
  msec: 0,
1677
1678
  timer_id: -1
1678
- }, Hn = null;
1679
- function qn(e, t, n, r) {
1679
+ }, qn = null;
1680
+ function Hn(e, t, n, r) {
1680
1681
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1681
1682
  return xe(e) ? ot(we(e), s, {}, e) : dt(e, s, {}), o.periodic && (o.timer_id = setTimeout(function() {
1682
1683
  ot(e, "EV_TIMEOUT", {}, e);
@@ -1703,18 +1704,18 @@ var Xn = {
1703
1704
  return 0;
1704
1705
  },
1705
1706
  mt_stop: function(e) {
1706
- return qe(e, "msec", -1), 0;
1707
+ return He(e, "msec", -1), 0;
1707
1708
  },
1708
1709
  mt_destroy: function(e) {}
1709
1710
  };
1710
1711
  function Zn(e, t) {
1711
- return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : (He(e, "periodic", !1), void qe(e, "msec", t)) : (St("not GObj TYPE"), -1);
1712
+ return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : (qe(e, "periodic", !1), void He(e, "msec", t)) : (St("not GObj TYPE"), -1);
1712
1713
  }
1713
1714
  function er(e, t) {
1714
- return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : (He(e, "periodic", !0), void qe(e, "msec", t)) : (St("not GObj TYPE"), -1);
1715
+ return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : (qe(e, "periodic", !0), void He(e, "msec", t)) : (St("not GObj TYPE"), -1);
1715
1716
  }
1716
1717
  function tr(e) {
1717
- return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : void qe(e, "msec", -1) : (St("not GObj TYPE"), -1);
1718
+ return e instanceof S ? "C_TIMER" !== Se(e) ? (St("not C_TIMER GObj"), -1) : void He(e, "msec", -1) : (St("not GObj TYPE"), -1);
1718
1719
  }
1719
1720
  var nr = [
1720
1721
  v(h.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
@@ -1749,7 +1750,7 @@ function sr(e, t, n, r) {
1749
1750
  var ir = {
1750
1751
  mt_create: function(e) {
1751
1752
  let t = e.priv;
1752
- Xe(e, "start_date", Cn()), Xe(e, "node_uuid", Fn()), e.priv.gobj_timer = se(je(e), "C_TIMER", {}, e), t.periodic_timeout = Me(e, "periodic_timeout");
1753
+ Xe(e, "start_date", Cn()), Xe(e, "node_uuid", Gn()), e.priv.gobj_timer = se(je(e), "C_TIMER", {}, e), t.periodic_timeout = Me(e, "periodic_timeout");
1753
1754
  },
1754
1755
  mt_writing: function(e, t) {},
1755
1756
  mt_start: function(e) {
@@ -1760,26 +1761,26 @@ var ir = {
1760
1761
  },
1761
1762
  mt_destroy: function(e) {},
1762
1763
  mt_play: function(e) {
1763
- let t = q();
1764
+ let t = H();
1764
1765
  return de(t) || le(t), he(t) || ge(t), 0;
1765
1766
  },
1766
1767
  mt_pause: function(e) {
1767
- return pe(q()), 0;
1768
+ return pe(H()), 0;
1768
1769
  }
1769
1770
  };
1770
1771
  var lr = "ievent_gate_stack", _r = [
1771
- v(h.DTP_STRING, "wanted_yuno_role", T.SDF_RD, "", "wanted yuno role"),
1772
- v(h.DTP_STRING, "wanted_yuno_name", T.SDF_RD, "", "wanted yuno name"),
1773
- v(h.DTP_STRING, "wanted_yuno_service", T.SDF_RD, "", "wanted yuno service"),
1774
- v(h.DTP_STRING, "remote_yuno_role", T.SDF_RD, "", "confirmed remote yuno role"),
1775
- v(h.DTP_STRING, "remote_yuno_name", T.SDF_RD, "", "confirmed remote yuno name"),
1776
- v(h.DTP_STRING, "remote_yuno_service", T.SDF_RD, "", "confirmed remote yuno service"),
1777
- v(h.DTP_STRING, "url", T.SDF_RD, "", "Url to connect"),
1778
- v(h.DTP_STRING, "jwt", T.SDF_PERSIST, "", "JWT"),
1779
- v(h.DTP_STRING, "cert_pem", T.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1780
- v(h.DTP_JSON, "extra_info", T.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1781
- v(h.DTP_INTEGER, "timeout_retry", T.SDF_RD, "5000", "timeout waiting idAck"),
1782
- v(h.DTP_INTEGER, "timeout_idack", T.SDF_RD, "5000", "timeout waiting idAck"),
1772
+ v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
1773
+ v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
1774
+ v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
1775
+ v(h.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
1776
+ v(h.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
1777
+ v(h.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
1778
+ v(h.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
1779
+ v(h.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
1780
+ v(h.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1781
+ v(h.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1782
+ v(h.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "timeout waiting idAck"),
1783
+ v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
1783
1784
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1784
1785
  y()
1785
1786
  ], ar = {
@@ -1810,7 +1811,7 @@ function cr(e) {
1810
1811
  data: n.data
1811
1812
  }, e);
1812
1813
  }, n.onclose = (n) => {
1813
- Ye(Te(), "browser_beforeunload") ? Ot("Close websocket by unload page") : ot(e, "EV_ON_CLOSE", {
1814
+ Ye(Ee(), "browser_beforeunload") ? Ot("Close websocket by unload page") : ot(e, "EV_ON_CLOSE", {
1814
1815
  url: t,
1815
1816
  e: n
1816
1817
  }, e);
@@ -1843,8 +1844,8 @@ var pr = class {
1843
1844
  function dr(e, t, n, r) {
1844
1845
  return function(e, t) {
1845
1846
  let n = e.priv, r = JSON.stringify(t);
1846
- if (Ye(Te(), "trace_inter_event")) {
1847
- let n = Je(e, "url"), o = je(Te()) + " ==> " + n, s = Me(Te(), "trace_ievent_callback");
1847
+ if (Ye(Ee(), "trace_inter_event")) {
1848
+ let n = Je(e, "url"), o = je(Ee()) + " ==> " + n, s = Me(Ee(), "trace_ievent_callback");
1848
1849
  s ? s(o, t, 1, r.length) : gr(0, o, t);
1849
1850
  }
1850
1851
  try {
@@ -1862,17 +1863,17 @@ function br(e, t, n) {
1862
1863
  dst_yuno: Je(e, "wanted_yuno_name"),
1863
1864
  dst_role: Je(e, "wanted_yuno_role"),
1864
1865
  dst_service: n,
1865
- src_yuno: Ee(),
1866
+ src_yuno: Te(),
1866
1867
  src_role: ye(),
1867
1868
  src_service: t,
1868
- host: Fn()
1869
+ host: Gn()
1869
1870
  };
1870
1871
  }
1871
1872
  function mr(e) {
1872
- let t = e.priv, n = he(Te()), r = Je(Te(), "yuno_version"), o = Je(Te(), "yuno_release"), i = Je(Te(), "yuno_tag"), l = {
1873
+ let t = e.priv, n = he(Ee()), r = Je(Ee(), "yuno_version"), o = Je(Ee(), "yuno_release"), i = Je(Ee(), "yuno_tag"), l = {
1873
1874
  yuno_role: ye(),
1874
1875
  yuno_id: ve(),
1875
- yuno_name: Ee(),
1876
+ yuno_name: Te(),
1876
1877
  yuno_tag: i,
1877
1878
  yuno_version: r,
1878
1879
  yuno_release: o,
@@ -1881,13 +1882,13 @@ function mr(e) {
1881
1882
  pid: 0,
1882
1883
  watcher_pid: 0,
1883
1884
  jwt: Je(e, "jwt"),
1884
- username: Je(Te(), "__username__"),
1885
+ username: Je(Ee(), "__username__"),
1885
1886
  launch_id: 0,
1886
- yuno_startdate: Je(Te(), "start_date"),
1887
- id: Fn(),
1887
+ yuno_startdate: Je(Ee(), "start_date"),
1888
+ id: Gn(),
1888
1889
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
1889
1890
  language: "undefined" != typeof window ? window.navigator.language : "",
1890
- required_services: Me(Te(), "required_services")
1891
+ required_services: Me(Ee(), "required_services")
1891
1892
  };
1892
1893
  return xn(e, l, lr, br(e, je(we(e)), null)), kn(e, l, "__identity__"), Zn(t.gobj_timer, Be(e, "timeout_idack")), dr(e, "EV_IDENTITY_CARD", l);
1893
1894
  }
@@ -1896,20 +1897,28 @@ function hr(e, t) {
1896
1897
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, l = t.subscriber;
1897
1898
  return o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s), xn(e, n, lr, br(e, je(l), i)), kn(e, n, "__subscribing__"), dr(e, t.event, n);
1898
1899
  }
1899
- function Tr(e, t, n, r) {
1900
+ function Er(e, t, n, r) {
1900
1901
  let o = e.priv;
1901
1902
  return de(e) && (o.websocket = cr(e)), 0;
1902
1903
  }
1903
- function Er(e, t, n, r) {
1904
+ function Tr(e, t, n, r) {
1904
1905
  return Nt("Websocket opened: " + e.priv.url), mr(e), 0;
1905
1906
  }
1906
1907
  function yr(e, t, n, r) {
1907
1908
  let o = e.priv, s = n.e, i = n.url;
1908
- return vt(), Ot(`${Oe(e)}: WebSocket closed ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close && (o.inform_on_close = !1, dt(e, "EV_ON_CLOSE", {
1909
+ return vt(), Ot(`${Oe(e)}: WebSocket closed ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, dt(e, "EV_ON_CLOSE", {
1909
1910
  url: i,
1910
1911
  remote_yuno_name: o.remote_yuno_name,
1911
1912
  remote_yuno_role: o.remote_yuno_role,
1912
1913
  remote_yuno_service: o.remote_yuno_service
1914
+ })) : (Ot(`${Oe(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), dt(e, "EV_ON_OPEN_ERROR", {
1915
+ url: i,
1916
+ remote_yuno_name: o.remote_yuno_name,
1917
+ remote_yuno_role: o.remote_yuno_role,
1918
+ remote_yuno_service: o.remote_yuno_service,
1919
+ code: s.code,
1920
+ reason: s.reason,
1921
+ was_clean: s.wasClean
1913
1922
  })), de(e) && Zn(o.gobj_timer, Be(e, "timeout_retry")), 0;
1914
1923
  }
1915
1924
  function vr(e, t, n, r) {
@@ -1970,8 +1979,8 @@ function Sr(e, t, n, r) {
1970
1979
  kw: o || {}
1971
1980
  } : (St("parsing inter_event: kw not a json object"), null) : (St("parsing inter_kw: no kw"), null);
1972
1981
  }(0, n.data);
1973
- if (Ye(Te(), "trace_inter_event")) {
1974
- let e = je(Te()) + " <== " + o, t = n.data.length, r = Me(Te(), "trace_ievent_callback");
1982
+ if (Ye(Ee(), "trace_inter_event")) {
1983
+ let e = je(Ee()) + " <== " + o, t = n.data.length, r = Me(Ee(), "trace_ievent_callback");
1975
1984
  r ? r(e, s, 2, t) : gr(0, e, s);
1976
1985
  }
1977
1986
  let i = s.event, l = s.kw;
@@ -2072,7 +2081,7 @@ var wr = {
2072
2081
  return s && (r.__config__ = s), o && (r.__global__ = o), i && (r.__filter__ = i), xn(e, r, lr, br(e, je(_), l)), kn(e, r, "__unsubscribing__"), dr(e, t.event, r, e);
2073
2082
  }
2074
2083
  };
2075
- exports.GObj = S, 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, i) => new E(e, t, n, null, i, 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 = y, exports.SDataDesc = E, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2084
+ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new T(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new T(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, i) => new T(e, t, n, null, i, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new T(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new T(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new T(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = y, exports.SDataDesc = T, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2076
2085
  enumerable: !0,
2077
2086
  get: function() {
2078
2087
  return d;
@@ -2091,7 +2100,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2091
2100
  let t = "";
2092
2101
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2093
2102
  l.style.cssText = t;
2094
- } else "style" === e ? l.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? (_ = o[e], l.setAttribute("data-i18n", _)) : l.setAttribute(e, o[e]);
2103
+ } else "style" === e ? l.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], l.setAttribute("data-i18n", _)) : l.setAttribute(e, o[e]);
2095
2104
  if (Bt(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) l.appendChild(Un(s));
2096
2105
  else if (n && _) l.textContent = n(_) || s;
2097
2106
  else l.textContent = s;
@@ -2110,20 +2119,20 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2110
2119
  n[e] = gn(null, t, e, gn(r, "default"));
2111
2120
  }), n;
2112
2121
  }, exports.current_timestamp = Cn, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2113
- let n = En(Wn(e), null, !1), r = {};
2122
+ let n = Tn(Wn(e), null, !1), r = {};
2114
2123
  return n && Kt(n) && (r = hn(e, n, t, !1)), r;
2115
2124
  }, exports.db_load_persistent_attrs = function(e, t) {
2116
- let n = Ke(e, T.SDF_PERSIST), r = En(Wn(e), null, !1);
2125
+ let n = Ke(e, E.SDF_PERSIST), r = Tn(Wn(e), null, !1);
2117
2126
  if (r && Kt(r)) {
2118
2127
  let o = hn(e, r, t, !1);
2119
- o = hn(e, o, n, !1), Qe(e, o, T.SDF_PERSIST);
2128
+ o = hn(e, o, n, !1), Qe(e, o, E.SDF_PERSIST);
2120
2129
  }
2121
2130
  }, exports.db_remove_persistent_attrs = function(e, t) {
2122
- let n = Tn(e, En(Wn(e), null, !1), t, !1);
2131
+ let n = En(e, Tn(Wn(e), null, !1), t, !1);
2123
2132
  0 === Vt(n) ? vn(Wn(e)) : yn(Wn(e), n);
2124
2133
  }, exports.db_save_persistent_attrs = function(e, t) {
2125
- let n = hn(e, Ke(e, T.SDF_PERSIST), t, !1), r = En(Wn(e), null, !1);
2126
- r && Kt(r) && It(n, r), yn(Wn(e), n);
2134
+ let n = hn(e, Ke(e, E.SDF_PERSIST), t, !1), r = Tn(Wn(e), null, !1);
2135
+ r && Kt(r) && At(n, r), yn(Wn(e), n);
2127
2136
  }, exports.debounce = function(e, t = 0, n = !1) {
2128
2137
  let r = null, o = null, s = null;
2129
2138
  const i = (...i) => {
@@ -2148,7 +2157,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2148
2157
  Object.assign(t, e);
2149
2158
  }
2150
2159
  return t;
2151
- }, exports.empty_string = Xt, exports.escapeHtml = Pn, exports.event_flag_t = D, exports.gclass_add_ev_action = Y, exports.gclass_add_event_type = J, exports.gclass_add_state = K, exports.gclass_check_fsm = Q, exports.gclass_create = F, exports.gclass_event_type = z, exports.gclass_find_by_name = H, exports.gclass_flag_t = O, exports.gclass_unregister = V, exports.getPositionRelativeToBody = function(e) {
2160
+ }, exports.empty_string = Xt, exports.escapeHtml = Pn, exports.event_flag_t = D, exports.gclass_add_ev_action = Y, exports.gclass_add_event_type = J, exports.gclass_add_state = K, exports.gclass_check_fsm = Q, exports.gclass_create = G, exports.gclass_event_type = z, exports.gclass_find_by_name = q, exports.gclass_flag_t = O, exports.gclass_unregister = V, exports.getPositionRelativeToBody = function(e) {
2152
2161
  if (!e) return {
2153
2162
  top: 0,
2154
2163
  left: 0,
@@ -2174,7 +2183,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2174
2183
  }, exports.gobj_change_state = Ze, exports.gobj_command = function(e, n, o, s) {
2175
2184
  if (Re(e)) return St("gobj NULL or DESTROYED"), -1;
2176
2185
  let i = d && Be(d, "tracing");
2177
- return i && (I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", de(e) ? "" : "!!", Oe(e), n, Oe(s))), i > 1 && Dt(o)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Oe(e)), 0, 0) : r(0, -1, t("%s: command table not available", Oe(e)), 0, 0);
2186
+ return i && (A(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", de(e) ? "" : "!!", Oe(e), n, Oe(s))), i > 1 && Dt(o)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Oe(e)), 0, 0) : r(0, -1, t("%s: command table not available", Oe(e)), 0, 0);
2178
2187
  }, exports.gobj_create = function(e, t, n, r) {
2179
2188
  return oe(e, t, n, r, 0);
2180
2189
  }, exports.gobj_create2 = oe, exports.gobj_create_default_service = function(e, t, n, r) {
@@ -2185,7 +2194,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2185
2194
  return oe(e, t, n, r, N.gobj_flag_volatil);
2186
2195
  }, exports.gobj_create_yuno = function(e, t, n) {
2187
2196
  return oe(e, t, n, null, N.gobj_flag_yuno);
2188
- }, exports.gobj_current_state = et, exports.gobj_default_service = q, exports.gobj_destroy = ie, exports.gobj_find_child = Fe, exports.gobj_find_gobj = function(e, t) {
2197
+ }, exports.gobj_current_state = et, exports.gobj_default_service = H, exports.gobj_destroy = ie, exports.gobj_find_child = Ge, exports.gobj_find_gobj = function(e, t) {
2189
2198
  if (Xt(t)) return null;
2190
2199
  const n = t.toLowerCase();
2191
2200
  return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? d : Ve(d, t);
@@ -2217,7 +2226,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2217
2226
  const r = e.dl_children;
2218
2227
  for (let e = 0; e < r.length; e++) {
2219
2228
  const o = r[e];
2220
- Ge(o, t) && n.push(o);
2229
+ Fe(o, t) && n.push(o);
2221
2230
  }
2222
2231
  return n;
2223
2232
  }, exports.gobj_match_children_tree = function(e, t) {
@@ -2227,10 +2236,10 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2227
2236
  let o = r.dl_children;
2228
2237
  for (let r = 0; r < o.length; r++) {
2229
2238
  let s = o[r];
2230
- Ge(s, t) && n.push(s), e(n, s);
2239
+ Fe(s, t) && n.push(s), e(n, s);
2231
2240
  }
2232
2241
  }(n, e), n;
2233
- }, exports.gobj_match_gobj = Ge, exports.gobj_name = je, exports.gobj_parent = we, exports.gobj_pause = pe, exports.gobj_play = ge, exports.gobj_post_event = function(e, t, n, r) {
2242
+ }, exports.gobj_match_gobj = Fe, exports.gobj_name = je, exports.gobj_parent = we, exports.gobj_pause = pe, exports.gobj_play = ge, exports.gobj_post_event = function(e, t, n, r) {
2234
2243
  setTimeout(() => {
2235
2244
  Re(e) || ot(e, t, n, r);
2236
2245
  }, 10);
@@ -2248,17 +2257,17 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2248
2257
  }
2249
2258
  }
2250
2259
  return 0;
2251
- }(e, T.SDF_VOLATIL, 0);
2260
+ }(e, E.SDF_VOLATIL, 0);
2252
2261
  }, exports.gobj_save_persistent_attrs = function(e, t) {
2253
2262
  return me(e) ? l ? l(e, t) : -1 : (St(`${Oe(e)}: Only gobj services can load/save writable-persistent`), -1);
2254
2263
  }, exports.gobj_search_path = Ve, exports.gobj_send_event = ot, exports.gobj_services = function() {
2255
2264
  let e = [];
2256
- for (const t of Object.keys(p)) Gt(e, t);
2265
+ for (const t of Object.keys(p)) Ft(e, t);
2257
2266
  return e;
2258
2267
  }, exports.gobj_set_bottom_gobj = $e, exports.gobj_short_name = Oe, exports.gobj_start = le, exports.gobj_start_children = function(e) {
2259
- return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : Ae(e, x.WALK_FIRST2LAST, _e, 0, 0);
2268
+ return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : Ie(e, x.WALK_FIRST2LAST, _e, 0, 0);
2260
2269
  }, exports.gobj_start_tree = function(e) {
2261
- return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : (d && Ye(d, "trace_start_stop") && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", Ne(e))), e.gclass.gclass_flag & O.gcflag_manual_start || e.disabled ? 0 : (e.running || le(e), Le(e, x.WALK_TOP2BOTTOM, ae, 0, 0)));
2270
+ return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : (d && Ye(d, "trace_start_stop") && A(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", Ne(e))), e.gclass.gclass_flag & O.gcflag_manual_start || e.disabled ? 0 : (e.running || le(e), Le(e, x.WALK_TOP2BOTTOM, ae, 0, 0)));
2262
2271
  }, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
2263
2272
  i = t, l = n, _ = r, a = o, u = s, c = g;
2264
2273
  const p = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
@@ -2270,7 +2279,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2270
2279
  }, exports.gobj_stats = function(e, n, r, s) {
2271
2280
  return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Oe(e)), 0, 0);
2272
2281
  }, exports.gobj_stop = ue, exports.gobj_stop_children = fe, exports.gobj_stop_tree = function(e) {
2273
- return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : (d && Ye(d, "trace_start_stop") && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Ne(e))), de(e) && ue(e), Le(e, x.WALK_TOP2BOTTOM, ce, 0, 0));
2282
+ return Re(e) ? (St("gobj NULL or DESTROYED"), -1) : (d && Ye(d, "trace_start_stop") && A(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Ne(e))), de(e) && ue(e), Le(e, x.WALK_TOP2BOTTOM, ce, 0, 0));
2274
2283
  }, exports.gobj_subscribe_event = ct, exports.gobj_unsubscribe_event = function(e, t, n, r) {
2275
2284
  if (null == n && (n = {}), !e) return St(`publisher NULL: ev ${t}`), 0;
2276
2285
  if (!r) return St(`subscriber NULL: ev ${t}`), 0;
@@ -2291,7 +2300,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2291
2300
  ut(e, n, !1, !1), i++;
2292
2301
  }
2293
2302
  return i || (Ot(`${Oe(e)}: No subscription found`), Dt(n, "No subscription found")), 0;
2294
- }, exports.gobj_unsubscribe_list = ft, exports.gobj_walk_gobj_children = Ae, exports.gobj_walk_gobj_children_tree = Le, exports.gobj_write_attr = function(e, n, r, o) {
2303
+ }, exports.gobj_unsubscribe_list = ft, exports.gobj_walk_gobj_children = Ie, exports.gobj_walk_gobj_children_tree = Le, exports.gobj_write_attr = function(e, n, r, o) {
2295
2304
  if (!Bt(n)) return St(t("gobj_write_attr(%s): path must be a string", Oe(e))), -1;
2296
2305
  let s, i = e.jn_attrs, l = n.split("`");
2297
2306
  if (l.length <= 1) {
@@ -2301,7 +2310,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2301
2310
  let _ = l.length;
2302
2311
  for (let t = 0; t < _; t++) {
2303
2312
  s = l[t];
2304
- let n = Fe(e, { __gobj_name__: s });
2313
+ let n = Ge(e, { __gobj_name__: s });
2305
2314
  if (n && t < _ - 1) {
2306
2315
  e = n;
2307
2316
  continue;
@@ -2311,9 +2320,9 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2311
2320
  break;
2312
2321
  }
2313
2322
  return St(t("gobj_write_attr(%s): attr not found '%s'", Oe(e), s)), -1;
2314
- }, exports.gobj_write_attrs = Qe, exports.gobj_write_bool_attr = He, exports.gobj_write_integer_attr = qe, exports.gobj_write_str_attr = Xe, exports.gobj_yuno = Te, exports.gobj_yuno_id = ve, exports.gobj_yuno_name = Ee, exports.gobj_yuno_role = ye, exports.id_index_in_obj_list = On, exports.index_in_list = Gn, exports.is_array = Yt, exports.is_boolean = zt, exports.is_date = function(e) {
2323
+ }, exports.gobj_write_attrs = Qe, exports.gobj_write_bool_attr = qe, exports.gobj_write_integer_attr = He, exports.gobj_write_str_attr = Xe, exports.gobj_yuno = Ee, exports.gobj_yuno_id = ve, exports.gobj_yuno_name = Te, exports.gobj_yuno_role = ye, exports.id_index_in_obj_list = On, exports.index_in_list = Fn, exports.is_array = Yt, exports.is_boolean = zt, exports.is_date = function(e) {
2315
2324
  return e instanceof Date && !isNaN(e);
2316
- }, exports.is_function = Ht, exports.is_gobj = qt, exports.is_metadata_key = function(e) {
2325
+ }, exports.is_function = qt, exports.is_gobj = Ht, exports.is_metadata_key = function(e) {
2317
2326
  if (!Bt(e)) return !1;
2318
2327
  let t;
2319
2328
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -2333,7 +2342,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2333
2342
  if (!o) return St("jdb_delete: topic not found: " + t), null;
2334
2343
  if (Xt(r.id)) return St("jdb_delete: record without id: " + r), wt(r), null;
2335
2344
  let s, i = n.split("`"), l = o;
2336
- for (; (s = i.shift()) && !Xt(s) && l;) Kt(l) && (l = gn(null, l, e.hook, null, 0)), l = An(l, null, s, !1);
2345
+ for (; (s = i.shift()) && !Xt(s) && l;) Kt(l) && (l = gn(null, l, e.hook, null, 0)), l = In(l, null, s, !1);
2337
2346
  if (0 === i.length && l) if (Yt(l)) {
2338
2347
  let e = On(l, r.id);
2339
2348
  e >= 0 && l.splice(e, 1);
@@ -2344,7 +2353,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2344
2353
  return o;
2345
2354
  }, exports.jdb_get = function(e, t, n, r) {
2346
2355
  let o = gn(null, gn(null, e, "topics", null, 0), t, null, 0);
2347
- return o ? (void 0 === r && (r = !0), An(o, e.hook, n, r)) : (St("jdb_get: topic not found: " + t), null);
2356
+ return o ? (void 0 === r && (r = !0), In(o, e.hook, n, r)) : (St("jdb_get: topic not found: " + t), null);
2348
2357
  }, exports.jdb_get_by_idx = function(e, t, n) {
2349
2358
  let r = gn(null, gn(null, e, "topics", null, 0), t, null, 0);
2350
2359
  return r ? n < r.length ? r[n] : {} : (St("jdb_get_by_idx: topic not found: " + t), null);
@@ -2357,7 +2366,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2357
2366
  let r = gn(null, e, "type", [], 1);
2358
2367
  un(null, e, "hook", "data", 1);
2359
2368
  let o = gn(null, e, "schema", {}, 1), s = gn(null, e, "topics", {}, 1);
2360
- return In(o, function(e, t, n, o) {
2369
+ return An(o, function(e, t, n, o) {
2361
2370
  "__" !== t.substring(0, 2) && gn(null, s, o, xt(r), 1);
2362
2371
  }, t), e;
2363
2372
  }, exports.jdb_update = function(e, t, n, r) {
@@ -2365,17 +2374,17 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2365
2374
  if (!o) return St("jdb_update: topic not found: " + t), null;
2366
2375
  if (Xt(r.id)) return St("jdb_update: record without id: " + r), wt(r), null;
2367
2376
  let s, i = n.split("`"), l = o;
2368
- for (; (s = i.shift()) && !Xt(s) && l;) Kt(l) && (l = gn(null, l, e.hook, [], 1)), l = An(l, null, s, !1);
2377
+ for (; (s = i.shift()) && !Xt(s) && l;) Kt(l) && (l = gn(null, l, e.hook, [], 1)), l = In(l, null, s, !1);
2369
2378
  if (0 === i.length && l) if (Yt(l)) l.push(r);
2370
2379
  else if (l.id === r.id) Object.assign(l, r);
2371
2380
  else {
2372
- let t = gn(null, l, e.hook, [], 1), n = An(t, e.hook, r.id, !1);
2381
+ let t = gn(null, l, e.hook, [], 1), n = In(t, e.hook, r.id, !1);
2373
2382
  n ? Object.assign(n, r) : t.push(r);
2374
2383
  }
2375
2384
  return o;
2376
- }, exports.json_array_append = Ct, exports.json_array_append_new = Gt, exports.json_array_extend = function(e, t) {
2385
+ }, exports.json_array_append = Ct, exports.json_array_append_new = Ft, exports.json_array_extend = function(e, t) {
2377
2386
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2378
- }, exports.json_array_remove = Ft, exports.json_array_size = Wt, exports.json_deep_copy = xt, exports.json_is_identical = Rt, exports.json_object_del = Lt, exports.json_object_get = At, exports.json_object_set = Pt, exports.json_object_set_new = Ut, exports.json_object_size = Vt, exports.json_object_update = kt, exports.json_object_update_existing = $t, exports.json_object_update_missing = It, exports.json_size = Mt, exports.jwt2json = function(e, t) {
2387
+ }, exports.json_array_remove = Gt, exports.json_array_size = Wt, exports.json_deep_copy = xt, exports.json_is_identical = Rt, exports.json_object_del = Lt, exports.json_object_get = It, exports.json_object_set = Pt, exports.json_object_set_new = Ut, exports.json_object_size = Vt, exports.json_object_update = kt, exports.json_object_update_existing = $t, exports.json_object_update_missing = At, exports.json_size = Mt, exports.jwt2json = function(e, t) {
2379
2388
  try {
2380
2389
  let n = Ln(e);
2381
2390
  switch (t) {
@@ -2386,8 +2395,8 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2386
2395
  } catch (e) {
2387
2396
  return null;
2388
2397
  }
2389
- }, exports.jwtDecode = Ln, exports.kw_clone_by_keys = hn, exports.kw_clone_by_not_keys = Tn, exports.kw_collect = function(e, t, n, r) {
2390
- if (e && !qt(e) && St("GObj bad instanceof"), !t) return null;
2398
+ }, exports.jwtDecode = Ln, exports.kw_clone_by_keys = hn, exports.kw_clone_by_not_keys = En, exports.kw_collect = function(e, t, n, r) {
2399
+ if (e && !Ht(e) && St("GObj bad instanceof"), !t) return null;
2391
2400
  r || (r = mn);
2392
2401
  let o = [];
2393
2402
  if (Yt(t)) for (let e = 0; e < t.length; e++) {
@@ -2404,7 +2413,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2404
2413
  for (let e = 0; e < t.length; e++) if (Rt(n, t[e])) return e;
2405
2414
  return r && St("item not found in this list"), -1;
2406
2415
  }, exports.kw_find_path = sn, exports.kw_flag_t = bt, exports.kw_get_bool = _n, exports.kw_get_dict = fn, exports.kw_get_dict_value = gn, exports.kw_get_int = an, exports.kw_get_list = function(e, t, n, r, o) {
2407
- e && !qt(e) && St("GObj bad instanceof");
2416
+ e && !Ht(e) && St("GObj bad instanceof");
2408
2417
  let s = sn(e, t, n, !1);
2409
2418
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
2410
2419
  if (void 0 === s) {
@@ -2415,8 +2424,8 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2415
2424
  return i && (St(`path not found: '${n}'`), Dt(t)), Array(r);
2416
2425
  }
2417
2426
  return _ && ln(e, t, n), Yt(s) ? Array(s) : (i && (St(`path value MUST BE an array: ${n}`), wt(t)), Array(r));
2418
- }, exports.kw_get_local_storage_value = En, exports.kw_get_pointer = cn, exports.kw_get_real = function(e, t, n, r, o) {
2419
- e && !qt(e) && St("GObj bad instanceof");
2427
+ }, exports.kw_get_local_storage_value = Tn, exports.kw_get_pointer = cn, exports.kw_get_real = function(e, t, n, r, o) {
2428
+ e && !Ht(e) && St("GObj bad instanceof");
2420
2429
  let s = sn(e, t, n, !1);
2421
2430
  const i = o && o & bt.KW_REQUIRED, l = o && o & bt.KW_CREATE, _ = o && o & bt.KW_EXTRACT;
2422
2431
  if (void 0 === s) {
@@ -2428,7 +2437,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2428
2437
  }
2429
2438
  return _ && ln(e, t, n), Jt(s) ? Number(s) : (i && (St(`path value MUST BE a number: ${n}`), wt(t)), Number(r));
2430
2439
  }, exports.kw_get_str = un, exports.kw_has_key = on, exports.kw_match_simple = mn, exports.kw_pop = rn, exports.kw_remove_local_storage_value = vn, exports.kw_select = function(e, t, n, r) {
2431
- if (e && !qt(e) && St("GObj bad instanceof"), !t) return null;
2440
+ if (e && !Ht(e) && St("GObj bad instanceof"), !t) return null;
2432
2441
  r || (r = mn);
2433
2442
  let o = [];
2434
2443
  if (Yt(t)) for (let e = 0; e < t.length; e++) {
@@ -2441,11 +2450,11 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2441
2450
  }
2442
2451
  return o;
2443
2452
  }, exports.kw_set_dict_value = pn, exports.kw_set_local_storage_value = yn, exports.kw_set_subdict_value = dn, exports.kwid_collect = Sn, exports.kwid_find_one_record = function(e, t, n, r, o) {
2444
- e && !qt(e) && St("GObj bad instanceof");
2453
+ e && !Ht(e) && St("GObj bad instanceof");
2445
2454
  let s = Sn(e, t, n, r, o);
2446
2455
  return s.length > 0 ? s[0] : null;
2447
2456
  }, exports.kwid_get_ids = function(e, t) {
2448
- if (e && !qt(e) && St("GObj bad instanceof"), !t) return [];
2457
+ if (e && !Ht(e) && St("GObj bad instanceof"), !t) return [];
2449
2458
  let n = [];
2450
2459
  if (Bt(t)) n.push(t);
2451
2460
  else if (Kt(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
@@ -2458,7 +2467,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2458
2467
  });
2459
2468
  return n;
2460
2469
  }, exports.kwid_match_id = jn, exports.kwid_new_dict = function(e, t, n) {
2461
- e && !qt(e) && St("GObj bad instanceof");
2470
+ e && !Ht(e) && St("GObj bad instanceof");
2462
2471
  let r = {};
2463
2472
  if (Xt(n) || (t = sn(e, t, n)), Kt(t)) r = t;
2464
2473
  else if (Yt(t)) for (let e = 0; e < t.length; e++) {
@@ -2516,16 +2525,22 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2516
2525
  }, r.send();
2517
2526
  }, exports.log_debug = Nt, exports.log_error = St, exports.log_info = function(e) {
2518
2527
  let t = jt(e), n = Cn();
2519
- Et && Et("%c" + n + " INFO: " + String(t), "color:cyan");
2520
- }, exports.log_warning = Ot, exports.msg_iev_get_msg_type = $n, exports.msg_iev_get_stack = Rn, exports.msg_iev_push_stack = xn, exports.msg_iev_read_key = wn, exports.msg_iev_set_msg_type = kn, exports.msg_iev_write_key = Dn, exports.node_uuid = Fn, exports.parseBoolean = Zt, exports.parseSVG = function(e) {
2528
+ Tt && Tt("%c" + n + " INFO: " + String(t), "color:cyan");
2529
+ }, exports.log_warning = Ot, exports.msg_iev_get_msg_type = $n, exports.msg_iev_get_stack = Rn, exports.msg_iev_push_stack = xn, exports.msg_iev_read_key = wn, exports.msg_iev_set_msg_type = kn, exports.msg_iev_write_key = Dn, exports.node_uuid = Gn, exports.parseBoolean = Zt, exports.parseSVG = function(e) {
2521
2530
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2522
2531
  }, exports.refresh_language = function(e, t) {
2523
- Ht(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2532
+ qt(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2524
2533
  let n = e.getAttribute("data-i18n");
2525
2534
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2526
2535
  n || (n = r.nodeValue), r.nodeValue = t(n);
2527
2536
  break;
2528
2537
  }
2538
+ }), e.querySelectorAll("[data-i18n-title]").forEach(function(e) {
2539
+ let n = e.getAttribute("data-i18n-title");
2540
+ n && e.setAttribute("title", t(n));
2541
+ }), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
2542
+ let n = e.getAttribute("data-i18n-aria-label");
2543
+ n && e.setAttribute("aria-label", t(n));
2529
2544
  })) : St("You must supply a translation function");
2530
2545
  }, exports.register_c_ievent_cli = function() {
2531
2546
  return function(e) {
@@ -2534,7 +2549,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2534
2549
  ["ST_DISCONNECTED", [
2535
2550
  [
2536
2551
  "EV_ON_OPEN",
2537
- Er,
2552
+ Tr,
2538
2553
  "ST_WAIT_IDENTITY_CARD_ACK"
2539
2554
  ],
2540
2555
  [
@@ -2544,7 +2559,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2544
2559
  ],
2545
2560
  [
2546
2561
  "EV_TIMEOUT",
2547
- Tr,
2562
+ Er,
2548
2563
  null
2549
2564
  ],
2550
2565
  [
@@ -2609,7 +2624,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2609
2624
  ]],
2610
2625
  [null, null]
2611
2626
  ];
2612
- return (ur = F(e, [
2627
+ return (ur = G(e, [
2613
2628
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
2614
2629
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
2615
2630
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -2617,19 +2632,20 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2617
2632
  ["EV_MT_COMMAND", D.EVF_PUBLIC_EVENT],
2618
2633
  ["EV_ON_OPEN", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2619
2634
  ["EV_ON_CLOSE", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2635
+ ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2620
2636
  ["EV_TIMEOUT", 0],
2621
2637
  [null, 0]
2622
2638
  ], t, wr, 0, _r, ar, 0, 0, 0, O.gcflag_no_check_output_events)) ? 0 : -1;
2623
2639
  }("C_IEVENT_CLI");
2624
2640
  }, exports.register_c_timer = function() {
2625
2641
  return function(e) {
2626
- if (Hn) return St(`GClass ALREADY created: ${e}`), -1;
2642
+ if (qn) return St(`GClass ALREADY created: ${e}`), -1;
2627
2643
  const t = [["ST_IDLE", [[
2628
2644
  "EV_TIMEOUT",
2629
- qn,
2645
+ Hn,
2630
2646
  null
2631
2647
  ]]]];
2632
- return (Hn = F(e, [
2648
+ return (qn = G(e, [
2633
2649
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
2634
2650
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
2635
2651
  [0, 0]
@@ -2643,13 +2659,13 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2643
2659
  sr,
2644
2660
  null
2645
2661
  ]]]];
2646
- return (or = F(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, ir, 0, nr, rr, 0, 0, 0, 0)) ? 0 : -1;
2662
+ return (or = G(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, ir, 0, nr, rr, 0, 0, 0, 0)) ? 0 : -1;
2647
2663
  }("C_YUNO");
2648
2664
  }, exports.safeSrc = function(e) {
2649
2665
  if (!e) return "";
2650
2666
  const t = String(e).trim();
2651
2667
  return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Pn(t);
2652
- }, exports.sdata_flag_t = T, exports.send_http_json_post = function(e, t, n) {
2668
+ }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
2653
2669
  let r = new XMLHttpRequest();
2654
2670
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
2655
2671
  4 === r.readyState && n(r.status, r.responseText);