@dialecte/scl 0.3.9 → 0.3.12

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.
Files changed (60) hide show
  1. package/dist/{hooks-DO4gUiix.js → hooks-Cm_UYBBt.js} +1139 -815
  2. package/dist/v2019C1/extensions/index.d.ts +1 -0
  3. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  4. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts +0 -10
  5. package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.types.d.ts.map +1 -1
  6. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +8 -1
  7. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
  8. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +40 -8
  9. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
  10. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +35 -26
  11. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
  12. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
  13. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts.map +1 -1
  14. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts +1 -1
  15. package/dist/v2019C1/extensions/lifecycle/engine/index.d.ts.map +1 -1
  16. package/dist/v2019C1/extensions/lifecycle/index.d.ts +2 -0
  17. package/dist/v2019C1/extensions/lifecycle/index.d.ts.map +1 -1
  18. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +10 -0
  19. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
  20. package/dist/v2019C1/extensions/lifecycle/layers/function/clone-function.d.ts.map +1 -1
  21. package/dist/v2019C1/extensions/lifecycle/public.d.ts +2 -0
  22. package/dist/v2019C1/extensions/lifecycle/public.d.ts.map +1 -1
  23. package/dist/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.d.ts.map +1 -1
  24. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts +7 -5
  25. package/dist/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.d.ts.map +1 -1
  26. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
  27. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +3 -3
  28. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
  29. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +5 -3
  30. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts.map +1 -1
  31. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +4 -2
  32. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts.map +1 -1
  33. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts +20 -0
  34. package/dist/v2019C1/extensions/lifecycle/report/query/report-instance.d.ts.map +1 -0
  35. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +5 -3
  36. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
  37. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +4 -4
  38. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
  39. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts +1 -0
  40. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/index.d.ts.map +1 -1
  41. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +22 -0
  42. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -0
  43. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +2 -2
  44. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
  45. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
  46. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
  47. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
  48. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts +4 -0
  49. package/dist/v2019C1/extensions/lifecycle/validate/index.d.ts.map +1 -0
  50. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts +15 -0
  51. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.d.ts.map +1 -0
  52. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts +10 -0
  53. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.d.ts.map +1 -0
  54. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts +41 -0
  55. package/dist/v2019C1/extensions/lifecycle/validate/template-uuid-check.types.d.ts.map +1 -0
  56. package/dist/v2019C1/index.js +22 -3
  57. package/dist/v2019C1/test/hydrated-test.d.ts +2 -0
  58. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  59. package/dist/v2019C1/test.js +1 -1
  60. package/package.json +1 -1
@@ -25286,7 +25286,7 @@ var O = {
25286
25286
  "InputVar",
25287
25287
  "OutputVar",
25288
25288
  "ProcessEcho"
25289
- ]), A = Object.keys(O), fe = new Set(A), pe = new Set(Object.values(O).flatMap((e) => e.flatMap((e) => e.target)));
25289
+ ]), fe = Object.keys(O), A = new Set(fe), pe = new Set(Object.values(O).flatMap((e) => e.flatMap((e) => e.target)));
25290
25290
  //#endregion
25291
25291
  //#region src/v2019C1/extensions/reference/query/resolve/parse-path.ts
25292
25292
  function me(e) {
@@ -25301,7 +25301,7 @@ function me(e) {
25301
25301
  separator: r
25302
25302
  }), t;
25303
25303
  }
