summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/cheerio-select
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
committerRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
commit83354b2b88218090988dd6e526b0a2505b57e0f1 (patch)
treee3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/cheerio-select
parent47b8f2299a483024c4a6a8876af825a010954caa (diff)
downloadpluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/cheerio-select')
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/LICENSE11
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/README.md18
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts5
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js20
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts12
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js241
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/package.json1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts10
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js47
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts5
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js26
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts12
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/index.js302
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/index.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts10
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js52
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cheerio-select/package.json76
28 files changed, 860 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/cheerio-select/LICENSE b/includes/external/addressbook/node_modules/cheerio-select/LICENSE
new file mode 100644
index 0000000..c464f86
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/LICENSE
@@ -0,0 +1,11 @@
+Copyright (c) Felix Böhm
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/includes/external/addressbook/node_modules/cheerio-select/README.md b/includes/external/addressbook/node_modules/cheerio-select/README.md
new file mode 100644
index 0000000..140a661
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/README.md
@@ -0,0 +1,18 @@
+# cheerio-select [![NPM version](http://img.shields.io/npm/v/cheerio-select.svg)](https://npmjs.org/package/cheerio-select) [![Build Status](https://travis-ci.org/cheeriojs/cheerio-select.svg?branch=master)](http://travis-ci.org/cheeriojs/cheerio-select) [![Downloads](https://img.shields.io/npm/dm/cheerio-select.svg)](https://npmjs.org/package/cheerio-select) [![Coverage](https://coveralls.io/repos/cheeriojs/cheerio-select/badge.svg?branch=master)](https://coveralls.io/r/cheeriojs/cheerio-select)
+
+CSS selector engine supporting jQuery selectors, based on [`css-select`](https://github.com/fb55/css-select).
+
+Supports all jQuery positional pseudo-selectors:
+
+- `:first`
+- `:last`
+- `:eq`
+- `:nth`
+- `:gt`
+- `:lt`
+- `:even`
+- `:odd`
+- `:not(:positional)`, where `:positional` is any of the above.
+
+This library is a thin wrapper around [`css-select`](https://github.com/fb55/css-select).
+Only use this module if you will actually use jQuery positional selectors.
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts
new file mode 100644
index 0000000..13dba26
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts
@@ -0,0 +1,5 @@
+import type { AnyNode } from "domhandler";
+import type { Selector } from "css-what";
+export declare function getDocumentRoot(node: AnyNode): AnyNode;
+export declare function groupSelectors(selectors: Selector[][]): [plain: Selector[][], filtered: Selector[][]];
+//# sourceMappingURL=helpers.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts.map
new file mode 100644
index 0000000..689bf8d
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"helpers.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED,wBAAgB,cAAc,CAC1B,SAAS,EAAE,QAAQ,EAAE,EAAE,GACxB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAa/C"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js
new file mode 100644
index 0000000..1e5c8d5
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js
@@ -0,0 +1,20 @@
+import { isFilter } from "./positionals.js";
+export function getDocumentRoot(node) {
+ while (node.parent)
+ node = node.parent;
+ return node;
+}
+export function groupSelectors(selectors) {
+ const filteredSelectors = [];
+ const plainSelectors = [];
+ for (const selector of selectors) {
+ if (selector.some(isFilter)) {
+ filteredSelectors.push(selector);
+ }
+ else {
+ plainSelectors.push(selector);
+ }
+ }
+ return [plainSelectors, filteredSelectors];
+}
+//# sourceMappingURL=helpers.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js.map
new file mode 100644
index 0000000..2ad294d
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/helpers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"helpers.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,UAAU,eAAe,CAAC,IAAa;IACzC,OAAO,IAAI,CAAC,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,SAAuB;IAEvB,MAAM,iBAAiB,GAAiB,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpC;aAAM;YACH,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;KACJ;IAED,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts
new file mode 100644
index 0000000..9b6baff
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts
@@ -0,0 +1,12 @@
+import { type Options as CSSSelectOptions } from "css-select";
+import type { Element, AnyNode, Document } from "domhandler";
+export { filters, pseudos, aliases } from "css-select";
+export interface Options extends CSSSelectOptions<AnyNode, Element> {
+ /** Optional reference to the root of the document. If not set, this will be computed when needed. */
+ root?: Document;
+}
+export declare function is(element: Element, selector: string | ((el: Element) => boolean), options?: Options): boolean;
+export declare function some(elements: Element[], selector: string | ((el: Element) => boolean), options?: Options): boolean;
+export declare function filter(selector: string, elements: AnyNode[], options?: Options): Element[];
+export declare function select(selector: string | ((el: Element) => boolean), root: AnyNode | AnyNode[], options?: Options, limit?: number): Element[];
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts.map
new file mode 100644
index 0000000..4127f83
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,gBAAgB,EAEnC,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU7D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAYvD,MAAM,WAAW,OAAQ,SAAQ,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/D,qGAAqG;IACrG,IAAI,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAgB,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,OAAO,GAAE,OAAY,GACtB,OAAO,CAET;AAED,wBAAgB,IAAI,CAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,OAAO,GAAE,OAAY,GACtB,OAAO,CAWT;AAsCD,wBAAgB,MAAM,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,OAAY,GACtB,OAAO,EAAE,CAEX;AAoGD,wBAAgB,MAAM,CAClB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,EACzB,OAAO,GAAE,OAAY,EACrB,KAAK,SAAW,GACjB,OAAO,EAAE,CA2BX"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js
new file mode 100644
index 0000000..ea6c7f0
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js
@@ -0,0 +1,241 @@
+import { parse, SelectorType, isTraversal } from "css-what";
+import { _compileToken as compileToken, prepareContext, } from "css-select";
+import * as DomUtils from "domutils";
+import * as boolbase from "boolbase";
+import { getDocumentRoot, groupSelectors } from "./helpers.js";
+import { isFilter, getLimit, } from "./positionals.js";
+// Re-export pseudo extension points
+export { filters, pseudos, aliases } from "css-select";
+const UNIVERSAL_SELECTOR = {
+ type: SelectorType.Universal,
+ namespace: null,
+};
+const SCOPE_PSEUDO = {
+ type: SelectorType.Pseudo,
+ name: "scope",
+ data: null,
+};
+export function is(element, selector, options = {}) {
+ return some([element], selector, options);
+}
+export function some(elements, selector, options = {}) {
+ if (typeof selector === "function")
+ return elements.some(selector);
+ const [plain, filtered] = groupSelectors(parse(selector));
+ return ((plain.length > 0 && elements.some(compileToken(plain, options))) ||
+ filtered.some((sel) => filterBySelector(sel, elements, options).length > 0));
+}
+function filterByPosition(filter, elems, data, options) {
+ const num = typeof data === "string" ? parseInt(data, 10) : NaN;
+ switch (filter) {
+ case "first":
+ case "lt":
+ // Already done in `getLimit`
+ return elems;
+ case "last":
+ return elems.length > 0 ? [elems[elems.length - 1]] : elems;
+ case "nth":
+ case "eq":
+ return isFinite(num) && Math.abs(num) < elems.length
+ ? [num < 0 ? elems[elems.length + num] : elems[num]]
+ : [];
+ case "gt":
+ return isFinite(num) ? elems.slice(num + 1) : [];
+ case "even":
+ return elems.filter((_, i) => i % 2 === 0);
+ case "odd":
+ return elems.filter((_, i) => i % 2 === 1);
+ case "not": {
+ const filtered = new Set(filterParsed(data, elems, options));
+ return elems.filter((e) => !filtered.has(e));
+ }
+ }
+}
+export function filter(selector, elements, options = {}) {
+ return filterParsed(parse(selector), elements, options);
+}
+/**
+ * Filter a set of elements by a selector.
+ *
+ * Will return elements in the original order.
+ *
+ * @param selector Selector to filter by.
+ * @param elements Elements to filter.
+ * @param options Options for selector.
+ */
+function filterParsed(selector, elements, options) {
+ if (elements.length === 0)
+ return [];
+ const [plainSelectors, filteredSelectors] = groupSelectors(selector);
+ let found;
+ if (plainSelectors.length) {
+ const filtered = filterElements(elements, plainSelectors, options);
+ // If there are no filters, just return
+ if (filteredSelectors.length === 0) {
+ return filtered;
+ }
+ // Otherwise, we have to do some filtering
+ if (filtered.length) {
+ found = new Set(filtered);
+ }
+ }
+ for (let i = 0; i < filteredSelectors.length && (found === null || found === void 0 ? void 0 : found.size) !== elements.length; i++) {
+ const filteredSelector = filteredSelectors[i];
+ const missing = found
+ ? elements.filter((e) => DomUtils.isTag(e) && !found.has(e))
+ : elements;
+ if (missing.length === 0)
+ break;
+ const filtered = filterBySelector(filteredSelector, elements, options);
+ if (filtered.length) {
+ if (!found) {
+ /*
+ * If we haven't found anything before the last selector,
+ * just return what we found now.
+ */
+ if (i === filteredSelectors.length - 1) {
+ return filtered;
+ }
+ found = new Set(filtered);
+ }
+ else {
+ filtered.forEach((el) => found.add(el));
+ }
+ }
+ }
+ return typeof found !== "undefined"
+ ? (found.size === elements.length
+ ? elements
+ : // Filter elements to preserve order
+ elements.filter((el) => found.has(el)))
+ : [];
+}
+function filterBySelector(selector, elements, options) {
+ var _a;
+ if (selector.some(isTraversal)) {
+ /*
+ * Get root node, run selector with the scope
+ * set to all of our nodes.
+ */
+ const root = (_a = options.root) !== null && _a !== void 0 ? _a : getDocumentRoot(elements[0]);
+ const opts = { ...options, context: elements, relativeSelector: false };
+ selector.push(SCOPE_PSEUDO);
+ return findFilterElements(root, selector, opts, true, elements.length);
+ }
+ // Performance optimization: If we don't have to traverse, just filter set.
+ return findFilterElements(elements, selector, options, false, elements.length);
+}
+export function select(selector, root, options = {}, limit = Infinity) {
+ if (typeof selector === "function") {
+ return find(root, selector);
+ }
+ const [plain, filtered] = groupSelectors(parse(selector));
+ const results = filtered.map((sel) => findFilterElements(root, sel, options, true, limit));
+ // Plain selectors can be queried in a single go
+ if (plain.length) {
+ results.push(findElements(root, plain, options, limit));
+ }
+ if (results.length === 0) {
+ return [];
+ }
+ // If there was only a single selector, just return the result
+ if (results.length === 1) {
+ return results[0];
+ }
+ // Sort results, filtering for duplicates
+ return DomUtils.uniqueSort(results.reduce((a, b) => [...a, ...b]));
+}
+/**
+ *
+ * @param root Element(s) to search from.
+ * @param selector Selector to look for.
+ * @param options Options for querying.
+ * @param queryForSelector Query multiple levels deep for the initial selector, even if it doesn't contain a traversal.
+ */
+function findFilterElements(root, selector, options, queryForSelector, totalLimit) {
+ const filterIndex = selector.findIndex(isFilter);
+ const sub = selector.slice(0, filterIndex);
+ const filter = selector[filterIndex];
+ // If we are at the end of the selector, we can limit the number of elements to retrieve.
+ const partLimit = selector.length - 1 === filterIndex ? totalLimit : Infinity;
+ /*
+ * Set the number of elements to retrieve.
+ * Eg. for :first, we only have to get a single element.
+ */
+ const limit = getLimit(filter.name, filter.data, partLimit);
+ if (limit === 0)
+ return [];
+ /*
+ * Skip `findElements` call if our selector starts with a positional
+ * pseudo.
+ */
+ const elemsNoLimit = sub.length === 0 && !Array.isArray(root)
+ ? DomUtils.getChildren(root).filter(DomUtils.isTag)
+ : sub.length === 0
+ ? (Array.isArray(root) ? root : [root]).filter(DomUtils.isTag)
+ : queryForSelector || sub.some(isTraversal)
+ ? findElements(root, [sub], options, limit)
+ : filterElements(root, [sub], options);
+ const elems = elemsNoLimit.slice(0, limit);
+ let result = filterByPosition(filter.name, elems, filter.data, options);
+ if (result.length === 0 || selector.length === filterIndex + 1) {
+ return result;
+ }
+ const remainingSelector = selector.slice(filterIndex + 1);
+ const remainingHasTraversal = remainingSelector.some(isTraversal);
+ if (remainingHasTraversal) {
+ if (isTraversal(remainingSelector[0])) {
+ const { type } = remainingSelector[0];
+ if (type === SelectorType.Sibling ||
+ type === SelectorType.Adjacent) {
+ // If we have a sibling traversal, we need to also look at the siblings.
+ result = prepareContext(result, DomUtils, true);
+ }
+ // Avoid a traversal-first selector error.
+ remainingSelector.unshift(UNIVERSAL_SELECTOR);
+ }
+ options = {
+ ...options,
+ // Avoid absolutizing the selector
+ relativeSelector: false,
+ /*
+ * Add a custom root func, to make sure traversals don't match elements
+ * that aren't a part of the considered tree.
+ */
+ rootFunc: (el) => result.includes(el),
+ };
+ }
+ else if (options.rootFunc && options.rootFunc !== boolbase.trueFunc) {
+ options = { ...options, rootFunc: boolbase.trueFunc };
+ }
+ /*
+ * If we have another filter, recursively call `findFilterElements`,
+ * with the `recursive` flag disabled. We only have to look for more
+ * elements when we see a traversal.
+ *
+ * Otherwise,
+ */
+ return remainingSelector.some(isFilter)
+ ? findFilterElements(result, remainingSelector, options, false, totalLimit)
+ : remainingHasTraversal
+ ? // Query existing elements to resolve traversal.
+ findElements(result, [remainingSelector], options, totalLimit)
+ : // If we don't have any more traversals, simply filter elements.
+ filterElements(result, [remainingSelector], options);
+}
+function findElements(root, sel, options, limit) {
+ const query = compileToken(sel, options, root);
+ return find(root, query, limit);
+}
+function find(root, query, limit = Infinity) {
+ const elems = prepareContext(root, DomUtils, query.shouldTestNextSiblings);
+ return DomUtils.find((node) => DomUtils.isTag(node) && query(node), elems, true, limit);
+}
+function filterElements(elements, sel, options) {
+ const els = (Array.isArray(elements) ? elements : [elements]).filter(DomUtils.isTag);
+ if (els.length === 0)
+ return els;
+ const query = compileToken(sel, options);
+ return query === boolbase.trueFunc ? els : els.filter(query);
+}
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js.map
new file mode 100644
index 0000000..ed9f158
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/package.json b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/package.json
new file mode 100644
index 0000000..089153b
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/package.json
@@ -0,0 +1 @@
+{"type":"module"}
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts
new file mode 100644
index 0000000..5315dd3
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts
@@ -0,0 +1,10 @@
+import type { Selector, PseudoSelector } from "css-what";
+export declare type Filter = "first" | "last" | "eq" | "nth" | "gt" | "lt" | "even" | "odd" | "not";
+export declare const filterNames: Set<string>;
+export interface CheerioSelector extends PseudoSelector {
+ name: Filter;
+ data: string | null;
+}
+export declare function isFilter(s: Selector): s is CheerioSelector;
+export declare function getLimit(filter: Filter, data: string | null, partLimit: number): number;
+//# sourceMappingURL=positionals.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts.map
new file mode 100644
index 0000000..0e0db37
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"positionals.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["positionals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,oBAAY,MAAM,GACZ,OAAO,GACP,MAAM,GACN,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,KAAK,GACL,KAAK,CAAC;AACZ,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,CASlC,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,IAAI,eAAe,CAS1D;AAED,wBAAgB,QAAQ,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,SAAS,EAAE,MAAM,GAClB,MAAM,CAyBR"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js
new file mode 100644
index 0000000..61f5d6e
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js
@@ -0,0 +1,47 @@
+export const filterNames = new Set([
+ "first",
+ "last",
+ "eq",
+ "gt",
+ "nth",
+ "lt",
+ "even",
+ "odd",
+]);
+export function isFilter(s) {
+ if (s.type !== "pseudo")
+ return false;
+ if (filterNames.has(s.name))
+ return true;
+ if (s.name === "not" && Array.isArray(s.data)) {
+ // Only consider `:not` with embedded filters
+ return s.data.some((s) => s.some(isFilter));
+ }
+ return false;
+}
+export function getLimit(filter, data, partLimit) {
+ const num = data != null ? parseInt(data, 10) : NaN;
+ switch (filter) {
+ case "first":
+ return 1;
+ case "nth":
+ case "eq":
+ return isFinite(num) ? (num >= 0 ? num + 1 : Infinity) : 0;
+ case "lt":
+ return isFinite(num)
+ ? num >= 0
+ ? Math.min(num, partLimit)
+ : Infinity
+ : 0;
+ case "gt":
+ return isFinite(num) ? Infinity : 0;
+ case "odd":
+ return 2 * partLimit;
+ case "even":
+ return 2 * partLimit - 1;
+ case "last":
+ case "not":
+ return Infinity;
+ }
+}
+//# sourceMappingURL=positionals.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js.map
new file mode 100644
index 0000000..0b26c24
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/esm/positionals.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"positionals.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["positionals.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,WAAW,GAAgB,IAAI,GAAG,CAAS;IACpD,OAAO;IACP,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;CACR,CAAC,CAAC;AAOH,MAAM,UAAU,QAAQ,CAAC,CAAW;IAChC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QAC3C,6CAA6C;QAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/C;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CACpB,MAAc,EACd,IAAmB,EACnB,SAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEpD,QAAQ,MAAM,EAAE;QACZ,KAAK,OAAO;YACR,OAAO,CAAC,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,GAAG,IAAI,CAAC;oBACN,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;oBAC1B,CAAC,CAAC,QAAQ;gBACd,CAAC,CAAC,CAAC,CAAC;QACZ,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,KAAK;YACN,OAAO,CAAC,GAAG,SAAS,CAAC;QACzB,KAAK,MAAM;YACP,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACN,OAAO,QAAQ,CAAC;KACvB;AACL,CAAC"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts
new file mode 100644
index 0000000..13dba26
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts
@@ -0,0 +1,5 @@
+import type { AnyNode } from "domhandler";
+import type { Selector } from "css-what";
+export declare function getDocumentRoot(node: AnyNode): AnyNode;
+export declare function groupSelectors(selectors: Selector[][]): [plain: Selector[][], filtered: Selector[][]];
+//# sourceMappingURL=helpers.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts.map
new file mode 100644
index 0000000..689bf8d
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"helpers.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED,wBAAgB,cAAc,CAC1B,SAAS,EAAE,QAAQ,EAAE,EAAE,GACxB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAa/C"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js
new file mode 100644
index 0000000..f996a6c
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.groupSelectors = exports.getDocumentRoot = void 0;
+var positionals_js_1 = require("./positionals.js");
+function getDocumentRoot(node) {
+ while (node.parent)
+ node = node.parent;
+ return node;
+}
+exports.getDocumentRoot = getDocumentRoot;
+function groupSelectors(selectors) {
+ var filteredSelectors = [];
+ var plainSelectors = [];
+ for (var _i = 0, selectors_1 = selectors; _i < selectors_1.length; _i++) {
+ var selector = selectors_1[_i];
+ if (selector.some(positionals_js_1.isFilter)) {
+ filteredSelectors.push(selector);
+ }
+ else {
+ plainSelectors.push(selector);
+ }
+ }
+ return [plainSelectors, filteredSelectors];
+}
+exports.groupSelectors = groupSelectors;
+//# sourceMappingURL=helpers.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js.map
new file mode 100644
index 0000000..95bf143
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/helpers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"helpers.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["helpers.ts"],"names":[],"mappings":";;;AAEA,mDAA4C;AAE5C,SAAgB,eAAe,CAAC,IAAa;IACzC,OAAO,IAAI,CAAC,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,OAAO,IAAI,CAAC;AAChB,CAAC;AAHD,0CAGC;AAED,SAAgB,cAAc,CAC1B,SAAuB;IAEvB,IAAM,iBAAiB,GAAiB,EAAE,CAAC;IAC3C,IAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,KAAuB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;QAA7B,IAAM,QAAQ,kBAAA;QACf,IAAI,QAAQ,CAAC,IAAI,CAAC,yBAAQ,CAAC,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpC;aAAM;YACH,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;KACJ;IAED,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAfD,wCAeC"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts
new file mode 100644
index 0000000..9b6baff
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts
@@ -0,0 +1,12 @@
+import { type Options as CSSSelectOptions } from "css-select";
+import type { Element, AnyNode, Document } from "domhandler";
+export { filters, pseudos, aliases } from "css-select";
+export interface Options extends CSSSelectOptions<AnyNode, Element> {
+ /** Optional reference to the root of the document. If not set, this will be computed when needed. */
+ root?: Document;
+}
+export declare function is(element: Element, selector: string | ((el: Element) => boolean), options?: Options): boolean;
+export declare function some(elements: Element[], selector: string | ((el: Element) => boolean), options?: Options): boolean;
+export declare function filter(selector: string, elements: AnyNode[], options?: Options): Element[];
+export declare function select(selector: string | ((el: Element) => boolean), root: AnyNode | AnyNode[], options?: Options, limit?: number): Element[];
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts.map
new file mode 100644
index 0000000..4127f83
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,gBAAgB,EAEnC,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU7D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAYvD,MAAM,WAAW,OAAQ,SAAQ,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/D,qGAAqG;IACrG,IAAI,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,wBAAgB,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,OAAO,GAAE,OAAY,GACtB,OAAO,CAET;AAED,wBAAgB,IAAI,CAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,OAAO,GAAE,OAAY,GACtB,OAAO,CAWT;AAsCD,wBAAgB,MAAM,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,OAAY,GACtB,OAAO,EAAE,CAEX;AAoGD,wBAAgB,MAAM,CAClB,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,EAC7C,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,EACzB,OAAO,GAAE,OAAY,EACrB,KAAK,SAAW,GACjB,OAAO,EAAE,CA2BX"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/index.js b/includes/external/addressbook/node_modules/cheerio-select/lib/index.js
new file mode 100644
index 0000000..9366d71
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/index.js
@@ -0,0 +1,302 @@
+"use strict";
+var __assign = (this && this.__assign) || function () {
+ __assign = Object.assign || function(t) {
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
+ s = arguments[i];
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+ t[p] = s[p];
+ }
+ return t;
+ };
+ return __assign.apply(this, arguments);
+};
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+ if (ar || !(i in from)) {
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+ ar[i] = from[i];
+ }
+ }
+ return to.concat(ar || Array.prototype.slice.call(from));
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.select = exports.filter = exports.some = exports.is = exports.aliases = exports.pseudos = exports.filters = void 0;
+var css_what_1 = require("css-what");
+var css_select_1 = require("css-select");
+var DomUtils = __importStar(require("domutils"));
+var boolbase = __importStar(require("boolbase"));
+var helpers_js_1 = require("./helpers.js");
+var positionals_js_1 = require("./positionals.js");
+// Re-export pseudo extension points
+var css_select_2 = require("css-select");
+Object.defineProperty(exports, "filters", { enumerable: true, get: function () { return css_select_2.filters; } });
+Object.defineProperty(exports, "pseudos", { enumerable: true, get: function () { return css_select_2.pseudos; } });
+Object.defineProperty(exports, "aliases", { enumerable: true, get: function () { return css_select_2.aliases; } });
+var UNIVERSAL_SELECTOR = {
+ type: css_what_1.SelectorType.Universal,
+ namespace: null,
+};
+var SCOPE_PSEUDO = {
+ type: css_what_1.SelectorType.Pseudo,
+ name: "scope",
+ data: null,
+};
+function is(element, selector, options) {
+ if (options === void 0) { options = {}; }
+ return some([element], selector, options);
+}
+exports.is = is;
+function some(elements, selector, options) {
+ if (options === void 0) { options = {}; }
+ if (typeof selector === "function")
+ return elements.some(selector);
+ var _a = (0, helpers_js_1.groupSelectors)((0, css_what_1.parse)(selector)), plain = _a[0], filtered = _a[1];
+ return ((plain.length > 0 && elements.some((0, css_select_1._compileToken)(plain, options))) ||
+ filtered.some(function (sel) { return filterBySelector(sel, elements, options).length > 0; }));
+}
+exports.some = some;
+function filterByPosition(filter, elems, data, options) {
+ var num = typeof data === "string" ? parseInt(data, 10) : NaN;
+ switch (filter) {
+ case "first":
+ case "lt":
+ // Already done in `getLimit`
+ return elems;
+ case "last":
+ return elems.length > 0 ? [elems[elems.length - 1]] : elems;
+ case "nth":
+ case "eq":
+ return isFinite(num) && Math.abs(num) < elems.length
+ ? [num < 0 ? elems[elems.length + num] : elems[num]]
+ : [];
+ case "gt":
+ return isFinite(num) ? elems.slice(num + 1) : [];
+ case "even":
+ return elems.filter(function (_, i) { return i % 2 === 0; });
+ case "odd":
+ return elems.filter(function (_, i) { return i % 2 === 1; });
+ case "not": {
+ var filtered_1 = new Set(filterParsed(data, elems, options));
+ return elems.filter(function (e) { return !filtered_1.has(e); });
+ }
+ }
+}
+function filter(selector, elements, options) {
+ if (options === void 0) { options = {}; }
+ return filterParsed((0, css_what_1.parse)(selector), elements, options);
+}
+exports.filter = filter;
+/**
+ * Filter a set of elements by a selector.
+ *
+ * Will return elements in the original order.
+ *
+ * @param selector Selector to filter by.
+ * @param elements Elements to filter.
+ * @param options Options for selector.
+ */
+function filterParsed(selector, elements, options) {
+ if (elements.length === 0)
+ return [];
+ var _a = (0, helpers_js_1.groupSelectors)(selector), plainSelectors = _a[0], filteredSelectors = _a[1];
+ var found;
+ if (plainSelectors.length) {
+ var filtered = filterElements(elements, plainSelectors, options);
+ // If there are no filters, just return
+ if (filteredSelectors.length === 0) {
+ return filtered;
+ }
+ // Otherwise, we have to do some filtering
+ if (filtered.length) {
+ found = new Set(filtered);
+ }
+ }
+ for (var i = 0; i < filteredSelectors.length && (found === null || found === void 0 ? void 0 : found.size) !== elements.length; i++) {
+ var filteredSelector = filteredSelectors[i];
+ var missing = found
+ ? elements.filter(function (e) { return DomUtils.isTag(e) && !found.has(e); })
+ : elements;
+ if (missing.length === 0)
+ break;
+ var filtered = filterBySelector(filteredSelector, elements, options);
+ if (filtered.length) {
+ if (!found) {
+ /*
+ * If we haven't found anything before the last selector,
+ * just return what we found now.
+ */
+ if (i === filteredSelectors.length - 1) {
+ return filtered;
+ }
+ found = new Set(filtered);
+ }
+ else {
+ filtered.forEach(function (el) { return found.add(el); });
+ }
+ }
+ }
+ return typeof found !== "undefined"
+ ? (found.size === elements.length
+ ? elements
+ : // Filter elements to preserve order
+ elements.filter(function (el) {
+ return found.has(el);
+ }))
+ : [];
+}
+function filterBySelector(selector, elements, options) {
+ var _a;
+ if (selector.some(css_what_1.isTraversal)) {
+ /*
+ * Get root node, run selector with the scope
+ * set to all of our nodes.
+ */
+ var root = (_a = options.root) !== null && _a !== void 0 ? _a : (0, helpers_js_1.getDocumentRoot)(elements[0]);
+ var opts = __assign(__assign({}, options), { context: elements, relativeSelector: false });
+ selector.push(SCOPE_PSEUDO);
+ return findFilterElements(root, selector, opts, true, elements.length);
+ }
+ // Performance optimization: If we don't have to traverse, just filter set.
+ return findFilterElements(elements, selector, options, false, elements.length);
+}
+function select(selector, root, options, limit) {
+ if (options === void 0) { options = {}; }
+ if (limit === void 0) { limit = Infinity; }
+ if (typeof selector === "function") {
+ return find(root, selector);
+ }
+ var _a = (0, helpers_js_1.groupSelectors)((0, css_what_1.parse)(selector)), plain = _a[0], filtered = _a[1];
+ var results = filtered.map(function (sel) {
+ return findFilterElements(root, sel, options, true, limit);
+ });
+ // Plain selectors can be queried in a single go
+ if (plain.length) {
+ results.push(findElements(root, plain, options, limit));
+ }
+ if (results.length === 0) {
+ return [];
+ }
+ // If there was only a single selector, just return the result
+ if (results.length === 1) {
+ return results[0];
+ }
+ // Sort results, filtering for duplicates
+ return DomUtils.uniqueSort(results.reduce(function (a, b) { return __spreadArray(__spreadArray([], a, true), b, true); }));
+}
+exports.select = select;
+/**
+ *
+ * @param root Element(s) to search from.
+ * @param selector Selector to look for.
+ * @param options Options for querying.
+ * @param queryForSelector Query multiple levels deep for the initial selector, even if it doesn't contain a traversal.
+ */
+function findFilterElements(root, selector, options, queryForSelector, totalLimit) {
+ var filterIndex = selector.findIndex(positionals_js_1.isFilter);
+ var sub = selector.slice(0, filterIndex);
+ var filter = selector[filterIndex];
+ // If we are at the end of the selector, we can limit the number of elements to retrieve.
+ var partLimit = selector.length - 1 === filterIndex ? totalLimit : Infinity;
+ /*
+ * Set the number of elements to retrieve.
+ * Eg. for :first, we only have to get a single element.
+ */
+ var limit = (0, positionals_js_1.getLimit)(filter.name, filter.data, partLimit);
+ if (limit === 0)
+ return [];
+ /*
+ * Skip `findElements` call if our selector starts with a positional
+ * pseudo.
+ */
+ var elemsNoLimit = sub.length === 0 && !Array.isArray(root)
+ ? DomUtils.getChildren(root).filter(DomUtils.isTag)
+ : sub.length === 0
+ ? (Array.isArray(root) ? root : [root]).filter(DomUtils.isTag)
+ : queryForSelector || sub.some(css_what_1.isTraversal)
+ ? findElements(root, [sub], options, limit)
+ : filterElements(root, [sub], options);
+ var elems = elemsNoLimit.slice(0, limit);
+ var result = filterByPosition(filter.name, elems, filter.data, options);
+ if (result.length === 0 || selector.length === filterIndex + 1) {
+ return result;
+ }
+ var remainingSelector = selector.slice(filterIndex + 1);
+ var remainingHasTraversal = remainingSelector.some(css_what_1.isTraversal);
+ if (remainingHasTraversal) {
+ if ((0, css_what_1.isTraversal)(remainingSelector[0])) {
+ var type = remainingSelector[0].type;
+ if (type === css_what_1.SelectorType.Sibling ||
+ type === css_what_1.SelectorType.Adjacent) {
+ // If we have a sibling traversal, we need to also look at the siblings.
+ result = (0, css_select_1.prepareContext)(result, DomUtils, true);
+ }
+ // Avoid a traversal-first selector error.
+ remainingSelector.unshift(UNIVERSAL_SELECTOR);
+ }
+ options = __assign(__assign({}, options), {
+ // Avoid absolutizing the selector
+ relativeSelector: false,
+ /*
+ * Add a custom root func, to make sure traversals don't match elements
+ * that aren't a part of the considered tree.
+ */
+ rootFunc: function (el) { return result.includes(el); } });
+ }
+ else if (options.rootFunc && options.rootFunc !== boolbase.trueFunc) {
+ options = __assign(__assign({}, options), { rootFunc: boolbase.trueFunc });
+ }
+ /*
+ * If we have another filter, recursively call `findFilterElements`,
+ * with the `recursive` flag disabled. We only have to look for more
+ * elements when we see a traversal.
+ *
+ * Otherwise,
+ */
+ return remainingSelector.some(positionals_js_1.isFilter)
+ ? findFilterElements(result, remainingSelector, options, false, totalLimit)
+ : remainingHasTraversal
+ ? // Query existing elements to resolve traversal.
+ findElements(result, [remainingSelector], options, totalLimit)
+ : // If we don't have any more traversals, simply filter elements.
+ filterElements(result, [remainingSelector], options);
+}
+function findElements(root, sel, options, limit) {
+ var query = (0, css_select_1._compileToken)(sel, options, root);
+ return find(root, query, limit);
+}
+function find(root, query, limit) {
+ if (limit === void 0) { limit = Infinity; }
+ var elems = (0, css_select_1.prepareContext)(root, DomUtils, query.shouldTestNextSiblings);
+ return DomUtils.find(function (node) { return DomUtils.isTag(node) && query(node); }, elems, true, limit);
+}
+function filterElements(elements, sel, options) {
+ var els = (Array.isArray(elements) ? elements : [elements]).filter(DomUtils.isTag);
+ if (els.length === 0)
+ return els;
+ var query = (0, css_select_1._compileToken)(sel, options);
+ return query === boolbase.trueFunc ? els : els.filter(query);
+}
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/index.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/index.js.map
new file mode 100644
index 0000000..19a157e
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts
new file mode 100644
index 0000000..5315dd3
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts
@@ -0,0 +1,10 @@
+import type { Selector, PseudoSelector } from "css-what";
+export declare type Filter = "first" | "last" | "eq" | "nth" | "gt" | "lt" | "even" | "odd" | "not";
+export declare const filterNames: Set<string>;
+export interface CheerioSelector extends PseudoSelector {
+ name: Filter;
+ data: string | null;
+}
+export declare function isFilter(s: Selector): s is CheerioSelector;
+export declare function getLimit(filter: Filter, data: string | null, partLimit: number): number;
+//# sourceMappingURL=positionals.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts.map b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts.map
new file mode 100644
index 0000000..0e0db37
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"positionals.d.ts","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["positionals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,oBAAY,MAAM,GACZ,OAAO,GACP,MAAM,GACN,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,KAAK,GACL,KAAK,CAAC;AACZ,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,CASlC,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,IAAI,eAAe,CAS1D;AAED,wBAAgB,QAAQ,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,SAAS,EAAE,MAAM,GAClB,MAAM,CAyBR"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js
new file mode 100644
index 0000000..754bb25
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js
@@ -0,0 +1,52 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getLimit = exports.isFilter = exports.filterNames = void 0;
+exports.filterNames = new Set([
+ "first",
+ "last",
+ "eq",
+ "gt",
+ "nth",
+ "lt",
+ "even",
+ "odd",
+]);
+function isFilter(s) {
+ if (s.type !== "pseudo")
+ return false;
+ if (exports.filterNames.has(s.name))
+ return true;
+ if (s.name === "not" && Array.isArray(s.data)) {
+ // Only consider `:not` with embedded filters
+ return s.data.some(function (s) { return s.some(isFilter); });
+ }
+ return false;
+}
+exports.isFilter = isFilter;
+function getLimit(filter, data, partLimit) {
+ var num = data != null ? parseInt(data, 10) : NaN;
+ switch (filter) {
+ case "first":
+ return 1;
+ case "nth":
+ case "eq":
+ return isFinite(num) ? (num >= 0 ? num + 1 : Infinity) : 0;
+ case "lt":
+ return isFinite(num)
+ ? num >= 0
+ ? Math.min(num, partLimit)
+ : Infinity
+ : 0;
+ case "gt":
+ return isFinite(num) ? Infinity : 0;
+ case "odd":
+ return 2 * partLimit;
+ case "even":
+ return 2 * partLimit - 1;
+ case "last":
+ case "not":
+ return Infinity;
+ }
+}
+exports.getLimit = getLimit;
+//# sourceMappingURL=positionals.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js.map b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js.map
new file mode 100644
index 0000000..eed1e88
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/lib/positionals.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"positionals.js","sourceRoot":"https://raw.githubusercontent.com/cheeriojs/cheerio-select/ef063a6ca4c3f0d02d2fc3505e750b6fb81c448d/src/","sources":["positionals.ts"],"names":[],"mappings":";;;AAYa,QAAA,WAAW,GAAgB,IAAI,GAAG,CAAS;IACpD,OAAO;IACP,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;CACR,CAAC,CAAC;AAOH,SAAgB,QAAQ,CAAC,CAAW;IAChC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,mBAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QAC3C,6CAA6C;QAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAhB,CAAgB,CAAC,CAAC;KAC/C;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AATD,4BASC;AAED,SAAgB,QAAQ,CACpB,MAAc,EACd,IAAmB,EACnB,SAAiB;IAEjB,IAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEpD,QAAQ,MAAM,EAAE;QACZ,KAAK,OAAO;YACR,OAAO,CAAC,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,GAAG,IAAI,CAAC;oBACN,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;oBAC1B,CAAC,CAAC,QAAQ;gBACd,CAAC,CAAC,CAAC,CAAC;QACZ,KAAK,IAAI;YACL,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,KAAK;YACN,OAAO,CAAC,GAAG,SAAS,CAAC;QACzB,KAAK,MAAM;YACP,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACN,OAAO,QAAQ,CAAC;KACvB;AACL,CAAC;AA7BD,4BA6BC"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cheerio-select/package.json b/includes/external/addressbook/node_modules/cheerio-select/package.json
new file mode 100644
index 0000000..96b34cb
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio-select/package.json
@@ -0,0 +1,76 @@
+{
+ "name": "cheerio-select",
+ "description": "CSS selector engine supporting jQuery selectors",
+ "version": "2.1.0",
+ "author": "Felix Boehm <me@feedic.com>",
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ },
+ "license": "BSD-2-Clause",
+ "sideEffects": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/cheeriojs/cheerio-select.git"
+ },
+ "directories": {
+ "lib": "lib/"
+ },
+ "main": "lib/index.js",
+ "types": "lib/index.d.ts",
+ "module": "lib/esm/index.js",
+ "exports": {
+ "require": "./lib/index.js",
+ "import": "./lib/esm/index.js"
+ },
+ "files": [
+ "lib/**/*"
+ ],
+ "scripts": {
+ "test": "npm run test:jest && npm run lint",
+ "test:jest": "jest",
+ "lint": "npm run lint:es && npm run lint:prettier",
+ "lint:es": "eslint src",
+ "lint:prettier": "npm run format:prettier:raw -- --check",
+ "format": "npm run format:es && npm run format:prettier",
+ "format:es": "npm run lint:es -- --fix",
+ "format:prettier": "npm run format:prettier:raw -- --write",
+ "format:prettier:raw": "prettier '**/*.{ts,md,json,yml}'",
+ "build": "npm run build:cjs && npm run build:esm",
+ "build:cjs": "tsc --sourceRoot https://raw.githubusercontent.com/cheeriojs/cheerio-select/$(git rev-parse HEAD)/src/",
+ "build:esm": "npm run build:cjs -- --module esnext --target es2019 --outDir lib/esm && echo '{\"type\":\"module\"}' > lib/esm/package.json",
+ "prepare": "npm run build"
+ },
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
+ },
+ "devDependencies": {
+ "@types/boolbase": "^1.0.1",
+ "@types/jest": "^27.5.0",
+ "@types/node": "^17.0.33",
+ "@typescript-eslint/eslint-plugin": "^5.23.0",
+ "@typescript-eslint/parser": "^5.23.0",
+ "eslint": "^8.15.0",
+ "eslint-config-prettier": "^8.5.0",
+ "htmlparser2": "^8.0.1",
+ "jest": "^27.5.1",
+ "prettier": "^2.6.2",
+ "ts-jest": "^27.1.4",
+ "typescript": "^4.6.4"
+ },
+ "jest": {
+ "preset": "ts-jest",
+ "testEnvironment": "node",
+ "coverageProvider": "v8",
+ "moduleNameMapper": {
+ "^(.*)\\.js$": "$1"
+ }
+ },
+ "prettier": {
+ "tabWidth": 4
+ }
+}