@nsshunt/stsuxvue 1.0.123 → 1.0.125

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.
package/dist/stsuxvue.cjs CHANGED
@@ -6036,7 +6036,7 @@ var import_ansi_to_html = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
6036
6036
  return Filter;
6037
6037
  }();
6038
6038
  })))(), 1);
6039
- /*! @license DOMPurify 3.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.3/LICENSE */
6039
+ /*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */
6040
6040
  function _arrayLikeToArray(r, a) {
6041
6041
  (null == a || a > r.length) && (a = r.length);
6042
6042
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
@@ -6543,6 +6543,8 @@ var html = freeze([
6543
6543
  "color",
6544
6544
  "cols",
6545
6545
  "colspan",
6546
+ "command",
6547
+ "commandfor",
6546
6548
  "controls",
6547
6549
  "controlslist",
6548
6550
  "coords",
@@ -6904,10 +6906,17 @@ var DOCTYPE_NAME = seal(/^html$/i);
6904
6906
  var CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
6905
6907
  var NODE_TYPE = {
6906
6908
  element: 1,
6909
+ attribute: 2,
6907
6910
  text: 3,
6911
+ cdataSection: 4,
6912
+ entityReference: 5,
6913
+ entityNode: 6,
6908
6914
  progressingInstruction: 7,
6909
6915
  comment: 8,
6910
- document: 9
6916
+ document: 9,
6917
+ documentType: 10,
6918
+ documentFragment: 11,
6919
+ notation: 12
6911
6920
  };
6912
6921
  var getGlobal$1 = function getGlobal() {
6913
6922
  return typeof window === "undefined" ? null : window;
@@ -6956,7 +6965,7 @@ var _createHooksMap = function _createHooksMap() {
6956
6965
  function createDOMPurify() {
6957
6966
  let window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal$1();
6958
6967
  const DOMPurify = (root) => createDOMPurify(root);
6959
- DOMPurify.version = "3.4.3";
6968
+ DOMPurify.version = "3.4.8";
6960
6969
  DOMPurify.removed = [];
6961
6970
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
6962
6971
  DOMPurify.isSupported = false;
@@ -6965,19 +6974,37 @@ function createDOMPurify() {
6965
6974
  let document = window.document;
6966
6975
  const originalDocument = document;
6967
6976
  const currentScript = originalDocument.currentScript;
6968
- const DocumentFragment = window.DocumentFragment, HTMLTemplateElement = window.HTMLTemplateElement, Node = window.Node, Element = window.Element, NodeFilter = window.NodeFilter, _window$NamedNodeMap = window.NamedNodeMap, NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap, HTMLFormElement = window.HTMLFormElement, DOMParser = window.DOMParser, trustedTypes = window.trustedTypes;
6977
+ window.DocumentFragment;
6978
+ const HTMLTemplateElement = window.HTMLTemplateElement, Node = window.Node, Element = window.Element, NodeFilter = window.NodeFilter;
6979
+ window.NamedNodeMap === void 0 && (window.NamedNodeMap || window.MozNamedAttrMap);
6980
+ window.HTMLFormElement;
6981
+ const DOMParser = window.DOMParser, trustedTypes = window.trustedTypes;
6969
6982
  const ElementPrototype = Element.prototype;
6970
6983
  const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
6971
6984
  const remove = lookupGetter(ElementPrototype, "remove");
6972
6985
  const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
6973
6986
  const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
6974
6987
  const getParentNode = lookupGetter(ElementPrototype, "parentNode");
6988
+ const getShadowRoot = lookupGetter(ElementPrototype, "shadowRoot");
6989
+ const getAttributes = lookupGetter(ElementPrototype, "attributes");
6990
+ const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, "nodeType") : null;
6991
+ const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, "nodeName") : null;
6975
6992
  if (typeof HTMLTemplateElement === "function") {
6976
6993
  const template = document.createElement("template");
6977
6994
  if (template.content && template.content.ownerDocument) document = template.content.ownerDocument;
6978
6995
  }
6979
6996
  let trustedTypesPolicy;
6980
6997
  let emptyHTML = "";
6998
+ let IN_POLICY_CREATE_HTML = 0;
6999
+ const _createTrustedHTML = function _createTrustedHTML(html) {
7000
+ if (IN_POLICY_CREATE_HTML > 0) throw typeErrorCreate("The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.");
7001
+ IN_POLICY_CREATE_HTML++;
7002
+ try {
7003
+ return trustedTypesPolicy.createHTML(html);
7004
+ } finally {
7005
+ IN_POLICY_CREATE_HTML--;
7006
+ }
7007
+ };
6981
7008
  const _document = document, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;
6982
7009
  const importNode = originalDocument.importNode;
6983
7010
  let hooks = _createHooksMap();
@@ -7263,12 +7290,20 @@ function createDOMPurify() {
7263
7290
  if (cfg.TRUSTED_TYPES_POLICY) {
7264
7291
  if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
7265
7292
  if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
7293
+ const previousTrustedTypesPolicy = trustedTypesPolicy;
7266
7294
  trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
7267
- emptyHTML = trustedTypesPolicy.createHTML("");
7295
+ try {
7296
+ emptyHTML = _createTrustedHTML("");
7297
+ } catch (error) {
7298
+ trustedTypesPolicy = previousTrustedTypesPolicy;
7299
+ throw error;
7300
+ }
7268
7301
  } else {
7269
- if (trustedTypesPolicy === void 0) trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
7270
- if (trustedTypesPolicy !== null && typeof emptyHTML === "string") emptyHTML = trustedTypesPolicy.createHTML("");
7302
+ if (trustedTypesPolicy === void 0 && cfg.TRUSTED_TYPES_POLICY !== null) trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
7303
+ if (trustedTypesPolicy && typeof emptyHTML === "string") emptyHTML = _createTrustedHTML("");
7271
7304
  }
7305
+ if ((hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) && ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS);
7306
+ if (hooks.uponSanitizeAttribute.length > 0 && ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR);
7272
7307
  if (freeze) freeze(cfg);
7273
7308
  CONFIG = cfg;
7274
7309
  };
@@ -7365,7 +7400,7 @@ function createDOMPurify() {
7365
7400
  leadingWhitespace = matches && matches[0];
7366
7401
  }
7367
7402
  if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) dirty = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + dirty + "</body></html>";
7368
- const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
7403
+ const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;
7369
7404
  if (NAMESPACE === HTML_NAMESPACE) try {
7370
7405
  doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
7371
7406
  } catch (_) {}
@@ -7390,22 +7425,101 @@ function createDOMPurify() {
7390
7425
  return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
7391
7426
  };
7392
7427
  /**
7428
+ * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the
7429
+ * character data of an element subtree. Used as the final safety net for
7430
+ * SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions
7431
+ * which only form after text-node normalization (e.g. fragments split across
7432
+ * stripped elements) cannot survive into a template-evaluating framework.
7433
+ *
7434
+ * Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`
7435
+ * in place rather than round-tripping through innerHTML. This preserves
7436
+ * descendant node references (important for IN_PLACE callers), avoids a
7437
+ * serialize/reparse cycle, and reads literal character data — which means
7438
+ * `<%...%>` in text content matches the ERB regex against its real bytes
7439
+ * instead of the HTML-entity-escaped form innerHTML would produce.
7440
+ *
7441
+ * Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for
7442
+ * attributes is performed during the per-node `_sanitizeAttributes` pass.
7443
+ *
7444
+ * @param node The root element whose character data should be scrubbed.
7445
+ */
7446
+ const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {
7447
+ var _node$querySelectorAl, _node$querySelectorAl2;
7448
+ node.normalize();
7449
+ const walker = createNodeIterator.call(node.ownerDocument || node, node, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
7450
+ let currentNode = walker.nextNode();
7451
+ while (currentNode) {
7452
+ let data = currentNode.data;
7453
+ arrayForEach([
7454
+ MUSTACHE_EXPR$1,
7455
+ ERB_EXPR$1,
7456
+ TMPLIT_EXPR$1
7457
+ ], (expr) => {
7458
+ data = stringReplace(data, expr, " ");
7459
+ });
7460
+ currentNode.data = data;
7461
+ currentNode = walker.nextNode();
7462
+ }
7463
+ const templates = (_node$querySelectorAl = (_node$querySelectorAl2 = node.querySelectorAll) === null || _node$querySelectorAl2 === void 0 ? void 0 : _node$querySelectorAl2.call(node, "template")) !== null && _node$querySelectorAl !== void 0 ? _node$querySelectorAl : [];
7464
+ arrayForEach(Array.from(templates), (tmpl) => {
7465
+ if (_isDocumentFragment(tmpl.content)) _scrubTemplateExpressions2(tmpl.content);
7466
+ });
7467
+ };
7468
+ /**
7393
7469
  * _isClobbered
7394
7470
  *
7471
+ * Detect DOM-clobbering on HTMLFormElement nodes. Form is the only HTML
7472
+ * interface with [LegacyOverrideBuiltIns]; a descendant element with a
7473
+ * `name` attribute matching a prototype property shadows that property
7474
+ * on direct reads. We use this check at the IN_PLACE entry-point and
7475
+ * during attribute sanitization to refuse clobbered forms.
7476
+ *
7395
7477
  * @param element element to check for clobbering attacks
7396
7478
  * @return true if clobbered, false if safe
7397
7479
  */
7398
7480
  const _isClobbered = function _isClobbered(element) {
7399
- return element instanceof HTMLFormElement && (typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function");
7481
+ const realTagName = getNodeName ? getNodeName(element) : null;
7482
+ if (typeof realTagName !== "string") return false;
7483
+ if (transformCaseFunc(realTagName) !== "form") return false;
7484
+ return typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || element.attributes !== getAttributes(element) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function" || element.nodeType !== getNodeType(element) || element.childNodes !== getChildNodes(element);
7485
+ };
7486
+ /**
7487
+ * Checks whether the given value is a DocumentFragment from any realm.
7488
+ *
7489
+ * The realm-independent replacement reads `nodeType` through the cached
7490
+ * Node.prototype getter and compares to the DOCUMENT_FRAGMENT_NODE
7491
+ * constant (11). nodeType is a numeric value resolved from the node's
7492
+ * internal slot, identical across realms for the same kind of node.
7493
+ *
7494
+ * @param value object to check
7495
+ * @return true if value is a DocumentFragment-shaped node from any realm
7496
+ */
7497
+ const _isDocumentFragment = function _isDocumentFragment(value) {
7498
+ if (!getNodeType || typeof value !== "object" || value === null) return false;
7499
+ try {
7500
+ return getNodeType(value) === NODE_TYPE.documentFragment;
7501
+ } catch (_) {
7502
+ return false;
7503
+ }
7400
7504
  };
7401
7505
  /**
7402
- * Checks whether the given object is a DOM node.
7506
+ * Checks whether the given object is a DOM node, including nodes that
7507
+ * originate from a different window/realm (e.g. an iframe's
7508
+ * contentDocument). The previous `value instanceof Node` check was
7509
+ * realm-bound: nodes from a different window failed it, causing
7510
+ * sanitize() to silently stringify them and reset IN_PLACE to false,
7511
+ * returning the original node unsanitized. See GHSA-4w3q-35jp-p934.
7403
7512
  *
7404
7513
  * @param value object to check whether it's a DOM node
7405
- * @return true is object is a DOM node
7514
+ * @return true if value is a DOM node from any realm
7406
7515
  */
7407
7516
  const _isNode = function _isNode(value) {
7408
- return typeof Node === "function" && value instanceof Node;
7517
+ if (!getNodeType || typeof value !== "object" || value === null) return false;
7518
+ try {
7519
+ return typeof getNodeType(value) === "number";
7520
+ } catch (_) {
7521
+ return false;
7522
+ }
7409
7523
  };
7410
7524
  function _executeHooks(hooks, currentNode, data) {
7411
7525
  arrayForEach(hooks, (hook) => {
@@ -7428,7 +7542,7 @@ function createDOMPurify() {
7428
7542
  _forceRemove(currentNode);
7429
7543
  return true;
7430
7544
  }
7431
- const tagName = transformCaseFunc(currentNode.nodeName);
7545
+ const tagName = transformCaseFunc(getNodeName ? getNodeName(currentNode) : currentNode.nodeName);
7432
7546
  _executeHooks(hooks.uponSanitizeElement, currentNode, {
7433
7547
  tagName,
7434
7548
  allowedTags: ALLOWED_TAGS
@@ -7455,8 +7569,8 @@ function createDOMPurify() {
7455
7569
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;
7456
7570
  }
7457
7571
  if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
7458
- const parentNode = getParentNode(currentNode) || currentNode.parentNode;
7459
- const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
7572
+ const parentNode = getParentNode(currentNode);
7573
+ const childNodes = getChildNodes(currentNode);
7460
7574
  if (childNodes && parentNode) {
7461
7575
  const childCount = childNodes.length;
7462
7576
  for (let i = childCount - 1; i >= 0; --i) {
@@ -7468,7 +7582,7 @@ function createDOMPurify() {
7468
7582
  _forceRemove(currentNode);
7469
7583
  return true;
7470
7584
  }
7471
- if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
7585
+ if ((getNodeType ? getNodeType(currentNode) : currentNode.nodeType) === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {
7472
7586
  _forceRemove(currentNode);
7473
7587
  return true;
7474
7588
  }
@@ -7607,7 +7721,7 @@ function createDOMPurify() {
7607
7721
  if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") if (namespaceURI);
7608
7722
  else switch (trustedTypes.getAttributeType(lcTag, lcName)) {
7609
7723
  case "TrustedHTML":
7610
- value = trustedTypesPolicy.createHTML(value);
7724
+ value = _createTrustedHTML(value);
7611
7725
  break;
7612
7726
  case "TrustedScriptURL":
7613
7727
  value = trustedTypesPolicy.createScriptURL(value);
@@ -7637,7 +7751,14 @@ function createDOMPurify() {
7637
7751
  _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
7638
7752
  _sanitizeElements(shadowNode);
7639
7753
  _sanitizeAttributes(shadowNode);
7640
- if (shadowNode.content instanceof DocumentFragment) _sanitizeShadowDOM2(shadowNode.content);
7754
+ if (_isDocumentFragment(shadowNode.content)) _sanitizeShadowDOM2(shadowNode.content);
7755
+ if ((getNodeType ? getNodeType(shadowNode) : shadowNode.nodeType) === NODE_TYPE.element) {
7756
+ const innerSr = getShadowRoot ? getShadowRoot(shadowNode) : shadowNode.shadowRoot;
7757
+ if (_isDocumentFragment(innerSr)) {
7758
+ _sanitizeAttachedShadowRoots2(innerSr);
7759
+ _sanitizeShadowDOM2(innerSr);
7760
+ }
7761
+ }
7641
7762
  }
7642
7763
  _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
7643
7764
  };
@@ -7661,18 +7782,28 @@ function createDOMPurify() {
7661
7782
  * @param root the subtree root to walk for attached shadow roots
7662
7783
  */
7663
7784
  const _sanitizeAttachedShadowRoots2 = function _sanitizeAttachedShadowRoots(root) {
7664
- if (root.nodeType === NODE_TYPE.element && root.shadowRoot instanceof DocumentFragment) {
7665
- const sr = root.shadowRoot;
7666
- _sanitizeAttachedShadowRoots2(sr);
7667
- _sanitizeShadowDOM2(sr);
7785
+ const nodeType = getNodeType ? getNodeType(root) : root.nodeType;
7786
+ if (nodeType === NODE_TYPE.element) {
7787
+ const sr = getShadowRoot ? getShadowRoot(root) : root.shadowRoot;
7788
+ if (_isDocumentFragment(sr)) {
7789
+ _sanitizeAttachedShadowRoots2(sr);
7790
+ _sanitizeShadowDOM2(sr);
7791
+ }
7668
7792
  }
7669
- const childNodes = root.childNodes;
7793
+ const childNodes = getChildNodes ? getChildNodes(root) : root.childNodes;
7670
7794
  if (!childNodes) return;
7671
7795
  const snapshot = [];
7672
7796
  arrayForEach(childNodes, (child) => {
7673
7797
  arrayPush(snapshot, child);
7674
7798
  });
7675
7799
  for (const child of snapshot) _sanitizeAttachedShadowRoots2(child);
7800
+ if (nodeType === NODE_TYPE.element) {
7801
+ const rootName = getNodeName ? getNodeName(root) : null;
7802
+ if (typeof rootName === "string" && transformCaseFunc(rootName) === "template") {
7803
+ const content = root.content;
7804
+ if (_isDocumentFragment(content)) _sanitizeAttachedShadowRoots2(content);
7805
+ }
7806
+ }
7676
7807
  };
7677
7808
  DOMPurify.sanitize = function(dirty) {
7678
7809
  let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
@@ -7691,13 +7822,14 @@ function createDOMPurify() {
7691
7822
  DOMPurify.removed = [];
7692
7823
  if (typeof dirty === "string") IN_PLACE = false;
7693
7824
  if (IN_PLACE) {
7694
- const nn = dirty.nodeName;
7825
+ const nn = getNodeName ? getNodeName(dirty) : dirty.nodeName;
7695
7826
  if (typeof nn === "string") {
7696
7827
  const tagName = transformCaseFunc(nn);
7697
7828
  if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
7698
7829
  }
7830
+ if (_isClobbered(dirty)) throw typeErrorCreate("root node is clobbered and cannot be sanitized in-place");
7699
7831
  _sanitizeAttachedShadowRoots2(dirty);
7700
- } else if (dirty instanceof Node) {
7832
+ } else if (_isNode(dirty)) {
7701
7833
  body = _initDocument("<!---->");
7702
7834
  importedNode = body.ownerDocument.importNode(dirty, true);
7703
7835
  if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode;
@@ -7705,7 +7837,7 @@ function createDOMPurify() {
7705
7837
  else body.appendChild(importedNode);
7706
7838
  _sanitizeAttachedShadowRoots2(importedNode);
7707
7839
  } else {
7708
- if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
7840
+ if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;
7709
7841
  body = _initDocument(dirty);
7710
7842
  if (!body) return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : "";
7711
7843
  }
@@ -7714,22 +7846,14 @@ function createDOMPurify() {
7714
7846
  while (currentNode = nodeIterator.nextNode()) {
7715
7847
  _sanitizeElements(currentNode);
7716
7848
  _sanitizeAttributes(currentNode);
7717
- if (currentNode.content instanceof DocumentFragment) _sanitizeShadowDOM2(currentNode.content);
7849
+ if (_isDocumentFragment(currentNode.content)) _sanitizeShadowDOM2(currentNode.content);
7850
+ }
7851
+ if (IN_PLACE) {
7852
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(dirty);
7853
+ return dirty;
7718
7854
  }
7719
- if (IN_PLACE) return dirty;
7720
7855
  if (RETURN_DOM) {
7721
- if (SAFE_FOR_TEMPLATES) {
7722
- body.normalize();
7723
- let html = body.innerHTML;
7724
- arrayForEach([
7725
- MUSTACHE_EXPR$1,
7726
- ERB_EXPR$1,
7727
- TMPLIT_EXPR$1
7728
- ], (expr) => {
7729
- html = stringReplace(html, expr, " ");
7730
- });
7731
- body.innerHTML = html;
7732
- }
7856
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(body);
7733
7857
  if (RETURN_DOM_FRAGMENT) {
7734
7858
  returnNode = createDocumentFragment.call(body.ownerDocument);
7735
7859
  while (body.firstChild) returnNode.appendChild(body.firstChild);
@@ -7746,7 +7870,7 @@ function createDOMPurify() {
7746
7870
  ], (expr) => {
7747
7871
  serializedHTML = stringReplace(serializedHTML, expr, " ");
7748
7872
  });
7749
- return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
7873
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;
7750
7874
  };
7751
7875
  DOMPurify.setConfig = function() {
7752
7876
  _parseConfig(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {});
@@ -7823,7 +7947,7 @@ var _hoisted_26$1 = { key: 0 };
7823
7947
  var _hoisted_27$1 = ["innerHTML"];
7824
7948
  var _hoisted_28$1 = { key: 1 };
7825
7949
  var _hoisted_29$1 = ["innerHTML"];
7826
- var UXModelInstrumentAgentCommon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
7950
+ var UXModelInstrumentAgentCommon_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
7827
7951
  __name: "UXModelInstrumentAgentCommon",
7828
7952
  props: {
7829
7953
  modelId: {},
@@ -8110,7 +8234,7 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
8110
8234
  };
8111
8235
  //#endregion
8112
8236
  //#region src/components/UXModelInstrumentAgentCommon.vue
8113
- var UXModelInstrumentAgentCommon_default = /* @__PURE__ */ _plugin_vue_export_helper_default(UXModelInstrumentAgentCommon_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6a76d4ff"]]);
8237
+ var UXModelInstrumentAgentCommon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(UXModelInstrumentAgentCommon_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6a76d4ff"]]);
8114
8238
  //#endregion
8115
8239
  //#region node_modules/chalk/source/vendor/ansi-styles/index.js
8116
8240
  var ANSI_BACKGROUND_OFFSET$1 = 10;
@@ -8505,7 +8629,7 @@ var _hoisted_42 = { key: 1 };
8505
8629
  var _hoisted_43 = ["innerHTML"];
8506
8630
  //#endregion
8507
8631
  //#region src/components/UXModelInstrumentServiceCommon.vue
8508
- var UXModelInstrumentServiceCommon_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
8632
+ var UXModelInstrumentServiceCommon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
8509
8633
  __name: "UXModelInstrumentServiceCommon",
8510
8634
  props: {
8511
8635
  modelId: {},
@@ -8991,7 +9115,7 @@ var _hoisted_15 = {
8991
9115
  };
8992
9116
  //#endregion
8993
9117
  //#region src/components/UXModelInstrumentServiceSmall.vue
8994
- var UXModelInstrumentServiceSmall_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
9118
+ var UXModelInstrumentServiceSmall_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ (0, vue.defineComponent)({
8995
9119
  __name: "UXModelInstrumentServiceSmall",
8996
9120
  props: {
8997
9121
  modelId: {},
@@ -9919,14 +10043,24 @@ function merge(...objs) {
9919
10043
  const result = {};
9920
10044
  const assignValue = (val, key) => {
9921
10045
  if (key === "__proto__" || key === "constructor" || key === "prototype") return;
9922
- const targetKey = caseless && findKey(result, key) || key;
10046
+ const targetKey = caseless && typeof key === "string" && findKey(result, key) || key;
9923
10047
  const existing = hasOwnProperty(result, targetKey) ? result[targetKey] : void 0;
9924
10048
  if (isPlainObject(existing) && isPlainObject(val)) result[targetKey] = merge(existing, val);
9925
10049
  else if (isPlainObject(val)) result[targetKey] = merge({}, val);
9926
10050
  else if (isArray(val)) result[targetKey] = val.slice();
9927
10051
  else if (!skipUndefined || !isUndefined(val)) result[targetKey] = val;
9928
10052
  };
9929
- for (let i = 0, l = objs.length; i < l; i++) objs[i] && forEach(objs[i], assignValue);
10053
+ for (let i = 0, l = objs.length; i < l; i++) {
10054
+ const source = objs[i];
10055
+ if (!source || isBuffer(source)) continue;
10056
+ forEach(source, assignValue);
10057
+ if (typeof source !== "object" || isArray(source)) continue;
10058
+ const symbols = Object.getOwnPropertySymbols(source);
10059
+ for (let j = 0; j < symbols.length; j++) {
10060
+ const symbol = symbols[j];
10061
+ if (propertyIsEnumerable.call(source, symbol)) assignValue(source[symbol], symbol);
10062
+ }
10063
+ }
9930
10064
  return result;
9931
10065
  }
9932
10066
  /**
@@ -10106,6 +10240,7 @@ var toCamelCase = (str) => {
10106
10240
  });
10107
10241
  };
10108
10242
  var hasOwnProperty = (({ hasOwnProperty }) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
10243
+ var { propertyIsEnumerable } = Object.prototype;
10109
10244
  /**
10110
10245
  * Determine if a value is a RegExp object
10111
10246
  *
@@ -10445,7 +10580,7 @@ var AxiosHeaders = class {
10445
10580
  const self = this;
10446
10581
  function setHeader(_value, _header, _rewrite) {
10447
10582
  const lHeader = normalizeHeader(_header);
10448
- if (!lHeader) throw new Error("header name must be a non-empty string");
10583
+ if (!lHeader) return;
10449
10584
  const key = utils_default.findKey(self, lHeader);
10450
10585
  if (!key || self[key] === void 0 || _rewrite === true || _rewrite === void 0 && self[key] !== false) self[key || _header] = normalizeValue(_value);
10451
10586
  }
@@ -10455,7 +10590,7 @@ var AxiosHeaders = class {
10455
10590
  else if (utils_default.isObject(header) && utils_default.isIterable(header)) {
10456
10591
  let obj = {}, dest, key;
10457
10592
  for (const entry of header) {
10458
- if (!utils_default.isArray(entry)) throw TypeError("Object iterator must return a key-value pair");
10593
+ if (!utils_default.isArray(entry)) throw new TypeError("Object iterator must return a key-value pair");
10459
10594
  obj[key = entry[0]] = (dest = obj[key]) ? utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
10460
10595
  }
10461
10596
  setHeaders(obj, valueOrRewrite);
@@ -10849,7 +10984,7 @@ function toFormData(obj, formData, options) {
10849
10984
  function build(value, path, depth = 0) {
10850
10985
  if (utils_default.isUndefined(value)) return;
10851
10986
  if (depth > maxDepth) throw new AxiosError("Object is too deeply nested (" + depth + " levels). Max depth: " + maxDepth, AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED);
10852
- if (stack.indexOf(value) !== -1) throw Error("Circular reference detected in " + path.join("."));
10987
+ if (stack.indexOf(value) !== -1) throw new Error("Circular reference detected in " + path.join("."));
10853
10988
  stack.push(value);
10854
10989
  utils_default.forEach(value, function each(el, key) {
10855
10990
  if ((!(utils_default.isUndefined(el) || el === null) && visitor.call(formData, el, utils_default.isString(key) ? key.trim() : key, path, exposedHelpers)) === true) build(el, path ? path.concat(key) : [key], depth + 1);
@@ -11008,7 +11143,8 @@ var transitional_default = {
11008
11143
  silentJSONParsing: true,
11009
11144
  forcedJSONParsing: true,
11010
11145
  clarifyTimeoutError: false,
11011
- legacyInterceptorReqResOrdering: true
11146
+ legacyInterceptorReqResOrdering: true,
11147
+ advertiseZstdAcceptEncoding: false
11012
11148
  };
11013
11149
  //#endregion
11014
11150
  //#region node_modules/axios/lib/platform/browser/index.js
@@ -11070,7 +11206,9 @@ var hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || [
11070
11206
  * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
11071
11207
  * This leads to a problem when axios post `FormData` in webWorker
11072
11208
  */
11073
- var hasStandardBrowserWebWorkerEnv = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
11209
+ var hasStandardBrowserWebWorkerEnv = (() => {
11210
+ return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
11211
+ })();
11074
11212
  var origin = hasBrowserEnv && window.location.href || "http://localhost";
11075
11213
  //#endregion
11076
11214
  //#region node_modules/axios/lib/platform/index.js
@@ -11626,8 +11764,8 @@ function setFormDataHeaders(headers, formHeaders, policy) {
11626
11764
  *
11627
11765
  * @returns {string} UTF-8 bytes as a Latin-1 string
11628
11766
  */
11629
- var encodeUTF8 = (str) => encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)));
11630
- var resolveConfig_default = (config) => {
11767
+ var encodeUTF8$1 = (str) => encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)));
11768
+ function resolveConfig(config) {
11631
11769
  const newConfig = mergeConfig({}, config);
11632
11770
  const own = (key) => utils_default.hasOwnProp(newConfig, key) ? newConfig[key] : void 0;
11633
11771
  const data = own("data");
@@ -11640,10 +11778,10 @@ var resolveConfig_default = (config) => {
11640
11778
  const allowAbsoluteUrls = own("allowAbsoluteUrls");
11641
11779
  const url = own("url");
11642
11780
  newConfig.headers = headers = AxiosHeaders.from(headers);
11643
- newConfig.url = buildURL(buildFullPath(baseURL, url, allowAbsoluteUrls), config.params, config.paramsSerializer);
11644
- if (auth) headers.set("Authorization", "Basic " + btoa((auth.username || "") + ":" + (auth.password ? encodeUTF8(auth.password) : "")));
11781
+ newConfig.url = buildURL(buildFullPath(baseURL, url, allowAbsoluteUrls), own("params"), own("paramsSerializer"));
11782
+ if (auth) headers.set("Authorization", "Basic " + btoa((auth.username || "") + ":" + (auth.password ? encodeUTF8$1(auth.password) : "")));
11645
11783
  if (utils_default.isFormData(data)) {
11646
- if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) headers.setContentType(void 0);
11784
+ if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv || utils_default.isReactNative(data)) headers.setContentType(void 0);
11647
11785
  else if (utils_default.isFunction(data.getHeaders)) setFormDataHeaders(headers, data.getHeaders(), own("formDataHeaderPolicy"));
11648
11786
  }
11649
11787
  if (platform_default.hasStandardBrowserEnv) {
@@ -11654,10 +11792,10 @@ var resolveConfig_default = (config) => {
11654
11792
  }
11655
11793
  }
11656
11794
  return newConfig;
11657
- };
11795
+ }
11658
11796
  var xhr_default = typeof XMLHttpRequest !== "undefined" && function(config) {
11659
11797
  return new Promise(function dispatchXhrRequest(resolve, reject) {
11660
- const _config = resolveConfig_default(config);
11798
+ const _config = resolveConfig(config);
11661
11799
  let requestData = _config.data;
11662
11800
  const requestHeaders = AxiosHeaders.from(_config.headers).normalize();
11663
11801
  let { responseType, onUploadProgress, onDownloadProgress } = _config;
@@ -11920,11 +12058,28 @@ function estimateDataURLDecodedBytes(url) {
11920
12058
  }
11921
12059
  //#endregion
11922
12060
  //#region node_modules/axios/lib/env/data.js
11923
- var VERSION = "1.16.1";
12061
+ var VERSION = "1.17.0";
11924
12062
  //#endregion
11925
12063
  //#region node_modules/axios/lib/adapters/fetch.js
11926
12064
  var DEFAULT_CHUNK_SIZE = 64 * 1024;
11927
12065
  var { isFunction } = utils_default;
12066
+ /**
12067
+ * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().
12068
+ * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.
12069
+ *
12070
+ * @param {string} str The string to encode
12071
+ *
12072
+ * @returns {string} UTF-8 bytes as a Latin-1 string
12073
+ */
12074
+ var encodeUTF8 = (str) => encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)));
12075
+ var decodeURIComponentSafe = (value) => {
12076
+ if (!utils_default.isString(value)) return value;
12077
+ try {
12078
+ return decodeURIComponent(value);
12079
+ } catch (error) {
12080
+ return value;
12081
+ }
12082
+ };
11928
12083
  var test = (fn, ...args) => {
11929
12084
  try {
11930
12085
  return !!fn(...args);
@@ -11932,6 +12087,12 @@ var test = (fn, ...args) => {
11932
12087
  return false;
11933
12088
  }
11934
12089
  };
12090
+ var maybeWithAuthCredentials = (url) => {
12091
+ const protocolIndex = url.indexOf("://");
12092
+ let urlToCheck = url;
12093
+ if (protocolIndex !== -1) urlToCheck = urlToCheck.slice(protocolIndex + 3);
12094
+ return urlToCheck.includes("@") || urlToCheck.includes(":");
12095
+ };
11935
12096
  var factory = (env) => {
11936
12097
  const globalObject = utils_default.global !== void 0 && utils_default.global !== null ? utils_default.global : globalThis;
11937
12098
  const { ReadableStream, TextEncoder } = globalObject;
@@ -11962,19 +12123,21 @@ var factory = (env) => {
11962
12123
  });
11963
12124
  const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils_default.isReadableStream(new Response("").body));
11964
12125
  const resolvers = { stream: supportsResponseStream && ((res) => res.body) };
11965
- isFetchSupported && [
11966
- "text",
11967
- "arrayBuffer",
11968
- "blob",
11969
- "formData",
11970
- "stream"
11971
- ].forEach((type) => {
11972
- !resolvers[type] && (resolvers[type] = (res, config) => {
11973
- let method = res && res[type];
11974
- if (method) return method.call(res);
11975
- throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);
12126
+ isFetchSupported && (() => {
12127
+ [
12128
+ "text",
12129
+ "arrayBuffer",
12130
+ "blob",
12131
+ "formData",
12132
+ "stream"
12133
+ ].forEach((type) => {
12134
+ !resolvers[type] && (resolvers[type] = (res, config) => {
12135
+ let method = res && res[type];
12136
+ if (method) return method.call(res);
12137
+ throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);
12138
+ });
11976
12139
  });
11977
- });
12140
+ })();
11978
12141
  const getBodyLength = async (body) => {
11979
12142
  if (body == null) return 0;
11980
12143
  if (utils_default.isBlob(body)) return body.size;
@@ -11991,9 +12154,10 @@ var factory = (env) => {
11991
12154
  return length == null ? getBodyLength(body) : length;
11992
12155
  };
11993
12156
  return async (config) => {
11994
- let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = "same-origin", fetchOptions, maxContentLength, maxBodyLength } = resolveConfig_default(config);
12157
+ let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = "same-origin", fetchOptions, maxContentLength, maxBodyLength } = resolveConfig(config);
11995
12158
  const hasMaxContentLength = utils_default.isNumber(maxContentLength) && maxContentLength > -1;
11996
12159
  const hasMaxBodyLength = utils_default.isNumber(maxBodyLength) && maxBodyLength > -1;
12160
+ const own = (key) => utils_default.hasOwnProp(config, key) ? config[key] : void 0;
11997
12161
  let _fetch = envFetch || fetch;
11998
12162
  responseType = responseType ? (responseType + "").toLowerCase() : "text";
11999
12163
  let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
@@ -12003,6 +12167,28 @@ var factory = (env) => {
12003
12167
  });
12004
12168
  let requestContentLength;
12005
12169
  try {
12170
+ let auth = void 0;
12171
+ const configAuth = own("auth");
12172
+ if (configAuth) auth = {
12173
+ username: configAuth.username || "",
12174
+ password: configAuth.password || ""
12175
+ };
12176
+ if (maybeWithAuthCredentials(url)) {
12177
+ const parsedURL = new URL(url, platform_default.origin);
12178
+ if (!auth && (parsedURL.username || parsedURL.password)) auth = {
12179
+ username: decodeURIComponentSafe(parsedURL.username),
12180
+ password: decodeURIComponentSafe(parsedURL.password)
12181
+ };
12182
+ if (parsedURL.username || parsedURL.password) {
12183
+ parsedURL.username = "";
12184
+ parsedURL.password = "";
12185
+ url = parsedURL.href;
12186
+ }
12187
+ }
12188
+ if (auth) {
12189
+ headers.delete("authorization");
12190
+ headers.set("Authorization", "Basic " + btoa(encodeUTF8((auth.username || "") + ":" + (auth.password || ""))));
12191
+ }
12006
12192
  if (hasMaxContentLength && typeof url === "string" && url.startsWith("data:")) {
12007
12193
  if (estimateDataURLDecodedBytes(url) > maxContentLength) throw new AxiosError("maxContentLength size of " + maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config, request);
12008
12194
  }
@@ -12407,7 +12593,8 @@ var Axios = class {
12407
12593
  silentJSONParsing: validators.transitional(validators.boolean),
12408
12594
  forcedJSONParsing: validators.transitional(validators.boolean),
12409
12595
  clarifyTimeoutError: validators.transitional(validators.boolean),
12410
- legacyInterceptorReqResOrdering: validators.transitional(validators.boolean)
12596
+ legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),
12597
+ advertiseZstdAcceptEncoding: validators.transitional(validators.boolean)
12411
12598
  }, false);
12412
12599
  if (paramsSerializer != null) if (utils_default.isFunction(paramsSerializer)) config.paramsSerializer = { serialize: paramsSerializer };
12413
12600
  else validator_default.assertOptions(paramsSerializer, {
@@ -12951,7 +13138,7 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12951
13138
  } else {
12952
13139
  const errorMessage = "SocketIoClient:on(\"connect\"): Could not get socket object from socket.io, Address: [${socketDetail.address}]";
12953
13140
  this.LogErrorMessage(errorMessage);
12954
- this.SocketConnectError(new Error(errorMessage));
13141
+ this.SocketConnectError(/* @__PURE__ */ new Error(errorMessage));
12955
13142
  }
12956
13143
  });
12957
13144
  this.#socket.on("disconnect", (reason) => {