25304
- function he(e) {
25304
+ function j(e) {
25305
25305
  let t = e.split("/"), n = t[t.length - 1], r = n.indexOf(".");
25306
25306
  if (r === -1) return { path: e };
25307
25307
  let i = n.substring(0, r), a = n.substring(r + 1);
@@ -25310,19 +25310,19 @@ function he(e) {
25310
25310
  qualifier: a || void 0
25311
25311
  };
25312
25312
  }
25313
- function ge(e, t, n, r) {
25314
- return !e || e === j.unsupported ? null : e === j.direct ? { lookupKey: n } : e === j.iedAddress ? ve(n, r) : e === j.lnode ? _e(n) : e === j.behaviorDescription ? ye(t, n, r) : null;
25313
+ function he(e, t, n, r) {
25314
+ return !e || e === M.unsupported ? null : e === M.direct ? { lookupKey: n } : e === M.iedAddress ? _e(n, r) : e === M.lnode ? ge(n) : e === M.behaviorDescription ? ve(t, n, r) : null;
25315
25315
  }
25316
- function _e(e) {
25317
- let { path: t, qualifier: n } = he(e);
25316
+ function ge(e) {
25317
+ let { path: t, qualifier: n } = j(e);
25318
25318
  return {
25319
25319
  lookupKey: t,
25320
25320
  qualifier: n
25321
25321
  };
25322
25322
  }
25323
- function ve(e, t) {
25323
+ function _e(e, t) {
25324
25324
  if (t) {
25325
- let n = Se(t);
25325
+ let n = xe(t);
25326
25326
  if (n) return {
25327
25327
  lookupKey: e,
25328
25328
  fallbackLookupKey: `${n}/${e}`
@@ -25330,15 +25330,15 @@ function ve(e, t) {
25330
25330
  }
25331
25331
  return { lookupKey: e };
25332
25332
  }
25333
- function ye(e, t, n) {
25333
+ function ve(e, t, n) {
25334
25334
  if (!n) return null;
25335
- let r = be(n);
25335
+ let r = ye(n);
25336
25336
  return r ? e === "dataName" ? {
25337
25337
  lookupKey: r,
25338
25338
  qualifier: t
25339
- } : e === "inputName" || e === "outputName" ? { lookupKey: `${r}.${xe(t)}` } : null : null;
25339
+ } : e === "inputName" || e === "outputName" ? { lookupKey: `${r}.${be(t)}` } : null : null;
25340
25340
  }
25341
- function be(e) {
25341
+ function ye(e) {
25342
25342
  let t = -1;
25343
25343
  for (let n = e.length - 1; n >= 0; n--) if (e[n].tagName === "BehaviorDescription") {
25344
25344
  t = n;
@@ -25352,38 +25352,38 @@ function be(e) {
25352
25352
  }
25353
25353
  return n.length === 0 ? null : ue(n);
25354
25354
  }
25355
- function xe(e) {
25355
+ function be(e) {
25356
25356
  let t = e.indexOf("("), n = e.indexOf(".");
25357
25357
  return t === -1 ? n === -1 ? e : e.substring(0, n) : e.substring(0, t);
25358
25358
  }
25359
- function Se(e) {
25359
+ function xe(e) {
25360
25360
  for (let t = e.length - 1; t >= 0; t--) if (e[t].tagName === "LNode") return e[t].attributes.find((e) => e.name === "iedName")?.value ?? null;
25361
25361
  return null;
25362
25362
  }
25363
25363
  //#endregion
25364
25364
  //#region src/v2019C1/extensions/reference/query/build/build-reference-path.ts
25365
- async function Ce(e, t) {
25365
+ async function Se(e, t) {
25366
25366
  let { reference: n, target: r } = t;
25367
- if (N.has(n.tagName)) return null;
25368
- let a = Ee(n.tagName, r.tagName);
25367
+ if (P.has(n.tagName)) return null;
25368
+ let a = Te(n.tagName, r.tagName);
25369
25369
  if (!a) return null;
25370
25370
  let o = a.resolution;
25371
- if (o === j.behaviorDescription) {
25371
+ if (o === M.behaviorDescription) {
25372
25372
  let t = await e.getRecord(r);
25373
25373
  return t ? E(i(t))?.segment ?? null : null;
25374
25374
  }
25375
25375
  let s = await de(e, r);
25376
25376
  if (!s) return null;
25377
25377
  let c = s.path;
25378
- if (o === j.lnode) {
25378
+ if (o === M.lnode) {
25379
25379
  let t = await e.getRecord(n);
25380
25380
  if (!t) return c;
25381
- let r = Te(t, a);
25382
- return r ? `${c}.${we(t, a) ?? r}` : c;
25381
+ let r = we(t, a);
25382
+ return r ? `${c}.${Ce(t, a) ?? r}` : c;
25383
25383
  }
25384
25384
  return c;
25385
25385
  }
25386
- function we(e, t) {
25386
+ function Ce(e, t) {
25387
25387
  let [n, r] = t.companions;
25388
25388
  if (!n) return;
25389
25389
  let i = e.attributes.find((e) => e.name === n.name)?.value;
@@ -25391,23 +25391,23 @@ function we(e, t) {
25391
25391
  let a = r ? e.attributes.find((e) => e.name === r.name)?.value : void 0;
25392
25392
  return a ? `${i}.${a}` : i;
25393
25393
  }
25394
- function Te(e, t) {
25394
+ function we(e, t) {
25395
25395
  let n = e.attributes.find((e) => e.name === t.attribute.path)?.value;
25396
- if (n) return he(n).qualifier;
25396
+ if (n) return j(n).qualifier;
25397
25397
  }
25398
- function Ee(e, t) {
25398
+ function Te(e, t) {
25399
25399
  let n = O[e];
25400
25400
  return n ? n.find((e) => e.target.includes(t)) ?? null : null;
25401
25401
  }
25402
25402
  //#endregion
25403
25403
  //#region src/v2019C1/extensions/reference/constants/resolution-types.ts
25404
- var j = {
25404
+ var M = {
25405
25405
  direct: "direct",
25406
25406
  lnode: "lnode",
25407
25407
  iedAddress: "ied-address",
25408
25408
  behaviorDescription: "behavior-description",
25409
25409
  unsupported: "unsupported"
25410
- }, M = {
25410
+ }, N = {
25411
25411
  LN: [{
25412
25412
  attribute: "lnType",
25413
25413
  target: "LNodeType"
@@ -25461,7 +25461,7 @@ var j = {
25461
25461
  };
25462
25462
  //#endregion
25463
25463
  //#region src/v2019C1/extensions/reference/constants/helpers.ts
25464
- function De(e) {
25464
+ function Ee(e) {
25465
25465
  let t = {};
25466
25466
  for (let [n, r] of Object.entries(e)) for (let e of r) {
25467
25467
  let r = t[e.resolution] ??= /* @__PURE__ */ new Map();
@@ -25476,7 +25476,7 @@ function De(e) {
25476
25476
  }
25477
25477
  return t;
25478
25478
  }
25479
- function Oe(e) {
25479
+ function De(e) {
25480
25480
  let t = /* @__PURE__ */ new Map();
25481
25481
  for (let [n, r] of Object.entries(e)) t.set(n, r.map((e) => ({
25482
25482
  uuidAttr: e.attribute.uuid,
@@ -25486,7 +25486,7 @@ function Oe(e) {
25486
25486
  })));
25487
25487
  return t;
25488
25488
  }
25489
- function ke(e) {
25489
+ function Oe(e) {
25490
25490
  let t = /* @__PURE__ */ new Map();
25491
25491
  for (let [n, r] of Object.entries(e)) for (let e of r) {
25492
25492
  let r = t.get(e.target) ?? [];
@@ -25500,15 +25500,15 @@ function ke(e) {
25500
25500
  }
25501
25501
  //#endregion
25502
25502
  //#region src/v2019C1/extensions/reference/constants/derived.ts
25503
- var Ae = De(O), je = [
25504
- j.direct,
25505
- j.lnode,
25506
- j.iedAddress,
25507
- j.behaviorDescription
25508
- ], Me = [...je, j.unsupported], Ne = Oe(O), N = new Map(Object.entries(O).flatMap(([e, t]) => t.filter((e) => e.attribute.path === "mappedDoName" || e.attribute.path === "mappedDaName").map((t) => [e, {
25503
+ var ke = Ee(O), Ae = [
25504
+ M.direct,
25505
+ M.lnode,
25506
+ M.iedAddress,
25507
+ M.behaviorDescription
25508
+ ], je = [...Ae, M.unsupported], Me = De(O), P = new Map(Object.entries(O).flatMap(([e, t]) => t.filter((e) => e.attribute.path === "mappedDoName" || e.attribute.path === "mappedDaName").map((t) => [e, {
25509
25509
  path: t.attribute.path,
25510
25510
  uuid: t.attribute.uuid
25511
- }]))), Pe = [...new Set(Object.values(O).flatMap((e) => e.map((e) => e.attribute.uuid)))], P = new Map(Object.entries(M).map(([e, t]) => [e, [...new Set(t.map((e) => e.attribute))]])), Fe = ke(M), Ie = new Set(Fe.keys()), Le = new Set([..._.LNode?.attributes?.identityFields ?? [], ...P.get("LNode") ?? []]), Re = {
25511
+ }]))), Ne = [...new Set(Object.values(O).flatMap((e) => e.map((e) => e.attribute.uuid)))], Pe = new Map(Object.entries(N).map(([e, t]) => [e, [...new Set(t.map((e) => e.attribute))]])), Fe = Oe(N), Ie = new Set(Fe.keys()), Le = new Set([..._.LNode?.attributes?.identityFields ?? [], ...Pe.get("LNode") ?? []]), Re = {
25512
25512
  FunctionCatRef: ["SubCategory", "FunctionCategory"],
25513
25513
  PowerSystemRelation: ["PowerSystemRelations"],
25514
25514
  Resource: ["ProcessResource", "ProcessResources"],
@@ -25517,7 +25517,7 @@ var Ae = De(O), je = [
25517
25517
  //#endregion
25518
25518
  //#region src/v2019C1/extensions/reference/query/build/build-mapped-name.ts
25519
25519
  async function ze(e, t) {
25520
- let n = N.get(t.tagName);
25520
+ let n = P.get(t.tagName);
25521
25521
  if (!n) return;
25522
25522
  let r = t.attributes.find((e) => e.name === "name")?.value;
25523
25523
  if (!r) return;
@@ -25526,7 +25526,7 @@ async function ze(e, t) {
25526
25526
  }
25527
25527
  function Be(e, t) {
25528
25528
  if (!e) return;
25529
- let { path: n, qualifier: r } = he(e), i = r ?? n;
25529
+ let { path: n, qualifier: r } = j(e), i = r ?? n;
25530
25530
  if (t) return i || void 0;
25531
25531
  let a = i.split(".");
25532
25532
  return a[a.length - 1] || void 0;
@@ -25560,8 +25560,8 @@ async function We(e, t, n) {
25560
25560
  qualifier: qe(r, n, a)
25561
25561
  };
25562
25562
  let s;
25563
- (r.resolution === j.behaviorDescription || r.resolution === j.iedAddress) && (s = (await e.findAncestors(t, { order: "top-down" })).map((e) => i(e)));
25564
- let c = ge(r.resolution, n, a, s);
25563
+ (r.resolution === M.behaviorDescription || r.resolution === M.iedAddress) && (s = (await e.findAncestors(t, { order: "top-down" })).map((e) => i(e)));
25564
+ let c = he(r.resolution, n, a, s);
25565
25565
  if (!c) return;
25566
25566
  let l = me(c.lookupKey);
25567
25567
  if (l.length === 0) return;
@@ -25591,8 +25591,8 @@ async function Ke(e, t, n) {
25591
25591
  }
25592
25592
  }
25593
25593
  function qe(e, t, n) {
25594
- if (e.resolution === j.lnode) return he(n).qualifier;
25595
- if (e.resolution === j.behaviorDescription && t === "dataName") return n;
25594
+ if (e.resolution === M.lnode) return j(n).qualifier;
25595
+ if (e.resolution === M.behaviorDescription && t === "dataName") return n;
25596
25596
  }
25597
25597
  var Je = new Set(_.LNode.attributes.details.lnClass.facets.enumeration), Ye = {
25598
25598
  LNode: "lnInst",
@@ -25782,8 +25782,8 @@ function lt(e, t) {
25782
25782
  }
25783
25783
  function ut(e) {
25784
25784
  let t = [];
25785
- for (let n of Me) {
25786
- let r = Ae[n]?.get(e);
25785
+ for (let n of je) {
25786
+ let r = ke[n]?.get(e);
25787
25787
  r && t.push(...r);
25788
25788
  }
25789
25789
  return t;
@@ -25843,7 +25843,7 @@ var gt = /* @__PURE__ */ l({
25843
25843
  buildElementPath: () => de,
25844
25844
  buildMappedLNodePath: () => He,
25845
25845
  buildMappedName: () => ze,
25846
- buildReferencePath: () => Ce,
25846
+ buildReferencePath: () => Se,
25847
25847
  findRefsPointingTo: () => F,
25848
25848
  getProvenance: () => pt,
25849
25849
  resolveElementPath: () => tt,
@@ -25852,10 +25852,10 @@ var gt = /* @__PURE__ */ l({
25852
25852
  });
25853
25853
  //#endregion
25854
25854
  //#region src/v2019C1/extensions/reference/transaction/apply-type-id-remap.ts
25855
- async function I(e, t) {
25855
+ async function _t(e, t) {
25856
25856
  let { records: n, idRemap: r } = t;
25857
25857
  if (r.size !== 0) for (let t of n) {
25858
- let n = P.get(t.tagName);
25858
+ let n = Pe.get(t.tagName);
25859
25859
  if (!n) continue;
25860
25860
  let i = await e.getRecord(t);
25861
25861
  if (!i) continue;
@@ -25871,12 +25871,12 @@ async function I(e, t) {
25871
25871
  }
25872
25872
  //#endregion
25873
25873
  //#region src/v2019C1/extensions/reference/transaction/write-provenance.ts
25874
- var _t = {
25874
+ var vt = {
25875
25875
  FSD: "FunctionSclRef",
25876
25876
  ASD: "ApplicationSclRef"
25877
25877
  };
25878
- async function vt(e, t) {
25879
- let { sourceQuery: n, targetRoot: r, fileType: i } = t, [a] = await n.getRecordsByTagName("Header"), o = a ? await n.getAttributes(a) : void 0, s = await e.addChild(r, { tagName: _t[i] }), { name: c } = await n.getDocumentInfo();
25878
+ async function yt(e, t) {
25879
+ let { sourceQuery: n, targetRoot: r, fileType: i } = t, [a] = await n.getRecordsByTagName("Header"), o = a ? await n.getAttributes(a) : void 0, s = await e.addChild(r, { tagName: vt[i] }), { name: c } = await n.getDocumentInfo();
25880
25880
  await e.addChild(s, {
25881
25881
  tagName: "SclFileReference",
25882
25882
  attributes: {
@@ -25890,16 +25890,16 @@ async function vt(e, t) {
25890
25890
  }
25891
25891
  //#endregion
25892
25892
  //#region src/v2019C1/extensions/reference/index.ts
25893
- var L = {
25893
+ var I = {
25894
25894
  query: gt,
25895
25895
  transaction: /* @__PURE__ */ l({
25896
- applyTypeIdRemap: () => I,
25897
- writeProvenance: () => vt
25896
+ applyTypeIdRemap: () => _t,
25897
+ writeProvenance: () => yt
25898
25898
  })
25899
25899
  };
25900
25900
  //#endregion
25901
25901
  //#region src/v2019C1/extensions/clean-up/transaction/prune-empty-containers.ts
25902
- async function yt(e) {
25902
+ async function bt(e) {
25903
25903
  let t = [...Object.values(Re).flat(), "Private"];
25904
25904
  for (let n of t) {
25905
25905
  let t = await e.getRecordsByTagName(n);
@@ -25908,14 +25908,14 @@ async function yt(e) {
25908
25908
  }
25909
25909
  //#endregion
25910
25910
  //#region src/v2019C1/extensions/clean-up/transaction/orphan-uuid-refs.ts
25911
- async function bt(e) {
25912
- for (let t of A) {
25911
+ async function xt(e) {
25912
+ for (let t of fe) {
25913
25913
  let n = O[t], r = await e.getRecordsByTagName(t);
25914
25914
  for (let i of r) {
25915
25915
  let r = !1, a = !1, o = {};
25916
25916
  for (let t of n) {
25917
25917
  let n = await e.getAttribute(i, { name: t.attribute.uuid });
25918
- if (n) if (r = !0, await xt(e, n, t.target)) a = !0;
25918
+ if (n) if (r = !0, await St(e, n, t.target)) a = !0;
25919
25919
  else {
25920
25920
  o[t.attribute.uuid] = void 0, o[t.attribute.path] = void 0;
25921
25921
  for (let e of t.companions) o[e.name] = void 0;
@@ -25927,7 +25927,7 @@ async function bt(e) {
25927
25927
  }
25928
25928
  }
25929
25929
  }
25930
- async function xt(e, t, n) {
25930
+ async function St(e, t, n) {
25931
25931
  for (let r of n) {
25932
25932
  let [n] = await e.findByAttributes({
25933
25933
  tagName: r,
@@ -25939,80 +25939,80 @@ async function xt(e, t, n) {
25939
25939
  }
25940
25940
  //#endregion
25941
25941
  //#region src/v2019C1/extensions/clean-up/index.ts
25942
- var R = { transaction: /* @__PURE__ */ l({
25943
- orphanUuidRefs: () => bt,
25944
- pruneEmptyContainers: () => yt,
25942
+ var L = { transaction: /* @__PURE__ */ l({
25943
+ orphanUuidRefs: () => xt,
25944
+ pruneEmptyContainers: () => bt,
25945
25945
  resetLNode: () => ne
25946
- }) }, St = ["id", "uuid"];
25946
+ }) }, Ct = ["id", "uuid"];
25947
25947
  //#endregion
25948
25948
  //#region src/v2019C1/extensions/signature/query/element-signature.ts
25949
- async function Ct(e, t) {
25949
+ async function wt(e, t) {
25950
25950
  let n = {
25951
25951
  query: e,
25952
25952
  resolveReferences: t.resolveReferences ?? !1,
25953
- ignore: new Set(t.ignoreAttributes ?? St),
25953
+ ignore: new Set(t.ignoreAttributes ?? Ct),
25954
25954
  memo: /* @__PURE__ */ new Map(),
25955
25955
  seen: /* @__PURE__ */ new Set()
25956
25956
  };
25957
- return Et(t.ref, n);
25957
+ return Dt(t.ref, n);
25958
25958
  }
25959
- var wt = /* @__PURE__ */ new Set();
25960
- function Tt(e, t) {
25959
+ var Tt = /* @__PURE__ */ new Set();
25960
+ function Et(e, t) {
25961
25961
  return _[e]?.attributes?.details?.[t]?.default;
25962
25962
  }
25963
- async function Et(e, t) {
25963
+ async function Dt(e, t) {
25964
25964
  let n = `${e.tagName}:${e.id}`, r = t.memo.get(n);
25965
25965
  if (r !== void 0) return r;
25966
25966
  if (t.seen.has(n)) return `@cycle:${e.tagName}`;
25967
25967
  t.seen.add(n);
25968
- let i = await t.query.getTree(e), a = i ? await Dt(i, t) : "";
25968
+ let i = await t.query.getTree(e), a = i ? await Ot(i, t) : "";
25969
25969
  return t.seen.delete(n), t.memo.set(n, a), a;
25970
25970
  }
25971
- async function Dt(e, t) {
25972
- let n = t.resolveReferences ? Mt(e.tagName) : wt, r = [];
25971
+ async function Ot(e, t) {
25972
+ let n = t.resolveReferences ? Nt(e.tagName) : Tt, r = [];
25973
25973
  for (let i of e.attributes) {
25974
- if (t.ignore.has(i.name) || n.has(i.name) || i.value === Tt(e.tagName, i.name)) continue;
25974
+ if (t.ignore.has(i.name) || n.has(i.name) || i.value === Et(e.tagName, i.name)) continue;
25975
25975
  let a = i.value;
25976
25976
  if (t.resolveReferences) {
25977
- let n = await Ot(e, i.name, i.value, t);
25977
+ let n = await kt(e, i.name, i.value, t);
25978
25978
  n !== null && (a = `@sig:${n}`);
25979
25979
  }
25980
25980
  r.push(`${JSON.stringify(i.name)}:${JSON.stringify(a)}`);
25981
25981
  }
25982
25982
  r.sort();
25983
25983
  let i = [];
25984
- for (let n of e.tree ?? []) i.push(await Dt(n, t));
25984
+ for (let n of e.tree ?? []) i.push(await Ot(n, t));
25985
25985
  i.sort();
25986
25986
  let a = e.value?.trim(), o = a ? `,value:${JSON.stringify(a)}` : "";
25987
25987
  return `{tag:${JSON.stringify(e.tagName)},attrs:[${r.join(",")}]${o},children:[${i.join(",")}]}`;
25988
25988
  }
25989
- async function Ot(e, t, n, r) {
25990
- let i = kt(e, t);
25989
+ async function kt(e, t, n, r) {
25990
+ let i = At(e, t);
25991
25991
  if (i) {
25992
- let e = await Nt(r.query, i.target, n);
25993
- return e ? Et(e, r) : `@missing:${n}`;
25992
+ let e = await Pt(r.query, i.target, n);
25993
+ return e ? Dt(e, r) : `@missing:${n}`;
25994
25994
  }
25995
- let a = jt(e.tagName, t);
25995
+ let a = Mt(e.tagName, t);
25996
25996
  if (a) {
25997
- let e = await Pt(r.query, a.target, n);
25998
- return e ? Et(e, r) : `@missing:${n}`;
25997
+ let e = await Ft(r.query, a.target, n);
25998
+ return e ? Dt(e, r) : `@missing:${n}`;
25999
25999
  }
26000
26000
  return null;
26001
26001
  }
26002
- function kt(e, t) {
26003
- return M[e.tagName]?.find((n) => n.attribute === t && At(e, n));
26004
- }
26005
26002
  function At(e, t) {
26006
- return t.when ? e.attributes.find((e) => e.name === t.when.attribute)?.value === t.when.equals : !0;
26003
+ return N[e.tagName]?.find((n) => n.attribute === t && jt(e, n));
26007
26004
  }
26008
26005
  function jt(e, t) {
26006
+ return t.when ? e.attributes.find((e) => e.name === t.when.attribute)?.value === t.when.equals : !0;
26007
+ }
26008
+ function Mt(e, t) {
26009
26009
  return O[e]?.find((e) => e.attribute.uuid === t);
26010
26010
  }
26011
- function Mt(e) {
26011
+ function Nt(e) {
26012
26012
  let t = O[e];
26013
- return t ? new Set(t.map((e) => e.attribute.path)) : wt;
26013
+ return t ? new Set(t.map((e) => e.attribute.path)) : Tt;
26014
26014
  }
26015
- async function Nt(e, t, n) {
26015
+ async function Pt(e, t, n) {
26016
26016
  let [r] = await e.findByAttributes({
26017
26017
  tagName: t,
26018
26018
  attributes: { id: n }
@@ -26022,7 +26022,7 @@ async function Nt(e, t, n) {
26022
26022
  id: r.id
26023
26023
  } : null;
26024
26024
  }
26025
- async function Pt(e, t, n) {
26025
+ async function Ft(e, t, n) {
26026
26026
  for (let r of t) {
26027
26027
  let [t] = await e.findByAttributes({
26028
26028
  tagName: r,
@@ -26037,14 +26037,14 @@ async function Pt(e, t, n) {
26037
26037
  }
26038
26038
  //#endregion
26039
26039
  //#region src/v2019C1/extensions/signature/query/index.ts
26040
- var Ft = /* @__PURE__ */ l({ elementSignature: () => Ct });
26040
+ var It = /* @__PURE__ */ l({ elementSignature: () => wt });
26041
26041
  //#endregion
26042
26042
  //#region src/v2019C1/extensions/data-model/transaction/import-types.ts
26043
- async function It(e, t) {
26044
- let { sourceQuery: n, records: r, cloneMappings: i = [], forkPrefix: a = "", keepNameTypesFrom: o = "target" } = t, s = Lt(await S(n, { records: r })), c = await e.ensureChild(await e.getRoot(), {
26043
+ async function Lt(e, t) {
26044
+ let { sourceQuery: n, records: r, cloneMappings: i = [], forkPrefix: a = "", keepNameTypesFrom: o = "target" } = t, s = Rt(await S(n, { records: r })), c = await e.ensureChild(await e.getRoot(), {
26045
26045
  tagName: "DataTypeTemplates",
26046
26046
  attributes: {}
26047
- }), l = await zt(e), u = /* @__PURE__ */ new Map(), d = [], f = [], p = {
26047
+ }), l = await Bt(e), u = /* @__PURE__ */ new Map(), d = [], f = [], p = {
26048
26048
  reused: 0,
26049
26049
  preserved: 0,
26050
26050
  forked: 0,
@@ -26053,7 +26053,7 @@ async function It(e, t) {
26053
26053
  for (let t of s) {
26054
26054
  let r = await n.getAttribute(t, { name: "id" });
26055
26055
  if (!r) continue;
26056
- let i = await Ct(n, {
26056
+ let i = await wt(n, {
26057
26057
  ref: {
26058
26058
  tagName: t.tagName,
26059
26059
  id: t.id
@@ -26061,7 +26061,7 @@ async function It(e, t) {
26061
26061
  resolveReferences: !0
26062
26062
  }), s = l.get(i);
26063
26063
  if (s !== void 0) {
26064
- let n = o === "source" ? await Bt(e, {
26064
+ let n = o === "source" ? await Vt(e, {
26065
26065
  tagName: t.tagName,
26066
26066
  currentId: s,
26067
26067
  desiredId: r
@@ -26075,12 +26075,12 @@ async function It(e, t) {
26075
26075
  tagName: t.tagName,
26076
26076
  attributes: { id: r }
26077
26077
  }), g = r, _ = m;
26078
- h ? (g = await qt(e, t.tagName, `${a}${r}_${Jt(i)}`), _ = Vt(m, g), p.forked++) : p.preserved++;
26078
+ h ? (g = await Jt(e, t.tagName, `${a}${r}_${Yt(i)}`), _ = Ht(m, g), p.forked++) : p.preserved++;
26079
26079
  let v = await e.deepClone(c, _);
26080
- u.set(r, g), v?.record && (d.push(z(v.record.tagName, v.record.id)), h && f.push({
26080
+ u.set(r, g), v?.record && (d.push(R(v.record.tagName, v.record.id)), h && f.push({
26081
26081
  oldId: r,
26082
- oldRef: z(h.tagName, h.id),
26083
- forkRef: z(v.record.tagName, v.record.id),
26082
+ oldRef: R(h.tagName, h.id),
26083
+ forkRef: R(v.record.tagName, v.record.id),
26084
26084
  forkedId: g
26085
26085
  }));
26086
26086
  }
@@ -26088,12 +26088,12 @@ async function It(e, t) {
26088
26088
  for (let t of i) t.target.tagName === "LNode" && await T(e, t.target) || m.push(t.target);
26089
26089
  for (let t of d) {
26090
26090
  let n = await e.getTree(t);
26091
- n && Ht(n, m);
26091
+ n && Ut(n, m);
26092
26092
  }
26093
- return await I(e, {
26093
+ return await _t(e, {
26094
26094
  records: m,
26095
26095
  idRemap: u
26096
- }), f.length > 0 && await Ut(e, {
26096
+ }), f.length > 0 && await Wt(e, {
26097
26097
  collisions: f,
26098
26098
  idRemap: u,
26099
26099
  referrerRecords: m,
@@ -26103,7 +26103,7 @@ async function It(e, t) {
26103
26103
  stats: p
26104
26104
  };
26105
26105
  }
26106
- function Lt(e) {
26106
+ function Rt(e) {
26107
26107
  return [
26108
26108
  ...e.enumTypes,
26109
26109
  ...e.daTypes,
@@ -26111,20 +26111,20 @@ function Lt(e) {
26111
26111
  ...e.lnodeTypes
26112
26112
  ];
26113
26113
  }
26114
- var Rt = [
26114
+ var zt = [
26115
26115
  "EnumType",
26116
26116
  "DAType",
26117
26117
  "DOType",
26118
26118
  "LNodeType"
26119
26119
  ];
26120
- async function zt(e) {
26120
+ async function Bt(e) {
26121
26121
  let t = /* @__PURE__ */ new Map();
26122
- for (let n of Rt) {
26122
+ for (let n of zt) {
26123
26123
  let r = await e.getRecordsByTagName(n);
26124
26124
  for (let i of r) {
26125
26125
  let r = i.attributes.find((e) => e.name === "id")?.value;
26126
26126
  if (!r) continue;
26127
- let a = await Ct(e, {
26127
+ let a = await wt(e, {
26128
26128
  ref: {
26129
26129
  tagName: n,
26130
26130
  id: i.id
@@ -26136,7 +26136,7 @@ async function zt(e) {
26136
26136
  }
26137
26137
  return t;
26138
26138
  }
26139
- async function Bt(e, t) {
26139
+ async function Vt(e, t) {
26140
26140
  let { tagName: n, currentId: r, desiredId: i } = t;
26141
26141
  if (r === i) return r;
26142
26142
  let [a] = await e.findByAttributes({
@@ -26149,32 +26149,32 @@ async function Bt(e, t) {
26149
26149
  attributes: { id: i }
26150
26150
  });
26151
26151
  if (o && o.id !== a.id) return r;
26152
- let s = z(a.tagName, a.id), c = await F(e, { target: s });
26153
- return await e.update(s, { attributes: { id: i } }), await I(e, {
26154
- records: c.map((e) => z(e.ref.tagName, e.ref.id)),
26152
+ let s = R(a.tagName, a.id), c = await F(e, { target: s });
26153
+ return await e.update(s, { attributes: { id: i } }), await _t(e, {
26154
+ records: c.map((e) => R(e.ref.tagName, e.ref.id)),
26155
26155
  idRemap: new Map([[r, i]])
26156
26156
  }), i;
26157
26157
  }
26158
- function Vt(e, t) {
26158
+ function Ht(e, t) {
26159
26159
  let n = structuredClone(e), r = n.attributes, i = r.find((e) => e.name === "id");
26160
26160
  return i ? i.value = t : r.push({
26161
26161
  name: "id",
26162
26162
  value: t
26163
26163
  }), n;
26164
26164
  }
26165
- function z(e, t) {
26165
+ function R(e, t) {
26166
26166
  return {
26167
26167
  tagName: e,
26168
26168
  id: t
26169
26169
  };
26170
26170
  }
26171
- function Ht(e, t) {
26172
- t.push(z(e.tagName, e.id));
26173
- for (let n of e.tree ?? []) Ht(n, t);
26171
+ function Ut(e, t) {
26172
+ t.push(R(e.tagName, e.id));
26173
+ for (let n of e.tree ?? []) Ut(n, t);
26174
26174
  }
26175
- var B = (e) => `${e.tagName}#${e.id}`;
26176
- async function Ut(e, t) {
26177
- let { collisions: n, idRemap: r, referrerRecords: i, stats: a } = t, o = await Wt(e, n), s = /* @__PURE__ */ new Map(), c = [];
26175
+ var z = (e) => `${e.tagName}#${e.id}`;
26176
+ async function Wt(e, t) {
26177
+ let { collisions: n, idRemap: r, referrerRecords: i, stats: a } = t, o = await Gt(e, n), s = /* @__PURE__ */ new Map(), c = [];
26178
26178
  for (let t of n) if (o.has(t.oldId)) {
26179
26179
  await e.update(t.forkRef, { attributes: { id: t.oldId } }), s.set(t.forkedId, t.oldId), c.push(t.forkRef), a.reclaimed++;
26180
26180
  for (let [e, n] of r) n === t.forkedId && r.set(e, t.oldId);
@@ -26183,38 +26183,38 @@ async function Ut(e, t) {
26183
26183
  let l = [...i];
26184
26184
  for (let t of c) {
26185
26185
  let n = await e.getTree(t);
26186
- n && Ht(n, l);
26186
+ n && Ut(n, l);
26187
26187
  }
26188
- await I(e, {
26188
+ await _t(e, {
26189
26189
  records: l,
26190
26190
  idRemap: s
26191
26191
  });
26192
26192
  }
26193
- async function Wt(e, t) {
26194
- let n = /* @__PURE__ */ new Set(), r = new Map(t.map((e) => [B(e.oldRef), e.oldId])), i = t.map((e) => e.oldRef), a = new Set(i.map(B)), o = /* @__PURE__ */ new Set(), s = !0;
26193
+ async function Gt(e, t) {
26194
+ let n = /* @__PURE__ */ new Set(), r = new Map(t.map((e) => [z(e.oldRef), e.oldId])), i = t.map((e) => e.oldRef), a = new Set(i.map(z)), o = /* @__PURE__ */ new Set(), s = !0;
26195
26195
  for (; s;) {
26196
26196
  s = !1;
26197
26197
  for (let t of i) {
26198
- let c = B(t);
26198
+ let c = z(t);
26199
26199
  if (o.has(c) || (await F(e, { target: t })).length > 0) continue;
26200
- let l = await e.getTree(t), u = l ? await Gt(e, l) : [];
26200
+ let l = await e.getTree(t), u = l ? await Kt(e, l) : [];
26201
26201
  await e.delete(t), o.add(c), s = !0;
26202
26202
  let d = r.get(c);
26203
26203
  d !== void 0 && n.add(d);
26204
26204
  for (let e of u) {
26205
- let t = B(e);
26205
+ let t = z(e);
26206
26206
  a.has(t) || (i.push(e), a.add(t));
26207
26207
  }
26208
26208
  }
26209
26209
  }
26210
26210
  return n;
26211
26211
  }
26212
- async function Gt(e, t) {
26212
+ async function Kt(e, t) {
26213
26213
  let n = [], r = /* @__PURE__ */ new Set();
26214
26214
  async function i(t) {
26215
- let a = M[t.tagName];
26215
+ let a = N[t.tagName];
26216
26216
  for (let i of a ?? []) {
26217
- if (!Kt(t, i)) continue;
26217
+ if (!qt(t, i)) continue;
26218
26218
  let a = t.attributes.find((e) => e.name === i.attribute)?.value;
26219
26219
  if (!a) continue;
26220
26220
  let [o] = await e.findByAttributes({
@@ -26222,17 +26222,17 @@ async function Gt(e, t) {
26222
26222
  attributes: { id: a }
26223
26223
  });
26224
26224
  if (!o) continue;
26225
- let s = z(i.target, o.id), c = B(s);
26225
+ let s = R(i.target, o.id), c = z(s);
26226
26226
  r.has(c) || (r.add(c), n.push(s));
26227
26227
  }
26228
26228
  for (let e of t.tree ?? []) await i(e);
26229
26229
  }
26230
26230
  return await i(t), n;
26231
26231
  }
26232
- function Kt(e, t) {
26232
+ function qt(e, t) {
26233
26233
  return t.when ? e.attributes.find((e) => e.name === t.when.attribute)?.value === t.when.equals : !0;
26234
26234
  }
26235
- async function qt(e, t, n) {
26235
+ async function Jt(e, t, n) {
26236
26236
  let r = n, i = 2;
26237
26237
  for (; (await e.findByAttributes({
26238
26238
  tagName: t,
@@ -26240,20 +26240,20 @@ async function qt(e, t, n) {
26240
26240
  })).length > 0;) r = `${n}_${i}`, i += 1;
26241
26241
  return r;
26242
26242
  }
26243
- function Jt(e) {
26243
+ function Yt(e) {
26244
26244
  let t = 2166136261;
26245
26245
  for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
26246
26246
  return (t >>> 0).toString(16).padStart(8, "0");
26247
26247
  }
26248
26248
  //#endregion
26249
26249
  //#region src/v2019C1/extensions/data-model/index.ts
26250
- var Yt = {
26250
+ var Xt = {
26251
26251
  query: te,
26252
- transaction: /* @__PURE__ */ l({ importTypes: () => It })
26252
+ transaction: /* @__PURE__ */ l({ importTypes: () => Lt })
26253
26253
  };
26254
26254
  //#endregion
26255
26255
  //#region src/v2019C1/extensions/history/query/get-sorted-hitem.ts
26256
- async function Xt(e) {
26256
+ async function Zt(e) {
26257
26257
  let t = await e.getRecord({ tagName: "History" });
26258
26258
  if (!t) return [];
26259
26259
  let { Hitem: n = [] } = await e.findDescendants(t, { collect: "Hitem" });
@@ -26267,18 +26267,18 @@ async function Xt(e) {
26267
26267
  }
26268
26268
  //#endregion
26269
26269
  //#region src/v2019C1/extensions/history/query/get-latest-hitem.ts
26270
- async function Zt(e) {
26271
- return (await Xt(e)).at(-1);
26270
+ async function Qt(e) {
26271
+ return (await Zt(e)).at(-1);
26272
26272
  }
26273
26273
  //#endregion
26274
26274
  //#region src/v2019C1/extensions/history/query/index.ts
26275
- var Qt = /* @__PURE__ */ l({
26276
- getLatestHitem: () => Zt,
26277
- getSortedHitems: () => Xt
26275
+ var $t = /* @__PURE__ */ l({
26276
+ getLatestHitem: () => Qt,
26277
+ getSortedHitems: () => Zt
26278
26278
  });
26279
26279
  //#endregion
26280
26280
  //#region src/v2019C1/extensions/history/transaction/add-entry.ts
26281
- async function $t(e, t) {
26281
+ async function en(e, t) {
26282
26282
  let { filename: n, header: r, item: i } = t, { id: a, fileType: o, nameStructure: s, version: c, tool: l } = r, { who: u, what: d, why: f } = i, p = await e.getRoot(), m = await e.getRecord({ tagName: "Header" }) ?? await e.addChild(p, {
26283
26283
  tagName: "Header",
26284
26284
  attributes: {
@@ -26293,7 +26293,7 @@ async function $t(e, t) {
26293
26293
  }), h = await e.getRecord({ tagName: "History" }) ?? await e.addChild(m, {
26294
26294
  tagName: "History",
26295
26295
  attributes: {}
26296
- }), g = await Zt(e), _ = g?.attributes.find((e) => e.name === "version")?.value, v = g?.attributes.find((e) => e.name === "revision")?.value, y = c === "keep" ? _ ?? "0" : _ ? String(Number(_) + 1) : "0", b = v ? String(Number(v) + 1) : "1";
26296
+ }), g = await Qt(e), _ = g?.attributes.find((e) => e.name === "version")?.value, v = g?.attributes.find((e) => e.name === "revision")?.value, y = c === "keep" ? _ ?? "0" : _ ? String(Number(_) + 1) : "0", b = v ? String(Number(v) + 1) : "1";
26297
26297
  await e.update(m, { attributes: {
26298
26298
  version: y,
26299
26299
  revision: b
@@ -26316,188 +26316,264 @@ async function $t(e, t) {
26316
26316
  }
26317
26317
  //#endregion
26318
26318
  //#region src/v2019C1/extensions/history/index.ts
26319
- var en = {
26320
- query: Qt,
26321
- transaction: /* @__PURE__ */ l({ addEntry: () => $t })
26319
+ var tn = {
26320
+ query: $t,
26321
+ transaction: /* @__PURE__ */ l({ addEntry: () => en })
26322
26322
  };
26323
26323
  //#endregion
26324
26324
  //#region src/v2019C1/extensions/identity/transaction/write-identity.ts
26325
- async function V(e, t) {
26325
+ async function B(e, t) {
26326
26326
  let { mappings: n, mode: r } = t;
26327
26327
  if (r !== "keep") for (let t of n) {
26328
- let n = r === "strip" ? tn() : nn(t);
26328
+ let n = r === "strip" ? nn() : rn(t);
26329
26329
  if (Object.keys(n).length === 0) continue;
26330
26330
  let i = await e.getRecord(t.target);
26331
26331
  i && await e.update(i, { attributes: n });
26332
26332
  }
26333
26333
  }
26334
- function tn() {
26334
+ function nn() {
26335
26335
  return {
26336
26336
  templateUuid: void 0,
26337
26337
  originUuid: void 0
26338
26338
  };
26339
26339
  }
26340
- function nn(e) {
26341
- let t = an(e.source.attributes, "uuid"), n = an(e.source.attributes, "templateUuid"), r = an(e.source.attributes, "originUuid"), i = {};
26340
+ function rn(e) {
26341
+ let t = on(e.source.attributes, "uuid"), n = on(e.source.attributes, "templateUuid"), r = on(e.source.attributes, "originUuid"), i = {};
26342
26342
  t && (i.templateUuid = t);
26343
- let a = rn(e.target.tagName);
26343
+ let a = an(e.target.tagName);
26344
26344
  return n && !r && a && (i.originUuid = n), i;
26345
26345
  }
26346
- function rn(e) {
26346
+ function an(e) {
26347
26347
  let t = x.attributes[e];
26348
26348
  return t ? "originUuid" in t : !1;
26349
26349
  }
26350
- function an(e, t) {
26350
+ function on(e, t) {
26351
26351
  return e.find((e) => e.name === t)?.value;
26352
26352
  }
26353
26353
  //#endregion
26354
26354
  //#region src/v2019C1/extensions/identity/index.ts
26355
- var on = { transaction: /* @__PURE__ */ l({ writeIdentity: () => V }) };
26355
+ var sn = { transaction: /* @__PURE__ */ l({ writeIdentity: () => B }) };
26356
26356
  //#endregion
26357
26357
  //#region src/v2019C1/extensions/lifecycle/engine/group.ts
26358
- function sn(e, t) {
26358
+ function cn(e, t) {
26359
26359
  let n = [];
26360
- return cn({
26360
+ return ln({
26361
26361
  node: e,
26362
- instanceScopeId: t,
26362
+ scopePrefix: t,
26363
26363
  out: n
26364
26364
  }), n;
26365
26365
  }
26366
- function cn(e) {
26367
- let { node: t, instanceScopeId: n, out: r } = e;
26366
+ function ln(e) {
26367
+ let { node: t, scopePrefix: n, out: r } = e;
26368
26368
  if (t.change === "unchanged") {
26369
- for (let e of t.children) cn({
26369
+ for (let e of t.children) ln({
26370
26370
  node: e,
26371
- instanceScopeId: n,
26371
+ scopePrefix: n,
26372
26372
  out: r
26373
26373
  });
26374
26374
  return;
26375
26375
  }
26376
26376
  let i = [];
26377
- ln({
26377
+ un({
26378
26378
  node: t,
26379
26379
  out: i
26380
26380
  }), r.push({
26381
- id: un(t, n),
26381
+ id: dn(t, n),
26382
26382
  change: t.change,
26383
26383
  title: `${t.change} ${t.tagName}`,
26384
26384
  primary: t,
26385
26385
  companions: i,
26386
26386
  dependsOn: [],
26387
- suggestedAction: t.change === "target-only" ? "skip" : "accept",
26388
- instanceScopeId: n
26387
+ suggestedAction: t.change === "target-only" ? "skip" : "accept"
26389
26388
  });
26390
26389
  }
26391
- function ln(e) {
26390
+ function un(e) {
26392
26391
  let { node: t, out: n } = e;
26393
- for (let e of t.children) e.change !== "unchanged" && n.push(e), ln({
26392
+ for (let e of t.children) e.change !== "unchanged" && n.push(e), un({
26394
26393
  node: e,
26395
26394
  out: n
26396
26395
  });
26397
26396
  }
26398
- function un(e, t) {
26397
+ function dn(e, t) {
26399
26398
  let n = e.sourceRef ?? e.instanceRef, r = n ? `${n.tagName}:${n.id}` : e.tagName;
26400
26399
  return t ? `${t}::${r}` : r;
26401
26400
  }
26402
26401
  //#endregion
26403
26402
  //#region src/v2019C1/extensions/lifecycle/engine/visible-attributes.ts
26404
- var dn = new Set([
26403
+ var fn = new Set([
26405
26404
  "uuid",
26406
26405
  "templateUuid",
26407
26406
  "originUuid"
26408
- ]), fn = new Set(Object.values(O).flatMap((e) => e.flatMap((e) => [e.attribute.path, e.attribute.uuid])));
26409
- function H(e) {
26407
+ ]), pn = new Set(Object.values(O).flatMap((e) => e.flatMap((e) => [e.attribute.path, e.attribute.uuid])));
26408
+ function V(e) {
26410
26409
  let t = {};
26411
- for (let [n, r] of Object.entries(e)) dn.has(n) || n === "name" || fn.has(n) || (t[n] = r);
26410
+ for (let [n, r] of Object.entries(e)) fn.has(n) || n === "name" || pn.has(n) || (t[n] = r);
26412
26411
  return t;
26413
26412
  }
26414
26413
  //#endregion
26415
26414
  //#region src/v2019C1/extensions/lifecycle/engine/diff.ts
26416
- var pn = new Set([
26415
+ var mn = new Set([
26417
26416
  "LNodeSpecNaming",
26418
26417
  "FunctionSclRef",
26419
26418
  "ApplicationSclRef",
26420
- "SclFileReference"
26419
+ "SclFileReference",
26420
+ "FunctionRole",
26421
+ "FunctionRoleContent"
26421
26422
  ]);
26422
- async function mn(e) {
26423
- let { sourceQuery: t, targetQuery: n, sourceRootRef: r, instanceRootRef: i } = e, a = await t.any.getTree(r);
26424
- if (!a) throw Error("diff: source subtree not found");
26425
- let o = i ? await n.any.getTree(i) : void 0;
26426
- if (!o) {
26427
- let e = gn(a);
26423
+ async function hn(e) {
26424
+ let { sourceQuery: t, targetQuery: n, sourceRootRef: r, instanceRootRef: i, keepLeftoverRefs: a } = e, o = e.leftoverRefPolicy, s = e.refsAlwaysAdded ?? !1, c = await t.any.getTree(r);
26425
+ if (!c) throw Error("diff: source subtree not found");
26426
+ let l = i ? await n.any.getTree(i) : void 0;
26427
+ if (!l) {
26428
+ let e = bn(c);
26428
26429
  return {
26429
26430
  root: e,
26430
- roots: [e],
26431
- groups: sn(e),
26432
- needsDecisions: !1,
26433
- summary: wn(e)
26431
+ groups: cn(e),
26432
+ summary: jn(e)
26434
26433
  };
26435
26434
  }
26436
- let s = /* @__PURE__ */ new Map();
26437
- await xn(n, {
26438
- node: o,
26439
- index: s
26435
+ let u = /* @__PURE__ */ new Map();
26436
+ await On(n, {
26437
+ node: l,
26438
+ index: u
26440
26439
  });
26441
- let c = /* @__PURE__ */ new Set();
26442
- await Sn(t, {
26443
- node: a,
26444
- out: c
26440
+ let d = /* @__PURE__ */ new Set();
26441
+ await kn(t, {
26442
+ node: c,
26443
+ out: d
26445
26444
  });
26446
- let l = await hn(t, {
26445
+ let f = await gn(t, {
26447
26446
  targetQuery: n,
26448
- sourceNode: a,
26449
- instanceNode: o,
26450
- index: s,
26451
- sourceUuids: c
26452
- }), u = wn(l), d = sn(l, o.id), f = d.length > 0;
26447
+ sourceNode: c,
26448
+ instanceNode: l,
26449
+ index: u,
26450
+ sourceUuids: d,
26451
+ keepLeftoverRefs: a ?? !1,
26452
+ leftoverRefPolicy: o,
26453
+ refsAlwaysAdded: s
26454
+ }), p = jn(f);
26453
26455
  return {
26454
- root: l,
26455
- roots: [l],
26456
- groups: d,
26457
- needsDecisions: f,
26458
- summary: u
26456
+ root: f,
26457
+ groups: cn(f, l.id),
26458
+ summary: p
26459
26459
  };
26460
26460
  }
26461
- async function hn(e, t) {
26462
- let { targetQuery: n, sourceNode: r, instanceNode: i, index: o, sourceUuids: s } = t, c = await bn(e, {
26461
+ async function gn(e, t) {
26462
+ let { targetQuery: n, sourceNode: r, instanceNode: i, index: o, sourceUuids: s, keepLeftoverRefs: c } = t, l = t.leftoverRefPolicy, u = t.refsAlwaysAdded ?? !1, d = await Dn(e, {
26463
26463
  targetQuery: n,
26464
26464
  sourceNode: r,
26465
26465
  instanceNode: i
26466
- }), l = [], u = /* @__PURE__ */ new Set();
26466
+ }), f = [], p = /* @__PURE__ */ new Set();
26467
26467
  for (let t of r.tree) {
26468
- let r = await e.any.getAttribute(t, { name: "uuid" }), a = (r ? o.get(r) : void 0) ?? (r ? void 0 : i.tree.find((e) => e.tagName === t.tagName && !u.has(e.id)));
26469
- a ? (u.add(a.id), l.push(await hn(e, {
26468
+ let r = await _n(e, {
26469
+ targetQuery: n,
26470
+ sourceChild: t,
26471
+ instanceNode: i,
26472
+ index: o,
26473
+ matchedInstanceIds: p,
26474
+ refsAlwaysAdded: u
26475
+ });
26476
+ r ? (p.add(r.id), f.push(await gn(e, {
26470
26477
  targetQuery: n,
26471
26478
  sourceNode: t,
26472
- instanceNode: a,
26479
+ instanceNode: r,
26473
26480
  index: o,
26474
- sourceUuids: s
26475
- }))) : l.push(gn(t));
26481
+ sourceUuids: s,
26482
+ keepLeftoverRefs: c,
26483
+ leftoverRefPolicy: l,
26484
+ refsAlwaysAdded: u
26485
+ }))) : f.push(bn(t));
26476
26486
  }
26487
+ let m = await Cn(e, r);
26477
26488
  for (let e of i.tree) {
26478
- if (u.has(e.id)) continue;
26489
+ if (p.has(e.id)) continue;
26479
26490
  let t = await n.any.getAttribute(e, { name: "templateUuid" });
26480
26491
  if (t) {
26481
- s.has(t) || l.push(_n(e));
26492
+ s.has(t) || f.push(xn(e));
26482
26493
  continue;
26483
26494
  }
26484
- if (fe.has(e.tagName) && !k.has(e.tagName)) {
26485
- l.push(_n(e));
26495
+ if (A.has(e.tagName) && !k.has(e.tagName)) {
26496
+ let t = c || await wn(n, e, m), r = t && l ? await l(e) === "removed" : !1;
26497
+ t && !r ? f.push(Sn(e)) : f.push(xn(e));
26486
26498
  continue;
26487
26499
  }
26488
- yn(e, l);
26500
+ En(e, f);
26489
26501
  }
26490
26502
  return {
26491
- change: c.length > 0 ? "modified" : "unchanged",
26503
+ change: d.length > 0 ? "modified" : "unchanged",
26492
26504
  tagName: r.tagName,
26493
26505
  sourceRef: a(r),
26494
26506
  instanceRef: a(i),
26495
- attributeChanges: c.length > 0 ? c : void 0,
26496
- children: l
26507
+ attributeChanges: d.length > 0 ? d : void 0,
26508
+ children: f
26497
26509
  };
26498
26510
  }
26499
- function gn(e) {
26500
- let t = e.tree.map((e) => gn(e));
26511
+ async function _n(e, t) {
26512
+ let { targetQuery: n, sourceChild: r, instanceNode: i, index: a, matchedInstanceIds: o } = t, s = await e.any.getAttribute(r, { name: "uuid" });
26513
+ if (s) {
26514
+ let e = a.get(s);
26515
+ return e && e.tagName === r.tagName ? e : void 0;
26516
+ }
26517
+ if (t.refsAlwaysAdded && A.has(r.tagName)) return;
26518
+ let c = i.tree.filter((e) => e.tagName === r.tagName && !o.has(e.id));
26519
+ if (c.length !== 0) {
26520
+ if (A.has(r.tagName)) {
26521
+ let t = await H(e, r, { mapToTemplate: !1 });
26522
+ if (t === void 0) return c[0];
26523
+ for (let e of c) if (await H(n, e, { mapToTemplate: !0 }) === t) return e;
26524
+ let i = await U(e, r);
26525
+ if (i === void 0) return;
26526
+ for (let e of c) if (await U(n, e) === i) return e;
26527
+ return;
26528
+ }
26529
+ return c[0];
26530
+ }
26531
+ }
26532
+ async function H(e, t, n) {
26533
+ let r = O[t.tagName];
26534
+ if (!r) return;
26535
+ let i = [];
26536
+ for (let a of r) {
26537
+ let r = await e.any.getAttribute(t, { name: a.attribute.uuid });
26538
+ if (!r) continue;
26539
+ let o = n.mapToTemplate ? await vn(e, r, a.target) : r;
26540
+ i.push(`${a.attribute.uuid}=${o}`);
26541
+ }
26542
+ return i.length > 0 ? i.sort().join("|") : void 0;
26543
+ }
26544
+ async function vn(e, t, n) {
26545
+ for (let r of n) {
26546
+ let n = (await e.findByAttributes({
26547
+ tagName: r,
26548
+ attributes: { uuid: t }
26549
+ }))[0];
26550
+ if (n) return await e.any.getAttribute(n, { name: "templateUuid" }) || t;
26551
+ }
26552
+ return t;
26553
+ }
26554
+ async function U(e, t) {
26555
+ let n = O[t.tagName];
26556
+ if (!n) return;
26557
+ let r = [];
26558
+ for (let i of n) {
26559
+ let n = await e.any.getAttribute(t, { name: i.attribute.uuid });
26560
+ if (!n) continue;
26561
+ let a = await yn(e, n, i.target);
26562
+ a !== void 0 && r.push(`${i.attribute.uuid}=${a}`);
26563
+ }
26564
+ return r.length > 0 ? r.sort().join("|") : void 0;
26565
+ }
26566
+ async function yn(e, t, n) {
26567
+ for (let r of n) {
26568
+ let n = (await e.findByAttributes({
26569
+ tagName: r,
26570
+ attributes: { uuid: t }
26571
+ }))[0];
26572
+ if (n) return await e.any.getAttribute(n, { name: "name" }) || void 0;
26573
+ }
26574
+ }
26575
+ function bn(e) {
26576
+ let t = e.tree.map((e) => bn(e));
26501
26577
  return {
26502
26578
  change: "added",
26503
26579
  tagName: e.tagName,
@@ -26505,8 +26581,8 @@ function gn(e) {
26505
26581
  children: t
26506
26582
  };
26507
26583
  }
26508
- function _n(e) {
26509
- let t = e.tree.map((e) => _n(e));
26584
+ function xn(e) {
26585
+ let t = e.tree.map((e) => xn(e));
26510
26586
  return {
26511
26587
  change: "removed",
26512
26588
  tagName: e.tagName,
@@ -26514,8 +26590,34 @@ function _n(e) {
26514
26590
  children: t
26515
26591
  };
26516
26592
  }
26517
- function vn(e) {
26518
- let t = e.tree.map((e) => vn(e));
26593
+ function Sn(e) {
26594
+ return {
26595
+ change: "unchanged",
26596
+ tagName: e.tagName,
26597
+ instanceRef: a(e),
26598
+ children: []
26599
+ };
26600
+ }
26601
+ async function Cn(e, t) {
26602
+ let n = /* @__PURE__ */ new Set();
26603
+ for (let r of t.tree) {
26604
+ if (!A.has(r.tagName)) continue;
26605
+ let t = await H(e, r, { mapToTemplate: !1 });
26606
+ t && n.add(t);
26607
+ let i = await U(e, r);
26608
+ i && n.add(i);
26609
+ }
26610
+ return n;
26611
+ }
26612
+ async function wn(e, t, n) {
26613
+ if (n.size === 0) return !1;
26614
+ let r = await H(e, t, { mapToTemplate: !0 });
26615
+ if (r && n.has(r)) return !0;
26616
+ let i = await U(e, t);
26617
+ return !!i && n.has(i);
26618
+ }
26619
+ function Tn(e) {
26620
+ let t = e.tree.map((e) => Tn(e));
26519
26621
  return {
26520
26622
  change: "target-only",
26521
26623
  tagName: e.tagName,
@@ -26523,17 +26625,17 @@ function vn(e) {
26523
26625
  children: t
26524
26626
  };
26525
26627
  }
26526
- function yn(e, t) {
26527
- if (!pn.has(e.tagName)) {
26628
+ function En(e, t) {
26629
+ if (!mn.has(e.tagName)) {
26528
26630
  if (e.tagName === "Private") {
26529
- for (let n of e.tree) yn(n, t);
26631
+ for (let n of e.tree) En(n, t);
26530
26632
  return;
26531
26633
  }
26532
- t.push(vn(e));
26634
+ t.push(Tn(e));
26533
26635
  }
26534
26636
  }
26535
- async function bn(e, t) {
26536
- let { targetQuery: n, sourceNode: r, instanceNode: i } = t, a = H(await e.any.getAttributes(r)), o = H(await n.any.getAttributes(i)), s = [];
26637
+ async function Dn(e, t) {
26638
+ let { targetQuery: n, sourceNode: r, instanceNode: i } = t, a = V(await e.any.getAttributes(r)), o = V(await n.any.getAttributes(i)), s = [];
26537
26639
  for (let e of new Set([...Object.keys(a), ...Object.keys(o)])) {
26538
26640
  let t = o[e], n = a[e];
26539
26641
  t !== n && s.push({
@@ -26544,41 +26646,45 @@ async function bn(e, t) {
26544
26646
  }
26545
26647
  return s;
26546
26648
  }
26547
- async function xn(e, t) {
26649
+ async function On(e, t) {
26548
26650
  let { node: n, index: r } = t, i = await e.any.getAttribute(n, { name: "templateUuid" });
26549
26651
  i && r.set(i, n);
26550
- for (let t of n.tree) await xn(e, {
26652
+ for (let t of n.tree) await On(e, {
26551
26653
  node: t,
26552
26654
  index: r
26553
26655
  });
26554
26656
  }
26555
- async function Sn(e, t) {
26657
+ async function kn(e, t) {
26556
26658
  let { node: n, out: r } = t, i = await e.any.getAttribute(n, { name: "uuid" });
26557
26659
  i && r.add(i);
26558
- for (let t of n.tree) await Sn(e, {
26660
+ for (let t of n.tree) await kn(e, {
26559
26661
  node: t,
26560
26662
  out: r
26561
26663
  });
26562
26664
  }
26563
- function Cn(e) {
26564
- let [t] = e, n = e.flatMap((e) => e.groups), r = e.reduce((e, t) => ({
26565
- added: e.added + t.summary.added,
26566
- removed: e.removed + t.summary.removed,
26567
- modified: e.modified + t.summary.modified
26568
- }), {
26665
+ function An(e) {
26666
+ let t = e.reduce((e, t) => {
26667
+ let n = jn(t.tree);
26668
+ return {
26669
+ added: e.added + n.added,
26670
+ removed: e.removed + n.removed,
26671
+ modified: e.modified + n.modified
26672
+ };
26673
+ }, {
26569
26674
  added: 0,
26570
26675
  removed: 0,
26571
26676
  modified: 0
26572
- }), i = e.some((e) => e.needsDecisions);
26677
+ });
26573
26678
  return {
26574
- root: t.root,
26575
- roots: e.flatMap((e) => e.roots),
26576
- groups: n,
26577
- needsDecisions: i,
26578
- summary: r
26679
+ instances: e,
26680
+ needsDecisions: e.some((e) => e.rootRef !== void 0 && e.groups.length > 0),
26681
+ summary: t
26579
26682
  };
26580
26683
  }
26581
- function wn(e) {
26684
+ function W(e) {
26685
+ return e.instances.flatMap((e) => e.groups);
26686
+ }
26687
+ function jn(e) {
26582
26688
  let t = {
26583
26689
  added: 0,
26584
26690
  removed: 0,
@@ -26591,58 +26697,58 @@ function wn(e) {
26591
26697
  }
26592
26698
  //#endregion
26593
26699
  //#region src/v2019C1/extensions/lifecycle/constraints/classify-attribute.constants.ts
26594
- var Tn = new Set([
26700
+ var Mn = new Set([
26595
26701
  "uuid",
26596
26702
  "templateUuid",
26597
26703
  "originUuid"
26598
- ]), En = ["rename", "free"], Dn = /* @__PURE__ */ new Map();
26599
- function On(e) {
26600
- let t = Dn.get(e);
26704
+ ]), Nn = ["rename", "free"], Pn = /* @__PURE__ */ new Map();
26705
+ function Fn(e) {
26706
+ let t = Pn.get(e);
26601
26707
  if (t) return t;
26602
26708
  let n = _[e]?.attributes?.identityFields ?? [], r = new Set(n);
26603
- return Dn.set(e, r), r;
26709
+ return Pn.set(e, r), r;
26604
26710
  }
26605
26711
  //#endregion
26606
26712
  //#region src/v2019C1/extensions/lifecycle/constraints/classify-attribute.ts
26607
- function U(e, t) {
26608
- return Tn.has(t) ? "identity" : jn(e).has(t) || Mn(e).has(t) ? "reference" : t === "name" ? "rename" : oe.has(t) || On(e).has(t) ? "identity" : "free";
26713
+ function G(e, t) {
26714
+ return Mn.has(t) ? "identity" : Rn(e).has(t) || zn(e).has(t) ? "reference" : t === "name" ? "rename" : oe.has(t) || Fn(e).has(t) ? "identity" : "free";
26609
26715
  }
26610
- function kn(e) {
26611
- return En.includes(e);
26716
+ function In(e) {
26717
+ return Nn.includes(e);
26612
26718
  }
26613
- function An(e) {
26719
+ function Ln(e) {
26614
26720
  let t = Object.keys(g[e] ?? {}), n = [];
26615
26721
  for (let r of t) {
26616
- let t = U(e, r);
26617
- kn(t) && n.push({
26722
+ let t = G(e, r);
26723
+ In(t) && n.push({
26618
26724
  attr: r,
26619
26725
  mode: t
26620
26726
  });
26621
26727
  }
26622
26728
  return n;
26623
26729
  }
26624
- function jn(e) {
26730
+ function Rn(e) {
26625
26731
  let t = O[e];
26626
- if (!t) return Nn;
26732
+ if (!t) return Bn;
26627
26733
  let n = /* @__PURE__ */ new Set();
26628
26734
  for (let e of t) n.add(e.attribute.path), n.add(e.attribute.uuid);
26629
26735
  return n;
26630
26736
  }
26631
- function Mn(e) {
26632
- let t = P.get(e);
26633
- return t ? new Set(t) : Nn;
26737
+ function zn(e) {
26738
+ let t = Pe.get(e);
26739
+ return t ? new Set(t) : Bn;
26634
26740
  }
26635
- var Nn = /* @__PURE__ */ new Set();
26741
+ var Bn = /* @__PURE__ */ new Set();
26636
26742
  //#endregion
26637
26743
  //#region src/v2019C1/extensions/lifecycle/constraints/find-constraint-violation.ts
26638
- async function W(e, t) {
26639
- let { parentRef: n, childTag: r, candidate: i, excludeId: a } = t, o = Fn(n.tagName).filter((e) => (e.kind === "unique" || e.kind === "key") && In(e, r));
26744
+ async function K(e, t) {
26745
+ let { parentRef: n, childTag: r, candidate: i, excludeId: a } = t, o = Hn(n.tagName).filter((e) => (e.kind === "unique" || e.kind === "key") && Un(e, r));
26640
26746
  if (o.length === 0) return null;
26641
26747
  let s = (await e.any.getTree(n))?.tree ?? [];
26642
26748
  for (let e of o) {
26643
- let t = Ln(e);
26749
+ let t = Wn(e);
26644
26750
  if (!(t.length === 0 || t.some((e) => i[e] === void 0))) {
26645
- for (let n of s) if (n.id !== a && In(e, n.tagName) && t.every((e) => Pn(n, e) === i[e])) return {
26751
+ for (let n of s) if (n.id !== a && Un(e, n.tagName) && t.every((e) => Vn(n, e) === i[e])) return {
26646
26752
  constraint: e.name,
26647
26753
  fields: t,
26648
26754
  offendingId: n.id
@@ -26651,41 +26757,41 @@ async function W(e, t) {
26651
26757
  }
26652
26758
  return null;
26653
26759
  }
26654
- function Pn(e, t) {
26760
+ function Vn(e, t) {
26655
26761
  return e.attributes.find((e) => e.name === t)?.value;
26656
26762
  }
26657
- function Fn(e) {
26763
+ function Hn(e) {
26658
26764
  return [..._[e]?.constraints ?? []];
26659
26765
  }
26660
- function In(e, t) {
26766
+ function Un(e, t) {
26661
26767
  for (let n of e.selector ?? []) {
26662
26768
  let e = (n.steps ?? []).at(-1);
26663
26769
  if (e && (e.kind === "wildcard" || e.kind === "name" && e.value === t)) return !0;
26664
26770
  }
26665
26771
  return !1;
26666
26772
  }
26667
- function Ln(e) {
26773
+ function Wn(e) {
26668
26774
  return (e.fields ?? []).map((e) => e.target?.value).filter((e) => !!e);
26669
26775
  }
26670
26776
  //#endregion
26671
26777
  //#region src/v2019C1/extensions/lifecycle/constraints/resolve-unique-value.ts
26672
- var Rn = 1e3;
26673
- async function zn(e, t) {
26778
+ var Gn = 1e3;
26779
+ async function Kn(e, t) {
26674
26780
  let { parentRef: n, childTag: r, candidate: i, attr: a, decorate: o, excludeId: s } = t, c = i[a] ?? "";
26675
- if (!await W(e, {
26781
+ if (!await K(e, {
26676
26782
  parentRef: n,
26677
26783
  childTag: r,
26678
26784
  candidate: i,
26679
26785
  excludeId: s
26680
26786
  })) return c;
26681
- for (let t = 1; t <= Rn; t++) {
26787
+ for (let t = 1; t <= Gn; t++) {
26682
26788
  let l = o ? o({
26683
26789
  base: c,
26684
26790
  attempt: t,
26685
26791
  attr: a,
26686
26792
  childTag: r
26687
26793
  }) : `${c}_${t}`;
26688
- if (!await W(e, {
26794
+ if (!await K(e, {
26689
26795
  parentRef: n,
26690
26796
  childTag: r,
26691
26797
  candidate: {
@@ -26695,22 +26801,22 @@ async function zn(e, t) {
26695
26801
  excludeId: s
26696
26802
  })) return l;
26697
26803
  }
26698
- throw Error(`could not resolve a unique ${a} for <${r}> under <${n.tagName}> after ${Rn} attempts`);
26804
+ throw Error(`could not resolve a unique ${a} for <${r}> under <${n.tagName}> after ${Gn} attempts`);
26699
26805
  }
26700
26806
  //#endregion
26701
26807
  //#region src/v2019C1/extensions/lifecycle/constraints/resolve-placement-collision.ts
26702
- async function G(e, t) {
26808
+ async function qn(e, t) {
26703
26809
  let { ref: n, decorate: r, overrides: i } = t, a = t.parentRef ?? (await e.getRecord(n))?.parent;
26704
26810
  if (!a) return { status: "ok" };
26705
26811
  let o = await e.getAttributes(n);
26706
26812
  if (i) for (let [t, r] of Object.entries(i)) {
26707
- let i = U(n.tagName, t);
26813
+ let i = G(n.tagName, t);
26708
26814
  (i === "rename" || i === "free") && o[t] !== r && (await e.update(n, { attributes: { [t]: r } }), o = {
26709
26815
  ...o,
26710
26816
  [t]: r
26711
26817
  });
26712
26818
  }
26713
- let s = await W(e, {
26819
+ let s = await K(e, {
26714
26820
  parentRef: a,
26715
26821
  childTag: n.tagName,
26716
26822
  candidate: o,
@@ -26718,14 +26824,14 @@ async function G(e, t) {
26718
26824
  });
26719
26825
  if (!s) return { status: "ok" };
26720
26826
  let c = s.fields.find((e) => {
26721
- let t = U(n.tagName, e);
26827
+ let t = G(n.tagName, e);
26722
26828
  return t === "rename" || t === "free";
26723
26829
  });
26724
26830
  if (!c) return {
26725
26831
  status: "unresolvable",
26726
26832
  violation: s
26727
26833
  };
26728
- let l = o[c] ?? "", u = await zn(e, {
26834
+ let l = o[c] ?? "", u = await Kn(e, {
26729
26835
  parentRef: a,
26730
26836
  childTag: n.tagName,
26731
26837
  candidate: o,
@@ -26742,12 +26848,12 @@ async function G(e, t) {
26742
26848
  }
26743
26849
  //#endregion
26744
26850
  //#region src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/clone-tree.ts
26745
- var Bn = {
26851
+ var Jn = {
26746
26852
  scope: "tree",
26747
26853
  attributes: ["templateUuid", "originUuid"]
26748
26854
  };
26749
- async function K(e, t) {
26750
- let { sourceQuery: n, ref: i, targetParent: a, omit: o, retagRoot: s, strip: c = Bn } = t, l = await n.getTree(i, {
26855
+ async function q(e, t) {
26856
+ let { sourceQuery: n, ref: i, targetParent: a, omit: o, retagRoot: s, strip: c = Jn } = t, l = await n.getTree(i, {
26751
26857
  omit: o,
26752
26858
  unwrap: []
26753
26859
  });
@@ -26763,12 +26869,12 @@ async function K(e, t) {
26763
26869
  }
26764
26870
  //#endregion
26765
26871
  //#region src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/add-children-to.ts
26766
- async function q(e, t) {
26872
+ async function Yn(e, t) {
26767
26873
  let { sourceQuery: n, source: r, target: i, omit: a, strip: o } = t, s = await n.any.getRecord(r);
26768
26874
  if (!s) return [];
26769
26875
  let c = [];
26770
26876
  for (let t of s.children) {
26771
- let r = await K(e, {
26877
+ let r = await q(e, {
26772
26878
  sourceQuery: n,
26773
26879
  ref: {
26774
26880
  tagName: t.tagName,
@@ -26784,14 +26890,14 @@ async function q(e, t) {
26784
26890
  }
26785
26891
  //#endregion
26786
26892
  //#region src/v2019C1/extensions/lifecycle/transplant/transaction/deep.ts
26787
- async function J(e, t) {
26788
- let { sourceQuery: n, ref: r, targetParent: i, withTypes: a = !0, omit: o, strip: s = !1, retagRoot: c } = t, l = await Vn(e, {
26893
+ async function Xn(e, t) {
26894
+ let { sourceQuery: n, ref: r, targetParent: i, withTypes: a = !0, omit: o, strip: s = !1, retagRoot: c } = t, l = await Zn(e, {
26789
26895
  sourceQuery: n,
26790
26896
  ref: r,
26791
26897
  targetParent: i
26792
26898
  }), u, d;
26793
26899
  if (l) {
26794
- d = await q(e, {
26900
+ d = await Yn(e, {
26795
26901
  sourceQuery: n,
26796
26902
  source: r,
26797
26903
  target: l,
@@ -26802,7 +26908,7 @@ async function J(e, t) {
26802
26908
  if (!t) throw Error(`transplant.deep: merge target vanished: ${l.id}`);
26803
26909
  u = t;
26804
26910
  } else {
26805
- let t = await K(e, {
26911
+ let t = await q(e, {
26806
26912
  sourceQuery: n,
26807
26913
  ref: r,
26808
26914
  targetParent: i,
@@ -26815,10 +26921,10 @@ async function J(e, t) {
26815
26921
  }
26816
26922
  let f = /* @__PURE__ */ new Map();
26817
26923
  if (a) {
26818
- let t = await Hn(n, r);
26924
+ let t = await Qn(n, r);
26819
26925
  if (t.length > 0) {
26820
26926
  let r = typeof a == "object" ? a.keepNameFrom : void 0;
26821
- f = (await It(e, {
26927
+ f = (await Lt(e, {
26822
26928
  sourceQuery: n,
26823
26929
  records: t,
26824
26930
  cloneMappings: d,
@@ -26832,7 +26938,7 @@ async function J(e, t) {
26832
26938
  recordMappings: d
26833
26939
  };
26834
26940
  }
26835
- async function Vn(e, t) {
26941
+ async function Zn(e, t) {
26836
26942
  let { sourceQuery: n, ref: r, targetParent: i } = t;
26837
26943
  if (r.tagName !== "Private") return;
26838
26944
  let a = (await n.any.getAttributes(r)).type;
@@ -26843,7 +26949,7 @@ async function Vn(e, t) {
26843
26949
  id: t.id
26844
26950
  };
26845
26951
  }
26846
- async function Hn(e, t) {
26952
+ async function Qn(e, t) {
26847
26953
  let { LNode: n = [], LN: r = [], LN0: i = [] } = await e.findDescendants(t, { collect: [
26848
26954
  "LNode",
26849
26955
  "LN",
@@ -26857,7 +26963,7 @@ async function Hn(e, t) {
26857
26963
  }
26858
26964
  //#endregion
26859
26965
  //#region src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/clone-referenced.ts
26860
- async function Un(e, t) {
26966
+ async function $n(e, t) {
26861
26967
  let { sourceQuery: n, scopeRef: r, refTagName: i, targetTagName: a, alreadyCloned: o } = t, s = O[i][0].attribute.uuid, { [i]: c = [] } = await n.findDescendants(r, { collect: i }), l = /* @__PURE__ */ new Set();
26862
26968
  for (let e of c) {
26863
26969
  let t = e.attributes.find((e) => e.name === s)?.value;
@@ -26881,8 +26987,8 @@ async function Un(e, t) {
26881
26987
  }
26882
26988
  return u;
26883
26989
  }
26884
- async function Wn(e, t) {
26885
- let { sourceQuery: n, scopeRef: r, refTagName: i, targetTagName: a, resolveTargetParent: o, alreadyCloned: s, omit: c } = t, l = await Un(e, {
26990
+ async function er(e, t) {
26991
+ let { sourceQuery: n, scopeRef: r, refTagName: i, targetTagName: a, resolveTargetParent: o, alreadyCloned: s, omit: c } = t, l = await $n(e, {
26886
26992
  sourceQuery: n,
26887
26993
  scopeRef: r,
26888
26994
  refTagName: i,
@@ -26890,7 +26996,7 @@ async function Wn(e, t) {
26890
26996
  alreadyCloned: s
26891
26997
  }), u = [];
26892
26998
  for (let t of l) {
26893
- let r = await K(e, {
26999
+ let r = await q(e, {
26894
27000
  sourceQuery: n,
26895
27001
  ref: t,
26896
27002
  targetParent: await o(t),
@@ -26900,8 +27006,8 @@ async function Wn(e, t) {
26900
27006
  }
26901
27007
  return u;
26902
27008
  }
26903
- async function Gn(e, t) {
26904
- let { sourceQuery: n, scopeTagName: r, scopeRef: i, resolveTargetParent: a, alreadyCloned: o, skip: s = /* @__PURE__ */ new Set(), omit: c } = t, l = (p[r] ?? []).filter((e) => e in O && !s.has(e)), u = Wn, d = [];
27009
+ async function tr(e, t) {
27010
+ let { sourceQuery: n, scopeTagName: r, scopeRef: i, resolveTargetParent: a, alreadyCloned: o, skip: s = /* @__PURE__ */ new Set(), omit: c } = t, l = (p[r] ?? []).filter((e) => e in O && !s.has(e)), u = er, d = [];
26905
27011
  for (let t of l) for (let r of O[t]) for (let s of r.target) {
26906
27012
  let r = await u(e, {
26907
27013
  sourceQuery: n,
@@ -26917,8 +27023,47 @@ async function Gn(e, t) {
26917
27023
  return d;
26918
27024
  }
26919
27025
  //#endregion
27026
+ //#region src/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.ts
27027
+ async function nr(e, t) {
27028
+ let { sourceQuery: n, source: r, target: i, strip: a } = t, o = await n.any.getRecord(r);
27029
+ if (!o) return [];
27030
+ let s = [];
27031
+ for (let t of o.children) {
27032
+ let r = {
27033
+ tagName: t.tagName,
27034
+ id: t.id
27035
+ }, o = await n.any.getAttribute(t, { name: "name" }), c = o ? await rr(e, i, t.tagName, o) : void 0;
27036
+ if (c) {
27037
+ s.push(...await nr(e, {
27038
+ sourceQuery: n,
27039
+ source: r,
27040
+ target: c,
27041
+ strip: a
27042
+ }));
27043
+ continue;
27044
+ }
27045
+ let l = await q(e, {
27046
+ sourceQuery: n,
27047
+ ref: r,
27048
+ targetParent: i,
27049
+ ...a === void 0 ? {} : { strip: a }
27050
+ });
27051
+ l && s.push(...l.mappings);
27052
+ }
27053
+ return s;
27054
+ }
27055
+ async function rr(e, t, n, r) {
27056
+ let i = await e.any.getRecord(t);
27057
+ if (i) {
27058
+ for (let t of i.children) if (t.tagName === n && await e.any.getAttribute(t, { name: "name" }) === r) return {
27059
+ tagName: t.tagName,
27060
+ id: t.id
27061
+ };
27062
+ }
27063
+ }
27064
+ //#endregion
26920
27065
  //#region src/v2019C1/extensions/lifecycle/transplant/transaction/resolve-structure-ref.ts
26921
- async function Y(e, t, n) {
27066
+ async function J(e, t, n) {
26922
27067
  let r = (await e.findAncestors(t, { stopAtTagName: "Substation" })).find((e) => e.tagName in n);
26923
27068
  s(r, {
26924
27069
  key: "ELEMENT_NOT_FOUND",
@@ -26933,7 +27078,7 @@ async function Y(e, t, n) {
26933
27078
  id: i.id
26934
27079
  };
26935
27080
  }
26936
- function Kn(e) {
27081
+ function ir(e) {
26937
27082
  let { sourceQuery: t, structure: n, cloneIndex: r } = e;
26938
27083
  return async function(e) {
26939
27084
  let i = await t.findAncestors(e, { stopAtTagName: "Substation" });
@@ -26956,25 +27101,25 @@ function Kn(e) {
26956
27101
  }
26957
27102
  //#endregion
26958
27103
  //#region src/v2019C1/extensions/lifecycle/engine/reconcile.ts
26959
- async function qn(e, t) {
27104
+ async function ar(e, t) {
26960
27105
  let { sourceQuery: n, sourceRootRef: r, instanceRootRef: i, accepted: a, overrides: o, keepNameTypesFrom: s } = t, c = await n.any.getTree(r), l = await e.any.getTree(i);
26961
27106
  if (!c || !l) return;
26962
27107
  let u = /* @__PURE__ */ new Map();
26963
- await Qn(e, {
27108
+ await ur(e, {
26964
27109
  node: l,
26965
27110
  index: u
26966
27111
  });
26967
27112
  let d = /* @__PURE__ */ new Set();
26968
- await $n(n, {
27113
+ await dr(n, {
26969
27114
  node: c,
26970
27115
  out: d
26971
- }), await Zn(e, {
27116
+ }), await lr(e, {
26972
27117
  sourceQuery: n,
26973
27118
  instanceRecord: l,
26974
27119
  sourceNode: c,
26975
27120
  accepted: a,
26976
27121
  overrides: o
26977
- }), await Jn(e, {
27122
+ }), await or(e, {
26978
27123
  sourceQuery: n,
26979
27124
  sourceNode: c,
26980
27125
  instanceParent: l,
@@ -26982,24 +27127,24 @@ async function qn(e, t) {
26982
27127
  accepted: a,
26983
27128
  overrides: o,
26984
27129
  keepNameTypesFrom: s
26985
- }), await Yn(e, {
27130
+ }), await sr(e, {
26986
27131
  instanceNode: l,
26987
27132
  sourceUuids: d,
26988
27133
  accepted: a
26989
27134
  });
26990
27135
  }
26991
- async function Jn(e, t) {
27136
+ async function or(e, t) {
26992
27137
  let { sourceQuery: n, sourceNode: r, instanceParent: i, index: o, accepted: s, overrides: c, keepNameTypesFrom: l } = t, u = /* @__PURE__ */ new Set();
26993
27138
  for (let t of r.tree) {
26994
27139
  let r = await n.any.getAttribute(t, { name: "uuid" }), d = (r ? o.get(r) : void 0) ?? (r ? void 0 : i.tree.find((e) => e.tagName === t.tagName && !u.has(e.id)));
26995
27140
  if (d) {
26996
- u.add(d.id), await Zn(e, {
27141
+ u.add(d.id), await lr(e, {
26997
27142
  sourceQuery: n,
26998
27143
  instanceRecord: d,
26999
27144
  sourceNode: t,
27000
27145
  accepted: s,
27001
27146
  overrides: c
27002
- }), await Jn(e, {
27147
+ }), await or(e, {
27003
27148
  sourceQuery: n,
27004
27149
  sourceNode: t,
27005
27150
  instanceParent: d,
@@ -27011,34 +27156,34 @@ async function Jn(e, t) {
27011
27156
  continue;
27012
27157
  }
27013
27158
  if (s && !s.sourceIds.has(t.id)) continue;
27014
- let { recordMappings: f } = await J(e, {
27159
+ let { recordMappings: f } = await Xn(e, {
27015
27160
  sourceQuery: n,
27016
27161
  ref: a(t),
27017
27162
  targetParent: a(i),
27018
27163
  strip: !1,
27019
27164
  withTypes: { keepNameFrom: l }
27020
27165
  });
27021
- await V(e, {
27166
+ await B(e, {
27022
27167
  mappings: f,
27023
27168
  mode: "stamp-template"
27024
27169
  });
27025
27170
  let p = f.find((e) => e.source.id === t.id);
27026
- p && await G(e, {
27171
+ p && await qn(e, {
27027
27172
  ref: p.target,
27028
27173
  parentRef: a(i),
27029
27174
  overrides: c?.get(t.id)
27030
27175
  });
27031
27176
  }
27032
27177
  for (let t of i.tree) if (!u.has(t.id) && !await e.any.getAttribute(t, { name: "templateUuid" })) {
27033
- if (fe.has(t.tagName) && !k.has(t.tagName)) {
27178
+ if (A.has(t.tagName) && !k.has(t.tagName)) {
27034
27179
  if (s && !s.instanceIds.has(t.id)) continue;
27035
27180
  } else if (!s || !s.instanceIds.has(t.id)) continue;
27036
27181
  await e.any.getRecord(t) && await e.any.delete(t);
27037
27182
  }
27038
27183
  }
27039
- async function Yn(e, t) {
27184
+ async function sr(e, t) {
27040
27185
  let { instanceNode: n, sourceUuids: r, accepted: i } = t, a = [];
27041
- await Xn(e, {
27186
+ await cr(e, {
27042
27187
  node: n,
27043
27188
  sourceUuids: r,
27044
27189
  accepted: i,
@@ -27046,26 +27191,26 @@ async function Yn(e, t) {
27046
27191
  });
27047
27192
  for (let t of a) await e.any.getRecord(t) && await e.any.delete(t);
27048
27193
  }
27049
- async function Xn(e, t) {
27194
+ async function cr(e, t) {
27050
27195
  let { node: n, sourceUuids: r, accepted: i, out: a } = t, o = await e.any.getAttribute(n, { name: "templateUuid" });
27051
27196
  if (o && !r.has(o)) {
27052
27197
  (!i || i.instanceIds.has(n.id)) && a.push(n);
27053
27198
  return;
27054
27199
  }
27055
- for (let t of n.tree) await Xn(e, {
27200
+ for (let t of n.tree) await cr(e, {
27056
27201
  node: t,
27057
27202
  sourceUuids: r,
27058
27203
  accepted: i,
27059
27204
  out: a
27060
27205
  });
27061
27206
  }
27062
- async function Zn(e, t) {
27207
+ async function lr(e, t) {
27063
27208
  let { sourceQuery: n, instanceRecord: r, sourceNode: i, accepted: a, overrides: o } = t;
27064
27209
  if (a && !a.sourceIds.has(i.id)) return;
27065
27210
  let s = {
27066
- ...H(await n.any.getAttributes(i)),
27211
+ ...V(await n.any.getAttributes(i)),
27067
27212
  ...o?.get(i.id)
27068
- }, c = H(await e.any.getAttributes(r)), l = {};
27213
+ }, c = V(await e.any.getAttributes(r)), l = {};
27069
27214
  for (let e of new Set([...Object.keys(s), ...Object.keys(c)])) {
27070
27215
  let t = e in s ? s[e] : void 0;
27071
27216
  c[e] !== t && (l[e] = t);
@@ -27073,69 +27218,72 @@ async function Zn(e, t) {
27073
27218
  if (r.tagName === "LNode" && Object.keys(l).some((e) => Le.has(e)) && await T(e, r)) for (let e of Le) delete l[e];
27074
27219
  Object.keys(l).length > 0 && await e.any.update(r, { attributes: l });
27075
27220
  }
27076
- async function Qn(e, t) {
27221
+ async function ur(e, t) {
27077
27222
  let { node: n, index: r } = t, i = await e.any.getAttribute(n, { name: "templateUuid" });
27078
27223
  i && r.set(i, n);
27079
- for (let t of n.tree) await Qn(e, {
27224
+ for (let t of n.tree) await ur(e, {
27080
27225
  node: t,
27081
27226
  index: r
27082
27227
  });
27083
27228
  }
27084
- async function $n(e, t) {
27229
+ async function dr(e, t) {
27085
27230
  let { node: n, out: r } = t, i = await e.any.getAttribute(n, { name: "uuid" });
27086
27231
  i && r.add(i);
27087
- for (let t of n.tree) await $n(e, {
27232
+ for (let t of n.tree) await dr(e, {
27088
27233
  node: t,
27089
27234
  out: r
27090
27235
  });
27091
27236
  }
27092
27237
  //#endregion
27093
27238
  //#region src/v2019C1/extensions/lifecycle/engine/decide.ts
27094
- function er(e) {
27239
+ function fr(e, t) {
27240
+ return e?.instances.find((e) => e.rootRef?.id === t)?.groups ?? [];
27241
+ }
27242
+ function pr(e) {
27095
27243
  return e === void 0 ? "accept" : typeof e == "string" ? e : e.action;
27096
27244
  }
27097
- function tr(e) {
27245
+ function mr(e) {
27098
27246
  return typeof e == "object" ? e.values : void 0;
27099
27247
  }
27100
- function nr(e) {
27248
+ function hr(e) {
27101
27249
  let t = e.decisions.get(e.group.id);
27102
- return t === void 0 ? e.group.suggestedAction : er(t);
27250
+ return t === void 0 ? e.group.suggestedAction : pr(t);
27103
27251
  }
27104
- function rr(e) {
27105
- return nr(e) !== "skip";
27252
+ function gr(e) {
27253
+ return hr(e) !== "skip";
27106
27254
  }
27107
- function ir(e) {
27255
+ function _r(e) {
27108
27256
  let { groups: t, decisions: n } = e, r = /* @__PURE__ */ new Map();
27109
27257
  for (let e of t) {
27110
27258
  let t = n.get(e.id);
27111
- if (nr({
27259
+ if (hr({
27112
27260
  group: e,
27113
27261
  decisions: n
27114
27262
  }) === "skip") continue;
27115
- let i = tr(t), a = e.primary.sourceRef?.id;
27263
+ let i = mr(t), a = e.primary.sourceRef?.id;
27116
27264
  i && a && r.set(a, i);
27117
27265
  }
27118
27266
  return r;
27119
27267
  }
27120
- function ar(e) {
27268
+ function vr(e) {
27121
27269
  let { groups: t, decisions: n } = e;
27122
- for (let e of t) if (rr({
27270
+ for (let e of t) if (gr({
27123
27271
  group: e,
27124
27272
  decisions: n
27125
- })) for (let r of e.dependsOn) s(rr({
27126
- group: or(t, r) ?? e,
27273
+ })) for (let r of e.dependsOn) s(gr({
27274
+ group: yr(t, r) ?? e,
27127
27275
  decisions: n
27128
27276
  }), { detail: `decision accepts group "${e.id}" but its dependency "${r}" is skipped` });
27129
27277
  }
27130
- function or(e, t) {
27278
+ function yr(e, t) {
27131
27279
  return e.find((e) => e.id === t);
27132
27280
  }
27133
- function sr(e) {
27281
+ function br(e) {
27134
27282
  let { groups: t, decisions: n } = e, r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
27135
- for (let e of t) if (rr({
27283
+ for (let e of t) if (gr({
27136
27284
  group: e,
27137
27285
  decisions: n
27138
- })) for (let t of [e.primary, ...e.companions]) cr({
27286
+ })) for (let t of [e.primary, ...e.companions]) xr({
27139
27287
  node: t,
27140
27288
  sourceIds: r,
27141
27289
  instanceIds: i
@@ -27145,89 +27293,105 @@ function sr(e) {
27145
27293
  instanceIds: i
27146
27294
  };
27147
27295
  }
27148
- function cr(e) {
27296
+ function xr(e) {
27149
27297
  let { node: t, sourceIds: n, instanceIds: r } = e;
27150
- t.change === "removed" || t.change === "target-only" ? t.instanceRef?.id && r.add(t.instanceRef.id) : t.sourceRef?.id && n.add(t.sourceRef.id);
27298
+ Sr({
27299
+ node: t,
27300
+ sourceIds: n,
27301
+ instanceIds: r
27302
+ });
27303
+ for (let e of t.children) xr({
27304
+ node: e,
27305
+ sourceIds: n,
27306
+ instanceIds: r
27307
+ });
27308
+ }
27309
+ function Sr(e) {
27310
+ let { node: t, sourceIds: n, instanceIds: r } = e;
27311
+ t.change !== "unchanged" && (t.change === "removed" || t.change === "target-only" ? t.instanceRef?.id && r.add(t.instanceRef.id) : t.sourceRef?.id && n.add(t.sourceRef.id));
27151
27312
  }
27152
27313
  //#endregion
27153
27314
  //#region src/v2019C1/extensions/lifecycle/instance/composed-functions.ts
27154
- async function lr(e, t) {
27315
+ async function Cr(e, t) {
27155
27316
  let n = /* @__PURE__ */ new Set(), r = await e.any.getTree(t);
27156
- return r && await ur(e, r, n), n;
27317
+ return r && await wr(e, r, n), n;
27157
27318
  }
27158
- async function ur(e, t, n) {
27319
+ async function wr(e, t, n) {
27159
27320
  if (t.tagName === "FunctionRef") {
27160
27321
  let r = await e.any.getAttribute(t, { name: "functionUuid" });
27161
27322
  r && n.add(r);
27162
27323
  }
27163
- for (let r of t.tree) await ur(e, r, n);
27324
+ for (let r of t.tree) await wr(e, r, n);
27164
27325
  }
27165
27326
  //#endregion
27166
27327
  //#region src/v2019C1/extensions/lifecycle/instance/find-instance.ts
27167
- async function dr(e, t) {
27328
+ async function Tr(e, t) {
27168
27329
  let { targetParent: n, tagName: r, sourceUuid: i } = t;
27169
27330
  if (!i) return [];
27170
27331
  let a = await e.any.getTree(n);
27171
27332
  if (!a) return [];
27172
27333
  let o = [];
27173
- return await fr(e, {
27334
+ return await Er(e, {
27174
27335
  node: a,
27175
27336
  tagName: r,
27176
27337
  sourceUuid: i,
27177
27338
  out: o
27178
27339
  }), o;
27179
27340
  }
27180
- async function fr(e, t) {
27341
+ async function Er(e, t) {
27181
27342
  let { node: n, tagName: r, sourceUuid: i, out: a } = t;
27182
27343
  if (n.tagName === r && await e.any.getAttribute(n, { name: "templateUuid" }) === i) {
27183
27344
  a.push(n);
27184
27345
  return;
27185
27346
  }
27186
- for (let t of n.tree) await fr(e, {
27347
+ for (let t of n.tree) await Er(e, {
27187
27348
  node: t,
27188
27349
  tagName: r,
27189
27350
  sourceUuid: i,
27190
27351
  out: a
27191
27352
  });
27192
27353
  }
27193
- async function pr(e, t) {
27194
- let [n] = await X(e, t);
27354
+ async function Dr(e, t) {
27355
+ let [n] = await Y(e, t);
27195
27356
  return n;
27196
27357
  }
27197
- async function X(e, t) {
27198
- let { tagName: n, sourceUuid: r } = t;
27199
- if (!r) return [];
27200
- let i = await e.any.getRecordsByTagName(n), a = [];
27201
- for (let t of i) await e.any.getAttribute(t, { name: "templateUuid" }) === r && a.push(t);
27202
- return a;
27358
+ async function Y(e, t) {
27359
+ let { tagName: n, sourceUuid: r, sourceName: i } = t, a = await e.any.getRecordsByTagName(n), o = [];
27360
+ if (r) for (let t of a) await e.any.getAttribute(t, { name: "templateUuid" }) === r && o.push(t);
27361
+ if (o.length > 0) return o;
27362
+ if (!i) return [];
27363
+ let s = [];
27364
+ for (let t of a) await e.any.getAttribute(t, { name: "name" }) === i && s.push(t);
27365
+ return s.length === 1 ? s : [];
27203
27366
  }
27204
27367
  //#endregion
27205
27368
  //#region src/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.ts
27206
- async function mr(e, t) {
27369
+ async function Or(e, t) {
27207
27370
  let { sourceQuery: n, satelliteRefs: r, instanceSatelliteRefs: i, structure: a, accepted: o } = t;
27208
27371
  for (let t of r) {
27209
- let { uuid: r } = await n.any.getAttributes(t), i = await pr(e, {
27372
+ let { uuid: r, name: i } = await n.any.getAttributes(t), s = await Dr(e, {
27210
27373
  tagName: t.tagName,
27211
- sourceUuid: r
27374
+ sourceUuid: r,
27375
+ sourceName: i
27212
27376
  });
27213
- if (i) {
27214
- await qn(e, {
27377
+ if (s) {
27378
+ await ar(e, {
27215
27379
  sourceQuery: n,
27216
27380
  sourceRootRef: t,
27217
- instanceRootRef: i,
27381
+ instanceRootRef: s,
27218
27382
  accepted: o
27219
27383
  });
27220
27384
  continue;
27221
27385
  }
27222
27386
  if (o && t.id && !o.sourceIds.has(t.id)) continue;
27223
- let s = await K(e, {
27387
+ let c = await q(e, {
27224
27388
  sourceQuery: n,
27225
27389
  ref: t,
27226
- targetParent: await Y(n, t, a),
27390
+ targetParent: await J(n, t, a),
27227
27391
  strip: !1
27228
27392
  });
27229
- s && await V(e, {
27230
- mappings: s.mappings,
27393
+ c && await B(e, {
27394
+ mappings: c.mappings,
27231
27395
  mode: "stamp-template"
27232
27396
  });
27233
27397
  }
@@ -27243,21 +27407,21 @@ async function mr(e, t) {
27243
27407
  }
27244
27408
  //#endregion
27245
27409
  //#region src/v2019C1/extensions/lifecycle/cross-cutting/applied-satellites.constants.ts
27246
- var hr = ["Variable", "BehaviorDescription"];
27410
+ var kr = ["Variable", "BehaviorDescription"];
27247
27411
  //#endregion
27248
27412
  //#region src/v2019C1/extensions/lifecycle/cross-cutting/applied-satellites.ts
27249
- async function Z(e, t) {
27413
+ async function X(e, t) {
27250
27414
  let { primaryRef: n } = t, r = await e.any.getTree(n);
27251
27415
  if (!r) return [];
27252
27416
  let i = /* @__PURE__ */ new Set(), o = [];
27253
- gr({
27417
+ Ar({
27254
27418
  node: r,
27255
27419
  subtreeIds: i,
27256
27420
  targets: o
27257
27421
  });
27258
27422
  let s = /* @__PURE__ */ new Set(), c = [];
27259
- for (let t of o) for (let n of hr) {
27260
- let r = await L.query.findRefsPointingTo(e, {
27423
+ for (let t of o) for (let n of kr) {
27424
+ let r = await I.query.findRefsPointingTo(e, {
27261
27425
  target: a(t),
27262
27426
  containerTagName: n
27263
27427
  });
@@ -27265,10 +27429,10 @@ async function Z(e, t) {
27265
27429
  }
27266
27430
  return c;
27267
27431
  }
27268
- function gr(e) {
27432
+ function Ar(e) {
27269
27433
  let { node: t, subtreeIds: n, targets: r } = e;
27270
27434
  n.add(t.id), t.attributes.some((e) => e.name === "uuid") && r.push(t);
27271
- for (let e of t.tree) gr({
27435
+ for (let e of t.tree) Ar({
27272
27436
  node: e,
27273
27437
  subtreeIds: n,
27274
27438
  targets: r
@@ -27276,19 +27440,19 @@ function gr(e) {
27276
27440
  }
27277
27441
  //#endregion
27278
27442
  //#region src/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.ts
27279
- async function _r(e, t) {
27443
+ async function jr(e, t) {
27280
27444
  let { sourceQuery: n, primaryRef: r, instancePrimaryRef: i, structure: a, accepted: o } = t;
27281
- await mr(e, {
27445
+ await Or(e, {
27282
27446
  sourceQuery: n,
27283
- satelliteRefs: await Z(n, { primaryRef: r }),
27284
- instanceSatelliteRefs: i ? await Z(e, { primaryRef: i }) : [],
27447
+ satelliteRefs: await X(n, { primaryRef: r }),
27448
+ instanceSatelliteRefs: i ? await X(e, { primaryRef: i }) : [],
27285
27449
  structure: a,
27286
27450
  accepted: o
27287
27451
  });
27288
27452
  }
27289
27453
  //#endregion
27290
27454
  //#region src/v2019C1/extensions/lifecycle/instantiate/transaction/resolve-target-structure.ts
27291
- async function Q(e, t) {
27455
+ async function Z(e, t) {
27292
27456
  let n = await e.getRecord(t);
27293
27457
  s(n, {
27294
27458
  key: "ELEMENT_NOT_FOUND",
@@ -27299,12 +27463,12 @@ async function Q(e, t) {
27299
27463
  }
27300
27464
  //#endregion
27301
27465
  //#region src/v2019C1/extensions/lifecycle/cross-cutting/clone-applied-satellites.ts
27302
- async function vr(e, t) {
27303
- let { sourceQuery: n, primaryRef: r, structure: i, strip: a = !0 } = t, o = await Z(n, { primaryRef: r }), s = [];
27466
+ async function Mr(e, t) {
27467
+ let { sourceQuery: n, primaryRef: r, structure: i, strip: a = !0 } = t, o = await X(n, { primaryRef: r }), s = [];
27304
27468
  for (let t of o) {
27305
- let r = await yr(e, n, t);
27469
+ let r = await Nr(e, n, t);
27306
27470
  if (r) {
27307
- let i = await q(e, {
27471
+ let i = await nr(e, {
27308
27472
  sourceQuery: n,
27309
27473
  source: t,
27310
27474
  target: r,
@@ -27313,17 +27477,17 @@ async function vr(e, t) {
27313
27477
  s.push(...i);
27314
27478
  continue;
27315
27479
  }
27316
- let o = await K(e, {
27480
+ let o = await q(e, {
27317
27481
  sourceQuery: n,
27318
27482
  ref: t,
27319
- targetParent: await Y(n, t, i),
27483
+ targetParent: await J(n, t, i),
27320
27484
  ...a ? {} : { strip: !1 }
27321
27485
  });
27322
27486
  o && s.push(...o.mappings);
27323
27487
  }
27324
27488
  return s;
27325
27489
  }
27326
- async function yr(e, t, n) {
27490
+ async function Nr(e, t, n) {
27327
27491
  let r = await t.any.getRecord(n);
27328
27492
  if (!r) return;
27329
27493
  let i = await t.any.getAttribute(r, { name: "name" });
@@ -27339,8 +27503,8 @@ async function yr(e, t, n) {
27339
27503
  }
27340
27504
  //#endregion
27341
27505
  //#region src/v2019C1/extensions/lifecycle/layers/function/clone-function.ts
27342
- async function br(e, t) {
27343
- let { sourceQuery: n, functionRef: r, targetParentRef: i, omit: a, stripRootAttributes: o, keepNameTypesFrom: s } = t, { recordMappings: c } = await J(e, {
27506
+ async function Pr(e, t) {
27507
+ let { sourceQuery: n, functionRef: r, targetParentRef: i, omit: a, stripRootAttributes: o, keepNameTypesFrom: s } = t, { recordMappings: c } = await Xn(e, {
27344
27508
  sourceQuery: n,
27345
27509
  ref: r,
27346
27510
  targetParent: i,
@@ -27357,15 +27521,15 @@ async function br(e, t) {
27357
27521
  });
27358
27522
  return c;
27359
27523
  }
27360
- async function xr(e, t) {
27361
- let { sourceQuery: n, functionRef: r, structure: i, stripCategoriesUuid: a = !0 } = t, o = await Sr(n, r), s = [];
27524
+ async function Fr(e, t) {
27525
+ let { sourceQuery: n, functionRef: r, structure: i, stripCategoriesUuid: a = !0 } = t, o = await Ir(n, r), s = [];
27362
27526
  for (let t of o) {
27363
27527
  let r = {
27364
27528
  tagName: "FunctionCategory",
27365
27529
  id: t
27366
- }, o = await wr(e, n, t);
27530
+ }, o = await Rr(e, n, t);
27367
27531
  if (o) {
27368
- let t = await q(e, {
27532
+ let t = await nr(e, {
27369
27533
  sourceQuery: n,
27370
27534
  source: r,
27371
27535
  target: o,
@@ -27374,28 +27538,28 @@ async function xr(e, t) {
27374
27538
  s.push(...t);
27375
27539
  continue;
27376
27540
  }
27377
- let c = await K(e, {
27541
+ let c = await q(e, {
27378
27542
  sourceQuery: n,
27379
27543
  ref: r,
27380
- targetParent: await Y(n, r, i),
27544
+ targetParent: await J(n, r, i),
27381
27545
  ...a ? {} : { strip: !1 }
27382
27546
  });
27383
27547
  c && s.push(...c.mappings);
27384
27548
  }
27385
27549
  return s;
27386
27550
  }
27387
- async function Sr(e, t) {
27388
- let n = await Cr(e, t), r = /* @__PURE__ */ new Set();
27551
+ async function Ir(e, t) {
27552
+ let n = await Lr(e, t), r = /* @__PURE__ */ new Set();
27389
27553
  for (let { container: e } of n) e && r.add(e.id);
27390
27554
  return r;
27391
27555
  }
27392
- async function Cr(e, t) {
27393
- let n = await L.query.findRefsPointingTo(e, {
27556
+ async function Lr(e, t) {
27557
+ let n = await I.query.findRefsPointingTo(e, {
27394
27558
  target: t,
27395
27559
  containerTagName: "FunctionCategory"
27396
27560
  }), { SubFunction: r = [] } = await e.findDescendants(t, { collect: "SubFunction" });
27397
27561
  for (let t of r) {
27398
- let r = await L.query.findRefsPointingTo(e, {
27562
+ let r = await I.query.findRefsPointingTo(e, {
27399
27563
  target: {
27400
27564
  tagName: "SubFunction",
27401
27565
  id: t.id
@@ -27406,7 +27570,7 @@ async function Cr(e, t) {
27406
27570
  }
27407
27571
  return n;
27408
27572
  }
27409
- async function wr(e, t, n) {
27573
+ async function Rr(e, t, n) {
27410
27574
  let r = await t.getRecord({
27411
27575
  tagName: "FunctionCategory",
27412
27576
  id: n
@@ -27425,18 +27589,18 @@ async function wr(e, t, n) {
27425
27589
  }
27426
27590
  //#endregion
27427
27591
  //#region src/v2019C1/extensions/lifecycle/layers/function/satellites.constants.ts
27428
- var Tr = ["FunctionCategory"];
27592
+ var zr = ["FunctionCategory"];
27429
27593
  //#endregion
27430
27594
  //#region src/v2019C1/extensions/lifecycle/layers/function/satellites.ts
27431
- async function Er(e, t) {
27595
+ async function Br(e, t) {
27432
27596
  let { primaryRef: n } = t, r = [n], { SubFunction: i = [] } = await e.findDescendants(n, { collect: "SubFunction" });
27433
27597
  for (let e of i) r.push({
27434
27598
  tagName: "SubFunction",
27435
27599
  id: e.id
27436
27600
  });
27437
27601
  let o = /* @__PURE__ */ new Set(), s = [];
27438
- for (let t of r) for (let n of Tr) {
27439
- let r = await L.query.findRefsPointingTo(e, {
27602
+ for (let t of r) for (let n of zr) {
27603
+ let r = await I.query.findRefsPointingTo(e, {
27440
27604
  target: t,
27441
27605
  containerTagName: n
27442
27606
  });
@@ -27446,8 +27610,8 @@ async function Er(e, t) {
27446
27610
  }
27447
27611
  //#endregion
27448
27612
  //#region src/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.ts
27449
- async function Dr(e, t) {
27450
- let { sourceQuery: n, functionRef: r, targetParent: i, overrides: a, keepNameTypesFrom: o } = t, { recordMappings: s } = await J(e, {
27613
+ async function Vr(e, t) {
27614
+ let { sourceQuery: n, functionRef: r, targetParent: i, overrides: a, keepNameTypesFrom: o } = t, { recordMappings: s } = await Xn(e, {
27451
27615
  sourceQuery: n,
27452
27616
  ref: r,
27453
27617
  targetParent: i,
@@ -27457,18 +27621,18 @@ async function Dr(e, t) {
27457
27621
  to: "SubFunction"
27458
27622
  } : void 0,
27459
27623
  withTypes: { keepNameFrom: o }
27460
- }), c = await Q(e, i), l = await xr(e, {
27624
+ }), c = await Z(e, i), l = await Fr(e, {
27461
27625
  sourceQuery: n,
27462
27626
  functionRef: r,
27463
27627
  structure: c,
27464
27628
  stripCategoriesUuid: !1
27465
- }), u = await vr(e, {
27629
+ }), u = await Mr(e, {
27466
27630
  sourceQuery: n,
27467
27631
  primaryRef: r,
27468
27632
  structure: c,
27469
27633
  strip: !1
27470
27634
  });
27471
- await V(e, {
27635
+ await B(e, {
27472
27636
  mappings: [
27473
27637
  ...s,
27474
27638
  ...l,
@@ -27479,11 +27643,11 @@ async function Dr(e, t) {
27479
27643
  let d = s.find((e) => e.source.id === r.id);
27480
27644
  if (!d) throw Error(`instantiate.fsd: cloned root not found for ${r.tagName}#${r.id}`);
27481
27645
  let f = d.target;
27482
- return await G(e, {
27646
+ return await qn(e, {
27483
27647
  ref: f,
27484
27648
  parentRef: i,
27485
27649
  overrides: a?.get(r.id)
27486
- }), await vt(e, {
27650
+ }), await yt(e, {
27487
27651
  sourceQuery: n,
27488
27652
  targetRoot: f,
27489
27653
  fileType: "FSD"
@@ -27494,18 +27658,18 @@ async function Dr(e, t) {
27494
27658
  }
27495
27659
  //#endregion
27496
27660
  //#region src/v2019C1/extensions/lifecycle/layers/application/clone-application.ts
27497
- async function Or(e, t) {
27498
- let { sourceQuery: n, applicationRef: r, structure: i, omit: a, keepNameTypesFrom: o } = t, s = /* @__PURE__ */ new Map(), c = [], l = await Un(e, {
27661
+ async function Hr(e, t) {
27662
+ let { sourceQuery: n, applicationRef: r, structure: i, omit: a, keepNameTypesFrom: o } = t, s = /* @__PURE__ */ new Map(), c = [], l = await $n(e, {
27499
27663
  sourceQuery: n,
27500
27664
  scopeRef: r,
27501
27665
  refTagName: "FunctionRef",
27502
27666
  targetTagName: "Function"
27503
27667
  });
27504
27668
  for (let t of l) {
27505
- let r = await br(e, {
27669
+ let r = await Pr(e, {
27506
27670
  sourceQuery: n,
27507
27671
  functionRef: t,
27508
- targetParentRef: await Y(n, t, i),
27672
+ targetParentRef: await J(n, t, i),
27509
27673
  omit: a,
27510
27674
  keepNameTypesFrom: o
27511
27675
  });
@@ -27513,7 +27677,7 @@ async function Or(e, t) {
27513
27677
  for (let e of r) e.source.id && s.set(e.source.id, e.target);
27514
27678
  }
27515
27679
  for (let t of l) {
27516
- let r = await xr(e, {
27680
+ let r = await Fr(e, {
27517
27681
  sourceQuery: n,
27518
27682
  functionRef: t,
27519
27683
  structure: i,
@@ -27521,16 +27685,16 @@ async function Or(e, t) {
27521
27685
  });
27522
27686
  c.push(...r);
27523
27687
  }
27524
- let u = await kr(e, {
27688
+ let u = await Ur(e, {
27525
27689
  sourceQuery: n,
27526
27690
  applicationRef: r
27527
27691
  });
27528
27692
  for (let e of u) s.set(e.sourceId, e.existingRef);
27529
- let d = new Set(["FunctionRef", "FunctionCategoryRef"]), f = await Gn(e, {
27693
+ let d = new Set(["FunctionRef", "FunctionCategoryRef"]), f = await tr(e, {
27530
27694
  sourceQuery: n,
27531
27695
  scopeTagName: "Application",
27532
27696
  scopeRef: r,
27533
- resolveTargetParent: Kn({
27697
+ resolveTargetParent: ir({
27534
27698
  sourceQuery: n,
27535
27699
  structure: i,
27536
27700
  cloneIndex: s
@@ -27540,10 +27704,10 @@ async function Or(e, t) {
27540
27704
  omit: a
27541
27705
  });
27542
27706
  c.push(...f);
27543
- let p = await K(e, {
27707
+ let p = await q(e, {
27544
27708
  sourceQuery: n,
27545
27709
  ref: r,
27546
- targetParent: await Y(n, r, i),
27710
+ targetParent: await J(n, r, i),
27547
27711
  omit: a
27548
27712
  });
27549
27713
  p && c.push(...p.mappings);
@@ -27559,7 +27723,7 @@ async function Or(e, t) {
27559
27723
  }
27560
27724
  return c;
27561
27725
  }
27562
- async function kr(e, t) {
27726
+ async function Ur(e, t) {
27563
27727
  let { sourceQuery: n, applicationRef: r } = t, { AllocationRoleRef: i = [] } = await n.findDescendants(r, { collect: "AllocationRoleRef" }), a = [], o = /* @__PURE__ */ new Set();
27564
27728
  for (let t of i) {
27565
27729
  let r = t.attributes.find((e) => e.name === "allocationRoleUuid")?.value;
@@ -27583,7 +27747,7 @@ async function kr(e, t) {
27583
27747
  tagName: "AllocationRole",
27584
27748
  id: c.id
27585
27749
  };
27586
- await q(e, {
27750
+ await Yn(e, {
27587
27751
  sourceQuery: n,
27588
27752
  source: {
27589
27753
  tagName: "AllocationRole",
@@ -27602,20 +27766,20 @@ async function kr(e, t) {
27602
27766
  }
27603
27767
  //#endregion
27604
27768
  //#region src/v2019C1/extensions/lifecycle/layers/application/satellites.constants.ts
27605
- var Ar = [{
27769
+ var Wr = [{
27606
27770
  refTag: "AllocationRoleRef",
27607
27771
  uuidAttr: "allocationRoleUuid",
27608
27772
  targetTag: "AllocationRole"
27609
27773
  }];
27610
27774
  //#endregion
27611
27775
  //#region src/v2019C1/extensions/lifecycle/layers/application/satellites.ts
27612
- async function jr(e, t) {
27776
+ async function Gr(e, t) {
27613
27777
  let { applicationRef: n } = t, r = await e.any.getTree(n);
27614
27778
  if (!r) return [];
27615
27779
  let i = /* @__PURE__ */ new Set(), o = [];
27616
- for (let t of Ar) {
27780
+ for (let t of Wr) {
27617
27781
  let n = /* @__PURE__ */ new Set();
27618
- await Mr(e, {
27782
+ await Kr(e, {
27619
27783
  node: r,
27620
27784
  refTag: t.refTag,
27621
27785
  uuidAttr: t.uuidAttr,
@@ -27631,13 +27795,13 @@ async function jr(e, t) {
27631
27795
  }
27632
27796
  return o;
27633
27797
  }
27634
- async function Mr(e, t) {
27798
+ async function Kr(e, t) {
27635
27799
  let { node: n, refTag: r, uuidAttr: i, out: a } = t;
27636
27800
  if (n.tagName === r) {
27637
27801
  let t = await e.any.getAttribute(n, { name: i });
27638
27802
  t && a.add(t);
27639
27803
  }
27640
- for (let t of n.tree) await Mr(e, {
27804
+ for (let t of n.tree) await Kr(e, {
27641
27805
  node: t,
27642
27806
  refTag: r,
27643
27807
  uuidAttr: i,
@@ -27646,32 +27810,32 @@ async function Mr(e, t) {
27646
27810
  }
27647
27811
  //#endregion
27648
27812
  //#region src/v2019C1/extensions/lifecycle/instantiate/transaction/asd.ts
27649
- async function Nr(e, t) {
27650
- let { sourceQuery: n, applicationRef: r, targetParent: i, overrides: a, keepNameTypesFrom: o } = t, s = await Q(e, i), c = await Un(e, {
27813
+ async function qr(e, t) {
27814
+ let { sourceQuery: n, applicationRef: r, targetParent: i, overrides: a, keepNameTypesFrom: o } = t, s = await Z(e, i), c = await $n(e, {
27651
27815
  sourceQuery: n,
27652
27816
  scopeRef: r,
27653
27817
  refTagName: "FunctionRef",
27654
27818
  targetTagName: "Function"
27655
- }), l = await Or(e, {
27819
+ }), l = await Hr(e, {
27656
27820
  sourceQuery: n,
27657
27821
  applicationRef: r,
27658
27822
  structure: s,
27659
27823
  keepNameTypesFrom: o
27660
- }), u = await vr(e, {
27824
+ }), u = await Mr(e, {
27661
27825
  sourceQuery: n,
27662
27826
  primaryRef: r,
27663
27827
  structure: s,
27664
27828
  strip: !1
27665
27829
  });
27666
- await V(e, {
27830
+ await B(e, {
27667
27831
  mappings: [...l, ...u],
27668
27832
  mode: "stamp-template"
27669
27833
  });
27670
27834
  for (let t of c) {
27671
27835
  let r = l.find((e) => e.source.id === t.id);
27672
27836
  if (!r) continue;
27673
- let i = await Y(n, t, s);
27674
- await G(e, {
27837
+ let i = await J(n, t, s);
27838
+ await qn(e, {
27675
27839
  ref: r.target,
27676
27840
  parentRef: i,
27677
27841
  overrides: a?.get(t.id)
@@ -27679,12 +27843,12 @@ async function Nr(e, t) {
27679
27843
  }
27680
27844
  let d = l.find((e) => e.source.id === r.id);
27681
27845
  if (!d) throw Error(`instantiate.asd: cloned Application not found for ${r.id}`);
27682
- let f = await Y(n, r, s);
27683
- await G(e, {
27846
+ let f = await J(n, r, s);
27847
+ await qn(e, {
27684
27848
  ref: d.target,
27685
27849
  parentRef: f,
27686
27850
  overrides: a?.get(r.id)
27687
- }), await vt(e, {
27851
+ }), await yt(e, {
27688
27852
  sourceQuery: n,
27689
27853
  targetRoot: d.target,
27690
27854
  fileType: "ASD"
@@ -27698,34 +27862,35 @@ async function Nr(e, t) {
27698
27862
  }
27699
27863
  //#endregion
27700
27864
  //#region src/v2019C1/extensions/lifecycle/update/transaction/function-satellites.ts
27701
- async function Pr(e, t) {
27702
- let { sourceQuery: n, functionRef: r, instanceRef: i, targetParent: a, accepted: o } = t, s = await Er(n, { primaryRef: r }), c = !1;
27865
+ async function Jr(e, t) {
27866
+ let { sourceQuery: n, functionRef: r, instanceRef: i, targetParent: a, accepted: o } = t, s = await Br(n, { primaryRef: r }), c = !1;
27703
27867
  for (let t of s) {
27704
- let { uuid: r } = await n.any.getAttributes(t), i = await pr(e, {
27868
+ let { uuid: r, name: i } = await n.any.getAttributes(t), a = await Dr(e, {
27705
27869
  tagName: t.tagName,
27706
- sourceUuid: r
27870
+ sourceUuid: r,
27871
+ sourceName: i
27707
27872
  });
27708
- if (!i) {
27873
+ if (!a) {
27709
27874
  c = !0;
27710
27875
  continue;
27711
27876
  }
27712
- await qn(e, {
27877
+ await ar(e, {
27713
27878
  sourceQuery: n,
27714
27879
  sourceRootRef: t,
27715
- instanceRootRef: i,
27880
+ instanceRootRef: a,
27716
27881
  accepted: o
27717
27882
  });
27718
27883
  }
27719
- c && (!o || o.sourceIds.has(r.id)) && await V(e, {
27720
- mappings: await xr(e, {
27884
+ c && (!o || o.sourceIds.has(r.id)) && await B(e, {
27885
+ mappings: await Fr(e, {
27721
27886
  sourceQuery: n,
27722
27887
  functionRef: r,
27723
- structure: await Q(e, a),
27888
+ structure: await Z(e, a),
27724
27889
  stripCategoriesUuid: !1
27725
27890
  }),
27726
27891
  mode: "stamp-template"
27727
27892
  });
27728
- let l = await Er(e, { primaryRef: {
27893
+ let l = await Br(e, { primaryRef: {
27729
27894
  tagName: "Function",
27730
27895
  id: i.id
27731
27896
  } });
@@ -27741,22 +27906,22 @@ async function Pr(e, t) {
27741
27906
  }
27742
27907
  //#endregion
27743
27908
  //#region src/v2019C1/extensions/lifecycle/update/transaction/fsd.ts
27744
- async function Fr(e, t) {
27745
- let { sourceQuery: n, functionRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, { uuid: l } = await n.getAttributes(r), u = a === "instantiate" ? [] : await dr(e, {
27909
+ async function Yr(e, t) {
27910
+ let { sourceQuery: n, functionRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, { uuid: l } = await n.getAttributes(r), u = a === "instantiate" ? [] : await Tr(e, {
27746
27911
  targetParent: i,
27747
27912
  tagName: "Function",
27748
27913
  sourceUuid: l
27749
- }), d = o?.groups ?? [];
27914
+ }), d = o ? W(o) : [];
27750
27915
  if (u.length === 0) {
27751
- let t = s ? sr({
27916
+ let t = s ? br({
27752
27917
  groups: d,
27753
27918
  decisions: s
27754
- }) : void 0, a = s ? ir({
27919
+ }) : void 0, a = s ? _r({
27755
27920
  groups: d,
27756
27921
  decisions: s
27757
27922
  }) : void 0;
27758
27923
  if (t && !t.sourceIds.has(r.id)) return [];
27759
- let { functionRef: o } = await Dr(e, {
27924
+ let { functionRef: o } = await Vr(e, {
27760
27925
  sourceQuery: n,
27761
27926
  functionRef: r,
27762
27927
  targetParent: i,
@@ -27765,27 +27930,26 @@ async function Fr(e, t) {
27765
27930
  });
27766
27931
  return [o];
27767
27932
  }
27768
- let f = await Q(e, i);
27933
+ let f = await Z(e, i);
27769
27934
  for (let t of u) {
27770
- let { instanceAccepted: a, instanceOverrides: o } = Ir({
27771
- instanceId: t.id,
27772
- groups: d,
27935
+ let { instanceAccepted: a, instanceOverrides: l } = Xr({
27936
+ instanceGroups: fr(o, t.id),
27773
27937
  decisions: s
27774
27938
  });
27775
- await qn(e, {
27939
+ await ar(e, {
27776
27940
  sourceQuery: n,
27777
27941
  sourceRootRef: r,
27778
27942
  instanceRootRef: t,
27779
27943
  accepted: a,
27780
- overrides: o,
27944
+ overrides: l,
27781
27945
  keepNameTypesFrom: c
27782
- }), await Pr(e, {
27946
+ }), await Jr(e, {
27783
27947
  sourceQuery: n,
27784
27948
  functionRef: r,
27785
27949
  instanceRef: t,
27786
27950
  targetParent: i,
27787
27951
  accepted: a
27788
- }), await _r(e, {
27952
+ }), await jr(e, {
27789
27953
  sourceQuery: n,
27790
27954
  primaryRef: r,
27791
27955
  instancePrimaryRef: {
@@ -27801,36 +27965,34 @@ async function Fr(e, t) {
27801
27965
  id: e.id
27802
27966
  }));
27803
27967
  }
27804
- function Ir(e) {
27805
- let { instanceId: t, groups: n, decisions: r } = e;
27806
- if (!r) return {
27807
- instanceAccepted: void 0,
27808
- instanceOverrides: void 0
27809
- };
27810
- let i = n.filter((e) => e.instanceScopeId === t);
27811
- return {
27812
- instanceAccepted: sr({
27813
- groups: i,
27814
- decisions: r
27968
+ function Xr(e) {
27969
+ let { instanceGroups: t, decisions: n } = e;
27970
+ return n ? {
27971
+ instanceAccepted: br({
27972
+ groups: t,
27973
+ decisions: n
27815
27974
  }),
27816
- instanceOverrides: ir({
27817
- groups: i,
27818
- decisions: r
27975
+ instanceOverrides: _r({
27976
+ groups: t,
27977
+ decisions: n
27819
27978
  })
27979
+ } : {
27980
+ instanceAccepted: void 0,
27981
+ instanceOverrides: void 0
27820
27982
  };
27821
27983
  }
27822
27984
  //#endregion
27823
27985
  //#region src/v2019C1/extensions/lifecycle/update/transaction/asd.ts
27824
- async function Lr(e, t) {
27825
- let { sourceQuery: n, applicationRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, { uuid: l } = await n.getAttributes(r), u = a === "instantiate" ? [] : await X(e, {
27986
+ async function Zr(e, t) {
27987
+ let { sourceQuery: n, applicationRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, { uuid: l } = await n.getAttributes(r), u = a === "instantiate" ? [] : await Y(e, {
27826
27988
  tagName: "Application",
27827
27989
  sourceUuid: l
27828
- }), d = o?.groups ?? [];
27990
+ }), d = o ? W(o) : [];
27829
27991
  if (u.length === 0) {
27830
- let t = s ? sr({
27992
+ let t = s ? br({
27831
27993
  groups: d,
27832
27994
  decisions: s
27833
- }) : void 0, a = s ? ir({
27995
+ }) : void 0, a = s ? _r({
27834
27996
  groups: d,
27835
27997
  decisions: s
27836
27998
  }) : void 0;
@@ -27838,7 +28000,7 @@ async function Lr(e, t) {
27838
28000
  applications: [],
27839
28001
  functions: []
27840
28002
  };
27841
- let { applicationRef: o, composedFunctionRefs: l } = await Nr(e, {
28003
+ let { applicationRef: o, composedFunctionRefs: l } = await qr(e, {
27842
28004
  sourceQuery: n,
27843
28005
  applicationRef: r,
27844
28006
  targetParent: i,
@@ -27850,12 +28012,12 @@ async function Lr(e, t) {
27850
28012
  functions: l
27851
28013
  };
27852
28014
  }
27853
- let f = await Q(e, i), p = await jr(n, { applicationRef: r }), m = [];
28015
+ let f = await Z(e, i), p = await Gr(n, { applicationRef: r }), m = [];
27854
28016
  for (let t of u) {
27855
- let i = d.filter((e) => e.instanceScopeId === t.id), a = s ? sr({
28017
+ let i = fr(o, t.id), a = s ? br({
27856
28018
  groups: i,
27857
28019
  decisions: s
27858
- }) : void 0, o = s ? ir({
28020
+ }) : void 0, l = s ? _r({
27859
28021
  groups: i,
27860
28022
  decisions: s
27861
28023
  }) : void 0;
@@ -27863,24 +28025,24 @@ async function Lr(e, t) {
27863
28025
  tagName: "Application",
27864
28026
  id: t.id
27865
28027
  });
27866
- let l = await jr(e, { applicationRef: {
28028
+ let u = await Gr(e, { applicationRef: {
27867
28029
  tagName: "Application",
27868
28030
  id: t.id
27869
28031
  } });
27870
- await qn(e, {
28032
+ await ar(e, {
27871
28033
  sourceQuery: n,
27872
28034
  sourceRootRef: r,
27873
28035
  instanceRootRef: t,
27874
28036
  accepted: a,
27875
- overrides: o,
28037
+ overrides: l,
27876
28038
  keepNameTypesFrom: c
27877
- }), await mr(e, {
28039
+ }), await Or(e, {
27878
28040
  sourceQuery: n,
27879
28041
  satelliteRefs: p,
27880
- instanceSatelliteRefs: l,
28042
+ instanceSatelliteRefs: u,
27881
28043
  structure: f,
27882
28044
  accepted: a
27883
- }), await _r(e, {
28045
+ }), await jr(e, {
27884
28046
  sourceQuery: n,
27885
28047
  primaryRef: r,
27886
28048
  instancePrimaryRef: {
@@ -27893,7 +28055,7 @@ async function Lr(e, t) {
27893
28055
  }
27894
28056
  return {
27895
28057
  applications: m,
27896
- functions: await Rr(e, {
28058
+ functions: await Qr(e, {
27897
28059
  sourceQuery: n,
27898
28060
  applicationRef: r,
27899
28061
  targetParent: i,
@@ -27904,10 +28066,10 @@ async function Lr(e, t) {
27904
28066
  })
27905
28067
  };
27906
28068
  }
27907
- async function Rr(e, t) {
27908
- let { sourceQuery: n, applicationRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, l = await lr(n, r);
28069
+ async function Qr(e, t) {
28070
+ let { sourceQuery: n, applicationRef: r, targetParent: i, scenario: a, report: o, decisions: s, keepNameTypesFrom: c } = t, l = await Cr(n, r);
27909
28071
  if (l.size === 0) return [];
27910
- let u = await Q(e, i), d = [];
28072
+ let u = await Z(e, i), d = [];
27911
28073
  for (let t of l) {
27912
28074
  let [r] = await n.any.findByAttributes({
27913
28075
  tagName: "Function",
@@ -27917,10 +28079,10 @@ async function Rr(e, t) {
27917
28079
  let i = {
27918
28080
  tagName: "Function",
27919
28081
  id: r.id
27920
- }, l = await Fr(e, {
28082
+ }, l = await Yr(e, {
27921
28083
  sourceQuery: n,
27922
28084
  functionRef: i,
27923
- targetParent: await Y(n, i, u),
28085
+ targetParent: await J(n, i, u),
27924
28086
  scenario: a,
27925
28087
  report: o,
27926
28088
  decisions: s,
@@ -27932,29 +28094,29 @@ async function Rr(e, t) {
27932
28094
  }
27933
28095
  //#endregion
27934
28096
  //#region src/v2019C1/extensions/lifecycle/update/index.ts
27935
- var zr = /* @__PURE__ */ l({
27936
- asd: () => Lr,
27937
- fsd: () => Fr
28097
+ var $r = /* @__PURE__ */ l({
28098
+ asd: () => Zr,
28099
+ fsd: () => Yr
27938
28100
  });
27939
28101
  //#endregion
27940
28102
  //#region src/v2019C1/extensions/lifecycle/apply/apply.ts
27941
- async function Br(e, t) {
28103
+ async function ei(e, t) {
27942
28104
  let { report: n, decisions: r } = t;
27943
- return r ? (ar({
27944
- groups: n.groups,
28105
+ return r ? (vr({
28106
+ groups: W(n),
27945
28107
  decisions: r
27946
28108
  }), {
27947
28109
  report: n,
27948
- instances: await Hr(e, t, n, r)
28110
+ instances: await ni(e, t, n, r)
27949
28111
  }) : n.needsDecisions ? {
27950
28112
  report: n,
27951
- instances: Vr(t.verb)
28113
+ instances: ti(t.verb)
27952
28114
  } : {
27953
28115
  report: n,
27954
- instances: await Hr(e, t, n, void 0)
28116
+ instances: await ni(e, t, n, void 0)
27955
28117
  };
27956
28118
  }
27957
- function Vr(e) {
28119
+ function ti(e) {
27958
28120
  return e === "fsd" ? {
27959
28121
  verb: "fsd",
27960
28122
  functions: []
@@ -27964,10 +28126,10 @@ function Vr(e) {
27964
28126
  functions: []
27965
28127
  };
27966
28128
  }
27967
- async function Hr(e, t, n, r) {
28129
+ async function ni(e, t, n, r) {
27968
28130
  if (t.verb === "fsd") return {
27969
28131
  verb: "fsd",
27970
- functions: await Fr(e, {
28132
+ functions: await Yr(e, {
27971
28133
  sourceQuery: t.sourceQuery,
27972
28134
  functionRef: t.ref,
27973
28135
  targetParent: t.anchor,
@@ -27977,7 +28139,7 @@ async function Hr(e, t, n, r) {
27977
28139
  keepNameTypesFrom: t.keepNameTypesFrom
27978
28140
  })
27979
28141
  };
27980
- let { applications: i, functions: a } = await Lr(e, {
28142
+ let { applications: i, functions: a } = await Zr(e, {
27981
28143
  sourceQuery: t.sourceQuery,
27982
28144
  applicationRef: t.ref,
27983
28145
  targetParent: t.anchor,
@@ -27994,7 +28156,7 @@ async function Hr(e, t, n, r) {
27994
28156
  }
27995
28157
  //#endregion
27996
28158
  //#region src/v2019C1/extensions/lifecycle/extract/transaction/ensure-substation-structure.ts
27997
- async function Ur(e) {
28159
+ async function ri(e) {
27998
28160
  let t = await e.getRoot(), n = await e.ensureChild(t, {
27999
28161
  tagName: "Substation",
28000
28162
  attributes: { name: "TEMPLATE" }
@@ -28013,12 +28175,12 @@ async function Ur(e) {
28013
28175
  }
28014
28176
  //#endregion
28015
28177
  //#region src/v2019C1/extensions/lifecycle/extract/transaction/post-extraction-cleanup.ts
28016
- async function Wr(e) {
28017
- await R.transaction.orphanUuidRefs(e), await R.transaction.resetLNode(e), await R.transaction.pruneEmptyContainers(e);
28178
+ async function ii(e) {
28179
+ await L.transaction.orphanUuidRefs(e), await L.transaction.resetLNode(e), await L.transaction.pruneEmptyContainers(e);
28018
28180
  }
28019
28181
  //#endregion
28020
28182
  //#region src/v2019C1/extensions/lifecycle/layers/omit-filters.ts
28021
- var Gr = [
28183
+ var ai = [
28022
28184
  "FunctionSclRef",
28023
28185
  "ApplicationSclRef",
28024
28186
  "GeneralEquipment",
@@ -28026,9 +28188,9 @@ var Gr = [
28026
28188
  ];
28027
28189
  //#endregion
28028
28190
  //#region src/v2019C1/extensions/lifecycle/extract/transaction/asd.ts
28029
- async function Kr(e, t) {
28030
- let { sourceQuery: n, applicationRef: r, tool: i, who: a, nameStructure: o } = t, s = await Ur(e), c = await e.getAttribute(r, { name: "name" }) || "Unnamed Application";
28031
- await en.transaction.addEntry(e, {
28191
+ async function oi(e, t) {
28192
+ let { sourceQuery: n, applicationRef: r, tool: i, who: a, nameStructure: o } = t, s = await ri(e), c = await e.getAttribute(r, { name: "name" }) || "Unnamed Application";
28193
+ await tn.transaction.addEntry(e, {
28032
28194
  filename: `ASD_${c.replace(/\s+/g, "_")}`,
28033
28195
  header: {
28034
28196
  fileType: "ASD",
@@ -28041,17 +28203,17 @@ async function Kr(e, t) {
28041
28203
  what: "ASD initialization",
28042
28204
  why: "Application was extracted from a previous file"
28043
28205
  }
28044
- }), await Or(e, {
28206
+ }), await Hr(e, {
28045
28207
  sourceQuery: n,
28046
28208
  applicationRef: r,
28047
28209
  structure: s,
28048
- omit: Gr
28049
- }), await Wr(e);
28210
+ omit: ai
28211
+ }), await ii(e);
28050
28212
  }
28051
28213
  //#endregion
28052
28214
  //#region src/v2019C1/extensions/lifecycle/extract/transaction/omit.ts
28053
- var qr = [
28054
- ...Gr,
28215
+ var si = [
28216
+ ...ai,
28055
28217
  "DOS",
28056
28218
  "Labels",
28057
28219
  "LNodeInputs",
@@ -28063,12 +28225,12 @@ var qr = [
28063
28225
  ];
28064
28226
  //#endregion
28065
28227
  //#region src/v2019C1/extensions/lifecycle/extract/transaction/fsd.ts
28066
- async function Jr(e, t) {
28067
- let { sourceQuery: n, functionRef: r, tool: i, who: a, nameStructure: o } = t, s = await Ur(e), c = {
28228
+ async function ci(e, t) {
28229
+ let { sourceQuery: n, functionRef: r, tool: i, who: a, nameStructure: o } = t, s = await ri(e), c = {
28068
28230
  tagName: s.Substation.tagName,
28069
28231
  id: s.Substation.id
28070
28232
  }, l = await n.getAttribute(r, { name: "name" }) || "Unnamed Function";
28071
- await en.transaction.addEntry(e, {
28233
+ await tn.transaction.addEntry(e, {
28072
28234
  filename: `FSD_${l.replace(/\s+/g, "_")}`,
28073
28235
  header: {
28074
28236
  fileType: "FSD",
@@ -28081,39 +28243,39 @@ async function Jr(e, t) {
28081
28243
  what: "FSD initialization",
28082
28244
  why: "Function was extracted from a previous file"
28083
28245
  }
28084
- }), await br(e, {
28246
+ }), await Pr(e, {
28085
28247
  sourceQuery: n,
28086
28248
  functionRef: r,
28087
28249
  targetParentRef: c,
28088
- omit: qr,
28250
+ omit: si,
28089
28251
  stripRootAttributes: ["templateUuid"]
28090
- }), await xr(e, {
28252
+ }), await Fr(e, {
28091
28253
  sourceQuery: n,
28092
28254
  functionRef: r,
28093
28255
  structure: s
28094
- }), await Wr(e);
28256
+ }), await ii(e);
28095
28257
  }
28096
28258
  //#endregion
28097
28259
  //#region src/v2019C1/extensions/lifecycle/extract/index.ts
28098
- var Yr = /* @__PURE__ */ l({
28099
- asd: () => Kr,
28100
- ensureSubstationTemplateStructure: () => Ur,
28101
- fsd: () => Jr
28102
- }), Xr = /* @__PURE__ */ l({
28103
- asd: () => Nr,
28104
- fsd: () => Dr,
28105
- resolveTargetStructure: () => Q
28260
+ var li = /* @__PURE__ */ l({
28261
+ asd: () => oi,
28262
+ ensureSubstationTemplateStructure: () => ri,
28263
+ fsd: () => ci
28264
+ }), ui = /* @__PURE__ */ l({
28265
+ asd: () => qr,
28266
+ fsd: () => Vr,
28267
+ resolveTargetStructure: () => Z
28106
28268
  });
28107
28269
  //#endregion
28108
28270
  //#region src/v2019C1/extensions/lifecycle/report/mark-placement-conflicts.ts
28109
- async function Zr(e, t, n) {
28110
- if (t.scenario === "instantiate") for (let r of n.groups) {
28271
+ async function di(e, t, n) {
28272
+ if (t.scenario === "instantiate") for (let r of W(n)) {
28111
28273
  if (r.change !== "added") continue;
28112
28274
  let i = r.primary.sourceRef;
28113
28275
  if (!i) continue;
28114
28276
  let a = await t.sourceQuery.getAttributes(i), o = a.uuid;
28115
28277
  if (!o) continue;
28116
- let s = r.primary.tagName, [c] = await X(e, {
28278
+ let s = r.primary.tagName, [c] = await Y(e, {
28117
28279
  tagName: s,
28118
28280
  sourceUuid: o
28119
28281
  });
@@ -28126,7 +28288,7 @@ async function Zr(e, t, n) {
28126
28288
  let n = {
28127
28289
  tagName: t.tagName,
28128
28290
  id: t.id
28129
- }, r = await W(e, {
28291
+ }, r = await K(e, {
28130
28292
  parentRef: n,
28131
28293
  childTag: s,
28132
28294
  candidate: a
@@ -28137,9 +28299,9 @@ async function Zr(e, t, n) {
28137
28299
  }
28138
28300
  }
28139
28301
  if (!d || !u) continue;
28140
- let f = d.fields.find((e) => kn(U(s, e)));
28302
+ let f = d.fields.find((e) => In(G(s, e)));
28141
28303
  if (f) {
28142
- let t = await zn(e, {
28304
+ let t = await Kn(e, {
28143
28305
  parentRef: u,
28144
28306
  childTag: s,
28145
28307
  candidate: a,
@@ -28154,22 +28316,23 @@ async function Zr(e, t, n) {
28154
28316
  }
28155
28317
  //#endregion
28156
28318
  //#region src/v2019C1/extensions/lifecycle/report/query/satellite-companions.ts
28157
- async function Qr(e, t) {
28319
+ async function fi(e, t) {
28158
28320
  let { sourceQuery: n, primaryRef: r, satelliteRefs: i, instanceSatelliteRefs: a, report: o, instanceScopeId: s } = t, c = o.groups.find((e) => e.primary.sourceRef?.id === r.id);
28159
- for (let t of i) {
28160
- let { uuid: r } = await n.any.getAttributes(t), i = await mn({
28321
+ for (let r of i) {
28322
+ let { uuid: i, name: a } = await n.any.getAttributes(r), l = await hn({
28161
28323
  sourceQuery: n,
28162
28324
  targetQuery: e,
28163
- sourceRootRef: t,
28164
- instanceRootRef: await pr(e, {
28165
- tagName: t.tagName,
28166
- sourceUuid: r
28167
- })
28325
+ sourceRootRef: r,
28326
+ instanceRootRef: await Dr(e, {
28327
+ tagName: r.tagName,
28328
+ sourceUuid: i,
28329
+ sourceName: a
28330
+ }),
28331
+ keepLeftoverRefs: !0,
28332
+ leftoverRefPolicy: await pi(e, n, r),
28333
+ refsAlwaysAdded: t.refsAlwaysAdded ?? !1
28168
28334
  });
28169
- i.summary.added + i.summary.removed + i.summary.modified > 0 && (c ? (i.root.change !== "unchanged" && c.companions.push(i.root), ln({
28170
- node: i.root,
28171
- out: c.companions
28172
- })) : (o.groups.push(...sn(i.root, s)), o.needsDecisions = !0));
28335
+ l.summary.added + l.summary.removed + l.summary.modified > 0 && (c ? c.companions.push(l.root) : o.groups.push(...cn(l.root, s)));
28173
28336
  }
28174
28337
  if (c) for (let t of a ?? []) {
28175
28338
  let { templateUuid: r } = await e.any.getAttributes(t);
@@ -28187,62 +28350,99 @@ async function Qr(e, t) {
28187
28350
  }
28188
28351
  return o;
28189
28352
  }
28353
+ async function pi(e, t, n) {
28354
+ let r = await t.any.getTree(n), i = /* @__PURE__ */ new Set();
28355
+ return r && await mi(t, r, i), async (n) => {
28356
+ let r = O[n.tagName];
28357
+ if (!r) return "keep";
28358
+ for (let a of r) {
28359
+ let r = await e.any.getAttribute(n, { name: a.attribute.uuid });
28360
+ if (!r) continue;
28361
+ let o = await hi(e, r, a.target);
28362
+ if (!o) continue;
28363
+ let s = await e.any.getAttribute(o, { name: "templateUuid" });
28364
+ if (s && await hi(t, s, a.target) && !i.has(s)) return "removed";
28365
+ }
28366
+ return "keep";
28367
+ };
28368
+ }
28369
+ async function mi(e, t, n) {
28370
+ let r = O[t.tagName];
28371
+ if (r) for (let i of r) {
28372
+ let r = await e.any.getAttribute(t, { name: i.attribute.uuid });
28373
+ r && n.add(r);
28374
+ }
28375
+ for (let r of t.tree) await mi(e, r, n);
28376
+ }
28377
+ async function hi(e, t, n) {
28378
+ for (let r of n) {
28379
+ let [n] = await e.any.findByAttributes({
28380
+ tagName: r,
28381
+ attributes: { uuid: t }
28382
+ });
28383
+ if (n) return n;
28384
+ }
28385
+ }
28190
28386
  //#endregion
28191
28387
  //#region src/v2019C1/extensions/lifecycle/report/query/cross-cutting-satellites.ts
28192
- async function $r(e, t) {
28388
+ async function gi(e, t) {
28193
28389
  let { sourceQuery: n, primaryRef: r, instancePrimaryRef: i, report: a } = t;
28194
- return Qr(e, {
28390
+ return fi(e, {
28195
28391
  sourceQuery: n,
28196
28392
  primaryRef: r,
28197
- satelliteRefs: await Z(n, { primaryRef: r }),
28198
- instanceSatelliteRefs: i ? await Z(e, { primaryRef: i }) : [],
28393
+ satelliteRefs: await X(n, { primaryRef: r }),
28394
+ instanceSatelliteRefs: i ? await X(e, { primaryRef: i }) : [],
28199
28395
  report: a,
28200
- instanceScopeId: i?.id
28396
+ instanceScopeId: i?.id,
28397
+ refsAlwaysAdded: t.refsAlwaysAdded ?? !1
28201
28398
  });
28202
28399
  }
28203
28400
  //#endregion
28204
28401
  //#region src/v2019C1/extensions/lifecycle/report/query/report-function-satellites.ts
28205
- async function ei(e, t) {
28402
+ async function _i(e, t) {
28206
28403
  let { sourceQuery: n, functionRef: r, instance: i, report: a } = t;
28207
- return Qr(e, {
28404
+ return fi(e, {
28208
28405
  sourceQuery: n,
28209
28406
  primaryRef: r,
28210
- satelliteRefs: await Er(n, { primaryRef: r }),
28211
- instanceSatelliteRefs: i ? await Er(e, { primaryRef: {
28407
+ satelliteRefs: await Br(n, { primaryRef: r }),
28408
+ instanceSatelliteRefs: i ? await Br(e, { primaryRef: {
28212
28409
  tagName: "Function",
28213
28410
  id: i.id
28214
28411
  } }) : [],
28215
28412
  report: a,
28216
- instanceScopeId: i?.id
28413
+ instanceScopeId: i?.id,
28414
+ refsAlwaysAdded: t.refsAlwaysAdded ?? !1
28217
28415
  });
28218
28416
  }
28219
28417
  //#endregion
28220
28418
  //#region src/v2019C1/extensions/lifecycle/report/query/report-function.ts
28221
- async function ti(e, t) {
28222
- let { sourceQuery: n, functionRef: r, instance: i } = t, a = await ei(e, {
28419
+ async function vi(e, t) {
28420
+ let { sourceQuery: n, functionRef: r, instance: i } = t, a = t.refsAlwaysAdded ?? !1, o = await _i(e, {
28223
28421
  sourceQuery: n,
28224
28422
  functionRef: r,
28225
28423
  instance: i,
28226
- report: await mn({
28424
+ report: await hn({
28227
28425
  sourceQuery: n,
28228
28426
  targetQuery: e,
28229
28427
  sourceRootRef: r,
28230
28428
  instanceRootRef: i
28231
- })
28429
+ }),
28430
+ refsAlwaysAdded: a
28232
28431
  });
28233
- return $r(e, {
28432
+ return gi(e, {
28234
28433
  sourceQuery: n,
28235
28434
  primaryRef: r,
28236
28435
  instancePrimaryRef: i ? {
28237
28436
  tagName: "Function",
28238
28437
  id: i.id
28239
28438
  } : void 0,
28240
- report: a
28439
+ report: o,
28440
+ refsAlwaysAdded: a
28241
28441
  });
28242
28442
  }
28243
28443
  //#endregion
28244
28444
  //#region src/v2019C1/extensions/presentation/constants/title.ts
28245
- var ni = {
28445
+ var yi = {
28246
28446
  LNode: {
28247
28447
  compact: [
28248
28448
  "prefix",
@@ -28339,29 +28539,29 @@ var ni = {
28339
28539
  };
28340
28540
  //#endregion
28341
28541
  //#region src/v2019C1/extensions/presentation/query/extract-element-title.ts
28342
- async function ri(e, t, n = {}) {
28542
+ async function bi(e, t, n = {}) {
28343
28543
  let r = await e.getRecord(t);
28344
28544
  if (!r) return n.withLabels ? {
28345
28545
  title: "",
28346
28546
  labels: {}
28347
28547
  } : "";
28348
- let i = r.tagName, a = n.mode ?? "compact", o = await e.any.getAttributes(r), s = ni[i], c = ii({
28548
+ let i = r.tagName, a = n.mode ?? "compact", o = await e.any.getAttributes(r), s = yi[i], c = xi({
28349
28549
  tag: i,
28350
28550
  spec: s,
28351
28551
  mode: a,
28352
28552
  attributes: o,
28353
- specAttributes: s?.attributesFrom ? await ai(e, r, s.attributesFrom) : o,
28553
+ specAttributes: s?.attributesFrom ? await Si(e, r, s.attributesFrom) : o,
28354
28554
  value: r.value
28355
28555
  });
28356
28556
  return n.withLabels ? {
28357
28557
  title: c,
28358
- labels: await oi(e, r)
28558
+ labels: await Ci(e, r)
28359
28559
  } : c;
28360
28560
  }
28361
- function ii(e) {
28561
+ function xi(e) {
28362
28562
  let { tag: t, spec: n, mode: r, attributes: i, specAttributes: a, value: o } = e;
28363
28563
  if (n) {
28364
- let e = li(n, a, r);
28564
+ let e = Ei(n, a, r);
28365
28565
  if (e) return e;
28366
28566
  }
28367
28567
  let s = (o ?? "").trim();
@@ -28369,14 +28569,14 @@ function ii(e) {
28369
28569
  let c = _[t]?.attributes?.identityFields, l = c?.find((e) => e === "name" || e === "id") ?? c?.[0];
28370
28570
  return l && i[l] ? i[l] : i.name || t;
28371
28571
  }
28372
- async function ai(e, t, n) {
28572
+ async function Si(e, t, n) {
28373
28573
  let [r] = await e.any.getChildren(t, n);
28374
28574
  return r ? e.any.getAttributes(r) : {};
28375
28575
  }
28376
- async function oi(e, t) {
28377
- return ci(await si(e, t));
28576
+ async function Ci(e, t) {
28577
+ return Ti(await wi(e, t));
28378
28578
  }
28379
- async function si(e, t) {
28579
+ async function wi(e, t) {
28380
28580
  let n = [], r = await e.any.getChildren(t, "Labels");
28381
28581
  for (let t of r) {
28382
28582
  let r = await e.any.getChildren(t, "Label");
@@ -28391,18 +28591,18 @@ async function si(e, t) {
28391
28591
  }
28392
28592
  return n;
28393
28593
  }
28394
- function ci(e) {
28594
+ function Ti(e) {
28395
28595
  let t = {};
28396
28596
  for (let { lang: n, id: r, text: i } of e) (t[n] ??= {})[r] = i;
28397
28597
  return t;
28398
28598
  }
28399
- function li(e, t, n) {
28599
+ function Ei(e, t, n) {
28400
28600
  let r = n === "full" && e.full !== void 0, i = r ? e.full : e.compact, a = r ? e.fullSeparator ?? e.separator ?? "" : e.separator ?? "";
28401
- if (typeof i == "string") return di(i, t);
28402
- if (ui(i)) {
28601
+ if (typeof i == "string") return Oi(i, t);
28602
+ if (Di(i)) {
28403
28603
  for (let e of i) {
28404
28604
  if (e.whenPresent && !t[e.whenPresent]) continue;
28405
- let n = di(e.template, t);
28605
+ let n = Oi(e.template, t);
28406
28606
  if (n) return n;
28407
28607
  }
28408
28608
  return "";
@@ -28410,72 +28610,109 @@ function li(e, t, n) {
28410
28610
  let o = i.map((e) => t[e]).filter(Boolean);
28411
28611
  return o.length > 0 ? o.join(a) : "";
28412
28612
  }
28413
- function ui(e) {
28613
+ function Di(e) {
28414
28614
  return typeof e[0] == "object";
28415
28615
  }
28416
- function di(e, t) {
28616
+ function Oi(e, t) {
28417
28617
  return e.replace(/\{([a-zA-Z_][a-zA-Z0-9_]*)\}/g, (e, n) => t[n] ?? "").replace(/\[\]/g, "").replace(/\(\)/g, "").split("/").map((e) => e.split(".").filter((e) => e !== "").join(".")).filter((e) => e !== "").join("/");
28418
28618
  }
28419
28619
  //#endregion
28420
28620
  //#region src/v2019C1/extensions/presentation/query/index.ts
28421
- var fi = /* @__PURE__ */ l({ extractElementTitle: () => ri });
28621
+ var ki = /* @__PURE__ */ l({ extractElementTitle: () => bi });
28622
+ //#endregion
28623
+ //#region src/v2019C1/extensions/lifecycle/report/query/report-instance.ts
28624
+ async function Q(e, t) {
28625
+ let { instanceDiff: n, instance: r, sourceQuery: i, sourceRef: o } = t, s = n.groups.length === 0;
28626
+ if (!r) return {
28627
+ rootRef: void 0,
28628
+ title: await bi(i, o),
28629
+ linked: !1,
28630
+ upToDate: s,
28631
+ tree: n.root,
28632
+ groups: n.groups
28633
+ };
28634
+ let { templateUuid: c, originUuid: l } = await e.any.getAttributes(r), u = !!(c || l);
28635
+ return {
28636
+ rootRef: a(r),
28637
+ title: await bi(e, r),
28638
+ linked: u,
28639
+ upToDate: s,
28640
+ tree: n.root,
28641
+ groups: n.groups
28642
+ };
28643
+ }
28422
28644
  //#endregion
28423
28645
  //#region src/v2019C1/extensions/lifecycle/report/query/report-asd.ts
28424
- async function pi(e, t) {
28425
- let { sourceQuery: n, applicationRef: r, scenario: i } = t, { uuid: a } = await n.getAttributes(r), o = i === "instantiate" ? [] : await X(e, {
28646
+ async function Ai(e, t) {
28647
+ let { sourceQuery: n, applicationRef: r, scenario: i } = t, { uuid: a } = await n.getAttributes(r), o = i === "instantiate" ? [] : await Y(e, {
28426
28648
  tagName: "Application",
28427
28649
  sourceUuid: a
28428
28650
  }), s = [];
28429
- if (o.length === 0) s.push(await mi(e, {
28430
- sourceQuery: n,
28431
- applicationRef: r,
28432
- instance: void 0
28433
- }));
28434
- else for (let t of o) s.push(await mi(e, {
28435
- sourceQuery: n,
28436
- applicationRef: r,
28437
- instance: t
28438
- }));
28439
- let c = await hi(e, {
28651
+ if (o.length === 0) {
28652
+ let t = await ji(e, {
28653
+ sourceQuery: n,
28654
+ applicationRef: r,
28655
+ instance: void 0,
28656
+ refsAlwaysAdded: i === "instantiate"
28657
+ });
28658
+ s.push(await Q(e, {
28659
+ instanceDiff: t,
28660
+ instance: void 0,
28661
+ sourceQuery: n,
28662
+ sourceRef: r
28663
+ }));
28664
+ } else for (let t of o) {
28665
+ let a = await ji(e, {
28666
+ sourceQuery: n,
28667
+ applicationRef: r,
28668
+ instance: t,
28669
+ refsAlwaysAdded: i === "instantiate"
28670
+ });
28671
+ s.push(await Q(e, {
28672
+ instanceDiff: a,
28673
+ instance: t,
28674
+ sourceQuery: n,
28675
+ sourceRef: r
28676
+ }));
28677
+ }
28678
+ let c = await Mi(e, {
28440
28679
  sourceQuery: n,
28441
28680
  applicationRef: r,
28442
28681
  scenario: i
28443
28682
  });
28444
- return Cn([...s, ...c]);
28683
+ return An([...s, ...c]);
28445
28684
  }
28446
- async function mi(e, t) {
28447
- let { sourceQuery: n, applicationRef: r, instance: i } = t, a = await mn({
28685
+ async function ji(e, t) {
28686
+ let { sourceQuery: n, applicationRef: r, instance: i } = t, a = t.refsAlwaysAdded ?? !1, o = await hn({
28448
28687
  sourceQuery: n,
28449
28688
  targetQuery: e,
28450
28689
  sourceRootRef: r,
28451
28690
  instanceRootRef: i
28452
28691
  });
28453
- if (await Qr(e, {
28692
+ return await fi(e, {
28454
28693
  sourceQuery: n,
28455
28694
  primaryRef: r,
28456
- satelliteRefs: await jr(n, { applicationRef: r }),
28457
- instanceSatelliteRefs: i ? await jr(e, { applicationRef: {
28695
+ satelliteRefs: await Gr(n, { applicationRef: r }),
28696
+ instanceSatelliteRefs: i ? await Gr(e, { applicationRef: {
28458
28697
  tagName: "Application",
28459
28698
  id: i.id
28460
28699
  } }) : [],
28461
- report: a,
28462
- instanceScopeId: i?.id
28463
- }), await $r(e, {
28700
+ report: o,
28701
+ instanceScopeId: i?.id,
28702
+ refsAlwaysAdded: a
28703
+ }), await gi(e, {
28464
28704
  sourceQuery: n,
28465
28705
  primaryRef: r,
28466
28706
  instancePrimaryRef: i ? {
28467
28707
  tagName: "Application",
28468
28708
  id: i.id
28469
28709
  } : void 0,
28470
- report: a
28471
- }), i) {
28472
- let t = await ri(e, i);
28473
- for (let e of a.groups) e.instanceScopeTitle = t;
28474
- }
28475
- return a;
28710
+ report: o,
28711
+ refsAlwaysAdded: a
28712
+ }), o;
28476
28713
  }
28477
- async function hi(e, t) {
28478
- let { sourceQuery: n, applicationRef: r, scenario: i } = t, a = await lr(n, r), o = [];
28714
+ async function Mi(e, t) {
28715
+ let { sourceQuery: n, applicationRef: r, scenario: i } = t, a = await Cr(n, r), o = [];
28479
28716
  for (let t of a) {
28480
28717
  let [r] = await n.any.findByAttributes({
28481
28718
  tagName: "Function",
@@ -28485,87 +28722,97 @@ async function hi(e, t) {
28485
28722
  let a = {
28486
28723
  tagName: "Function",
28487
28724
  id: r.id
28488
- }, s = i === "instantiate" ? [] : await X(e, {
28725
+ }, s = i === "instantiate" ? [] : await Y(e, {
28489
28726
  tagName: "Function",
28490
28727
  sourceUuid: t
28491
28728
  });
28492
28729
  if (s.length === 0) {
28493
- o.push(await ti(e, {
28730
+ let t = await vi(e, {
28494
28731
  sourceQuery: n,
28495
28732
  functionRef: a,
28496
- instance: void 0
28733
+ instance: void 0,
28734
+ refsAlwaysAdded: i === "instantiate"
28735
+ });
28736
+ o.push(await Q(e, {
28737
+ instanceDiff: t,
28738
+ instance: void 0,
28739
+ sourceQuery: n,
28740
+ sourceRef: a
28497
28741
  }));
28498
28742
  continue;
28499
28743
  }
28500
28744
  for (let t of s) {
28501
- let r = await ti(e, {
28745
+ let r = await vi(e, {
28502
28746
  sourceQuery: n,
28503
28747
  functionRef: a,
28504
- instance: t
28505
- }), i = await ri(e, t);
28506
- for (let e of r.groups) e.instanceScopeTitle = i;
28507
- o.push(r);
28748
+ instance: t,
28749
+ refsAlwaysAdded: i === "instantiate"
28750
+ });
28751
+ o.push(await Q(e, {
28752
+ instanceDiff: r,
28753
+ instance: t,
28754
+ sourceQuery: n,
28755
+ sourceRef: a
28756
+ }));
28508
28757
  }
28509
28758
  }
28510
28759
  return o;
28511
28760
  }
28512
28761
  //#endregion
28513
28762
  //#region src/v2019C1/extensions/lifecycle/report/query/report-fsd.ts
28514
- async function gi(e, t) {
28515
- let { sourceQuery: n, functionRef: r, targetParent: i, scenario: a } = t, { uuid: o } = await n.getAttributes(r), s = a === "instantiate" ? [] : await dr(e, {
28763
+ async function Ni(e, t) {
28764
+ let { sourceQuery: n, functionRef: r, targetParent: i, scenario: a } = t, { uuid: o } = await n.getAttributes(r), s = a === "instantiate" ? [] : await Tr(e, {
28516
28765
  targetParent: i,
28517
28766
  tagName: "Function",
28518
28767
  sourceUuid: o
28519
28768
  });
28520
- if (s.length === 0) return ti(e, {
28769
+ if (s.length === 0) return An([await Q(e, {
28770
+ instanceDiff: await vi(e, {
28771
+ sourceQuery: n,
28772
+ functionRef: r,
28773
+ instance: void 0,
28774
+ refsAlwaysAdded: a === "instantiate"
28775
+ }),
28776
+ instance: void 0,
28521
28777
  sourceQuery: n,
28522
- functionRef: r,
28523
- instance: void 0
28524
- });
28778
+ sourceRef: r
28779
+ })]);
28525
28780
  let c = [];
28526
28781
  for (let t of s) {
28527
- let i = await ti(e, {
28782
+ let i = await vi(e, {
28528
28783
  sourceQuery: n,
28529
28784
  functionRef: r,
28530
- instance: t
28531
- }), a = await ri(e, t);
28532
- for (let e of i.groups) e.instanceScopeTitle = a;
28533
- c.push(i);
28785
+ instance: t,
28786
+ refsAlwaysAdded: a === "instantiate"
28787
+ });
28788
+ c.push(await Q(e, {
28789
+ instanceDiff: i,
28790
+ instance: t,
28791
+ sourceQuery: n,
28792
+ sourceRef: r
28793
+ }));
28534
28794
  }
28535
- return Cn(c);
28795
+ return An(c);
28536
28796
  }
28537
28797
  //#endregion
28538
28798
  //#region src/v2019C1/extensions/lifecycle/report/report.ts
28539
- async function _i(e, t) {
28540
- let n = t.verb === "fsd" ? await gi(e, {
28799
+ async function Pi(e, t) {
28800
+ let n = t.verb === "fsd" ? await Ni(e, {
28541
28801
  sourceQuery: t.sourceQuery,
28542
28802
  functionRef: t.ref,
28543
28803
  targetParent: t.anchor,
28544
28804
  scenario: t.scenario
28545
- }) : await pi(e, {
28805
+ }) : await Ai(e, {
28546
28806
  sourceQuery: t.sourceQuery,
28547
28807
  applicationRef: t.ref,
28548
28808
  scenario: t.scenario
28549
28809
  });
28550
- for (let e of n.groups) e.editableAttributes = vi(An(e.primary.tagName), e.primary.attributeChanges);
28551
- return await Zr(e, t, n), n;
28552
- }
28553
- function vi(e, t) {
28554
- if (!t?.length) return e;
28555
- let n = new Map(t.map((e) => [e.name, e]));
28556
- return e.map((e) => {
28557
- let t = n.get(e.attr);
28558
- return t ? {
28559
- ...e,
28560
- before: t.before,
28561
- after: t.after,
28562
- changed: !0
28563
- } : e;
28564
- }).sort((e, t) => Number(t.changed ?? !1) - Number(e.changed ?? !1));
28810
+ for (let e of W(n)) e.editableAttributes = Ln(e.primary.tagName);
28811
+ return await di(e, t, n), n;
28565
28812
  }
28566
28813
  //#endregion
28567
28814
  //#region src/v2019C1/extensions/lifecycle/report/presentation-scope.ts
28568
- function yi(e) {
28815
+ function Fi(e) {
28569
28816
  switch (e.verb) {
28570
28817
  case "fsd":
28571
28818
  case "asd": return {
@@ -28576,29 +28823,106 @@ function yi(e) {
28576
28823
  }
28577
28824
  }
28578
28825
  //#endregion
28826
+ //#region src/v2019C1/extensions/lifecycle/validate/template-uuid-check.ts
28827
+ async function Ii(e) {
28828
+ let t = await e.any.getSnapshot({ as: "tree" }), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
28829
+ await Li(e, t, n, r);
28830
+ let i = [], a = /* @__PURE__ */ new Set();
28831
+ for (let [e, { tagNames: t, refs: r }] of n) {
28832
+ if (t.size < 2) continue;
28833
+ a.add(e);
28834
+ let n = [...t].sort();
28835
+ i.push({
28836
+ code: "cross-type-template-uuid",
28837
+ level: "warning",
28838
+ value: e,
28839
+ tagNames: n,
28840
+ refs: r,
28841
+ count: r.length,
28842
+ message: `templateUuid "${e}" is shared by ${r.length} elements of ${n.length} different types (${n.join(", ")}); a templateUuid must identify a single template element. It is likely a placeholder and cannot be used to recognise template lineage.`
28843
+ });
28844
+ }
28845
+ for (let [e, t] of r) {
28846
+ if (t.length < 2) continue;
28847
+ let n = [...new Set(t.map((e) => e.tagName))].sort();
28848
+ i.push({
28849
+ code: "duplicate-instance-uuid",
28850
+ level: "warning",
28851
+ value: e,
28852
+ tagNames: n,
28853
+ refs: t.map((e) => e.ref),
28854
+ count: t.length,
28855
+ message: `uuid "${e}" is used by ${t.length} elements (${n.join(", ")}); every instance UUID in an SCL shall be unique.`
28856
+ });
28857
+ }
28858
+ for (let [e, { tagNames: t, refs: o }] of n) {
28859
+ if (a.has(e)) continue;
28860
+ let n = r.get(e);
28861
+ if (!n || n.length === 0) continue;
28862
+ let s = [...t][0], c = new Set(n.map((e) => e.tagName));
28863
+ if (c.has(s)) continue;
28864
+ let l = [...new Set([s, ...c])].sort();
28865
+ i.push({
28866
+ code: "template-uuid-type-mismatch",
28867
+ level: "warning",
28868
+ value: e,
28869
+ tagNames: l,
28870
+ refs: [...o, ...n.map((e) => e.ref)],
28871
+ count: o.length + n.length,
28872
+ message: `templateUuid "${e}" on ${s} resolves in-file to an element of type ${[...c].sort().join(", ")}; an instance cannot derive from a template of a different type.`
28873
+ });
28874
+ }
28875
+ return i;
28876
+ }
28877
+ async function Li(e, t, n, r) {
28878
+ let i = {
28879
+ tagName: t.tagName,
28880
+ id: t.id
28881
+ }, a = await e.any.getAttribute(t, { name: "templateUuid" });
28882
+ if (a) {
28883
+ let e = n.get(a) ?? {
28884
+ tagNames: /* @__PURE__ */ new Set(),
28885
+ refs: []
28886
+ };
28887
+ e.tagNames.add(t.tagName), e.refs.push(i), n.set(a, e);
28888
+ }
28889
+ let o = await e.any.getAttribute(t, { name: "uuid" });
28890
+ if (o) {
28891
+ let e = r.get(o) ?? [];
28892
+ e.push({
28893
+ tagName: t.tagName,
28894
+ ref: i
28895
+ }), r.set(o, e);
28896
+ }
28897
+ for (let i of t.tree) await Li(e, i, n, r);
28898
+ }
28899
+ //#endregion
28579
28900
  //#region src/v2019C1/extensions/index.ts
28580
- var bi = {
28581
- cleanUp: R,
28582
- dataModel: Yt,
28583
- history: en,
28584
- identity: on,
28901
+ var Ri = {
28902
+ cleanUp: L,
28903
+ dataModel: Xt,
28904
+ history: tn,
28905
+ identity: sn,
28585
28906
  lifecycle: {
28586
- query: { report: _i },
28907
+ query: {
28908
+ report: Pi,
28909
+ checkTemplateUuids: Ii
28910
+ },
28587
28911
  transaction: {
28588
- extract: Yr,
28589
- instantiate: Xr,
28590
- transplant: { deep: J },
28591
- update: zr,
28592
- apply: Br
28912
+ extract: li,
28913
+ instantiate: ui,
28914
+ transplant: { deep: Xn },
28915
+ update: $r,
28916
+ apply: ei
28593
28917
  }
28594
28918
  },
28595
- reference: L,
28596
- signature: { query: Ft },
28597
- presentation: { query: fi }
28919
+ reference: I,
28920
+ signature: { query: It },
28921
+ presentation: { query: ki }
28598
28922
  };
28599
28923
  //#endregion
28600
28924
  //#region src/v2019C1/hooks/after-created/private-wrapper.ts
28601
- async function xi(e) {
28925
+ async function zi(e) {
28602
28926
  let { childRecord: t, parentRecord: n, query: r } = e;
28603
28927
  if (t.namespace.prefix === x.namespaces.default.prefix) return [];
28604
28928
  let i = n.tagName === "Private", a = n.namespace.prefix === x.namespaces.default.prefix;
@@ -28607,26 +28931,26 @@ async function xi(e) {
28607
28931
  ...n,
28608
28932
  children: n.children.filter((e) => e.id !== t.id)
28609
28933
  };
28610
- return i ? Si({
28934
+ return i ? Bi({
28611
28935
  parentRecord: n,
28612
28936
  childRecord: t,
28613
28937
  query: r
28614
- }) : o ? Ci({
28938
+ }) : o ? Vi({
28615
28939
  existingPrivateRef: o,
28616
28940
  parentRecord: n,
28617
28941
  updatedParentRecord: s,
28618
28942
  childRecord: t,
28619
28943
  query: r
28620
- }) : (await r.findAncestors(n)).some((e) => e.tagName === "Private" && e.attributes.some((e) => e.name === "type" && e.value === t.namespace.prefix)) ? [] : wi({
28944
+ }) : (await r.findAncestors(n)).some((e) => e.tagName === "Private" && e.attributes.some((e) => e.name === "type" && e.value === t.namespace.prefix)) ? [] : Hi({
28621
28945
  parentRecord: n,
28622
28946
  updatedParentRecord: s,
28623
28947
  childRecord: t
28624
28948
  });
28625
28949
  }
28626
- async function Si(e) {
28950
+ async function Bi(e) {
28627
28951
  let { parentRecord: t, childRecord: n, query: r } = e, a = t;
28628
28952
  if (n.parent?.id === a.id && n.parent?.tagName === "Private") return [];
28629
- let o = await Ti({
28953
+ let o = await Ui({
28630
28954
  privateId: a.id,
28631
28955
  query: r
28632
28956
  });
@@ -28634,7 +28958,7 @@ async function Si(e) {
28634
28958
  detail: "Latest private record not found",
28635
28959
  key: "ELEMENT_NOT_FOUND"
28636
28960
  });
28637
- let { childRecord: c, privateRecord: l } = Ei({
28961
+ let { childRecord: c, privateRecord: l } = Wi({
28638
28962
  privateRecord: o,
28639
28963
  childRecord: n
28640
28964
  });
@@ -28648,8 +28972,8 @@ async function Si(e) {
28648
28972
  newRecord: i(l)
28649
28973
  }];
28650
28974
  }
28651
- async function Ci(e) {
28652
- let { existingPrivateRef: t, parentRecord: n, updatedParentRecord: r, childRecord: a, query: o } = e, c = await Ti({
28975
+ async function Vi(e) {
28976
+ let { existingPrivateRef: t, parentRecord: n, updatedParentRecord: r, childRecord: a, query: o } = e, c = await Ui({
28653
28977
  privateId: t.id,
28654
28978
  query: o
28655
28979
  });
@@ -28657,7 +28981,7 @@ async function Ci(e) {
28657
28981
  detail: "Latest private record not found",
28658
28982
  key: "ELEMENT_NOT_FOUND"
28659
28983
  }), !c.attributes.some((e) => e.name === "type" && e.value === a.namespace.prefix)) return [];
28660
- let { childRecord: l, privateRecord: u } = Ei({
28984
+ let { childRecord: l, privateRecord: u } = Wi({
28661
28985
  privateRecord: c,
28662
28986
  childRecord: a
28663
28987
  });
@@ -28679,7 +29003,7 @@ async function Ci(e) {
28679
29003
  }
28680
29004
  ];
28681
29005
  }
28682
- function wi(e) {
29006
+ function Hi(e) {
28683
29007
  let { parentRecord: t, updatedParentRecord: n, childRecord: r } = e, a = {
28684
29008
  id: crypto.randomUUID(),
28685
29009
  tagName: "Private",
@@ -28728,14 +29052,14 @@ function wi(e) {
28728
29052
  }
28729
29053
  ];
28730
29054
  }
28731
- async function Ti(e) {
29055
+ async function Ui(e) {
28732
29056
  let { privateId: t, query: n } = e;
28733
29057
  return await n.getRecord({
28734
29058
  id: t,
28735
29059
  tagName: "Private"
28736
29060
  });
28737
29061
  }
28738
- function Ei(e) {
29062
+ function Wi(e) {
28739
29063
  let { privateRecord: t, childRecord: n } = e;
28740
29064
  return {
28741
29065
  childRecord: {
@@ -28756,7 +29080,7 @@ function Ei(e) {
28756
29080
  }
28757
29081
  //#endregion
28758
29082
  //#region src/v2019C1/hooks/shared/ref-entry-ops.ts
28759
- async function Di(e) {
29083
+ async function Gi(e) {
28760
29084
  let { uuid: t, entry: r, target: a, query: o } = e;
28761
29085
  if (!n(r.refTagName, x)) return [];
28762
29086
  let s = await o.getRecordsByTagName(r.refTagName), c = [];
@@ -28765,7 +29089,7 @@ async function Di(e) {
28765
29089
  let n = {
28766
29090
  tagName: e.tagName,
28767
29091
  id: e.id
28768
- }, s = await L.query.buildReferencePath(o, {
29092
+ }, s = await I.query.buildReferencePath(o, {
28769
29093
  reference: n,
28770
29094
  target: a
28771
29095
  });
@@ -28785,17 +29109,17 @@ async function Di(e) {
28785
29109
  }
28786
29110
  return c;
28787
29111
  }
28788
- function Oi(e) {
29112
+ function Ki(e) {
28789
29113
  let t = [];
28790
- for (let n of Me) {
28791
- let r = Ae[n]?.get(e);
29114
+ for (let n of je) {
29115
+ let r = ke[n]?.get(e);
28792
29116
  r && t.push(...r);
28793
29117
  }
28794
29118
  return t;
28795
29119
  }
28796
29120
  //#endregion
28797
29121
  //#region src/v2019C1/hooks/shared/record-ops.ts
28798
- function ki(e, t) {
29122
+ function qi(e, t) {
28799
29123
  return {
28800
29124
  status: "updated",
28801
29125
  oldRecord: e,
@@ -28805,7 +29129,7 @@ function ki(e, t) {
28805
29129
  }
28806
29130
  };
28807
29131
  }
28808
- function Ai(e, t, n) {
29132
+ function Ji(e, t, n) {
28809
29133
  return e.some((e) => e.name === t) ? e.map((e) => e.name === t ? {
28810
29134
  ...e,
28811
29135
  value: n
@@ -28816,23 +29140,23 @@ function Ai(e, t, n) {
28816
29140
  }
28817
29141
  //#endregion
28818
29142
  //#region src/v2019C1/hooks/shared/mapped-name.ts
28819
- async function ji(e, t) {
28820
- let n = N.get(t.tagName);
29143
+ async function Yi(e, t) {
29144
+ let n = P.get(t.tagName);
28821
29145
  if (!n || !t.attributes.find((e) => e.name === n.uuid)?.value) return null;
28822
29146
  let r = await ze(e, t);
28823
- return r === t.attributes.find((e) => e.name === n.path)?.value ? null : ki(t, r === void 0 ? t.attributes.filter((e) => e.name !== n.path) : Ai(t.attributes, n.path, r));
29147
+ return r === t.attributes.find((e) => e.name === n.path)?.value ? null : qi(t, r === void 0 ? t.attributes.filter((e) => e.name !== n.path) : Ji(t.attributes, n.path, r));
28824
29148
  }
28825
29149
  //#endregion
28826
29150
  //#region src/v2019C1/hooks/shared/ref-path-rebuild.ts
28827
- async function Mi(e) {
29151
+ async function Xi(e) {
28828
29152
  let { oldRecord: t, newRecord: n, query: r } = e;
28829
- if (N.has(n.tagName)) return [];
29153
+ if (P.has(n.tagName)) return [];
28830
29154
  let i = O[n.tagName];
28831
29155
  if (!i) return [];
28832
29156
  let a = [];
28833
29157
  for (let e of i) {
28834
- if (e.resolution === j.unsupported || !Ni(t, n, e)) continue;
28835
- let i = await Pi({
29158
+ if (e.resolution === M.unsupported || !Zi(t, n, e)) continue;
29159
+ let i = await Qi({
28836
29160
  newRecord: n,
28837
29161
  pair: e,
28838
29162
  query: r
@@ -28841,28 +29165,28 @@ async function Mi(e) {
28841
29165
  }
28842
29166
  return a;
28843
29167
  }
28844
- function Ni(e, t, n) {
29168
+ function Zi(e, t, n) {
28845
29169
  return [n.attribute.uuid, ...n.companions.map((e) => e.name)].some((n) => $(e, n) !== $(t, n));
28846
29170
  }
28847
- async function Pi(e) {
29171
+ async function Qi(e) {
28848
29172
  let { newRecord: t, pair: n, query: r } = e, i = $(t, n.attribute.uuid);
28849
29173
  if (!i) return null;
28850
- let a = await Fi({
29174
+ let a = await $i({
28851
29175
  uuidValue: i,
28852
29176
  targetTagNames: n.target,
28853
29177
  query: r
28854
29178
  });
28855
29179
  if (!a) return null;
28856
- let o = await Ce(r, {
29180
+ let o = await Se(r, {
28857
29181
  reference: {
28858
29182
  tagName: t.tagName,
28859
29183
  id: t.id
28860
29184
  },
28861
29185
  target: a
28862
29186
  });
28863
- return !o || $(t, n.attribute.path) === o ? null : ki(t, Ai(t.attributes, n.attribute.path, o));
29187
+ return !o || $(t, n.attribute.path) === o ? null : qi(t, Ji(t.attributes, n.attribute.path, o));
28864
29188
  }
28865
- async function Fi(e) {
29189
+ async function $i(e) {
28866
29190
  let { uuidValue: t, targetTagNames: r, query: i } = e;
28867
29191
  for (let e of r) {
28868
29192
  if (!n(e, x)) continue;
@@ -28879,17 +29203,17 @@ function $(e, t) {
28879
29203
  }
28880
29204
  //#endregion
28881
29205
  //#region src/v2019C1/hooks/shared/lnode-binding.ts
28882
- var Ii = "None";
28883
- async function Li(e) {
29206
+ var ea = "None";
29207
+ async function ta(e) {
28884
29208
  let { oldRecord: t, newRecord: n, query: r } = e;
28885
29209
  if (n.tagName !== "LNode") return null;
28886
- let i = Hi(t, "lnUuid"), a = Hi(n, "lnUuid");
29210
+ let i = oa(t, "lnUuid"), a = oa(n, "lnUuid");
28887
29211
  if (i === a) return null;
28888
- let o = a ? await Ri(r, a) : await zi(r, n);
28889
- return o ? Vi(n, o) : null;
29212
+ let o = a ? await na(r, a) : await ra(r, n);
29213
+ return o ? aa(n, o) : null;
28890
29214
  }
28891
- async function Ri(e, t) {
28892
- let n = await Bi(e, t);
29215
+ async function na(e, t) {
29216
+ let n = await ia(e, t);
28893
29217
  if (!n) return null;
28894
29218
  let r = await e.getAttributes(n), i = await e.findAncestors(n), a = i.find((e) => e.tagName === "LDevice"), o = i.find((e) => e.tagName === "IED"), s = a ? await e.getAttributes({
28895
29219
  tagName: "LDevice",
@@ -28906,9 +29230,9 @@ async function Ri(e, t) {
28906
29230
  lnInst: r.inst
28907
29231
  };
28908
29232
  }
28909
- async function zi(e, t) {
29233
+ async function ra(e, t) {
28910
29234
  let n = {
28911
- iedName: Ii,
29235
+ iedName: ea,
28912
29236
  ldInst: void 0
28913
29237
  }, r = await e.getChild({
28914
29238
  tagName: "LNode",
@@ -28923,7 +29247,7 @@ async function zi(e, t) {
28923
29247
  lnInst: i.sLnInst
28924
29248
  };
28925
29249
  }
28926
- async function Bi(e, t) {
29250
+ async function ia(e, t) {
28927
29251
  for (let r of ["LN", "LN0"]) {
28928
29252
  if (!n(r, x)) continue;
28929
29253
  let i = (await e.getRecordsByTagName(r)).find((e) => e.attributes.find((e) => e.name === "uuid")?.value === t);
@@ -28934,7 +29258,7 @@ async function Bi(e, t) {
28934
29258
  }
28935
29259
  return null;
28936
29260
  }
28937
- function Vi(e, t) {
29261
+ function aa(e, t) {
28938
29262
  let n = [...e.attributes], r = !1;
28939
29263
  for (let [e, i] of Object.entries(t)) {
28940
29264
  let t = n.find((t) => t.name === e)?.value;
@@ -28943,35 +29267,35 @@ function Vi(e, t) {
28943
29267
  n = n.filter((t) => t.name !== e), r = !0;
28944
29268
  continue;
28945
29269
  }
28946
- t !== i && (n = Ai(n, e, i), r = !0);
29270
+ t !== i && (n = Ji(n, e, i), r = !0);
28947
29271
  }
28948
- return r ? ki(e, n) : null;
29272
+ return r ? qi(e, n) : null;
28949
29273
  }
28950
- function Hi(e, t) {
29274
+ function oa(e, t) {
28951
29275
  return e.attributes.find((e) => e.name === t)?.value;
28952
29276
  }
28953
29277
  //#endregion
28954
29278
  //#region src/v2019C1/hooks/after-created/ref-paths.ts
28955
- async function Ui(e) {
28956
- let { childRecord: t, query: n } = e, r = await Wi({
29279
+ async function sa(e) {
29280
+ let { childRecord: t, query: n } = e, r = await ca({
28957
29281
  childRecord: t,
28958
29282
  query: n
28959
- }), i = await qi({
29283
+ }), i = await da({
28960
29284
  childRecord: t,
28961
29285
  query: n
28962
- }), a = await ji(n, o(t)), s = a ? [a] : [];
29286
+ }), a = await Yi(n, o(t)), s = a ? [a] : [];
28963
29287
  return [
28964
29288
  ...r,
28965
29289
  ...i,
28966
29290
  ...s
28967
29291
  ];
28968
29292
  }
28969
- async function Wi(e) {
28970
- let { childRecord: t, query: n } = e, r = Ne.get(t.tagName);
29293
+ async function ca(e) {
29294
+ let { childRecord: t, query: n } = e, r = Me.get(t.tagName);
28971
29295
  if (!r?.length) return [];
28972
29296
  let i = [];
28973
29297
  for (let e of r) {
28974
- let r = await Gi({
29298
+ let r = await la({
28975
29299
  childRecord: t,
28976
29300
  pair: e,
28977
29301
  query: n
@@ -28980,16 +29304,16 @@ async function Wi(e) {
28980
29304
  }
28981
29305
  return i;
28982
29306
  }
28983
- async function Gi(e) {
29307
+ async function la(e) {
28984
29308
  let { childRecord: t, pair: n, query: r } = e, i = t.attributes.find((e) => e.name === n.uuidAttr)?.value;
28985
29309
  if (!i) return null;
28986
- let a = await Ki({
29310
+ let a = await ua({
28987
29311
  uuidValue: i,
28988
29312
  targetTagNames: n.targetTagNames,
28989
29313
  query: r
28990
29314
  });
28991
29315
  if (!a) return null;
28992
- let o = await Ce(r, {
29316
+ let o = await Se(r, {
28993
29317
  reference: {
28994
29318
  tagName: t.tagName,
28995
29319
  id: t.id
@@ -29013,7 +29337,7 @@ async function Gi(e) {
29013
29337
  }
29014
29338
  };
29015
29339
  }
29016
- async function Ki(e) {
29340
+ async function ua(e) {
29017
29341
  let { uuidValue: t, targetTagNames: r, query: i } = e;
29018
29342
  for (let e of r) {
29019
29343
  if (!n(e, x)) continue;
@@ -29025,17 +29349,17 @@ async function Ki(e) {
29025
29349
  }
29026
29350
  return null;
29027
29351
  }
29028
- async function qi(e) {
29352
+ async function da(e) {
29029
29353
  let { childRecord: t, query: n } = e, r = t.attributes.find((e) => e.name === "uuid")?.value;
29030
29354
  if (!r) return [];
29031
- let i = Oi(t.tagName);
29355
+ let i = Ki(t.tagName);
29032
29356
  if (i.length === 0) return [];
29033
29357
  let a = {
29034
29358
  tagName: t.tagName,
29035
29359
  id: t.id
29036
29360
  }, o = [];
29037
29361
  for (let e of i) {
29038
- let t = await Di({
29362
+ let t = await Gi({
29039
29363
  uuid: r,
29040
29364
  entry: e,
29041
29365
  target: a,
@@ -29047,12 +29371,12 @@ async function qi(e) {
29047
29371
  }
29048
29372
  //#endregion
29049
29373
  //#region src/v2019C1/hooks/after-created/after-created.ts
29050
- async function Ji(e) {
29051
- let { childRecord: t, parentRecord: n, query: r } = e, i = await xi({
29374
+ async function fa(e) {
29375
+ let { childRecord: t, parentRecord: n, query: r } = e, i = await zi({
29052
29376
  childRecord: t,
29053
29377
  parentRecord: n,
29054
29378
  query: r
29055
- }), a = await Ui({
29379
+ }), a = await sa({
29056
29380
  childRecord: t,
29057
29381
  query: r
29058
29382
  });
@@ -29060,12 +29384,12 @@ async function Ji(e) {
29060
29384
  }
29061
29385
  //#endregion
29062
29386
  //#region src/v2019C1/hooks/after-deep-clone/ref-paths.ts
29063
- async function Yi(e) {
29064
- let { cumulativeCloneMappings: t, query: n } = e, { uuidMap: r, uuidToRef: i } = await Xi(t, n);
29387
+ async function pa(e) {
29388
+ let { cumulativeCloneMappings: t, query: n } = e, { uuidMap: r, uuidToRef: i } = await ma(t, n);
29065
29389
  if (r.size === 0) return [];
29066
29390
  let a = [];
29067
29391
  for (let { target: e } of t) {
29068
- let t = await Qi({
29392
+ let t = await ga({
29069
29393
  target: e,
29070
29394
  uuidMap: r,
29071
29395
  uuidToRef: i,
@@ -29075,9 +29399,9 @@ async function Yi(e) {
29075
29399
  }
29076
29400
  return a;
29077
29401
  }
29078
- async function Xi(e, t) {
29402
+ async function ma(e, t) {
29079
29403
  let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
29080
- for (let { source: i, target: a } of e) await Zi({
29404
+ for (let { source: i, target: a } of e) await ha({
29081
29405
  source: i,
29082
29406
  target: a,
29083
29407
  query: t,
@@ -29089,7 +29413,7 @@ async function Xi(e, t) {
29089
29413
  uuidToRef: r
29090
29414
  };
29091
29415
  }
29092
- async function Zi(e) {
29416
+ async function ha(e) {
29093
29417
  let { source: t, target: n, query: r, uuidMap: i, uuidToRef: a } = e, o = await r.getRecord(n);
29094
29418
  if (!o) return;
29095
29419
  let s = t.attributes.find((e) => e.name === "uuid")?.value, c = o.attributes.find((e) => e.name === "uuid")?.value;
@@ -29098,14 +29422,14 @@ async function Zi(e) {
29098
29422
  id: o.id
29099
29423
  }));
29100
29424
  }
29101
- async function Qi(e) {
29425
+ async function ga(e) {
29102
29426
  let { target: t, uuidMap: n, uuidToRef: r, query: a } = e, o = t.tagName;
29103
29427
  if (!(o in O)) return null;
29104
29428
  let s = await a.getRecord(t);
29105
29429
  if (!s) return null;
29106
29430
  let c = O[o], l = [...s.attributes], u = !1;
29107
29431
  for (let e of c) {
29108
- let t = await $i({
29432
+ let t = await _a({
29109
29433
  pair: e,
29110
29434
  tagName: o,
29111
29435
  refId: s.id,
@@ -29125,14 +29449,14 @@ async function Qi(e) {
29125
29449
  })
29126
29450
  } : null;
29127
29451
  }
29128
- async function $i(e) {
29452
+ async function _a(e) {
29129
29453
  let { pair: t, tagName: n, refId: r, uuidMap: i, uuidToRef: a, query: o } = e, s = [...e.updatedAttributes], c = s.find((e) => e.name === t.attribute.uuid)?.value;
29130
29454
  if (!c) return null;
29131
29455
  let l = i.get(c);
29132
29456
  if (!l) return null;
29133
- let u = !1, d = ea(s, t.attribute.uuid, c, l);
29457
+ let u = !1, d = va(s, t.attribute.uuid, c, l);
29134
29458
  d && (s = d, u = !0);
29135
- let f = await ta({
29459
+ let f = await ya({
29136
29460
  attributes: s,
29137
29461
  pathAttrName: t.attribute.path,
29138
29462
  newUuid: l,
@@ -29143,16 +29467,16 @@ async function $i(e) {
29143
29467
  });
29144
29468
  return f && (s = f, u = !0), u ? s : null;
29145
29469
  }
29146
- function ea(e, t, n, r) {
29470
+ function va(e, t, n, r) {
29147
29471
  return r === n ? null : e.map((e) => e.name === t ? {
29148
29472
  ...e,
29149
29473
  value: r
29150
29474
  } : e);
29151
29475
  }
29152
- async function ta(e) {
29476
+ async function ya(e) {
29153
29477
  let { attributes: t, pathAttrName: n, newUuid: r, uuidToRef: i, tagName: a, refId: o, query: s } = e, c = i.get(r);
29154
29478
  if (!c) return null;
29155
- let l = await L.query.buildReferencePath(s, {
29479
+ let l = await I.query.buildReferencePath(s, {
29156
29480
  reference: {
29157
29481
  tagName: a,
29158
29482
  id: o
@@ -29169,12 +29493,12 @@ async function ta(e) {
29169
29493
  }
29170
29494
  //#endregion
29171
29495
  //#region src/v2019C1/hooks/after-deep-clone/after-deep-clone.ts
29172
- async function na(e) {
29173
- return Yi(e);
29496
+ async function ba(e) {
29497
+ return pa(e);
29174
29498
  }
29175
29499
  //#endregion
29176
29500
  //#region src/v2019C1/hooks/after-standardized-record/uuid-attribute.ts
29177
- function ra(e) {
29501
+ function xa(e) {
29178
29502
  let { record: t } = e, { tagName: n, attributes: r } = t, i = x.definition[n];
29179
29503
  if (!("uuid" in i.attributes.details) || r.find((e) => e.name === "uuid")?.value) return t;
29180
29504
  let a = i.attributes.details.uuid?.namespace, o = r.filter((e) => e.name !== "uuid");
@@ -29189,21 +29513,21 @@ function ra(e) {
29189
29513
  }
29190
29514
  //#endregion
29191
29515
  //#region src/v2019C1/hooks/after-standardized-record/after-standardized-record.ts
29192
- function ia(e) {
29193
- return ra(e);
29516
+ function Sa(e) {
29517
+ return xa(e);
29194
29518
  }
29195
29519
  //#endregion
29196
29520
  //#region src/v2019C1/hooks/after-updated/ref-paths.ts
29197
- async function aa(e) {
29198
- let { oldRecord: t, newRecord: n, query: r } = e, i = [], a = o(t), s = o(n), c = await ji(r, s);
29521
+ async function Ca(e) {
29522
+ let { oldRecord: t, newRecord: n, query: r } = e, i = [], a = o(t), s = o(n), c = await Yi(r, s);
29199
29523
  c && i.push(c);
29200
- let l = await Li({
29524
+ let l = await ta({
29201
29525
  oldRecord: a,
29202
29526
  newRecord: s,
29203
29527
  query: r
29204
29528
  });
29205
29529
  l && i.push(l);
29206
- let u = await Mi({
29530
+ let u = await Xi({
29207
29531
  oldRecord: a,
29208
29532
  newRecord: s,
29209
29533
  query: r
@@ -29211,12 +29535,12 @@ async function aa(e) {
29211
29535
  i.push(...u);
29212
29536
  let d = n.attributes.find((e) => e.name === "uuid")?.value;
29213
29537
  if (d) {
29214
- let e = Oi(n.tagName), t = {
29538
+ let e = Ki(n.tagName), t = {
29215
29539
  tagName: n.tagName,
29216
29540
  id: n.id
29217
29541
  };
29218
29542
  for (let n of e) {
29219
- let e = await Di({
29543
+ let e = await Gi({
29220
29544
  uuid: d,
29221
29545
  entry: n,
29222
29546
  target: t,
@@ -29225,8 +29549,8 @@ async function aa(e) {
29225
29549
  i.push(...e);
29226
29550
  }
29227
29551
  }
29228
- if (oa(t, n)) {
29229
- let e = await sa({
29552
+ if (wa(t, n)) {
29553
+ let e = await Ta({
29230
29554
  newRecord: n,
29231
29555
  query: r
29232
29556
  });
@@ -29234,11 +29558,11 @@ async function aa(e) {
29234
29558
  }
29235
29559
  return i;
29236
29560
  }
29237
- function oa(e, t) {
29561
+ function wa(e, t) {
29238
29562
  for (let n of oe) if (e.attributes.find((e) => e.name === n)?.value !== t.attributes.find((e) => e.name === n)?.value) return !0;
29239
29563
  return !1;
29240
29564
  }
29241
- async function sa(e) {
29565
+ async function Ta(e) {
29242
29566
  let { newRecord: t, query: n } = e, r = {
29243
29567
  tagName: t.tagName,
29244
29568
  id: t.id
@@ -29247,14 +29571,14 @@ async function sa(e) {
29247
29571
  if (r.id === t.id) continue;
29248
29572
  let e = await n.any.getAttribute(r, { name: "uuid" });
29249
29573
  if (!e) continue;
29250
- let i = Oi(r.tagName);
29574
+ let i = Ki(r.tagName);
29251
29575
  if (i.length === 0) continue;
29252
29576
  let o = {
29253
29577
  tagName: r.tagName,
29254
29578
  id: r.id
29255
29579
  };
29256
29580
  for (let t of i) {
29257
- let r = await Di({
29581
+ let r = await Gi({
29258
29582
  uuid: e,
29259
29583
  entry: t,
29260
29584
  target: o,
@@ -29267,18 +29591,18 @@ async function sa(e) {
29267
29591
  }
29268
29592
  //#endregion
29269
29593
  //#region src/v2019C1/hooks/after-updated/after-updated.ts
29270
- async function ca(e) {
29271
- return aa(e);
29594
+ async function Ea(e) {
29595
+ return Ca(e);
29272
29596
  }
29273
29597
  //#endregion
29274
29598
  //#region src/v2019C1/hooks/before-clone/before-clone.ts
29275
- var la = new Set(Object.values(b).map((e) => e.uri)), ua = new Set(Object.values(b).map((e) => e.prefix).filter(Boolean));
29276
- function da(e) {
29277
- return la.has(e.namespace.uri) && !n(e.tagName, x);
29599
+ var Da = new Set(Object.values(b).map((e) => e.uri)), Oa = new Set(Object.values(b).map((e) => e.prefix).filter(Boolean));
29600
+ function ka(e) {
29601
+ return Da.has(e.namespace.uri) && !n(e.tagName, x);
29278
29602
  }
29279
- function fa(e) {
29603
+ function Aa(e) {
29280
29604
  let { record: t } = e, n = t, r = !0, i = !!t.value?.trim(), a = t.attributes.find((e) => e.name === "type")?.value, o = a !== void 0;
29281
- t.tagName === "Private" && !t.tree.length && !i && !o && (r = !1), t.tagName === "Private" && !t.tree.length && !i && a !== void 0 && ua.has(a) && (r = !1), da(n) && (r = !1), t.tagName === "Private" && n.tree.length > 0 && n.tree.every(da) && (r = !1);
29605
+ t.tagName === "Private" && !t.tree.length && !i && !o && (r = !1), t.tagName === "Private" && !t.tree.length && !i && a !== void 0 && Oa.has(a) && (r = !1), ka(n) && (r = !1), t.tagName === "Private" && n.tree.length > 0 && n.tree.every(ka) && (r = !1);
29282
29606
  let s = t.attributes.filter((e) => e.name !== "uuid");
29283
29607
  return {
29284
29608
  shouldBeCloned: r,
@@ -29290,17 +29614,17 @@ function fa(e) {
29290
29614
  }
29291
29615
  //#endregion
29292
29616
  //#region src/v2019C1/hooks/before-delete/orphaned-refs.ts
29293
- async function pa(e) {
29617
+ async function ja(e) {
29294
29618
  let { record: t, query: n } = e, r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
29295
- if (await ya({
29619
+ if (await La({
29296
29620
  record: t,
29297
29621
  query: n,
29298
29622
  ids: r,
29299
29623
  uuids: i
29300
29624
  }), i.size === 0) return [];
29301
29625
  let a = [];
29302
- for (let e of A) {
29303
- let t = await ma({
29626
+ for (let e of fe) {
29627
+ let t = await Ma({
29304
29628
  refTagName: e,
29305
29629
  subtreeIds: r,
29306
29630
  subtreeUuids: i,
@@ -29310,11 +29634,11 @@ async function pa(e) {
29310
29634
  }
29311
29635
  return a;
29312
29636
  }
29313
- async function ma(e) {
29637
+ async function Ma(e) {
29314
29638
  let { refTagName: t, subtreeIds: n, subtreeUuids: r, query: i } = e, a = O[t], o = await i.getRecordsByTagName(t), s = [];
29315
29639
  for (let e of o) {
29316
29640
  if (n.has(e.id)) continue;
29317
- let o = await ha({
29641
+ let o = await Na({
29318
29642
  refTagName: t,
29319
29643
  refRecord: e,
29320
29644
  refPairs: a,
@@ -29325,15 +29649,15 @@ async function ma(e) {
29325
29649
  }
29326
29650
  return s;
29327
29651
  }
29328
- async function ha(e) {
29329
- let { refTagName: t, refRecord: n, refPairs: r, subtreeUuids: i, query: a } = e, o = ga({
29652
+ async function Na(e) {
29653
+ let { refTagName: t, refRecord: n, refPairs: r, subtreeUuids: i, query: a } = e, o = Pa({
29330
29654
  refPairs: r,
29331
29655
  refRecord: n,
29332
29656
  subtreeUuids: i
29333
29657
  });
29334
- return o.size === 0 ? [] : k.has(t) ? [_a(n, o)] : va(n, a);
29658
+ return o.size === 0 ? [] : k.has(t) ? [Fa(n, o)] : Ia(n, a);
29335
29659
  }
29336
- function ga(e) {
29660
+ function Pa(e) {
29337
29661
  let { refPairs: t, refRecord: n, subtreeUuids: r } = e, i = /* @__PURE__ */ new Set();
29338
29662
  for (let e of t) {
29339
29663
  let t = n.attributes.find((t) => t.name === e.attribute.uuid)?.value;
@@ -29344,7 +29668,7 @@ function ga(e) {
29344
29668
  }
29345
29669
  return i;
29346
29670
  }
29347
- function _a(e, t) {
29671
+ function Fa(e, t) {
29348
29672
  let n = e.attributes.filter((e) => !t.has(e.name));
29349
29673
  return {
29350
29674
  status: "updated",
@@ -29355,7 +29679,7 @@ function _a(e, t) {
29355
29679
  })
29356
29680
  };
29357
29681
  }
29358
- async function va(e, t) {
29682
+ async function Ia(e, t) {
29359
29683
  let n = [{
29360
29684
  status: "deleted",
29361
29685
  oldRecord: i(e),
@@ -29377,14 +29701,14 @@ async function va(e, t) {
29377
29701
  }
29378
29702
  return n;
29379
29703
  }
29380
- async function ya(e) {
29704
+ async function La(e) {
29381
29705
  let { record: t, query: n, ids: r, uuids: i } = e;
29382
29706
  r.add(t.id);
29383
29707
  let a = t.attributes.find((e) => e.name === "uuid")?.value;
29384
29708
  a && i.add(a);
29385
29709
  for (let e of t.children) {
29386
29710
  let t = await n.getRecord(e);
29387
- t && await ya({
29711
+ t && await La({
29388
29712
  record: t,
29389
29713
  query: n,
29390
29714
  ids: r,
@@ -29394,12 +29718,12 @@ async function ya(e) {
29394
29718
  }
29395
29719
  //#endregion
29396
29720
  //#region src/v2019C1/hooks/before-delete/before-delete.ts
29397
- async function ba(e) {
29398
- return pa(e);
29721
+ async function Ra(e) {
29722
+ return ja(e);
29399
29723
  }
29400
29724
  //#endregion
29401
29725
  //#region src/v2019C1/hooks/io/io-hooks.ts
29402
- function xa() {
29726
+ function za() {
29403
29727
  let e = /* @__PURE__ */ new Map(), t = [], n = [];
29404
29728
  return {
29405
29729
  beforeImportRecord: (r) => {
@@ -29411,14 +29735,14 @@ function xa() {
29411
29735
  });
29412
29736
  t && e.set(t.path, s);
29413
29737
  }
29414
- if (!fe.has(o)) return;
29738
+ if (!A.has(o)) return;
29415
29739
  let c = O[o];
29416
29740
  for (let e of c) {
29417
29741
  let r = i.attributes.find((t) => t.name === e.attribute.path)?.value;
29418
29742
  if (!r || i.attributes.find((t) => t.name === e.attribute.uuid)?.value) continue;
29419
- let s = ge(e.resolution, e.attribute.path, r, a);
29743
+ let s = he(e.resolution, e.attribute.path, r, a);
29420
29744
  if (!s) {
29421
- e.resolution === j.unsupported && n.push({
29745
+ e.resolution === M.unsupported && n.push({
29422
29746
  type: "unsupported-xpath-reference",
29423
29747
  recordId: i.id,
29424
29748
  details: {
@@ -29474,13 +29798,13 @@ function xa() {
29474
29798
  }
29475
29799
  //#endregion
29476
29800
  //#region src/v2019C1/hooks/index.ts
29477
- var Sa = {
29478
- beforeClone: fa,
29479
- afterStandardizedRecord: ia,
29480
- afterCreated: Ji,
29481
- afterDeepClone: na,
29482
- afterUpdated: ca,
29483
- beforeDelete: ba
29801
+ var Ba = {
29802
+ beforeClone: Aa,
29803
+ afterStandardizedRecord: Sa,
29804
+ afterCreated: fa,
29805
+ afterDeepClone: ba,
29806
+ afterUpdated: Ea,
29807
+ beforeDelete: Ra
29484
29808
  };
29485
29809
  //#endregion
29486
- export { b as A, pe as C, y as D, ie as E, x as O, fe as S, oe as T, Ie as _, St as a, k as b, Pe as c, N as d, Ne as f, P as g, Fe as h, yi as i, v as k, Me as l, je as m, xa as n, ot as o, Ae as p, bi as r, Re as s, Sa as t, Le as u, M as v, O as w, A as x, j as y };
29810
+ export { b as A, pe as C, y as D, ie as E, x as O, A as S, oe as T, Ie as _, Ct as a, k as b, Ne as c, P as d, Me as f, Pe as g, Fe as h, Fi as i, v as k, je as l, Ae as m, za as n, ot as o, ke as p, Ri as r, Re as s, Ba as t, Le as u, N as v, O as w, fe as x, M as y };