parse-tmx
Version:
A parser for tmx.
1,363 lines (1,337 loc) • 1.45 MB
JavaScript
import { gunzip, inflate } from "node:zlib";
//#region rolldown:runtime
var __create$1 = Object.create;
var __defProp$1 = Object.defineProperty;
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames$1 = Object.getOwnPropertyNames;
var __getProtoOf$1 = Object.getPrototypeOf;
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function() {
return fn && (res = (0, fn[__getOwnPropNames$1(fn)[0]])(fn = 0)), res;
};
var __commonJS$1 = (cb, mod) => function() {
return mod || (0, cb[__getOwnPropNames$1(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all) __defProp$1(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps$1 = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames$1(from), i = 0, n = keys.length, key; i < n; i++) {
key = keys[i];
if (!__hasOwnProp$1.call(to, key) && key !== except) __defProp$1(to, key, {
get: ((k) => from[k]).bind(null, key),
enumerable: !(desc = __getOwnPropDesc$1(from, key)) || desc.enumerable
});
}
return to;
};
var __toESM$1 = (mod, isNodeMode, target) => (target = mod != null ? __create$1(__getProtoOf$1(mod)) : {}, __copyProps$1(isNodeMode || !mod || !mod.__esModule ? __defProp$1(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
var __toCommonJS = (mod) => __copyProps$1(__defProp$1({}, "__esModule", { value: true }), mod);
var __require$1 = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function.");
});
//#endregion
//#region src/models/tmx/node/TMXNodeType.ts
let TMXNodeType = /* @__PURE__ */ function(TMXNodeType$1) {
TMXNodeType$1["Data"] = "data";
TMXNodeType$1["EditorSettings"] = "editorsettings";
TMXNodeType$1["Export"] = "export";
TMXNodeType$1["Group"] = "group";
TMXNodeType$1["Image"] = "image";
TMXNodeType$1["ImageLayer"] = "imagelayer";
TMXNodeType$1["Layer"] = "layer";
TMXNodeType$1["Object"] = "object";
TMXNodeType$1["Objectgroup"] = "objectgroup";
TMXNodeType$1["Properties"] = "properties";
TMXNodeType$1["Property"] = "property";
TMXNodeType$1["Tileset"] = "tileset";
return TMXNodeType$1;
}({});
//#endregion
//#region src/models/tmx/shared/TMXMapShared.ts
var TMXMapShared = class {
height = 0;
infinite = 0;
nextlayerid = 0;
nextobjectid = 0;
orientation = "";
renderorder = "";
tiledversion = "";
tileheight = 0;
tilewidth = 0;
version = 0;
width = 0;
};
//#endregion
//#region src/models/tmx/parsed/TMXMapParsed.ts
var TMXMapParsed = class extends TMXMapShared {
editorsettings = {};
layers = [];
properties = [];
tilesets = [];
constructor(init) {
super();
Object.assign(this, init);
}
};
//#endregion
//#region src/models/tmx/parsed/TMXParsed.ts
var TMXParsed = class {
map = new TMXMapParsed();
constructor(map$1) {
if (map$1) this.map = map$1;
}
};
//#endregion
//#region src/util/parseGroup.ts
const parseGroup = async (node, expectedCount, translateFlips) => {
const { $, $$ } = node;
const group = structuredClone($);
group.type = node["#name"];
group.layers = await Promise.all($$.map((l) => parseNode(l, expectedCount, translateFlips)));
return group;
};
//#endregion
//#region src/models/Flipped.ts
let Flipped = /* @__PURE__ */ function(Flipped$1) {
Flipped$1[Flipped$1["Diagonally"] = 536870912] = "Diagonally";
Flipped$1[Flipped$1["Horizontally"] = 2147483648] = "Horizontally";
Flipped$1[Flipped$1["Vertically"] = 1073741824] = "Vertically";
return Flipped$1;
}({});
//#endregion
//#region src/util/parseFlips.ts
const parseFlips = (gid) => ({
D: Boolean(gid & Flipped.Diagonally),
H: Boolean(gid & Flipped.Horizontally),
V: Boolean(gid & Flipped.Vertically)
});
//#endregion
//#region src/models/Shape.ts
let Shape = /* @__PURE__ */ function(Shape$1) {
Shape$1["Ellipse"] = "ellipse";
Shape$1["Point"] = "point";
Shape$1["Polygon"] = "polygon";
Shape$1["Rectangle"] = "rectangle";
return Shape$1;
}({});
//#endregion
//#region src/util/parseObjectShape.ts
const parseObjectShape = (node) => {
if ("point" in node) return Shape.Point;
else if ("ellipse" in node) return Shape.Ellipse;
else if ("polygon" in node) return Shape.Polygon;
else return Shape.Rectangle;
};
//#endregion
//#region src/util/parseProperties.ts
const parseProperties = (properties) => properties.map(({ property }) => {
const { $, _ } = property[0];
const { name, value } = $;
return {
name,
value: value ?? _
};
});
//#endregion
//#region src/util/parseTileId.ts
const parseTileId = (gid) => gid &= ~Object.values(Flipped).reduce((acc, curr) => acc | curr, 0);
//#endregion
//#region src/util/parseObject.ts
const parseObject = (node) => {
const { $, polygon, properties, text } = node;
const object = structuredClone($);
object.shape = parseObjectShape(node);
if (properties) object.properties = parseProperties(properties);
if (polygon) object.points = polygon[0].$.points.split(" ").map((point) => {
const [x, y] = point.split(",");
return [parseFloat(x), parseFloat(y)];
});
if (text) {
const textNode = text[0];
object.text = textNode._;
object.properties = Object.assign({}, object.properties, textNode.$);
}
if (object.gid) {
object.flips = parseFlips(object.gid);
object.gid = parseTileId(object.gid);
}
return object;
};
//#endregion
//#region src/util/parseLayer.ts
const parseLayer = (node) => {
const { $, image, object, properties } = node;
const layer = structuredClone($);
layer.type = node["#name"];
layer.visible = 1;
if (image) layer.image = structuredClone(image[0].$);
if (object) layer.objects = object.map((o) => parseObject(o));
if (properties) layer.properties = parseProperties(properties);
return layer;
};
//#endregion
//#region src/models/Compression.ts
let Compression = /* @__PURE__ */ function(Compression$1) {
Compression$1["Gzip"] = "gzip";
Compression$1["Zlib"] = "zlib";
return Compression$1;
}({});
//#endregion
//#region src/models/Encoding.ts
let Encoding = /* @__PURE__ */ function(Encoding$1) {
Encoding$1["Base64"] = "base64";
Encoding$1["Csv"] = "csv";
return Encoding$1;
}({});
//#endregion
//#region src/util/isTMXEmbeddedTilesetNode.ts
const isTMXEmbeddedTilesetNode = (node) => "tile" in node;
//#endregion
//#region src/util/unpackTileBytes.ts
const unpackTileBytes = (buffer, expectedCount) => {
const unpackedTiles = [];
if (buffer.length !== expectedCount) throw new Error(`Expected ${expectedCount} bytes of tile data; received ${buffer.length}`);
for (let i = 0; i < expectedCount; i += 4) unpackedTiles.push(buffer.readUInt32LE(i));
return unpackedTiles;
};
//#endregion
//#region ../shared/dist/index.js
var InvalidOperationError = class extends Error {
constructor(operation, name, message) {
super(`Invalid operation: ${operation}, name: ${name}, ${message}`);
this.name = "InvalidOperationError";
}
};
let Operation = /* @__PURE__ */ function(Operation$1) {
Operation$1["Create"] = "Create";
Operation$1["Delete"] = "Delete";
Operation$1["Push"] = "Push";
Operation$1["Read"] = "Read";
Operation$1["Update"] = "Update";
return Operation$1;
}({});
const exhaustiveGuard = (value) => {
throw new InvalidOperationError(Operation.Read, exhaustiveGuard.name, JSON.stringify(value));
};
//#endregion
//#region src/util/parseTileLayer.ts
const parseTileLayer = async (node, expectedCount, translateFlips) => {
const { data, properties } = node;
if (!data) throw new Error("TMXLayer data corrupted!");
const layer = structuredClone(node.$);
layer.type = node["#name"];
if (properties) layer.properties = parseProperties(properties);
const nodeData = data[0];
if (isTMXEmbeddedTilesetNode(nodeData)) layer.data = nodeData.tile?.map(({ $ }) => $.gid ?? 0) ?? [];
else {
const { $, _ } = nodeData;
const { compression, encoding } = $;
const layerData = _.trim();
switch (encoding) {
case Encoding.Base64: {
const buffer = Buffer.from(layerData, encoding);
switch (compression) {
case Compression.Gzip:
case Compression.Zlib:
{
const decompress = compression === Compression.Gzip ? gunzip : inflate;
layer.data = await new Promise((resolve, reject) => {
decompress(buffer, (err, buf) => {
if (err) {
reject(err);
return;
}
resolve(unpackTileBytes(buf, expectedCount));
});
});
}
break;
case void 0:
layer.data = unpackTileBytes(buffer, expectedCount);
break;
default: exhaustiveGuard(compression);
}
break;
}
case Encoding.Csv:
layer.data = layerData.split(",").map((d) => parseInt(d));
break;
default: exhaustiveGuard(encoding);
}
}
if (translateFlips) {
layer.flips = [];
layer.data ??= [];
for (const gid of layer.data) {
layer.flips.push(parseFlips(gid));
layer.data.push(parseTileId(gid));
}
}
return layer;
};
//#endregion
//#region src/util/parseNode.ts
const parseNode = (node, expectedCount, translateFlips) => {
const tmxNodeType = node["#name"];
switch (tmxNodeType) {
case TMXNodeType.Group: return parseGroup(node, expectedCount, translateFlips);
case TMXNodeType.ImageLayer:
case TMXNodeType.Objectgroup: return parseLayer(node);
case TMXNodeType.Layer: return parseTileLayer(node, expectedCount, translateFlips);
default: throw new InvalidOperationError(Operation.Read, parseNode.name, tmxNodeType);
}
};
//#endregion
//#region src/util/isExternalTileset.ts
const isExternalTileset = (tileset) => "source" in tileset;
//#endregion
//#region src/util/parseTile.ts
const parseTile = (node) => {
const { $, animation, objectgroup, properties } = node;
const tile = structuredClone($);
if (animation) tile.animation = { frames: animation[0].frame.map(({ $: $$1 }) => structuredClone($$1)) };
if (objectgroup) tile.objects = objectgroup[0].object.map((o) => parseObject(o));
if (properties) tile.properties = parseProperties(properties);
return tile;
};
//#endregion
//#region src/util/parseTileset.ts
const parseTileset = (node) => {
if (isExternalTileset(node.$)) return structuredClone(node.$);
const { $, $$, tile } = node;
for (const childNode of $$) {
const tmxNodeType = childNode["#name"];
if (tmxNodeType !== TMXNodeType.Image) continue;
const image = structuredClone(childNode.$);
const tiles = tile?.map((t) => parseTile(t)) ?? [];
return {
...$,
image,
tiles
};
}
throw new InvalidOperationError(Operation.Read, parseTileset.name, $.name);
};
//#endregion
//#region src/util/parseXmlValue.ts
const parseXmlValue = (value) => {
if (value === "true") return true;
if (value === "false") return false;
if (/^[+-]?\d+(\.\d+)?$/g.test(value)) {
const parsedValue = parseFloat(value);
return isNaN(parsedValue) ? value : parsedValue;
}
return value;
};
//#endregion
//#region ../xml2js/dist/index.js
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from$1, except, desc) => {
if (from$1 && typeof from$1 === "object" || typeof from$1 === "function") for (var keys = __getOwnPropNames(from$1), i$1 = 0, n = keys.length, key; i$1 < n; i$1++) {
key = keys[i$1];
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: ((k) => from$1[k]).bind(null, key),
enumerable: !(desc = __getOwnPropDesc(from$1, key)) || desc.enumerable
});
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod,
enumerable: true
}) : target, mod));
var __require = /* @__PURE__ */ ((x) => typeof __require$1 !== "undefined" ? __require$1 : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof __require$1 !== "undefined" ? __require$1 : a)[b] }) : x)(function(x) {
if (typeof __require$1 !== "undefined") return __require$1.apply(this, arguments);
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function.");
});
const DefaultCommonOptions = {
attrkey: "$",
charkey: "_"
};
const DefaultBuilderOptions = {
...DefaultCommonOptions,
cdata: false,
doctype: null,
renderOpts: {
indent: " ",
newline: "\n",
pretty: true
},
rootName: "root",
xmldec: {
encoding: "UTF-8",
standalone: true,
version: "1.0"
}
};
var require_xmlbuilder2_min = __commonJS({ "../../node_modules/.pnpm/xmlbuilder2@3.1.1/node_modules/xmlbuilder2/lib/xmlbuilder2.min.js"(exports$1, module$1) {
(function(e, t) {
"object" == typeof exports$1 && "object" == typeof module$1 ? module$1.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports$1 ? exports$1.xmlbuilder2 = t() : e.xmlbuilder2 = t();
})(void 0, function() {
return function(e) {
var t = {};
function r(n) {
if (t[n]) return t[n].exports;
var i$1 = t[n] = {
i: n,
l: !1,
exports: {}
};
return e[n].call(i$1.exports, i$1, i$1.exports, r), i$1.l = !0, i$1.exports;
}
return r.m = e, r.c = t, r.d = function(e$1, t$1, n) {
r.o(e$1, t$1) || Object.defineProperty(e$1, t$1, {
enumerable: !0,
get: n
});
}, r.r = function(e$1) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e$1, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e$1, "__esModule", { value: !0 });
}, r.t = function(e$1, t$1) {
if (1 & t$1 && (e$1 = r(e$1)), 8 & t$1) return e$1;
if (4 & t$1 && "object" == typeof e$1 && e$1 && e$1.__esModule) return e$1;
var n = Object.create(null);
if (r.r(n), Object.defineProperty(n, "default", {
enumerable: !0,
value: e$1
}), 2 & t$1 && "string" != typeof e$1) for (var i$1 in e$1) r.d(n, i$1, function(t$2) {
return e$1[t$2];
}.bind(null, i$1));
return n;
}, r.n = function(e$1) {
var t$1 = e$1 && e$1.__esModule ? function() {
return e$1.default;
} : function() {
return e$1;
};
return r.d(t$1, "a", t$1), t$1;
}, r.o = function(e$1, t$1) {
return Object.prototype.hasOwnProperty.call(e$1, t$1);
}, r.p = "", r(r.s = 184);
}([
function(e, t, r) {
"use strict";
function n(e$1) {
for (var r$1 in e$1) t.hasOwnProperty(r$1) || (t[r$1] = e$1[r$1]);
}
Object.defineProperty(t, "__esModule", { value: !0 }), n(r(240)), n(r(251)), n(r(175)), n(r(107)), n(r(29)), n(r(73)), n(r(106)), n(r(30)), n(r(252)), n(r(52)), n(r(97)), n(r(253)), n(r(37)), n(r(51)), n(r(173)), n(r(176)), n(r(172)), n(r(108)), n(r(254)), n(r(255)), n(r(256)), n(r(72)), n(r(177)), n(r(105)), n(r(17)), n(r(257)), n(r(12)), n(r(174));
},
function(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), function(e$1) {
e$1[e$1.Before = 0] = "Before", e$1[e$1.Equal = 1] = "Equal", e$1[e$1.After = 2] = "After";
}(t.BoundaryPosition || (t.BoundaryPosition = {})), function(e$1) {
e$1[e$1.None = 0] = "None", e$1[e$1.Capturing = 1] = "Capturing", e$1[e$1.AtTarget = 2] = "AtTarget", e$1[e$1.Bubbling = 3] = "Bubbling";
}(t.EventPhase || (t.EventPhase = {})), function(e$1) {
e$1[e$1.Element = 1] = "Element", e$1[e$1.Attribute = 2] = "Attribute", e$1[e$1.Text = 3] = "Text", e$1[e$1.CData = 4] = "CData", e$1[e$1.EntityReference = 5] = "EntityReference", e$1[e$1.Entity = 6] = "Entity", e$1[e$1.ProcessingInstruction = 7] = "ProcessingInstruction", e$1[e$1.Comment = 8] = "Comment", e$1[e$1.Document = 9] = "Document", e$1[e$1.DocumentType = 10] = "DocumentType", e$1[e$1.DocumentFragment = 11] = "DocumentFragment", e$1[e$1.Notation = 12] = "Notation";
}(t.NodeType || (t.NodeType = {})), function(e$1) {
e$1[e$1.Disconnected = 1] = "Disconnected", e$1[e$1.Preceding = 2] = "Preceding", e$1[e$1.Following = 4] = "Following", e$1[e$1.Contains = 8] = "Contains", e$1[e$1.ContainedBy = 16] = "ContainedBy", e$1[e$1.ImplementationSpecific = 32] = "ImplementationSpecific";
}(t.Position || (t.Position = {})), function(e$1) {
e$1[e$1.Accept = 1] = "Accept", e$1[e$1.Reject = 2] = "Reject", e$1[e$1.Skip = 3] = "Skip";
}(t.FilterResult || (t.FilterResult = {})), function(e$1) {
e$1[e$1.All = 4294967295] = "All", e$1[e$1.Element = 1] = "Element", e$1[e$1.Attribute = 2] = "Attribute", e$1[e$1.Text = 4] = "Text", e$1[e$1.CDataSection = 8] = "CDataSection", e$1[e$1.EntityReference = 16] = "EntityReference", e$1[e$1.Entity = 32] = "Entity", e$1[e$1.ProcessingInstruction = 64] = "ProcessingInstruction", e$1[e$1.Comment = 128] = "Comment", e$1[e$1.Document = 256] = "Document", e$1[e$1.DocumentType = 512] = "DocumentType", e$1[e$1.DocumentFragment = 1024] = "DocumentFragment", e$1[e$1.Notation = 2048] = "Notation";
}(t.WhatToShow || (t.WhatToShow = {})), function(e$1) {
e$1[e$1.StartToStart = 0] = "StartToStart", e$1[e$1.StartToEnd = 1] = "StartToEnd", e$1[e$1.EndToEnd = 2] = "EndToEnd", e$1[e$1.EndToStart = 3] = "EndToStart";
}(t.HowToCompare || (t.HowToCompare = {}));
},
function(e, t, r) {
"use strict";
var n = this && this.__values || function(e$1) {
var t$1 = "function" == typeof Symbol && Symbol.iterator, r$1 = t$1 && e$1[t$1], n$1 = 0;
if (r$1) return r$1.call(e$1);
if (e$1 && "number" == typeof e$1.length) return { next: function() {
return e$1 && n$1 >= e$1.length && (e$1 = void 0), {
value: e$1 && e$1[n$1++],
done: !e$1
};
} };
throw new TypeError(t$1 ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(t, "__esModule", { value: !0 });
var i$1 = r(212);
t.FixedSizeSet = i$1.FixedSizeSet;
var o = r(213);
t.ObjectCache = o.ObjectCache;
var a = r(214);
t.CompareCache = a.CompareCache;
var s = r(215);
t.Lazy = s.Lazy;
var u = r(216);
function l(e$1, t$1, r$1) {
if (m(e$1)) e$1.forEach(function(e$2, n$2) {
return t$1.call(r$1, n$2, e$2);
});
else for (var n$1 in e$1) e$1.hasOwnProperty(n$1) && t$1.call(r$1, n$1, e$1[n$1]);
}
function c(e$1) {
var t$1, r$1;
if (h(e$1)) return e$1;
if (f(e$1)) {
var i$2 = [];
try {
for (var o$1 = n(e$1), a$1 = o$1.next(); !a$1.done; a$1 = o$1.next()) {
var s$1 = a$1.value;
i$2.push(c(s$1));
}
} catch (e$2) {
t$1 = { error: e$2 };
} finally {
try {
a$1 && !a$1.done && (r$1 = o$1.return) && r$1.call(o$1);
} finally {
if (t$1) throw t$1.error;
}
}
return i$2;
}
if (p$3(e$1)) {
i$2 = {};
for (var u$1 in e$1) if (e$1.hasOwnProperty(u$1)) {
var l$1 = e$1[u$1];
i$2[u$1] = c(l$1);
}
return i$2;
}
return e$1;
}
function h(e$1) {
return !!e$1 && "[object Function]" === Object.prototype.toString.call(e$1);
}
function p$3(e$1) {
var t$1 = typeof e$1;
return !!e$1 && ("function" === t$1 || "object" === t$1);
}
function f(e$1) {
return Array.isArray(e$1);
}
function d(e$1) {
return e$1 instanceof Set;
}
function m(e$1) {
return e$1 instanceof Map;
}
function y(e$1) {
if (p$3(e$1)) {
var t$1 = Object.getPrototypeOf(e$1), r$1 = t$1.constructor;
return t$1 && r$1 && "function" == typeof r$1 && r$1 instanceof r$1 && Function.prototype.toString.call(r$1) === Function.prototype.toString.call(Object);
}
return !1;
}
t.StringWalker = u.StringWalker, t.applyMixin = function(e$1, t$1) {
for (var r$1 = [], n$1 = 2; n$1 < arguments.length; n$1++) r$1[n$1 - 2] = arguments[n$1];
Object.getOwnPropertyNames(t$1.prototype).forEach(function(n$2) {
if ("constructor" !== n$2) {
if (-1 !== r$1.indexOf(n$2)) {
var i$2 = Object.getOwnPropertyDescriptor(e$1.prototype, n$2);
i$2 && Object.defineProperty(e$1.prototype, "_" + n$2, i$2);
}
var o$1 = Object.getOwnPropertyDescriptor(t$1.prototype, n$2);
o$1 && Object.defineProperty(e$1.prototype, n$2, o$1);
}
});
}, t.applyDefaults = function e$1(t$1, r$1, n$1) {
void 0 === n$1 && (n$1 = !1);
var i$2 = c(t$1 || {});
return l(r$1, function(t$2, r$2) {
y(r$2) ? i$2[t$2] = e$1(i$2[t$2], r$2, n$1) : (n$1 || void 0 === i$2[t$2]) && (i$2[t$2] = r$2);
}), i$2;
}, t.forEachArray = function(e$1, t$1, r$1) {
e$1.forEach(t$1, r$1);
}, t.forEachObject = l, t.arrayLength = function(e$1) {
return d(e$1) ? e$1.size : e$1.length;
}, t.objectLength = function(e$1) {
return m(e$1) ? e$1.size : Object.keys(e$1).length;
}, t.getObjectValue = function(e$1, t$1) {
return m(e$1) ? e$1.get(t$1) : e$1[t$1];
}, t.removeObjectValue = function(e$1, t$1) {
m(e$1) ? e$1.delete(t$1) : delete e$1[t$1];
}, t.clone = c, t.isBoolean = function(e$1) {
return "boolean" == typeof e$1;
}, t.isNumber = function(e$1) {
return "number" == typeof e$1;
}, t.isString = function(e$1) {
return "string" == typeof e$1;
}, t.isFunction = h, t.isObject = p$3, t.isArray = f, t.isSet = d, t.isMap = m, t.isEmpty = function(e$1) {
if (f(e$1)) return !e$1.length;
if (d(e$1)) return !e$1.size;
if (m(e$1)) return !e$1.size;
if (p$3(e$1)) {
for (var t$1 in e$1) if (e$1.hasOwnProperty(t$1)) return !1;
return !0;
}
return !1;
}, t.isPlainObject = y, t.isIterable = function(e$1) {
return e$1 && "function" == typeof e$1[Symbol.iterator];
}, t.getValue = function(e$1) {
return h(e$1.valueOf) ? e$1.valueOf() : e$1;
}, t.utf8Encode = function(e$1) {
for (var t$1 = new Uint8Array(4 * e$1.length), r$1 = 0, n$1 = 0; n$1 < e$1.length; n$1++) {
var i$2 = e$1.charCodeAt(n$1);
if (i$2 < 128) t$1[r$1++] = i$2;
else {
if (i$2 < 2048) t$1[r$1++] = i$2 >> 6 | 192;
else {
if (i$2 > 55295 && i$2 < 56320) {
if (++n$1 >= e$1.length) throw new Error("Incomplete surrogate pair.");
var o$1 = e$1.charCodeAt(n$1);
if (o$1 < 56320 || o$1 > 57343) throw new Error("Invalid surrogate character.");
i$2 = 65536 + ((1023 & i$2) << 10) + (1023 & o$1), t$1[r$1++] = i$2 >> 18 | 240, t$1[r$1++] = i$2 >> 12 & 63 | 128;
} else t$1[r$1++] = i$2 >> 12 | 224;
t$1[r$1++] = i$2 >> 6 & 63 | 128;
}
t$1[r$1++] = 63 & i$2 | 128;
}
}
return t$1.subarray(0, r$1);
}, t.utf8Decode = function(e$1) {
for (var t$1 = "", r$1 = 0; r$1 < e$1.length;) {
var n$1 = e$1[r$1++];
if (n$1 > 127) if (n$1 > 191 && n$1 < 224) {
if (r$1 >= e$1.length) throw new Error("Incomplete 2-byte sequence.");
n$1 = (31 & n$1) << 6 | 63 & e$1[r$1++];
} else if (n$1 > 223 && n$1 < 240) {
if (r$1 + 1 >= e$1.length) throw new Error("Incomplete 3-byte sequence.");
n$1 = (15 & n$1) << 12 | (63 & e$1[r$1++]) << 6 | 63 & e$1[r$1++];
} else {
if (!(n$1 > 239 && n$1 < 248)) throw new Error("Unknown multi-byte start.");
if (r$1 + 2 >= e$1.length) throw new Error("Incomplete 4-byte sequence.");
n$1 = (7 & n$1) << 18 | (63 & e$1[r$1++]) << 12 | (63 & e$1[r$1++]) << 6 | 63 & e$1[r$1++];
}
if (n$1 <= 65535) t$1 += String.fromCharCode(n$1);
else {
if (!(n$1 <= 1114111)) throw new Error("Code point exceeds UTF-16 limit.");
n$1 -= 65536, t$1 += String.fromCharCode(n$1 >> 10 | 55296), t$1 += String.fromCharCode(1023 & n$1 | 56320);
}
}
return t$1;
};
},
function(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 });
var n = r(241);
t.Cast = n.Cast;
var i$1 = r(150);
t.Guard = i$1.Guard;
var o = r(242);
t.EmptySet = o.EmptySet;
},
function(e, t, r) {
var n = r(11), i$1 = r(55).f, o = r(21), a = r(25), s = r(80), u = r(119), l = r(123);
e.exports = function(e$1, t$1) {
var r$1, c, h, p$3, f, d = e$1.target, m = e$1.global, y = e$1.stat;
if (r$1 = m ? n : y ? n[d] || s(d, {}) : (n[d] || {}).prototype) for (c in t$1) {
if (p$3 = t$1[c], h = e$1.noTargetGet ? (f = i$1(r$1, c)) && f.value : r$1[c], !l(m ? c : d + (y ? "." : "#") + c, e$1.forced) && void 0 !== h) {
if (typeof p$3 == typeof h) continue;
u(p$3, h);
}
(e$1.sham || h && h.sham) && o(p$3, "sham", !0), a(r$1, c, p$3, e$1);
}
};
},
function(e, t, r) {
var n = r(11), i$1 = r(81), o = r(14), a = r(58), s = r(86), u = r(124), l = i$1("wks"), c = n.Symbol, h = u ? c : c && c.withoutSetter || a;
e.exports = function(e$1) {
return o(l, e$1) || (s && o(c, e$1) ? l[e$1] = c[e$1] : l[e$1] = h("Symbol." + e$1)), l[e$1];
};
},
function(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 });
var n = r(2), i$1 = r(29), o = function() {
function e$1() {
this._features = {
mutationObservers: !0,
customElements: !0,
slots: !0,
steps: !0
}, this._window = null, this._compareCache = new n.CompareCache(), this._rangeList = new n.FixedSizeSet();
}
return e$1.prototype.setFeatures = function(e$2) {
if (void 0 === e$2 && (e$2 = !0), n.isObject(e$2)) for (var t$1 in e$2) this._features[t$1] = e$2[t$1] || !1;
else for (var t$1 in this._features) this._features[t$1] = e$2;
}, Object.defineProperty(e$1.prototype, "features", {
get: function() {
return this._features;
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(e$1.prototype, "window", {
get: function() {
return null === this._window && (this._window = i$1.create_window()), this._window;
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(e$1.prototype, "compareCache", {
get: function() {
return this._compareCache;
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(e$1.prototype, "rangeList", {
get: function() {
return this._rangeList;
},
enumerable: !0,
configurable: !0
}), Object.defineProperty(e$1, "instance", {
get: function() {
return e$1._instance || (e$1._instance = new e$1()), e$1._instance;
},
enumerable: !0,
configurable: !0
}), e$1;
}();
t.dom = o.instance;
},
function(e, t, r) {
"use strict";
var n = this && this.__importStar || function(e$1) {
if (e$1 && e$1.__esModule) return e$1;
var t$1 = {};
if (null != e$1) for (var r$1 in e$1) Object.hasOwnProperty.call(e$1, r$1) && (t$1[r$1] = e$1[r$1]);
return t$1.default = e$1, t$1;
};
Object.defineProperty(t, "__esModule", { value: !0 });
var i$1 = n(r(228));
t.base64 = i$1;
var o = n(r(146));
t.byte = o;
var a = n(r(147));
t.byteSequence = a;
var s = n(r(96));
t.codePoint = s;
var u = n(r(232));
t.json = u;
var l = n(r(233));
t.list = l;
var c = n(r(234));
t.map = c;
var h = n(r(235));
t.namespace = h;
var p$3 = n(r(236));
t.queue = p$3;
var f = n(r(237));
t.set = f;
var d = n(r(238));
t.stack = d;
var m = n(r(239));
t.string = m;
},
function(e, t) {
e.exports = function(e$1) {
try {
return !!e$1();
} catch (e$2) {
return !0;
}
};
},
function(e, t, r) {
"use strict";
var n, i$1 = this && this.__extends || (n = function(e$1, t$1) {
return (n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e$2, t$2) {
e$2.__proto__ = t$2;
} || function(e$2, t$2) {
for (var r$1 in t$2) t$2.hasOwnProperty(r$1) && (e$2[r$1] = t$2[r$1]);
})(e$1, t$1);
}, function(e$1, t$1) {
function r$1() {
this.constructor = e$1;
}
n(e$1, t$1), e$1.prototype = null === t$1 ? Object.create(t$1) : (r$1.prototype = t$1.prototype, new r$1());
});
Object.defineProperty(t, "__esModule", { value: !0 });
var o = function(e$1) {
function t$1(t$2, r$1) {
void 0 === r$1 && (r$1 = "");
var n$1 = e$1.call(this, r$1) || this;
return n$1.name = t$2, n$1;
}
return i$1(t$1, e$1), t$1;
}(Error);
t.DOMException = o;
var a = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "DOMStringSizeError", t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.DOMStringSizeError = a;
var s = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "WrongDocumentError", "The object is in the wrong document. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.WrongDocumentError = s;
var u = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NoDataAllowedError", t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NoDataAllowedError = u;
var l = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NoModificationAllowedError", "The object can not be modified. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NoModificationAllowedError = l;
var c = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NotSupportedError", "The operation is not supported. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NotSupportedError = c;
var h = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InUseAttributeError", t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InUseAttributeError = h;
var p$3 = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InvalidStateError", "The object is in an invalid state. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InvalidStateError = p$3;
var f = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InvalidModificationError", "The object can not be modified in this way. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InvalidModificationError = f;
var d = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NamespaceError", "The operation is not allowed by Namespaces in XML. [XMLNS] " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NamespaceError = d;
var m = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InvalidAccessError", "The object does not support the operation or argument. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InvalidAccessError = m;
var y = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "ValidationError", t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.ValidationError = y;
var v = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "TypeMismatchError", t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.TypeMismatchError = v;
var _ = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "SecurityError", "The operation is insecure. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.SecurityError = _;
var g = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NetworkError", "A network error occurred. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NetworkError = g;
var b = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "AbortError", "The operation was aborted. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.AbortError = b;
var x = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "URLMismatchError", "The given URL does not match another URL. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.URLMismatchError = x;
var w = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "QuotaExceededError", "The quota has been exceeded. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.QuotaExceededError = w;
var E = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "TimeoutError", "The operation timed out. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.TimeoutError = E;
var D = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InvalidNodeTypeError", "The supplied node is incorrect or has an incorrect ancestor for this operation. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InvalidNodeTypeError = D;
var S = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "DataCloneError", "The object can not be cloned. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.DataCloneError = S;
var C = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NotImplementedError", "The DOM method is not implemented by this module. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NotImplementedError = C;
var A = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "HierarchyRequestError", "The operation would yield an incorrect node tree. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.HierarchyRequestError = A;
var N = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "NotFoundError", "The object can not be found here. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.NotFoundError = N;
var T = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "IndexSizeError", "The index is not in the allowed range. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.IndexSizeError = T;
var O = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "SyntaxError", "The string did not match the expected pattern. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.SyntaxError = O;
var F = function(e$1) {
function t$1(t$2) {
return void 0 === t$2 && (t$2 = ""), e$1.call(this, "InvalidCharacterError", "The string contains invalid characters. " + t$2) || this;
}
return i$1(t$1, e$1), t$1;
}(o);
t.InvalidCharacterError = F;
},
function(e, t, r) {
"use strict";
var n = r(53), i$1 = [
"kind",
"resolve",
"construct",
"instanceOf",
"predicate",
"represent",
"defaultStyle",
"styleAliases"
], o = [
"scalar",
"sequence",
"mapping"
];
e.exports = function(e$1, t$1) {
var r$1, a;
if (t$1 = t$1 || {}, Object.keys(t$1).forEach(function(t$2) {
if (-1 === i$1.indexOf(t$2)) throw new n("Unknown option \"" + t$2 + "\" is met in definition of \"" + e$1 + "\" YAML type.");
}), this.tag = e$1, this.kind = t$1.kind || null, this.resolve = t$1.resolve || function() {
return !0;
}, this.construct = t$1.construct || function(e$2) {
return e$2;
}, this.instanceOf = t$1.instanceOf || null, this.predicate = t$1.predicate || null, this.represent = t$1.represent || null, this.defaultStyle = t$1.defaultStyle || null, this.styleAliases = (r$1 = t$1.styleAliases || null, a = {}, null !== r$1 && Object.keys(r$1).forEach(function(e$2) {
r$1[e$2].forEach(function(t$2) {
a[String(t$2)] = e$2;
});
}), a), -1 === o.indexOf(this.kind)) throw new n("Unknown kind \"" + this.kind + "\" is specified for \"" + e$1 + "\" YAML type.");
};
},
function(e, t, r) {
(function(t$1) {
var r$1 = function(e$1) {
return e$1 && e$1.Math == Math && e$1;
};
e.exports = r$1("object" == typeof globalThis && globalThis) || r$1("object" == typeof window && window) || r$1("object" == typeof self && self) || r$1("object" == typeof t$1 && t$1) || Function("return this")();
}).call(this, r(78));
},
function(e, t, r) {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }), t.idl_defineConst = function(e$1, t$1, r$1) {
Object.defineProperty(e$1, t$1, {
writable: !1,
enumerable: !0,
configurable: !1,
value: r$1
});
};
},
function(e, t) {
e.exports = function(e$1) {
return "object" == typeof e$1 ? null !== e$1 : "function" == typeof e$1;
};
},
function(e, t) {
var r = {}.hasOwnProperty;
e.exports = function(e$1, t$1) {
return r.call(e$1, t$1);
};
},
function(e, t, r) {
var n = r(16), i$1 = r(115), o = r(18), a = r(56), s = Object.defineProperty;
t.f = n ? s : function(e$1, t$1, r$1) {
if (o(e$1), t$1 = a(t$1, !0), o(r$1), i$1) try {
return s(e$1, t$1, r$1);
} catch (e$2) {}
if ("get" in r$1 || "set" in r$1) throw TypeError("Accessors not supported");
return "value" in r$1 && (e$1[t$1] = r$1.value), e$1;
};
},
function(e, t, r) {
var n = r(8);
e.exports = !n(function() {
return 7 != Object.defineProperty({}, 1, { get: function() {
return 7;
} })[1];
});
},
function(e, t, r) {
"use strict";
var n = this && this.__values || function(e$1) {
var t$1 = "function" == typeof Symbol && Symbol.iterator, r$1 = t$1 && e$1[t$1], n$1 = 0;
if (r$1) return r$1.call(e$1);
if (e$1 && "number" == typeof e$1.length) return { next: function() {
return e$1 && n$1 >= e$1.length && (e$1 = void 0), {
value: e$1 && e$1[n$1++],
done: !e$1
};
} };
throw new TypeError(t$1 ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(t, "__esModule", { value: !0 });
var i$1 = r(3), o = r(1);
function a(e$1, t$1, r$1) {
if (void 0 === r$1 && (r$1 = !1), r$1 && i$1.Guard.isElementNode(t$1) && i$1.Guard.isShadowRoot(t$1.shadowRoot) && t$1.shadowRoot._firstChild) return t$1.shadowRoot._firstChild;
if (t$1._firstChild) return t$1._firstChild;
if (t$1 === e$1) return null;
if (t$1._nextSibling) return t$1._nextSibling;
for (var n$1 = t$1._parent; n$1 && n$1 !== e$1;) {
if (n$1._nextSibling) return n$1._nextSibling;
n$1 = n$1._parent;
}
return null;
}
function s() {
var e$1;
return (e$1 = {})[Symbol.iterator] = function() {
return { next: function() {
return {
done: !0,
value: null
};
} };
}, e$1;
}
function u(e$1, t$1, r$1, n$1) {
void 0 === t$1 && (t$1 = !1), void 0 === r$1 && (r$1 = !1);
for (var i$2 = t$1 ? e$1 : a(e$1, e$1, r$1); i$2 && n$1 && !n$1(i$2);) i$2 = a(e$1, i$2, r$1);
return i$2;
}
function l(e$1, t$1, r$1, n$1, i$2) {
void 0 === r$1 && (r$1 = !1), void 0 === n$1 && (n$1 = !1);
for (var o$1 = a(e$1, t$1, n$1); o$1 && i$2 && !i$2(o$1);) o$1 = a(e$1, o$1, n$1);
return o$1;
}
function c(e$1, t$1, r$1, n$1) {
var i$2;
return void 0 === t$1 && (t$1 = !1), void 0 === r$1 && (r$1 = !1), t$1 || 0 !== e$1._children.size ? ((i$2 = {})[Symbol.iterator] = function() {
var i$3 = t$1 ? e$1 : a(e$1, e$1, r$1);
return { next: function() {
for (; i$3 && n$1 && !n$1(i$3);) i$3 = a(e$1, i$3, r$1);
if (null === i$3) return {
done: !0,
value: null
};
var t$2 = {
done: !1,
value: i$3
};
return i$3 = a(e$1, i$3, r$1), t$2;
} };
}, i$2) : s();
}
function h(e$1, t$1, r$1) {
void 0 === t$1 && (t$1 = !1);
for (var n$1 = t$1 ? e$1 : e$1._parent; n$1 && r$1 && !r$1(n$1);) n$1 = n$1._parent;
return n$1;
}
function p$3(e$1, t$1, r$1, n$1) {
void 0 === r$1 && (r$1 = !1);
for (var i$2 = t$1._parent; i$2 && n$1 && !n$1(i$2);) i$2 = i$2._parent;
return i$2;
}
function f(e$1) {
return i$1.Guard.isDocumentTypeNode(e$1) ? 0 : i$1.Guard.isCharacterDataNode(e$1) ? e$1._data.length : e$1._children.size;
}
function d(e$1, t$1) {
if (void 0 === t$1 && (t$1 = !1), t$1) {
var r$1 = d(e$1, !1);
return i$1.Guard.isShadowRoot(r$1) ? d(r$1._host, !0) : r$1;
}
return e$1._parent ? d(e$1._parent) : e$1;
}
function m(e$1, t$1, r$1, n$1) {
void 0 === r$1 && (r$1 = !1), void 0 === n$1 && (n$1 = !1);
for (var o$1 = r$1 ? e$1 : n$1 && i$1.Guard.isShadowRoot(e$1) ? e$1._host : e$1._parent; null !== o$1;) {
if (o$1 === t$1) return !0;
o$1 = n$1 && i$1.Guard.isShadowRoot(o$1) ? o$1._host : o$1._parent;
}
return !1;
}
function y(e$1) {
for (var t$1 = d(e$1), r$1 = 0, n$1 = u(t$1); null !== n$1;) {
if (r$1++, n$1 === e$1) return r$1;
n$1 = l(t$1, n$1);
}
return -1;
}
t.tree_getFirstDescendantNode = u, t.tree_getNextDescendantNode = l, t.tree_getDescendantNodes = c, t.tree_getDescendantElements = function(e$1, t$1, r$1, n$1) {
var o$1;
return void 0 === t$1 && (t$1 = !1), void 0 === r$1 && (r$1 = !1), t$1 || 0 !== e$1._children.size ? ((o$1 = {})[Symbol.iterator] = function() {
var o$2 = c(e$1, t$1, r$1, function(e$2) {
return i$1.Guard.isElementNode(e$2);
})[Symbol.iterator](), a$1 = o$2.next().value;
return { next: function() {
for (; a$1 && n$1 && !n$1(a$1);) a$1 = o$2.next().value;
if (null === a$1) return {
done: !0,
value: null
};
var e$2 = {
done: !1,
value: a$1
};
return a$1 = o$2.next().value, e$2;
} };
}, o$1) : s();
}, t.tree_getSiblingNodes = function(e$1, t$1, r$1) {
var n$1;
return void 0 === t$1 && (t$1 = !1), e$1._parent && 0 !== e$1._parent._children.size ? ((n$1 = {})[Symbol.iterator] = function() {
var n$2 = e$1._parent ? e$1._parent._firstChild : null;
return { next: function() {
for (; n$2 && (r$1 && !r$1(n$2) || !t$1 && n$2 === e$1);) n$2 = n$2._nextSibling;
if (null === n$2) return {
done: !0,
value: null
};
var i$2 = {
done: !1,
value: n$2
};
return n$2 = n$2._nextSibling, i$2;
} };
}, n$1) : s();
}, t.tree_getFirstAncestorNode = h, t.tree_getNextAncestorNode = p$3, t.tree_getAncestorNodes = function(e$1, t$1, r$1) {
var n$1;
return void 0 === t$1 && (t$1 = !1), t$1 || e$1._parent ? ((n$1 = {})[Symbol.iterator] = function() {
var n$2 = h(e$1, t$1, r$1);
return { next: function() {
if (null === n$2) return {
done: !0,
value: null
};
var e$2 = {
done: !1,
value: n$2
};
return n$2 = p$3(0, n$2, t$1, r$1), e$2;
} };
}, n$1) : s();
}, t.tree_getCommonAncestor = function(e$1, t$1) {
if (e$1 === t$1) return e$1._parent;
for (var r$1 = [], n$1 = [], i$2 = h(e$1, !0); null !== i$2;) r$1.push(i$2), i$2 = p$3(0, i$2, !0);
for (var o$1 = h(t$1, !0); null !== o$1;) n$1.push(o$1), o$1 = p$3(0, o$1, !0);
for (var a$1 = r$1.length, s$1 = n$1.length, u$1 = null, l$1 = Math.min(a$1, s$1); l$1 > 0; l$1--) {
var c$1 = r$1[--a$1];
if (c$1 !== n$1[--s$1]) break;
u$1 = c$1;
}
return u$1;
}, t.tree_getFollowingNode = function(e$1, t$1) {
if (t$1._firstChild) return t$1._firstChild;
if (t$1._nextSibling) return t$1._nextSibling;
for (;;) {
var r$1 = t$1._parent;
if (null === r$1 || r$1 === e$1) return null;
if (r$1._nextSibling) return r$1._nextSibling;
t$1 = r$1;
}
}, t.tree_getPrecedingNode = function(e$1, t$1) {
return t$1 === e$1 ? null : t$1._previousSibling ? (t$1 = t$1._previousSibling)._lastChild ? t$1._lastChild : t$1 : t$1._parent;
}, t.tree_isConstrained = function e$1(t$1) {
var r$1, i$2, a$1, s$1, u$1, l$1;
switch (t$1._nodeType) {
case o.NodeType.Document:
var c$1 = !1, h$1 = !1;
try {
for (var p$1$1 = n(t$1._children), f$1 = p$1$1.next(); !f$1.done; f$1 = p$1$1.next()) switch (f$1.value._nodeType) {
case o.NodeType.ProcessingInstruction:
case o.NodeType.Comment: break;
case o.NodeType.DocumentType:
if (c$1 || h$1) return !1;
c$1 = !0;
break;
case o.NodeType.Element:
if (h$1) return !1;
h$1 = !0;
break;
default: return !1;
}
} catch (e$2) {
r$1 = { error: e$2 };
} finally {
try {
f$1 && !f$1.done && (i$2 = p$1$1.return) && i$2.call(p$1$1);
} finally {
if (r$1) throw r$1.error;
}
}
break;
case o.NodeType.DocumentFragment:
case o.NodeType.Element:
try {
for (var d$1 = n(t$1._children), m$1 = d$1.next(); !m$1.done; m$1 = d$1.next()) switch (m$1.value._nodeType) {
case o.NodeType.Element:
case o.NodeType.Text:
case o.NodeType.ProcessingInstruction:
case o.NodeType.CData:
case o.NodeType.Comment: break;
default: return !1;
}
} catch (e$2) {
a$1 = { error: e$2 };
} finally {
try {
m$1 && !m$1.done && (s$1 = d$1.return) && s$1.call(d$1);
} finally {
if (a$1) throw a$1.error;
}
}
break;
case o.NodeType.DocumentType:
case o.NodeType.Text:
case o.NodeType.ProcessingInstruction:
case o.NodeType.CData:
case o.NodeType.Comment: return !t$1.hasChildNodes();
}
try {
for (var y$1 = n(t$1._children), v = y$1.next(); !v.done; v = y$1.next()) if (!e$1(v.value)) return !1;
} catch (e$2) {
u$1 = { error: e$2 };
} finally {
try {
v && !v.done && (l$1 = y$1.return) && l$1.call(y$1);
} finally {
if (u$1) throw u$1.error;
}
}
return !0;
}, t.tree_nodeLength = f, t.tree_isEmpty = function(e$1) {
return 0 === f(e$1);
}, t.tree_rootNode = d, t.tree_isDescendantOf = function(e$1, t$1, r$1, n$1) {
void 0 === r$1 && (r$1 = !1), void 0 === n$1 && (n$1 = !1);
for (var i$2 = u(e$1, r$1, n$1); null !== i$2;) {
if (i$2 === t$1) return !0;
i$2 = l(e$1, i$2, r$1, n$1);
}
return !1;
}, t.tree_isAncestorOf = m, t.tree_isHostIncludingAncestorOf = function e$1(t$1, r$1, n$1) {
if (void 0 === n$1 && (n$1 = !1), m(t$1, r$1, n$1)) return !0;
var o$1 = d(t$1);
return !(!i$1.Guard.isDocumentFragmentNode(o$1) || null === o$1._host || !e$1(o$1._host, r$1, n$1));
}, t.tree_isSiblingOf = function(e$1, t$1, r$1) {
return void 0 === r$1 && (r$1 = !1), e$1 !== t$1 ? null !== e$1._parent && e$1._parent === t$1._parent : !!r$1;
}, t.tree_isPreceding = function(e$1, t$1) {
var r$1 = y(e$1), n$1 = y(t$1);
return -1 !== r$1 && -1 !== n$1 && d(e$1) === d(t$1) && n$1 < r$1;
}, t.tree_isFollowing = function(e$1, t$1) {
var r$1 = y(e$1), n$1 = y(t$1);
return -1 !== r$1 && -1 !== n$1 && d(e$1) === d(t$1) && n$1 > r$1;
}, t.tree_isParentOf = function(e$1, t$1) {
return e$1._parent === t$1;
}, t.tree_isChildOf = function(e$1, t$1) {
return t$1._parent === e$1;
}, t.tree_previousSibling = function(e$1) {
return e$1._previousSibling;
}, t.tree_nextSibling = function(e$1) {
return e$1._nextSibling;
}, t.tree_firstChild = function(e$1) {
return e$1._firstChild;
}, t.tree_lastChild = function(e$1) {
return e$1._lastChild;
}, t.tree_treePosition = y, t.tree_index = function(e$1) {
for (var t$1 = 0; null !== e$1._previousSibling;) t$1++, e$1 = e$1._previousSibling;
return t$1;
}, t.tree_retarget = function(e$1, t$1) {
for (;;) {
if (!e$1 || !i$1.Guard.isNode(e$1)) return e$1;
var r$1 = d(e$1);
if (!i$1.Guard.isShadowRoot(r$1)) return e$1;
if (t$1 && i$1.Guard.isNode(t$1) && m(r$1, t$1, !0, !0)) return e$1;
e$1 = r$1.host;
}
};
},
function(e, t, r) {
var n = r(13);
e.exports = function(e$1) {
if (!n(e$1)) throw TypeError(String(e$1) + " is not an object");
return e$1;
};
},
function(e, t, r) {
"use strict";
var n = r(24), i$1 = r(130), o = r(49), a = r(43), s = r(88), u = a.set, l = a.getterFor("Array Iterator");
e.exports = s(Array, "Array", function(e$1, t$1) {
u(this, {
type: "Array Iterator",
target: n(e$1),
index: 0,
kind: t$1
});
}, function() {
var e$1 = l(this), t$1 = e$1.target, r$1 = e$1.kind, n$1 = e$1.index++;
return !t$1