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 __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all3) => { for (var name in all3) __defProp(target, name, { get: all3[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, 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 )); // node_modules/json-logic-js/logic.js var require_logic = __commonJS({ "node_modules/json-logic-js/logic.js"(exports, module) { (function(root, factory) { if (typeof define === "function" && define.amd) { define(factory); } else if (typeof exports === "object") { module.exports = factory(); } else { root.jsonLogic = factory(); } })(exports, function() { "use strict"; if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === "[object Array]"; }; } function arrayUnique(array) { var a = []; for (var i = 0, l = array.length; i < l; i++) { if (a.indexOf(array[i]) === -1) { a.push(array[i]); } } return a; } var jsonLogic3 = {}; var operations = { "==": function(a, b) { return a == b; }, "===": function(a, b) { return a === b; }, "!=": function(a, b) { return a != b; }, "!==": function(a, b) { return a !== b; }, ">": function(a, b) { return a > b; }, ">=": function(a, b) { return a >= b; }, "<": function(a, b, c2) { return c2 === void 0 ? a < b : a < b && b < c2; }, "<=": function(a, b, c2) { return c2 === void 0 ? a <= b : a <= b && b <= c2; }, "!!": function(a) { return jsonLogic3.truthy(a); }, "!": function(a) { return !jsonLogic3.truthy(a); }, "%": function(a, b) { return a % b; }, "log": function(a) { console.log(a); return a; }, "in": function(a, b) { if (!b || typeof b.indexOf === "undefined") return false; return b.indexOf(a) !== -1; }, "cat": function() { return Array.prototype.join.call(arguments, ""); }, "substr": function(source, start, end) { if (end < 0) { var temp = String(source).substr(start); return temp.substr(0, temp.length + end); } return String(source).substr(start, end); }, "+": function() { return Array.prototype.reduce.call(arguments, function(a, b) { return parseFloat(a, 10) + parseFloat(b, 10); }, 0); }, "*": function() { return Array.prototype.reduce.call(arguments, function(a, b) { return parseFloat(a, 10) * parseFloat(b, 10); }); }, "-": function(a, b) { if (b === void 0) { return -a; } else { return a - b; } }, "/": function(a, b) { return a / b; }, "min": function() { return Math.min.apply(this, arguments); }, "max": function() { return Math.max.apply(this, arguments); }, "merge": function() { return Array.prototype.reduce.call(arguments, function(a, b) { return a.concat(b); }, []); }, "var": function(a, b) { var not_found = b === void 0 ? null : b; var data = this; if (typeof a === "undefined" || a === "" || a === null) { return data; } var sub_props = String(a).split("."); for (var i = 0; i < sub_props.length; i++) { if (data === null || data === void 0) { return not_found; } data = data[sub_props[i]]; if (data === void 0) { return not_found; } } return data; }, "missing": function() { var missing = []; var keys6 = Array.isArray(arguments[0]) ? arguments[0] : arguments; for (var i = 0; i < keys6.length; i++) { var key = keys6[i]; var value = jsonLogic3.apply({ "var": key }, this); if (value === null || value === "") { missing.push(key); } } return missing; }, "missing_some": function(need_count, options) { var are_missing = jsonLogic3.apply({ "missing": options }, this); if (options.length - are_missing.length >= need_count) { return []; } else { return are_missing; } } }; jsonLogic3.is_logic = function(logic) { return typeof logic === "object" && logic !== null && !Array.isArray(logic) && Object.keys(logic).length === 1; }; jsonLogic3.truthy = function(value) { if (Array.isArray(value) && value.length === 0) { return false; } return !!value; }; jsonLogic3.get_operator = function(logic) { return Object.keys(logic)[0]; }; jsonLogic3.get_values = function(logic) { return logic[jsonLogic3.get_operator(logic)]; }; jsonLogic3.apply = function(logic, data) { if (Array.isArray(logic)) { return logic.map(function(l) { return jsonLogic3.apply(l, data); }); } if (!jsonLogic3.is_logic(logic)) { return logic; } var op = jsonLogic3.get_operator(logic); var values4 = logic[op]; var i; var current; var scopedLogic; var scopedData; var initial; if (!Array.isArray(values4)) { values4 = [values4]; } if (op === "if" || op == "?:") { for (i = 0; i < values4.length - 1; i += 2) { if (jsonLogic3.truthy(jsonLogic3.apply(values4[i], data))) { return jsonLogic3.apply(values4[i + 1], data); } } if (values4.length === i + 1) { return jsonLogic3.apply(values4[i], data); } return null; } else if (op === "and") { for (i = 0; i < values4.length; i += 1) { current = jsonLogic3.apply(values4[i], data); if (!jsonLogic3.truthy(current)) { return current; } } return current; } else if (op === "or") { for (i = 0; i < values4.length; i += 1) { current = jsonLogic3.apply(values4[i], data); if (jsonLogic3.truthy(current)) { return current; } } return current; } else if (op === "filter") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; if (!Array.isArray(scopedData)) { return []; } return scopedData.filter(function(datum) { return jsonLogic3.truthy(jsonLogic3.apply(scopedLogic, datum)); }); } else if (op === "map") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; if (!Array.isArray(scopedData)) { return []; } return scopedData.map(function(datum) { return jsonLogic3.apply(scopedLogic, datum); }); } else if (op === "reduce") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; initial = typeof values4[2] !== "undefined" ? values4[2] : null; if (!Array.isArray(scopedData)) { return initial; } return scopedData.reduce( function(accumulator, current2) { return jsonLogic3.apply( scopedLogic, { current: current2, accumulator } ); }, initial ); } else if (op === "all") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; if (!Array.isArray(scopedData) || !scopedData.length) { return false; } for (i = 0; i < scopedData.length; i += 1) { if (!jsonLogic3.truthy(jsonLogic3.apply(scopedLogic, scopedData[i]))) { return false; } } return true; } else if (op === "none") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; if (!Array.isArray(scopedData) || !scopedData.length) { return true; } for (i = 0; i < scopedData.length; i += 1) { if (jsonLogic3.truthy(jsonLogic3.apply(scopedLogic, scopedData[i]))) { return false; } } return true; } else if (op === "some") { scopedData = jsonLogic3.apply(values4[0], data); scopedLogic = values4[1]; if (!Array.isArray(scopedData) || !scopedData.length) { return false; } for (i = 0; i < scopedData.length; i += 1) { if (jsonLogic3.truthy(jsonLogic3.apply(scopedLogic, scopedData[i]))) { return true; } } return false; } values4 = values4.map(function(val) { return jsonLogic3.apply(val, data); }); if (operations.hasOwnProperty(op) && typeof operations[op] === "function") { return operations[op].apply(data, values4); } else if (op.indexOf(".") > 0) { var sub_ops = String(op).split("."); var operation = operations; for (i = 0; i < sub_ops.length; i++) { if (!operation.hasOwnProperty(sub_ops[i])) { throw new Error("Unrecognized operation " + op + " (failed at " + sub_ops.slice(0, i + 1).join(".") + ")"); } operation = operation[sub_ops[i]]; } return operation.apply(data, values4); } throw new Error("Unrecognized operation " + op); }; jsonLogic3.uses_data = function(logic) { var collection = []; if (jsonLogic3.is_logic(logic)) { var op = jsonLogic3.get_operator(logic); var values4 = logic[op]; if (!Array.isArray(values4)) { values4 = [values4]; } if (op === "var") { collection.push(values4[0]); } else { values4.forEach(function(val) { collection.push.apply(collection, jsonLogic3.uses_data(val)); }); } } return arrayUnique(collection); }; jsonLogic3.add_operation = function(name, code) { operations[name] = code; }; jsonLogic3.rm_operation = function(name) { delete operations[name]; }; jsonLogic3.rule_like = function(rule, pattern) { if (pattern === rule) { return true; } if (pattern === "@") { return true; } if (pattern === "number") { return typeof rule === "number"; } if (pattern === "string") { return typeof rule === "string"; } if (pattern === "array") { return Array.isArray(rule) && !jsonLogic3.is_logic(rule); } if (jsonLogic3.is_logic(pattern)) { if (jsonLogic3.is_logic(rule)) { var pattern_op = jsonLogic3.get_operator(pattern); var rule_op = jsonLogic3.get_operator(rule); if (pattern_op === "@" || pattern_op === rule_op) { return jsonLogic3.rule_like( jsonLogic3.get_values(rule, false), jsonLogic3.get_values(pattern, false) ); } } return false; } if (Array.isArray(pattern)) { if (Array.isArray(rule)) { if (pattern.length !== rule.length) { return false; } for (var i = 0; i < pattern.length; i += 1) { if (!jsonLogic3.rule_like(rule[i], pattern[i])) { return false; } } return true; } else { return false; } } return false; }; return jsonLogic3; }); } }); // node_modules/punycode/punycode.js var require_punycode = __commonJS({ "node_modules/punycode/punycode.js"(exports, module) { (function(root) { var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule = typeof module == "object" && module && !module.nodeType && module; var freeGlobal = typeof global == "object" && global; if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) { root = freeGlobal; } var punycode, maxInt = 2147483647, base = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = "-", regexPunycode = /^xn--/, regexNonASCII = /[^\x20-\x7E]/, regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, errors = { "overflow": "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, baseMinusTMin = base - tMin, floor = Math.floor, stringFromCharCode = String.fromCharCode, key; function error(type3) { throw RangeError(errors[type3]); } function map4(array, fn) { var length3 = array.length; var result = []; while (length3--) { result[length3] = fn(array[length3]); } return result; } function mapDomain(string, fn) { var parts = string.split("@"); var result = ""; if (parts.length > 1) { result = parts[0] + "@"; string = parts[1]; } string = string.replace(regexSeparators, "."); var labels = string.split("."); var encoded = map4(labels, fn).join("."); return result + encoded; } function ucs2decode(string) { var output = [], counter = 0, length3 = string.length, value, extra; while (counter < length3) { value = string.charCodeAt(counter++); if (value >= 55296 && value <= 56319 && counter < length3) { extra = string.charCodeAt(counter++); if ((extra & 64512) == 56320) { output.push(((value & 1023) << 10) + (extra & 1023) + 65536); } else { output.push(value); counter--; } } else { output.push(value); } } return output; } function ucs2encode(array) { return map4(array, function(value) { var output = ""; if (value > 65535) { value -= 65536; output += stringFromCharCode(value >>> 10 & 1023 | 55296); value = 56320 | value & 1023; } output += stringFromCharCode(value); return output; }).join(""); } function basicToDigit(codePoint) { if (codePoint - 48 < 10) { return codePoint - 22; } if (codePoint - 65 < 26) { return codePoint - 65; } if (codePoint - 97 < 26) { return codePoint - 97; } return base; } function digitToBasic(digit, flag) { return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); } function adapt(delta, numPoints, firstTime) { var k = 0; delta = firstTime ? floor(delta / damp) : delta >> 1; delta += floor(delta / numPoints); for (; delta > baseMinusTMin * tMax >> 1; k += base) { delta = floor(delta / baseMinusTMin); } return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); } function decode(input) { var output = [], inputLength = input.length, out, i = 0, n2 = initialN, bias = initialBias, basic, j, index, oldi, w, k, digit, t, baseMinusT; basic = input.lastIndexOf(delimiter); if (basic < 0) { basic = 0; } for (j = 0; j < basic; ++j) { if (input.charCodeAt(j) >= 128) { error("not-basic"); } output.push(input.charCodeAt(j)); } for (index = basic > 0 ? basic + 1 : 0; index < inputLength; ) { for (oldi = i, w = 1, k = base; ; k += base) { if (index >= inputLength) { error("invalid-input"); } digit = basicToDigit(input.charCodeAt(index++)); if (digit >= base || digit > floor((maxInt - i) / w)) { error("overflow"); } i += digit * w; t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; if (digit < t) { break; } baseMinusT = base - t; if (w > floor(maxInt / baseMinusT)) { error("overflow"); } w *= baseMinusT; } out = output.length + 1; bias = adapt(i - oldi, out, oldi == 0); if (floor(i / out) > maxInt - n2) { error("overflow"); } n2 += floor(i / out); i %= out; output.splice(i++, 0, n2); } return ucs2encode(output); } function encode(input) { var n2, delta, handledCPCount, basicLength, bias, j, m, q, k, t, currentValue, output = [], inputLength, handledCPCountPlusOne, baseMinusT, qMinusT; input = ucs2decode(input); inputLength = input.length; n2 = initialN; delta = 0; bias = initialBias; for (j = 0; j < inputLength; ++j) { currentValue = input[j]; if (currentValue < 128) { output.push(stringFromCharCode(currentValue)); } } handledCPCount = basicLength = output.length; if (basicLength) { output.push(delimiter); } while (handledCPCount < inputLength) { for (m = maxInt, j = 0; j < inputLength; ++j) { currentValue = input[j]; if (currentValue >= n2 && currentValue < m) { m = currentValue; } } handledCPCountPlusOne = handledCPCount + 1; if (m - n2 > floor((maxInt - delta) / handledCPCountPlusOne)) { error("overflow"); } delta += (m - n2) * handledCPCountPlusOne; n2 = m; for (j = 0; j < inputLength; ++j) { currentValue = input[j]; if (currentValue < n2 && ++delta > maxInt) { error("overflow"); } if (currentValue == n2) { for (q = delta, k = base; ; k += base) { t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; if (q < t) { break; } qMinusT = q - t; baseMinusT = base - t; output.push( stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) ); q = floor(qMinusT / baseMinusT); } output.push(stringFromCharCode(digitToBasic(q, 0))); bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); delta = 0; ++handledCPCount; } } ++delta; ++n2; } return output.join(""); } function toUnicode(input) { return mapDomain(input, function(string) { return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; }); } function toASCII(input) { return mapDomain(input, function(string) { return regexNonASCII.test(string) ? "xn--" + encode(string) : string; }); } punycode = { "version": "1.3.2", "ucs2": { "decode": ucs2decode, "encode": ucs2encode }, "decode": decode, "encode": encode, "toASCII": toASCII, "toUnicode": toUnicode }; if (typeof define == "function" && typeof define.amd == "object" && define.amd) { define("punycode", function() { return punycode; }); } else if (freeExports && freeModule) { if (module.exports == freeExports) { freeModule.exports = punycode; } else { for (key in punycode) { punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); } } } else { root.punycode = punycode; } })(exports); } }); // node_modules/url/util.js var require_util = __commonJS({ "node_modules/url/util.js"(exports, module) { "use strict"; module.exports = { isString: function(arg) { return typeof arg === "string"; }, isObject: function(arg) { return typeof arg === "object" && arg !== null; }, isNull: function(arg) { return arg === null; }, isNullOrUndefined: function(arg) { return arg == null; } }; } }); // node_modules/querystring/decode.js var require_decode = __commonJS({ "node_modules/querystring/decode.js"(exports, module) { "use strict"; function hasOwnProperty(obj, prop4) { return Object.prototype.hasOwnProperty.call(obj, prop4); } module.exports = function(qs, sep, eq, options) { sep = sep || "&"; eq = eq || "="; var obj = {}; if (typeof qs !== "string" || qs.length === 0) { return obj; } var regexp = /\+/g; qs = qs.split(sep); var maxKeys = 1e3; if (options && typeof options.maxKeys === "number") { maxKeys = options.maxKeys; } var len = qs.length; if (maxKeys > 0 && len > maxKeys) { len = maxKeys; } for (var i = 0; i < len; ++i) { var x = qs[i].replace(regexp, "%20"), idx = x.indexOf(eq), kstr, vstr, k, v; if (idx >= 0) { kstr = x.substr(0, idx); vstr = x.substr(idx + 1); } else { kstr = x; vstr = ""; } k = decodeURIComponent(kstr); v = decodeURIComponent(vstr); if (!hasOwnProperty(obj, k)) { obj[k] = v; } else if (Array.isArray(obj[k])) { obj[k].push(v); } else { obj[k] = [obj[k], v]; } } return obj; }; } }); // node_modules/querystring/encode.js var require_encode = __commonJS({ "node_modules/querystring/encode.js"(exports, module) { "use strict"; var stringifyPrimitive = function(v) { switch (typeof v) { case "string": return v; case "boolean": return v ? "true" : "false"; case "number": return isFinite(v) ? v : ""; default: return ""; } }; module.exports = function(obj, sep, eq, name) { sep = sep || "&"; eq = eq || "="; if (obj === null) { obj = void 0; } if (typeof obj === "object") { return Object.keys(obj).map(function(k) { var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; if (Array.isArray(obj[k])) { return obj[k].map(function(v) { return ks + encodeURIComponent(stringifyPrimitive(v)); }).join(sep); } else { return ks + encodeURIComponent(stringifyPrimitive(obj[k])); } }).join(sep); } if (!name) return ""; return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj)); }; } }); // node_modules/querystring/index.js var require_querystring = __commonJS({ "node_modules/querystring/index.js"(exports) { "use strict"; exports.decode = exports.parse = require_decode(); exports.encode = exports.stringify = require_encode(); } }); // node_modules/url/url.js var require_url = __commonJS({ "node_modules/url/url.js"(exports) { "use strict"; var punycode = require_punycode(); var util = require_util(); exports.parse = urlParse; exports.resolve = urlResolve; exports.resolveObject = urlResolveObject; exports.format = urlFormat; exports.Url = Url; function Url() { this.protocol = null; this.slashes = null; this.auth = null; this.host = null; this.port = null; this.hostname = null; this.hash = null; this.search = null; this.query = null; this.pathname = null; this.path = null; this.href = null; } var protocolPattern = /^([a-z0-9.+-]+:)/i; var portPattern = /:[0-9]*$/; var simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/; var delims = ["<", ">", '"', "`", " ", "\r", "\n", " "]; var unwise = ["{", "}", "|", "\\", "^", "`"].concat(delims); var autoEscape = ["'"].concat(unwise); var nonHostChars = ["%", "/", "?", ";", "#"].concat(autoEscape); var hostEndingChars = ["/", "?", "#"]; var hostnameMaxLen = 255; var hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/; var hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/; var unsafeProtocol = { "javascript": true, "javascript:": true }; var hostlessProtocol = { "javascript": true, "javascript:": true }; var slashedProtocol = { "http": true, "https": true, "ftp": true, "gopher": true, "file": true, "http:": true, "https:": true, "ftp:": true, "gopher:": true, "file:": true }; var querystring = require_querystring(); function urlParse(url, parseQueryString, slashesDenoteHost) { if (url && util.isObject(url) && url instanceof Url) return url; var u = new Url(); u.parse(url, parseQueryString, slashesDenoteHost); return u; } Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { if (!util.isString(url)) { throw new TypeError("Parameter 'url' must be a string, not " + typeof url); } var queryIndex = url.indexOf("?"), splitter = queryIndex !== -1 && queryIndex < url.indexOf("#") ? "?" : "#", uSplit = url.split(splitter), slashRegex = /\\/g; uSplit[0] = uSplit[0].replace(slashRegex, "/"); url = uSplit.join(splitter); var rest = url; rest = rest.trim(); if (!slashesDenoteHost && url.split("#").length === 1) { var simplePath = simplePathPattern.exec(rest); if (simplePath) { this.path = rest; this.href = rest; this.pathname = simplePath[1]; if (simplePath[2]) { this.search = simplePath[2]; if (parseQueryString) { this.query = querystring.parse(this.search.substr(1)); } else { this.query = this.search.substr(1); } } else if (parseQueryString) { this.search = ""; this.query = {}; } return this; } } var proto = protocolPattern.exec(rest); if (proto) { proto = proto[0]; var lowerProto = proto.toLowerCase(); this.protocol = lowerProto; rest = rest.substr(proto.length); } if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { var slashes = rest.substr(0, 2) === "//"; if (slashes && !(proto && hostlessProtocol[proto])) { rest = rest.substr(2); this.slashes = true; } } if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) { var hostEnd = -1; for (var i = 0; i < hostEndingChars.length; i++) { var hec = rest.indexOf(hostEndingChars[i]); if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec; } var auth, atSign; if (hostEnd === -1) { atSign = rest.lastIndexOf("@"); } else { atSign = rest.lastIndexOf("@", hostEnd); } if (atSign !== -1) { auth = rest.slice(0, atSign); rest = rest.slice(atSign + 1); this.auth = decodeURIComponent(auth); } hostEnd = -1; for (var i = 0; i < nonHostChars.length; i++) { var hec = rest.indexOf(nonHostChars[i]); if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec; } if (hostEnd === -1) hostEnd = rest.length; this.host = rest.slice(0, hostEnd); rest = rest.slice(hostEnd); this.parseHost(); this.hostname = this.hostname || ""; var ipv6Hostname = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]"; if (!ipv6Hostname) { var hostparts = this.hostname.split(/\./); for (var i = 0, l = hostparts.length; i < l; i++) { var part = hostparts[i]; if (!part) continue; if (!part.match(hostnamePartPattern)) { var newpart = ""; for (var j = 0, k = part.length; j < k; j++) { if (part.charCodeAt(j) > 127) { newpart += "x"; } else { newpart += part[j]; } } if (!newpart.match(hostnamePartPattern)) { var validParts = hostparts.slice(0, i); var notHost = hostparts.slice(i + 1); var bit = part.match(hostnamePartStart); if (bit) { validParts.push(bit[1]); notHost.unshift(bit[2]); } if (notHost.length) { rest = "/" + notHost.join(".") + rest; } this.hostname = validParts.join("."); break; } } } } if (this.hostname.length > hostnameMaxLen) { this.hostname = ""; } else { this.hostname = this.hostname.toLowerCase(); } if (!ipv6Hostname) { this.hostname = punycode.toASCII(this.hostname); } var p = this.port ? ":" + this.port : ""; var h = this.hostname || ""; this.host = h + p; this.href += this.host; if (ipv6Hostname) { this.hostname = this.hostname.substr(1, this.hostname.length - 2); if (rest[0] !== "/") { rest = "/" + rest; } } } if (!unsafeProtocol[lowerProto]) { for (var i = 0, l = autoEscape.length; i < l; i++) { var ae = autoEscape[i]; if (rest.indexOf(ae) === -1) continue; var esc = encodeURIComponent(ae); if (esc === ae) { esc = escape(ae); } rest = rest.split(ae).join(esc); } } var hash = rest.indexOf("#"); if (hash !== -1) { this.hash = rest.substr(hash); rest = rest.slice(0, hash); } var qm = rest.indexOf("?"); if (qm !== -1) { this.search = rest.substr(qm); this.query = rest.substr(qm + 1); if (parseQueryString) { this.query = querystring.parse(this.query); } rest = rest.slice(0, qm); } else if (parseQueryString) { this.search = ""; this.query = {}; } if (rest) this.pathname = rest; if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) { this.pathname = "/"; } if (this.pathname || this.search) { var p = this.pathname || ""; var s = this.search || ""; this.path = p + s; } this.href = this.format(); return this; }; function urlFormat(obj) { if (util.isString(obj)) obj = urlParse(obj); if (!(obj instanceof Url)) return Url.prototype.format.call(obj); return obj.format(); } Url.prototype.format = function() { var auth = this.auth || ""; if (auth) { auth = encodeURIComponent(auth); auth = auth.replace(/%3A/i, ":"); auth += "@"; } var protocol = this.protocol || "", pathname = this.pathname || "", hash = this.hash || "", host = false, query = ""; if (this.host) { host = auth + this.host; } else if (this.hostname) { host = auth + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"); if (this.port) { host += ":" + this.port; } } if (this.query && util.isObject(this.query) && Object.keys(this.query).length) { query = querystring.stringify(this.query); } var search = this.search || query && "?" + query || ""; if (protocol && protocol.substr(-1) !== ":") protocol += ":"; if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) { host = "//" + (host || ""); if (pathname && pathname.charAt(0) !== "/") pathname = "/" + pathname; } else if (!host) { host = ""; } if (hash && hash.charAt(0) !== "#") hash = "#" + hash; if (search && search.charAt(0) !== "?") search = "?" + search; pathname = pathname.replace(/[?#]/g, function(match3) { return encodeURIComponent(match3); }); search = search.replace("#", "%23"); return protocol + host + pathname + search + hash; }; function urlResolve(source, relative) { return urlParse(source, false, true).resolve(relative); } Url.prototype.resolve = function(relative) { return this.resolveObject(urlParse(relative, false, true)).format(); }; function urlResolveObject(source, relative) { if (!source) return relative; return urlParse(source, false, true).resolveObject(relative); } Url.prototype.resolveObject = function(relative) { if (util.isString(relative)) { var rel = new Url(); rel.parse(relative, false, true); relative = rel; } var result = new Url(); var tkeys = Object.keys(this); for (var tk = 0; tk < tkeys.length; tk++) { var tkey = tkeys[tk]; result[tkey] = this[tkey]; } result.hash = relative.hash; if (relative.href === "") { result.href = result.format(); return result; } if (relative.slashes && !relative.protocol) { var rkeys = Object.keys(relative); for (var rk = 0; rk < rkeys.length; rk++) { var rkey = rkeys[rk]; if (rkey !== "protocol") result[rkey] = relative[rkey]; } if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) { result.path = result.pathname = "/"; } result.href = result.format(); return result; } if (relative.protocol && relative.protocol !== result.protocol) { if (!slashedProtocol[relative.protocol]) { var keys6 = Object.keys(relative); for (var v = 0; v < keys6.length; v++) { var k = keys6[v]; result[k] = relative[k]; } result.href = result.format(); return result; } result.protocol = relative.protocol; if (!relative.host && !hostlessProtocol[relative.protocol]) { var relPath = (relative.pathname || "").split("/"); while (relPath.length && !(relative.host = relPath.shift())) ; if (!relative.host) relative.host = ""; if (!relative.hostname) relative.hostname = ""; if (relPath[0] !== "") relPath.unshift(""); if (relPath.length < 2) relPath.unshift(""); result.pathname = relPath.join("/"); } else { result.pathname = relative.pathname; } result.search = relative.search; result.query = relative.query; result.host = relative.host || ""; result.auth = relative.auth; result.hostname = relative.hostname || relative.host; result.port = relative.port; if (result.pathname || result.search) { var p = result.pathname || ""; var s = result.search || ""; result.path = p + s; } result.slashes = result.slashes || relative.slashes; result.href = result.format(); return result; } var isSourceAbs = result.pathname && result.pathname.charAt(0) === "/", isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === "/", mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname, removeAllDots = mustEndAbs, srcPath = result.pathname && result.pathname.split("/") || [], relPath = relative.pathname && relative.pathname.split("/") || [], psychotic = result.protocol && !slashedProtocol[result.protocol]; if (psychotic) { result.hostname = ""; result.port = null; if (result.host) { if (srcPath[0] === "") srcPath[0] = result.host; else srcPath.unshift(result.host); } result.host = ""; if (relative.protocol) { relative.hostname = null; relative.port = null; if (relative.host) { if (relPath[0] === "") relPath[0] = relative.host; else relPath.unshift(relative.host); } relative.host = null; } mustEndAbs = mustEndAbs && (relPath[0] === "" || srcPath[0] === ""); } if (isRelAbs) { result.host = relative.host || relative.host === "" ? relative.host : result.host; result.hostname = relative.hostname || relative.hostname === "" ? relative.hostname : result.hostname; result.search = relative.search; result.query = relative.query; srcPath = relPath; } else if (relPath.length) { if (!srcPath) srcPath = []; srcPath.pop(); srcPath = srcPath.concat(relPath); result.search = relative.search; result.query = relative.query; } else if (!util.isNullOrUndefined(relative.search)) { if (psychotic) { result.hostname = result.host = srcPath.shift(); var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; if (authInHost) { result.auth = authInHost.shift(); result.host = result.hostname = authInHost.shift(); } } result.search = relative.search; result.query = relative.query; if (!util.isNull(result.pathname) || !util.isNull(result.search)) { result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); } result.href = result.format(); return result; } if (!srcPath.length) { result.pathname = null; if (result.search) { result.path = "/" + result.search; } else { result.path = null; } result.href = result.format(); return result; } var last2 = srcPath.slice(-1)[0]; var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last2 === "." || last2 === "..") || last2 === ""; var up = 0; for (var i = srcPath.length; i >= 0; i--) { last2 = srcPath[i]; if (last2 === ".") { srcPath.splice(i, 1); } else if (last2 === "..") { srcPath.splice(i, 1); up++; } else if (up) { srcPath.splice(i, 1); up--; } } if (!mustEndAbs && !removeAllDots) { for (; up--; up) { srcPath.unshift(".."); } } if (mustEndAbs && srcPath[0] !== "" && (!srcPath[0] || srcPath[0].charAt(0) !== "/")) { srcPath.unshift(""); } if (hasTrailingSlash && srcPath.join("/").substr(-1) !== "/") { srcPath.push(""); } var isAbsolute = srcPath[0] === "" || srcPath[0] && srcPath[0].charAt(0) === "/"; if (psychotic) { result.hostname = result.host = isAbsolute ? "" : srcPath.length ? srcPath.shift() : ""; var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; if (authInHost) { result.auth = authInHost.shift(); result.host = result.hostname = authInHost.shift(); } } mustEndAbs = mustEndAbs || result.host && srcPath.length; if (mustEndAbs && !isAbsolute) { srcPath.unshift(""); } if (!srcPath.length) { result.pathname = null; result.path = null; } else { result.pathname = srcPath.join("/"); } if (!util.isNull(result.pathname) || !util.isNull(result.search)) { result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); } result.auth = relative.auth || result.auth; result.slashes = result.slashes || relative.slashes; result.href = result.format(); return result; }; Url.prototype.parseHost = function() { var host = this.host; var port = portPattern.exec(host); if (port) { port = port[0]; if (port !== ":") { this.port = port.substr(1); } host = host.substr(0, host.length - port.length); } if (host) this.hostname = host; }; } }); // contracts/common/lib/jsonschema/helpers.js var require_helpers = __commonJS({ "contracts/common/lib/jsonschema/helpers.js"(exports, module) { "use strict"; var uri = require_url(); var ValidationError = exports.ValidationError = function ValidationError2(message, instance, schema, path3, name, argument) { if (Array.isArray(path3)) { this.path = path3; this.property = path3.reduce(function(sum2, item) { return sum2 + makeSuffix(item); }, "instance"); } else if (path3 !== void 0) { this.property = path3; } if (message) { this.message = message; } if (schema) { var id = schema.$id || schema.id; this.schema = id || schema; } if (instance !== void 0) { this.instance = instance; } this.name = name; this.argument = argument; this.stack = this.toString(); }; ValidationError.prototype.toString = function toString4() { return this.property + " " + this.message; }; var ValidatorResult = exports.ValidatorResult = function ValidatorResult2(instance, schema, options, ctx) { this.instance = instance; this.schema = schema; this.options = options; this.path = ctx.path; this.propertyPath = ctx.propertyPath; this.errors = []; this.throwError = options && options.throwError; this.throwFirst = options && options.throwFirst; this.throwAll = options && options.throwAll; this.disableFormat = options && options.disableFormat === true; }; ValidatorResult.prototype.addError = function addError(detail) { var err2; if (typeof detail == "string") { err2 = new ValidationError(detail, this.instance, this.schema, this.path); } else { if (!detail) throw new Error("Missing error detail"); if (!detail.message) throw new Error("Missing error message"); if (!detail.name) throw new Error("Missing validator type"); err2 = new ValidationError( detail.message, this.instance, this.schema, this.path, detail.name, detail.argument ); } this.errors.push(err2); if (this.throwFirst) { throw new ValidatorResultError(this); } else if (this.throwError) { throw err2; } return err2; }; ValidatorResult.prototype.importErrors = function importErrors(res) { if (typeof res == "string" || res && res.validatorType) { this.addError(res); } else if (res && res.errors) { this.errors = this.errors.concat(res.errors); } }; function stringizer(v, i) { return i + ": " + v.toString() + "\n"; } ValidatorResult.prototype.toString = function toString4(res) { return this.errors.map(stringizer).join(""); }; Object.defineProperty(ValidatorResult.prototype, "valid", { get: function() { return !this.errors.length; } }); module.exports.ValidatorResultError = ValidatorResultError; function ValidatorResultError(result) { if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, ValidatorResultError); } this.instance = result.instance; this.schema = result.schema; this.options = result.options; this.errors = result.errors; } ValidatorResultError.prototype = new Error(); ValidatorResultError.prototype.constructor = ValidatorResultError; ValidatorResultError.prototype.name = "Validation Error"; var SchemaError = exports.SchemaError = function SchemaError2(msg, schema) { this.message = msg; this.schema = schema; Error.call(this, msg); if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, SchemaError2); } }; SchemaError.prototype = Object.create(Error.prototype, { constructor: { value: SchemaError, enumerable: false }, name: { value: "SchemaError", enumerable: false } }); var SchemaContext = exports.SchemaContext = function SchemaContext2(schema, options, path3, base, schemas) { this.schema = schema; this.options = options; if (Array.isArray(path3)) { this.path = path3; this.propertyPath = path3.reduce(function(sum2, item) { return sum2 + makeSuffix(item); }, "instance"); } else { this.propertyPath = path3; } this.base = base; this.schemas = schemas; }; SchemaContext.prototype.resolve = function resolve(target) { return uri.resolve(this.base, target); }; SchemaContext.prototype.makeChild = function makeChild(schema, propertyName) { var path3 = propertyName === void 0 ? this.path : this.path.concat([propertyName]); var id = schema.$id || schema.id; var base = uri.resolve(this.base, id || ""); var ctx = new SchemaContext( schema, this.options, path3, base, Object.create(this.schemas) ); if (id && !ctx.schemas[base]) { ctx.schemas[base] = schema; } return ctx; }; var FORMAT_REGEXPS = exports.FORMAT_REGEXPS = { "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/, date: /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/, time: /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/, duration: /P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i, email: /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/, "idn-email": /^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u, "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, ipv6: /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/, uri: /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/, "uri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/, iri: /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/, "iri-reference": /^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u, uuid: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i, "uri-template": /(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu, "json-pointer": /^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu, "relative-json-pointer": /^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu, hostname: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/, "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/, "utc-millisec": function(input) { return typeof input === "string" && parseFloat(input) === parseInt(input, 10) && !isNaN(input); }, regex: function(input) { var result = true; try { new RegExp(input); } catch (e) { result = false; } return result; }, style: /[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/, color: /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/, phone: /^\+(?:[0-9] ?){6,14}[0-9]$/, alpha: /^[a-zA-Z]+$/, alphanumeric: /^[a-zA-Z0-9]+$/ }; FORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex; FORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex; FORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS["ip-address"]; exports.isFormat = function isFormat(input, format, validator5) { if (typeof input === "string" && FORMAT_REGEXPS[format] !== void 0) { if (FORMAT_REGEXPS[format] instanceof RegExp) { return FORMAT_REGEXPS[format].test(input); } if (typeof FORMAT_REGEXPS[format] === "function") { return FORMAT_REGEXPS[format](input); } } else if (validator5 && validator5.customFormats && typeof validator5.customFormats[format] === "function") { return validator5.customFormats[format](input); } return true; }; var makeSuffix = exports.makeSuffix = function makeSuffix2(key) { key = key.toString(); if (!key.match(/[.\s\[\]]/) && !key.match(/^[\d]/)) { return "." + key; } if (key.match(/^\d+$/)) { return "[" + key + "]"; } return "[" + JSON.stringify(key) + "]"; }; exports.deepCompareStrict = function deepCompareStrict(a, b) { if (typeof a !== typeof b) { return false; } if (Array.isArray(a)) { if (!Array.isArray(b)) { return false; } if (a.length !== b.length) { return false; } return a.every(function(v, i) { return deepCompareStrict(a[i], b[i]); }); } if (typeof a === "object") { if (!a || !b) { return a === b; } var aKeys = Object.keys(a); var bKeys = Object.keys(b); if (aKeys.length !== bKeys.length) { return false; } return aKeys.every(function(v) { return deepCompareStrict(a[v], b[v]); }); } return a === b; }; function deepMerger(target, dst, e, i) { if (typeof e === "object") { dst[i] = deepMerge(target[i], e); } else { if (target.indexOf(e) === -1) { dst.push(e); } } } function copyist(src, dst, key) { dst[key] = src[key]; } function copyistWithDeepMerge(target, src, dst, key) { if (typeof src[key] !== "object" || !src[key]) { dst[key] = src[key]; } else { if (!target[key]) { dst[key] = src[key]; } else { dst[key] = deepMerge(target[key], src[key]); } } } function deepMerge(target, src) { var array = Array.isArray(src); var dst = array && [] || {}; if (array) { target = target || []; dst = dst.concat(target); src.forEach(deepMerger.bind(null, target, dst)); } else { if (target && typeof target === "object") { Object.keys(target).forEach(copyist.bind(null, target, dst)); } Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst)); } return dst; } module.exports.deepMerge = deepMerge; exports.objectGetPath = function objectGetPath(o3, s) { var parts = s.split("/").slice(1); var k; while (typeof (k = parts.shift()) == "string") { var n2 = decodeURIComponent(k.replace(/~0/, "~").replace(/~1/g, "/")); if (!(n2 in o3)) return; o3 = o3[n2]; } return o3; }; function pathEncoder(v) { return "/" + encodeURIComponent(v).replace(/~/g, "%7E"); } exports.encodePath = function encodePointer(a) { return a.map(pathEncoder).join(""); }; exports.getDecimalPlaces = function getDecimalPlaces(number) { var decimalPlaces = 0; if (isNaN(number)) return decimalPlaces; if (typeof number !== "number") { number = Number(number); } var parts = number.toString().split("e"); if (parts.length === 2) { if (parts[1][0] !== "-") { return decimalPlaces; } else { decimalPlaces = Number(parts[1].slice(1)); } } var decimalParts = parts[0].split("."); if (decimalParts.length === 2) { decimalPlaces += decimalParts[1].length; } return decimalPlaces; }; exports.isSchema = function isSchema(val) { return typeof val === "object" && val || typeof val === "boolean"; }; } }); // contracts/common/lib/jsonschema/attribute.js var require_attribute = __commonJS({ "contracts/common/lib/jsonschema/attribute.js"(exports, module) { "use strict"; var helpers = require_helpers(); var ValidatorResult = helpers.ValidatorResult; var SchemaError = helpers.SchemaError; var attribute = {}; attribute.ignoreProperties = { "id": true, "default": true, "description": true, "title": true, "additionalItems": true, "then": true, "else": true, "$schema": true, "$ref": true, "extends": true }; var validators = attribute.validators = {}; validators.type = function validateType(instance, schema, options, ctx) { if (instance === void 0) { return null; } var result = new ValidatorResult(instance, schema, options, ctx); var types = Array.isArray(schema.type) ? schema.type : [schema.type]; if (!types.some(this.testType.bind(this, instance, schema, options, ctx))) { var list = types.map(function(v) { if (!v) return; var id = v.$id || v.id; return id ? "<" + id + ">" : v + ""; }); result.addError({ name: "type", argument: list, message: "is not of a type(s) " + list }); } return result; }; function testSchemaNoThrow(instance, options, ctx, callback, schema) { var throwError = options.throwError; var throwAll = options.throwAll; options.throwError = false; options.throwAll = false; var res = this.validateSchema(instance, schema, options, ctx); options.throwError = throwError; options.throwAll = throwAll; if (!res.valid && callback instanceof Function) { callback(res); } return res.valid; } validators.anyOf = function validateAnyOf(instance, schema, options, ctx) { if (instance === void 0) { return null; } var result = new ValidatorResult(instance, schema, options, ctx); var inner = new ValidatorResult(instance, schema, options, ctx); if (!Array.isArray(schema.anyOf)) { throw new SchemaError("anyOf must be an array"); } if (!schema.anyOf.some( testSchemaNoThrow.bind( this, instance, options, ctx, function(res) { inner.importErrors(res); } ) )) { var list = schema.anyOf.map(function(v, i) { var id = v.$id || v.id; if (id) return "<" + id + ">"; return v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]"; }); if (options.nestedErrors) { result.importErrors(inner); } result.addError({ name: "anyOf", argument: list, message: "is not any of " + list.join(",") }); } return result; }; validators.allOf = function validateAllOf(instance, schema, options, ctx) { if (instance === void 0) { return null; } if (!Array.isArray(schema.allOf)) { throw new SchemaError("allOf must be an array"); } var result = new ValidatorResult(instance, schema, options, ctx); var self = this; schema.allOf.forEach(function(v, i) { var valid = self.validateSchema(instance, v, options, ctx); if (!valid.valid) { var id = v.$id || v.id; var msg = id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]"; result.addError({ name: "allOf", argument: { id: msg, length: valid.errors.length, valid }, message: "does not match allOf schema " + msg + " with " + valid.errors.length + " error[s]:" }); result.importErrors(valid); } }); return result; }; validators.oneOf = function validateOneOf(instance, schema, options, ctx) { if (instance === void 0) { return null; } if (!Array.isArray(schema.oneOf)) { throw new SchemaError("oneOf must be an array"); } var result = new ValidatorResult(instance, schema, options, ctx); var inner = new ValidatorResult(instance, schema, options, ctx); var count2 = schema.oneOf.filter( testSchemaNoThrow.bind( this, instance, options, ctx, function(res) { inner.importErrors(res); } ) ).length; var list = schema.oneOf.map(function(v, i) { var id = v.$id || v.id; return id || v.title && JSON.stringify(v.title) || v["$ref"] && "<" + v["$ref"] + ">" || "[subschema " + i + "]"; }); if (count2 !== 1) { if (options.nestedErrors) { result.importErrors(inner); } result.addError({ name: "oneOf", argument: list, message: "is not exactly one from " + list.join(",") }); } return result; }; validators.if = function validateIf(instance, schema, options, ctx) { if (instance === void 0) return null; if (!helpers.isSchema(schema.if)) throw new Error('Expected "if" keyword to be a schema'); var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema.if); var result = new ValidatorResult(instance, schema, options, ctx); var res; if (ifValid) { if (schema.then === void 0) return; if (!helpers.isSchema(schema.then)) throw new Error('Expected "then" keyword to be a schema'); res = this.validateSchema(instance, schema.then, options, ctx.makeChild(schema.then)); result.importErrors(res); } else { if (schema.else === void 0) return; if (!helpers.isSchema(schema.else)) throw new Error('Expected "else" keyword to be a schema'); res = this.validateSchema(instance, schema.else, options, ctx.makeChild(schema.else)); result.importErrors(res); } return result; }; function getEnumerableProperty(object, key) { if (Object.hasOwnProperty.call(object, key)) return object[key]; if (!(key in object)) return; while (object = Object.getPrototypeOf(object)) { if (Object.propertyIsEnumerable.call(object, key)) return object[key]; } } validators.propertyNames = function validatePropertyNames(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var subschema = schema.propertyNames !== void 0 ? schema.propertyNames : {}; if (!helpers.isSchema(subschema)) throw new SchemaError('Expected "propertyNames" to be a schema (object or boolean)'); for (var property in instance) { if (getEnumerableProperty(instance, property) !== void 0) { var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema)); result.importErrors(res); } } return result; }; validators.properties = function validateProperties(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var properties = schema.properties || {}; for (var property in properties) { var subschema = properties[property]; if (subschema === void 0) { continue; } else if (subschema === null) { throw new SchemaError('Unexpected null, expected schema in "properties"'); } if (typeof options.preValidateProperty == "function") { options.preValidateProperty(instance, property, subschema, options, ctx); } var prop4 = getEnumerableProperty(instance, property); var res = this.validateSchema(prop4, subschema, options, ctx.makeChild(subschema, property)); if (res.instance !== result.instance[property]) result.instance[property] = res.instance; result.importErrors(res); } return result; }; function testAdditionalProperty(instance, schema, options, ctx, property, result) { if (!this.types.object(instance)) return; if (schema.properties && schema.properties[property] !== void 0) { return; } if (schema.additionalProperties === false) { result.addError({ name: "additionalProperties", argument: property, message: "is not allowed to have the additional property " + JSON.stringify(property) }); } else { var additionalProperties = schema.additionalProperties || {}; if (typeof options.preValidateProperty == "function") { options.preValidateProperty(instance, property, additionalProperties, options, ctx); } var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property)); if (res.instance !== result.instance[property]) result.instance[property] = res.instance; result.importErrors(res); } } validators.patternProperties = function validatePatternProperties(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var patternProperties = schema.patternProperties || {}; for (var property in instance) { var test3 = true; for (var pattern in patternProperties) { var subschema = patternProperties[pattern]; if (subschema === void 0) { continue; } else if (subschema === null) { throw new SchemaError('Unexpected null, expected schema in "patternProperties"'); } try { var regexp = new RegExp(pattern, "u"); } catch (_e) { regexp = new RegExp(pattern); } if (!regexp.test(property)) { continue; } test3 = false; if (typeof options.preValidateProperty == "function") { options.preValidateProperty(instance, property, subschema, options, ctx); } var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property)); if (res.instance !== result.instance[property]) result.instance[property] = res.instance; result.importErrors(res); } if (test3) { testAdditionalProperty.call(this, instance, schema, options, ctx, property, result); } } return result; }; validators.additionalProperties = function validateAdditionalProperties(instance, schema, options, ctx) { if (!this.types.object(instance)) return; if (schema.patternProperties) { return null; } var result = new ValidatorResult(instance, schema, options, ctx); for (var property in instance) { testAdditionalProperty.call(this, instance, schema, options, ctx, property, result); } return result; }; validators.minProperties = function validateMinProperties(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var keys6 = Object.keys(instance); if (!(keys6.length >= schema.minProperties)) { result.addError({ name: "minProperties", argument: schema.minProperties, message: "does not meet minimum property length of " + schema.minProperties }); } return result; }; validators.maxProperties = function validateMaxProperties(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var keys6 = Object.keys(instance); if (!(keys6.length <= schema.maxProperties)) { result.addError({ name: "maxProperties", argument: schema.maxProperties, message: "does not meet maximum property length of " + schema.maxProperties }); } return result; }; validators.items = function validateItems(instance, schema, options, ctx) { var self = this; if (!this.types.array(instance)) return; if (schema.items === void 0) return; var result = new ValidatorResult(instance, schema, options, ctx); instance.every(function(value, i) { if (Array.isArray(schema.items)) { var items = schema.items[i] === void 0 ? schema.additionalItems : schema.items[i]; } else { var items = schema.items; } if (items === void 0) { return true; } if (items === false) { result.addError({ name: "items", message: "additionalItems not permitted" }); return false; } var res = self.validateSchema(value, items, options, ctx.makeChild(items, i)); if (res.instance !== result.instance[i]) result.instance[i] = res.instance; result.importErrors(res); return true; }); return result; }; validators.contains = function validateContains(instance, schema, options, ctx) { var self = this; if (!this.types.array(instance)) return; if (schema.contains === void 0) return; if (!helpers.isSchema(schema.contains)) throw new Error('Expected "contains" keyword to be a schema'); var result = new ValidatorResult(instance, schema, options, ctx); var count2 = instance.some(function(value, i) { var res = self.validateSchema(value, schema.contains, options, ctx.makeChild(schema.contains, i)); return res.errors.length === 0; }); if (count2 === false) { result.addError({ name: "contains", argument: schema.contains, message: "must contain an item matching given schema" }); } return result; }; validators.minimum = function validateMinimum(instance, schema, options, ctx) { if (!this.types.number(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); if (schema.exclusiveMinimum && schema.exclusiveMinimum === true) { if (!(instance > schema.minimum)) { result.addError({ name: "minimum", argument: schema.minimum, message: "must be greater than " + schema.minimum }); } } else { if (!(instance >= schema.minimum)) { result.addError({ name: "minimum", argument: schema.minimum, message: "must be greater than or equal to " + schema.minimum }); } } return result; }; validators.maximum = function validateMaximum(instance, schema, options, ctx) { if (!this.types.number(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); if (schema.exclusiveMaximum && schema.exclusiveMaximum === true) { if (!(instance < schema.maximum)) { result.addError({ name: "maximum", argument: schema.maximum, message: "must be less than " + schema.maximum }); } } else { if (!(instance <= schema.maximum)) { result.addError({ name: "maximum", argument: schema.maximum, message: "must be less than or equal to " + schema.maximum }); } } return result; }; validators.exclusiveMinimum = function validateExclusiveMinimum(instance, schema, options, ctx) { if (typeof schema.exclusiveMinimum === "boolean") return; if (!this.types.number(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var valid = instance > schema.exclusiveMinimum; if (!valid) { result.addError({ name: "exclusiveMinimum", argument: schema.exclusiveMinimum, message: "must be strictly greater than " + schema.exclusiveMinimum }); } return result; }; validators.exclusiveMaximum = function validateExclusiveMaximum(instance, schema, options, ctx) { if (typeof schema.exclusiveMaximum === "boolean") return; if (!this.types.number(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var valid = instance < schema.exclusiveMaximum; if (!valid) { result.addError({ name: "exclusiveMaximum", argument: schema.exclusiveMaximum, message: "must be strictly less than " + schema.exclusiveMaximum }); } return result; }; var validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy2(instance, schema, options, ctx, validationType, errorMessage) { if (!this.types.number(instance)) return; var validationArgument = schema[validationType]; if (validationArgument == 0) { throw new SchemaError(validationType + " cannot be zero"); } var result = new ValidatorResult(instance, schema, options, ctx); var instanceDecimals = helpers.getDecimalPlaces(instance); var divisorDecimals = helpers.getDecimalPlaces(validationArgument); var maxDecimals = Math.max(instanceDecimals, divisorDecimals); var multiplier = Math.pow(10, maxDecimals); if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) { result.addError({ name: validationType, argument: validationArgument, message: errorMessage + JSON.stringify(validationArgument) }); } return result; }; validators.multipleOf = function validateMultipleOf(instance, schema, options, ctx) { return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, "multipleOf", "is not a multiple of (divisible by) "); }; validators.divisibleBy = function validateDivisibleBy(instance, schema, options, ctx) { return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, "divisibleBy", "is not divisible by (multiple of) "); }; validators.required = function validateRequired(instance, schema, options, ctx) { var result = new ValidatorResult(instance, schema, options, ctx); if (instance === void 0 && schema.required === true) { result.addError({ name: "required", message: "is required" }); } else if (this.types.object(instance) && Array.isArray(schema.required)) { schema.required.forEach(function(n2) { if (getEnumerableProperty(instance, n2) === void 0) { result.addError({ name: "required", argument: n2, message: "requires property " + JSON.stringify(n2) }); } }); } return result; }; validators.pattern = function validatePattern(instance, schema, options, ctx) { if (!this.types.string(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var pattern = schema.pattern; try { var regexp = new RegExp(pattern, "u"); } catch (_e) { regexp = new RegExp(pattern); } if (!instance.match(regexp)) { result.addError({ name: "pattern", argument: schema.pattern, message: "does not match pattern " + JSON.stringify(schema.pattern.toString()) }); } return result; }; validators.format = function validateFormat(instance, schema, options, ctx) { if (instance === void 0) return; var result = new ValidatorResult(instance, schema, options, ctx); if (!result.disableFormat && !helpers.isFormat(instance, schema.format, this)) { result.addError({ name: "format", argument: schema.format, message: "does not conform to the " + JSON.stringify(schema.format) + " format" }); } return result; }; validators.minLength = function validateMinLength(instance, schema, options, ctx) { if (!this.types.string(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var hsp = instance.match(/[\uDC00-\uDFFF]/g); var length3 = instance.length - (hsp ? hsp.length : 0); if (!(length3 >= schema.minLength)) { result.addError({ name: "minLength", argument: schema.minLength, message: "does not meet minimum length of " + schema.minLength }); } return result; }; validators.maxLength = function validateMaxLength(instance, schema, options, ctx) { if (!this.types.string(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); var hsp = instance.match(/[\uDC00-\uDFFF]/g); var length3 = instance.length - (hsp ? hsp.length : 0); if (!(length3 <= schema.maxLength)) { result.addError({ name: "maxLength", argument: schema.maxLength, message: "does not meet maximum length of " + schema.maxLength }); } return result; }; validators.minItems = function validateMinItems(instance, schema, options, ctx) { if (!this.types.array(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); if (!(instance.length >= schema.minItems)) { result.addError({ name: "minItems", argument: schema.minItems, message: "does not meet minimum length of " + schema.minItems }); } return result; }; validators.maxItems = function validateMaxItems(instance, schema, options, ctx) { if (!this.types.array(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); if (!(instance.length <= schema.maxItems)) { result.addError({ name: "maxItems", argument: schema.maxItems, message: "does not meet maximum length of " + schema.maxItems }); } return result; }; function testArrays(v, i, a) { var j, len = a.length; for (j = i + 1, len; j < len; j++) { if (helpers.deepCompareStrict(v, a[j])) { return false; } } return true; } validators.uniqueItems = function validateUniqueItems(instance, schema, options, ctx) { if (schema.uniqueItems !== true) return; if (!this.types.array(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); if (!instance.every(testArrays)) { result.addError({ name: "uniqueItems", message: "contains duplicate item" }); } return result; }; validators.dependencies = function validateDependencies(instance, schema, options, ctx) { if (!this.types.object(instance)) return; var result = new ValidatorResult(instance, schema, options, ctx); for (var property in schema.dependencies) { if (instance[property] === void 0) { continue; } var dep = schema.dependencies[property]; var childContext = ctx.makeChild(dep, property); if (typeof dep == "string") { dep = [dep]; } if (Array.isArray(dep)) { dep.forEach(function(prop4) { if (instance[prop4] === void 0) { result.addError({ name: "dependencies", argument: childContext.propertyPath, message: "property " + prop4 + " not found, required by " + childContext.propertyPath }); } }); } else { var res = this.validateSchema(instance, dep, options, childContext); if (result.instance !== res.instance) result.instance = res.instance; if (res && res.errors.length) { result.addError({ name: "dependencies", argument: childContext.propertyPath, message: "does not meet dependency required by " + childContext.propertyPath }); result.importErrors(res); } } } return result; }; validators["enum"] = function validateEnum(instance, schema, options, ctx) { if (instance === void 0) { return null; } if (!Array.isArray(schema["enum"])) { throw new SchemaError("enum expects an array", schema); } var result = new ValidatorResult(instance, schema, options, ctx); if (!schema["enum"].some(helpers.deepCompareStrict.bind(null, instance))) { result.addError({ name: "enum", argument: schema["enum"], message: "is not one of enum values: " + schema["enum"].map(String).join(",") }); } return result; }; validators["const"] = function validateEnum(instance, schema, options, ctx) { if (instance === void 0) { return null; } var result = new ValidatorResult(instance, schema, options, ctx); if (!helpers.deepCompareStrict(schema["const"], instance)) { result.addError({ name: "const", argument: schema["const"], message: "does not exactly match expected constant: " + schema["const"] }); } return result; }; validators.not = validators.disallow = function validateNot(instance, schema, options, ctx) { var self = this; if (instance === void 0) return null; var result = new ValidatorResult(instance, schema, options, ctx); var notTypes = schema.not || schema.disallow; if (!notTypes) return null; if (!Array.isArray(notTypes)) notTypes = [notTypes]; notTypes.forEach(function(type3) { if (self.testType(instance, schema, options, ctx, type3)) { var id = type3 && (type3.$id || type3.id); var schemaId = id || type3; result.addError({ name: "not", argument: schemaId, message: "is of prohibited type " + schemaId }); } }); return result; }; module.exports = attribute; } }); // contracts/common/lib/jsonschema/scan.js var require_scan = __commonJS({ "contracts/common/lib/jsonschema/scan.js"(exports, module) { "use strict"; var urilib = require_url(); var helpers = require_helpers(); module.exports.SchemaScanResult = SchemaScanResult; function SchemaScanResult(found, ref) { this.id = found; this.ref = ref; } module.exports.scan = function scan3(base, schema) { function scanSchema(baseuri, schema2) { if (!schema2 || typeof schema2 != "object") return; if (schema2.$ref) { var resolvedUri = urilib.resolve(baseuri, schema2.$ref); ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri] + 1 : 0; return; } var id = schema2.$id || schema2.id; var ourBase = id ? urilib.resolve(baseuri, id) : baseuri; if (ourBase) { if (ourBase.indexOf("#") < 0) ourBase += "#"; if (found[ourBase]) { if (!helpers.deepCompareStrict(found[ourBase], schema2)) { throw new Error( "Schema <" + ourBase + "> already exists with different definition" ); } return found[ourBase]; } found[ourBase] = schema2; if (ourBase[ourBase.length - 1] == "#") { found[ourBase.substring(0, ourBase.length - 1)] = schema2; } } scanArray( ourBase + "/items", Array.isArray(schema2.items) ? schema2.items : [schema2.items] ); scanArray( ourBase + "/extends", Array.isArray(schema2.extends) ? schema2.extends : [schema2.extends] ); scanSchema(ourBase + "/additionalItems", schema2.additionalItems); scanObject(ourBase + "/properties", schema2.properties); scanSchema(ourBase + "/additionalProperties", schema2.additionalProperties); scanObject(ourBase + "/definitions", schema2.definitions); scanObject(ourBase + "/patternProperties", schema2.patternProperties); scanObject(ourBase + "/dependencies", schema2.dependencies); scanArray(ourBase + "/disallow", schema2.disallow); scanArray(ourBase + "/allOf", schema2.allOf); scanArray(ourBase + "/anyOf", schema2.anyOf); scanArray(ourBase + "/oneOf", schema2.oneOf); scanSchema(ourBase + "/not", schema2.not); } function scanArray(baseuri, schemas) { if (!Array.isArray(schemas)) return; for (var i = 0; i < schemas.length; i++) { scanSchema(baseuri + "/" + i, schemas[i]); } } function scanObject(baseuri, schemas) { if (!schemas || typeof schemas != "object") return; for (var p in schemas) { scanSchema(baseuri + "/" + p, schemas[p]); } } var found = {}; var ref = {}; scanSchema(base, schema); return new SchemaScanResult(found, ref); }; } }); // contracts/common/lib/jsonschema/validator.js var require_validator = __commonJS({ "contracts/common/lib/jsonschema/validator.js"(exports, module) { "use strict"; var urilib = require_url(); var attribute = require_attribute(); var helpers = require_helpers(); var scanSchema = require_scan().scan; var ValidatorResult = helpers.ValidatorResult; var ValidatorResultError = helpers.ValidatorResultError; var SchemaError = helpers.SchemaError; var SchemaContext = helpers.SchemaContext; var anonymousBase = "/"; var Validator = function Validator2() { this.customFormats = Object.create(Validator2.prototype.customFormats); this.schemas = {}; this.unresolvedRefs = []; this.types = Object.create(types); this.attributes = Object.create(attribute.validators); }; Validator.prototype.customFormats = {}; Validator.prototype.schemas = null; Validator.prototype.types = null; Validator.prototype.attributes = null; Validator.prototype.unresolvedRefs = null; Validator.prototype.addSchema = function addSchema(schema, base) { var self = this; if (!schema) { return null; } var scan3 = scanSchema(base || anonymousBase, schema); var ourUri = base || schema.$id || schema.id; for (var uri in scan3.id) { this.schemas[uri] = scan3.id[uri]; } for (var uri in scan3.ref) { this.unresolvedRefs.push(uri); } this.unresolvedRefs = this.unresolvedRefs.filter(function(uri2) { return typeof self.schemas[uri2] === "undefined"; }); return this.schemas[ourUri]; }; Validator.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) { if (!Array.isArray(schemas)) return; for (var i = 0; i < schemas.length; i++) { this.addSubSchema(baseuri, schemas[i]); } }; Validator.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) { if (!schemas || typeof schemas != "object") return; for (var p in schemas) { this.addSubSchema(baseuri, schemas[p]); } }; Validator.prototype.setSchemas = function setSchemas(schemas) { this.schemas = schemas; }; Validator.prototype.getSchema = function getSchema2(urn) { return this.schemas[urn]; }; Validator.prototype.validate = function validate2(instance, schema, options, ctx) { if (typeof schema !== "boolean" && typeof schema !== "object" || schema === null) { throw new SchemaError("Expected `schema` to be an object or boolean"); } if (!options) { options = {}; } var id = schema.$id || schema.id; var base = urilib.resolve(options.base || anonymousBase, id || ""); if (!ctx) { ctx = new SchemaContext( schema, options, [], base, Object.create(this.schemas) ); if (!ctx.schemas[base]) { ctx.schemas[base] = schema; } var found = scanSchema(base, schema); for (var n2 in found.id) { var sch = found.id[n2]; ctx.schemas[n2] = sch; } } if (options.required && instance === void 0) { var result = new ValidatorResult(instance, schema, options, ctx); result.addError("is required, but is undefined"); return result; } var result = this.validateSchema(instance, schema, options, ctx); if (!result) { throw new Error("Result undefined"); } else if (options.throwAll && result.errors.length) { throw new ValidatorResultError(result); } return result; }; function shouldResolve(schema) { var ref = typeof schema === "string" ? schema : schema.$ref; if (typeof ref == "string") return ref; return false; } Validator.prototype.validateSchema = function validateSchema2(instance, schema, options, ctx) { var result = new ValidatorResult(instance, schema, options, ctx); if (typeof schema === "boolean") { if (schema === true) { schema = {}; } else if (schema === false) { schema = { type: [] }; } } else if (!schema) { throw new Error("schema is undefined"); } if (schema["extends"]) { if (Array.isArray(schema["extends"])) { var schemaobj = { schema, ctx }; schema["extends"].forEach(this.schemaTraverser.bind(this, schemaobj)); schema = schemaobj.schema; schemaobj.schema = null; schemaobj.ctx = null; schemaobj = null; } else { schema = helpers.deepMerge( schema, this.superResolve(schema["extends"], ctx) ); } } var switchSchema = shouldResolve(schema); if (switchSchema) { var resolved = this.resolve(schema, switchSchema, ctx); var subctx = new SchemaContext( resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas ); return this.validateSchema(instance, resolved.subschema, options, subctx); } var skipAttributes = options && options.skipAttributes || []; for (var key in schema) { if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) { var validatorErr = null; var validator5 = this.attributes[key]; if (validator5) { validatorErr = validator5.call(this, instance, schema, options, ctx); } else if (options.allowUnknownAttributes === false) { throw new SchemaError("Unsupported attribute: " + key, schema); } if (validatorErr) { result.importErrors(validatorErr); } } } if (typeof options.rewrite == "function") { var value = options.rewrite.call(this, instance, schema, options, ctx); result.instance = value; } return result; }; Validator.prototype.schemaTraverser = function schemaTraverser(schemaobj, s) { schemaobj.schema = helpers.deepMerge( schemaobj.schema, this.superResolve(s, schemaobj.ctx) ); }; Validator.prototype.superResolve = function superResolve(schema, ctx) { var ref = shouldResolve(schema); if (ref) { return this.resolve(schema, ref, ctx).subschema; } return schema; }; Validator.prototype.resolve = function resolve(schema, switchSchema, ctx) { switchSchema = ctx.resolve(switchSchema); if (ctx.schemas[switchSchema]) { return { subschema: ctx.schemas[switchSchema], switchSchema }; } var parsed = urilib.parse(switchSchema); var fragment = parsed && parsed.hash; var document = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length); if (!document || !ctx.schemas[document]) { throw new SchemaError("no such schema <" + switchSchema + ">", schema); } var subschema = helpers.objectGetPath( ctx.schemas[document], fragment.substr(1) ); if (subschema === void 0) { throw new SchemaError( "no such schema " + fragment + " located in <" + document + ">", schema ); } return { subschema, switchSchema }; }; Validator.prototype.testType = function validateType(instance, schema, options, ctx, type3) { if (type3 === void 0) { return; } else if (type3 === null) { throw new SchemaError('Unexpected null in "type" keyword'); } if (typeof this.types[type3] == "function") { return this.types[type3].call(this, instance); } if (type3 && typeof type3 == "object") { var res = this.validateSchema(instance, type3, options, ctx); return res === void 0 || !(res && res.errors.length); } return true; }; var types = Validator.prototype.types = {}; types.string = function testString(instance) { return typeof instance == "string"; }; types.number = function testNumber(instance) { return typeof instance == "number" && isFinite(instance); }; types.integer = function testInteger(instance) { return typeof instance == "number" && instance % 1 === 0; }; types.boolean = function testBoolean(instance) { return typeof instance == "boolean"; }; types.array = function testArray(instance) { return Array.isArray(instance); }; types["null"] = function testNull(instance) { return instance === null; }; types.date = function testDate(instance) { return instance instanceof Date; }; types.any = function testAny(instance) { return true; }; types.object = function testObject(instance) { return instance && typeof instance === "object" && !Array.isArray(instance) && !(instance instanceof Date); }; module.exports = Validator; } }); // contracts/common/lib/jsonschema/index.js var require_jsonschema = __commonJS({ "contracts/common/lib/jsonschema/index.js"(exports, module) { "use strict"; var Validator = module.exports.Validator = require_validator(); module.exports.ValidatorResult = require_helpers().ValidatorResult; module.exports.ValidatorResultError = require_helpers().ValidatorResultError; module.exports.ValidationError = require_helpers().ValidationError; module.exports.SchemaError = require_helpers().SchemaError; module.exports.SchemaScanResult = require_scan().SchemaScanResult; module.exports.scan = require_scan().scan; module.exports.validate = function(instance, schema, options) { var v = new Validator(); return v.validate(instance, schema, options); }; } }); // node_modules/ramda/src/F.js var require_F = __commonJS({ "node_modules/ramda/src/F.js"(exports, module) { var F2 = function() { return false; }; module.exports = F2; } }); // node_modules/ramda/src/T.js var require_T = __commonJS({ "node_modules/ramda/src/T.js"(exports, module) { var T2 = function() { return true; }; module.exports = T2; } }); // node_modules/ramda/src/__.js var require__ = __commonJS({ "node_modules/ramda/src/__.js"(exports, module) { module.exports = { "@@functional/placeholder": true }; } }); // node_modules/ramda/src/internal/_isPlaceholder.js var require_isPlaceholder = __commonJS({ "node_modules/ramda/src/internal/_isPlaceholder.js"(exports, module) { function _isPlaceholder2(a) { return a != null && typeof a === "object" && a["@@functional/placeholder"] === true; } module.exports = _isPlaceholder2; } }); // node_modules/ramda/src/internal/_curry1.js var require_curry1 = __commonJS({ "node_modules/ramda/src/internal/_curry1.js"(exports, module) { var _isPlaceholder2 = require_isPlaceholder(); function _curry12(fn) { return function f1(a) { if (arguments.length === 0 || _isPlaceholder2(a)) { return f1; } else { return fn.apply(this, arguments); } }; } module.exports = _curry12; } }); // node_modules/ramda/src/internal/_curry2.js var require_curry2 = __commonJS({ "node_modules/ramda/src/internal/_curry2.js"(exports, module) { var _curry12 = require_curry1(); var _isPlaceholder2 = require_isPlaceholder(); function _curry22(fn) { return function f2(a, b) { switch (arguments.length) { case 0: return f2; case 1: return _isPlaceholder2(a) ? f2 : _curry12(function(_b) { return fn(a, _b); }); default: return _isPlaceholder2(a) && _isPlaceholder2(b) ? f2 : _isPlaceholder2(a) ? _curry12(function(_a) { return fn(_a, b); }) : _isPlaceholder2(b) ? _curry12(function(_b) { return fn(a, _b); }) : fn(a, b); } }; } module.exports = _curry22; } }); // node_modules/ramda/src/add.js var require_add = __commonJS({ "node_modules/ramda/src/add.js"(exports, module) { var _curry22 = require_curry2(); var add4 = /* @__PURE__ */ _curry22(function add5(a, b) { return Number(a) + Number(b); }); module.exports = add4; } }); // node_modules/ramda/src/internal/_concat.js var require_concat = __commonJS({ "node_modules/ramda/src/internal/_concat.js"(exports, module) { function _concat2(set1, set22) { set1 = set1 || []; set22 = set22 || []; var idx; var len1 = set1.length; var len2 = set22.length; var result = []; idx = 0; while (idx < len1) { result[result.length] = set1[idx]; idx += 1; } idx = 0; while (idx < len2) { result[result.length] = set22[idx]; idx += 1; } return result; } module.exports = _concat2; } }); // node_modules/ramda/src/internal/_arity.js var require_arity = __commonJS({ "node_modules/ramda/src/internal/_arity.js"(exports, module) { function _arity2(n2, fn) { switch (n2) { case 0: return function() { return fn.apply(this, arguments); }; case 1: return function(a0) { return fn.apply(this, arguments); }; case 2: return function(a0, a1) { return fn.apply(this, arguments); }; case 3: return function(a0, a1, a2) { return fn.apply(this, arguments); }; case 4: return function(a0, a1, a2, a3) { return fn.apply(this, arguments); }; case 5: return function(a0, a1, a2, a3, a4) { return fn.apply(this, arguments); }; case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); }; case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); }; case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); }; case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); }; case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); }; default: throw new Error("First argument to _arity must be a non-negative integer no greater than ten"); } } module.exports = _arity2; } }); // node_modules/ramda/src/internal/_curryN.js var require_curryN = __commonJS({ "node_modules/ramda/src/internal/_curryN.js"(exports, module) { var _arity2 = require_arity(); var _isPlaceholder2 = require_isPlaceholder(); function _curryN2(length3, received, fn) { return function() { var combined = []; var argsIdx = 0; var left = length3; var combinedIdx = 0; while (combinedIdx < received.length || argsIdx < arguments.length) { var result; if (combinedIdx < received.length && (!_isPlaceholder2(received[combinedIdx]) || argsIdx >= arguments.length)) { result = received[combinedIdx]; } else { result = arguments[argsIdx]; argsIdx += 1; } combined[combinedIdx] = result; if (!_isPlaceholder2(result)) { left -= 1; } combinedIdx += 1; } return left <= 0 ? fn.apply(this, combined) : _arity2(left, _curryN2(length3, combined, fn)); }; } module.exports = _curryN2; } }); // node_modules/ramda/src/curryN.js var require_curryN2 = __commonJS({ "node_modules/ramda/src/curryN.js"(exports, module) { var _arity2 = require_arity(); var _curry12 = require_curry1(); var _curry22 = require_curry2(); var _curryN2 = require_curryN(); var curryN3 = /* @__PURE__ */ _curry22(function curryN4(length3, fn) { if (length3 === 1) { return _curry12(fn); } return _arity2(length3, _curryN2(length3, [], fn)); }); module.exports = curryN3; } }); // node_modules/ramda/src/addIndex.js var require_addIndex = __commonJS({ "node_modules/ramda/src/addIndex.js"(exports, module) { var _concat2 = require_concat(); var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var addIndex5 = /* @__PURE__ */ _curry12(function addIndex6(fn) { return curryN3(fn.length, function() { var idx = 0; var origFn = arguments[0]; var list = arguments[arguments.length - 1]; var args = Array.prototype.slice.call(arguments, 0); args[0] = function() { var result = origFn.apply(this, _concat2(arguments, [idx, list])); idx += 1; return result; }; return fn.apply(this, args); }); }); module.exports = addIndex5; } }); // node_modules/ramda/src/internal/_curry3.js var require_curry3 = __commonJS({ "node_modules/ramda/src/internal/_curry3.js"(exports, module) { var _curry12 = require_curry1(); var _curry22 = require_curry2(); var _isPlaceholder2 = require_isPlaceholder(); function _curry32(fn) { return function f3(a, b, c2) { switch (arguments.length) { case 0: return f3; case 1: return _isPlaceholder2(a) ? f3 : _curry22(function(_b, _c) { return fn(a, _b, _c); }); case 2: return _isPlaceholder2(a) && _isPlaceholder2(b) ? f3 : _isPlaceholder2(a) ? _curry22(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder2(b) ? _curry22(function(_b, _c) { return fn(a, _b, _c); }) : _curry12(function(_c) { return fn(a, b, _c); }); default: return _isPlaceholder2(a) && _isPlaceholder2(b) && _isPlaceholder2(c2) ? f3 : _isPlaceholder2(a) && _isPlaceholder2(b) ? _curry22(function(_a, _b) { return fn(_a, _b, c2); }) : _isPlaceholder2(a) && _isPlaceholder2(c2) ? _curry22(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder2(b) && _isPlaceholder2(c2) ? _curry22(function(_b, _c) { return fn(a, _b, _c); }) : _isPlaceholder2(a) ? _curry12(function(_a) { return fn(_a, b, c2); }) : _isPlaceholder2(b) ? _curry12(function(_b) { return fn(a, _b, c2); }) : _isPlaceholder2(c2) ? _curry12(function(_c) { return fn(a, b, _c); }) : fn(a, b, c2); } }; } module.exports = _curry32; } }); // node_modules/ramda/src/adjust.js var require_adjust = __commonJS({ "node_modules/ramda/src/adjust.js"(exports, module) { var _concat2 = require_concat(); var _curry32 = require_curry3(); var adjust3 = /* @__PURE__ */ _curry32(function adjust4(idx, fn, list) { var len = list.length; if (idx >= len || idx < -len) { return list; } var _idx = (len + idx) % len; var _list = _concat2(list); _list[_idx] = fn(list[_idx]); return _list; }); module.exports = adjust3; } }); // node_modules/ramda/src/internal/_isArray.js var require_isArray = __commonJS({ "node_modules/ramda/src/internal/_isArray.js"(exports, module) { module.exports = Array.isArray || function _isArray2(val) { return val != null && val.length >= 0 && Object.prototype.toString.call(val) === "[object Array]"; }; } }); // node_modules/ramda/src/internal/_isTransformer.js var require_isTransformer = __commonJS({ "node_modules/ramda/src/internal/_isTransformer.js"(exports, module) { function _isTransformer2(obj) { return obj != null && typeof obj["@@transducer/step"] === "function"; } module.exports = _isTransformer2; } }); // node_modules/ramda/src/internal/_dispatchable.js var require_dispatchable = __commonJS({ "node_modules/ramda/src/internal/_dispatchable.js"(exports, module) { var _isArray2 = require_isArray(); var _isTransformer2 = require_isTransformer(); function _dispatchable2(methodNames, transducerCreator, fn) { return function() { if (arguments.length === 0) { return fn(); } var obj = arguments[arguments.length - 1]; if (!_isArray2(obj)) { var idx = 0; while (idx < methodNames.length) { if (typeof obj[methodNames[idx]] === "function") { return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1)); } idx += 1; } if (_isTransformer2(obj)) { var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1)); return transducer(obj); } } return fn.apply(this, arguments); }; } module.exports = _dispatchable2; } }); // node_modules/ramda/src/internal/_reduced.js var require_reduced = __commonJS({ "node_modules/ramda/src/internal/_reduced.js"(exports, module) { function _reduced2(x) { return x && x["@@transducer/reduced"] ? x : { "@@transducer/value": x, "@@transducer/reduced": true }; } module.exports = _reduced2; } }); // node_modules/ramda/src/internal/_xfBase.js var require_xfBase = __commonJS({ "node_modules/ramda/src/internal/_xfBase.js"(exports, module) { module.exports = { init: function() { return this.xf["@@transducer/init"](); }, result: function(result) { return this.xf["@@transducer/result"](result); } }; } }); // node_modules/ramda/src/internal/_xall.js var require_xall = __commonJS({ "node_modules/ramda/src/internal/_xall.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XAll2 = /* @__PURE__ */ function() { function XAll3(f, xf) { this.xf = xf; this.f = f; this.all = true; } XAll3.prototype["@@transducer/init"] = _xfBase.init; XAll3.prototype["@@transducer/result"] = function(result) { if (this.all) { result = this.xf["@@transducer/step"](result, true); } return this.xf["@@transducer/result"](result); }; XAll3.prototype["@@transducer/step"] = function(result, input) { if (!this.f(input)) { this.all = false; result = _reduced2(this.xf["@@transducer/step"](result, false)); } return result; }; return XAll3; }(); var _xall3 = /* @__PURE__ */ _curry22(function _xall4(f, xf) { return new XAll2(f, xf); }); module.exports = _xall3; } }); // node_modules/ramda/src/all.js var require_all = __commonJS({ "node_modules/ramda/src/all.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xall3 = require_xall(); var all3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["all"], _xall3, function all4(fn, list) { var idx = 0; while (idx < list.length) { if (!fn(list[idx])) { return false; } idx += 1; } return true; }) ); module.exports = all3; } }); // node_modules/ramda/src/max.js var require_max = __commonJS({ "node_modules/ramda/src/max.js"(exports, module) { var _curry22 = require_curry2(); var max3 = /* @__PURE__ */ _curry22(function max4(a, b) { return b > a ? b : a; }); module.exports = max3; } }); // node_modules/ramda/src/internal/_map.js var require_map = __commonJS({ "node_modules/ramda/src/internal/_map.js"(exports, module) { function _map2(fn, functor) { var idx = 0; var len = functor.length; var result = Array(len); while (idx < len) { result[idx] = fn(functor[idx]); idx += 1; } return result; } module.exports = _map2; } }); // node_modules/ramda/src/internal/_isString.js var require_isString = __commonJS({ "node_modules/ramda/src/internal/_isString.js"(exports, module) { function _isString2(x) { return Object.prototype.toString.call(x) === "[object String]"; } module.exports = _isString2; } }); // node_modules/ramda/src/internal/_isArrayLike.js var require_isArrayLike = __commonJS({ "node_modules/ramda/src/internal/_isArrayLike.js"(exports, module) { var _curry12 = require_curry1(); var _isArray2 = require_isArray(); var _isString2 = require_isString(); var _isArrayLike2 = /* @__PURE__ */ _curry12(function isArrayLike2(x) { if (_isArray2(x)) { return true; } if (!x) { return false; } if (typeof x !== "object") { return false; } if (_isString2(x)) { return false; } if (x.length === 0) { return true; } if (x.length > 0) { return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); } return false; }); module.exports = _isArrayLike2; } }); // node_modules/ramda/src/internal/_xwrap.js var require_xwrap = __commonJS({ "node_modules/ramda/src/internal/_xwrap.js"(exports, module) { var XWrap2 = /* @__PURE__ */ function() { function XWrap3(fn) { this.f = fn; } XWrap3.prototype["@@transducer/init"] = function() { throw new Error("init not implemented on XWrap"); }; XWrap3.prototype["@@transducer/result"] = function(acc) { return acc; }; XWrap3.prototype["@@transducer/step"] = function(acc, x) { return this.f(acc, x); }; return XWrap3; }(); function _xwrap2(fn) { return new XWrap2(fn); } module.exports = _xwrap2; } }); // node_modules/ramda/src/bind.js var require_bind = __commonJS({ "node_modules/ramda/src/bind.js"(exports, module) { var _arity2 = require_arity(); var _curry22 = require_curry2(); var bind3 = /* @__PURE__ */ _curry22(function bind4(fn, thisObj) { return _arity2(fn.length, function() { return fn.apply(thisObj, arguments); }); }); module.exports = bind3; } }); // node_modules/ramda/src/internal/_reduce.js var require_reduce = __commonJS({ "node_modules/ramda/src/internal/_reduce.js"(exports, module) { var _isArrayLike2 = require_isArrayLike(); var _xwrap2 = require_xwrap(); var bind3 = require_bind(); function _arrayReduce2(xf, acc, list) { var idx = 0; var len = list.length; while (idx < len) { acc = xf["@@transducer/step"](acc, list[idx]); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } idx += 1; } return xf["@@transducer/result"](acc); } function _iterableReduce2(xf, acc, iter) { var step = iter.next(); while (!step.done) { acc = xf["@@transducer/step"](acc, step.value); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } step = iter.next(); } return xf["@@transducer/result"](acc); } function _methodReduce2(xf, acc, obj, methodName) { return xf["@@transducer/result"](obj[methodName](bind3(xf["@@transducer/step"], xf), acc)); } var symIterator2 = typeof Symbol !== "undefined" ? Symbol.iterator : "@@iterator"; function _reduce2(fn, acc, list) { if (typeof fn === "function") { fn = _xwrap2(fn); } if (_isArrayLike2(list)) { return _arrayReduce2(fn, acc, list); } if (typeof list["fantasy-land/reduce"] === "function") { return _methodReduce2(fn, acc, list, "fantasy-land/reduce"); } if (list[symIterator2] != null) { return _iterableReduce2(fn, acc, list[symIterator2]()); } if (typeof list.next === "function") { return _iterableReduce2(fn, acc, list); } if (typeof list.reduce === "function") { return _methodReduce2(fn, acc, list, "reduce"); } throw new TypeError("reduce: list must be array or iterable"); } module.exports = _reduce2; } }); // node_modules/ramda/src/internal/_xmap.js var require_xmap = __commonJS({ "node_modules/ramda/src/internal/_xmap.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XMap2 = /* @__PURE__ */ function() { function XMap3(f, xf) { this.xf = xf; this.f = f; } XMap3.prototype["@@transducer/init"] = _xfBase.init; XMap3.prototype["@@transducer/result"] = _xfBase.result; XMap3.prototype["@@transducer/step"] = function(result, input) { return this.xf["@@transducer/step"](result, this.f(input)); }; return XMap3; }(); var _xmap3 = /* @__PURE__ */ _curry22(function _xmap4(f, xf) { return new XMap2(f, xf); }); module.exports = _xmap3; } }); // node_modules/ramda/src/internal/_has.js var require_has = __commonJS({ "node_modules/ramda/src/internal/_has.js"(exports, module) { function _has2(prop4, obj) { return Object.prototype.hasOwnProperty.call(obj, prop4); } module.exports = _has2; } }); // node_modules/ramda/src/internal/_isArguments.js var require_isArguments = __commonJS({ "node_modules/ramda/src/internal/_isArguments.js"(exports, module) { var _has2 = require_has(); var toString4 = Object.prototype.toString; var _isArguments2 = /* @__PURE__ */ function() { return toString4.call(arguments) === "[object Arguments]" ? function _isArguments3(x) { return toString4.call(x) === "[object Arguments]"; } : function _isArguments3(x) { return _has2("callee", x); }; }(); module.exports = _isArguments2; } }); // node_modules/ramda/src/keys.js var require_keys = __commonJS({ "node_modules/ramda/src/keys.js"(exports, module) { var _curry12 = require_curry1(); var _has2 = require_has(); var _isArguments2 = require_isArguments(); var hasEnumBug2 = !/* @__PURE__ */ { toString: null }.propertyIsEnumerable("toString"); var nonEnumerableProps2 = ["constructor", "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; var hasArgsEnumBug2 = /* @__PURE__ */ function() { "use strict"; return arguments.propertyIsEnumerable("length"); }(); var contains3 = function contains4(list, item) { var idx = 0; while (idx < list.length) { if (list[idx] === item) { return true; } idx += 1; } return false; }; var keys6 = typeof Object.keys === "function" && !hasArgsEnumBug2 ? /* @__PURE__ */ _curry12(function keys7(obj) { return Object(obj) !== obj ? [] : Object.keys(obj); }) : /* @__PURE__ */ _curry12(function keys7(obj) { if (Object(obj) !== obj) { return []; } var prop4, nIdx; var ks = []; var checkArgsLength = hasArgsEnumBug2 && _isArguments2(obj); for (prop4 in obj) { if (_has2(prop4, obj) && (!checkArgsLength || prop4 !== "length")) { ks[ks.length] = prop4; } } if (hasEnumBug2) { nIdx = nonEnumerableProps2.length - 1; while (nIdx >= 0) { prop4 = nonEnumerableProps2[nIdx]; if (_has2(prop4, obj) && !contains3(ks, prop4)) { ks[ks.length] = prop4; } nIdx -= 1; } } return ks; }); module.exports = keys6; } }); // node_modules/ramda/src/map.js var require_map2 = __commonJS({ "node_modules/ramda/src/map.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _map2 = require_map(); var _reduce2 = require_reduce(); var _xmap3 = require_xmap(); var curryN3 = require_curryN2(); var keys6 = require_keys(); var map4 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["fantasy-land/map", "map"], _xmap3, function map5(fn, functor) { switch (Object.prototype.toString.call(functor)) { case "[object Function]": return curryN3(functor.length, function() { return fn.call(this, functor.apply(this, arguments)); }); case "[object Object]": return _reduce2(function(acc, key) { acc[key] = fn(functor[key]); return acc; }, {}, keys6(functor)); default: return _map2(fn, functor); } }) ); module.exports = map4; } }); // node_modules/ramda/src/internal/_isInteger.js var require_isInteger = __commonJS({ "node_modules/ramda/src/internal/_isInteger.js"(exports, module) { module.exports = Number.isInteger || function _isInteger2(n2) { return n2 << 0 === n2; }; } }); // node_modules/ramda/src/nth.js var require_nth = __commonJS({ "node_modules/ramda/src/nth.js"(exports, module) { var _curry22 = require_curry2(); var _isString2 = require_isString(); var nth3 = /* @__PURE__ */ _curry22(function nth4(offset, list) { var idx = offset < 0 ? list.length + offset : offset; return _isString2(list) ? list.charAt(idx) : list[idx]; }); module.exports = nth3; } }); // node_modules/ramda/src/prop.js var require_prop = __commonJS({ "node_modules/ramda/src/prop.js"(exports, module) { var _curry22 = require_curry2(); var _isInteger2 = require_isInteger(); var nth3 = require_nth(); var prop4 = /* @__PURE__ */ _curry22(function prop5(p, obj) { if (obj == null) { return; } return _isInteger2(p) ? nth3(p, obj) : obj[p]; }); module.exports = prop4; } }); // node_modules/ramda/src/pluck.js var require_pluck = __commonJS({ "node_modules/ramda/src/pluck.js"(exports, module) { var _curry22 = require_curry2(); var map4 = require_map2(); var prop4 = require_prop(); var pluck4 = /* @__PURE__ */ _curry22(function pluck5(p, list) { return map4(prop4(p), list); }); module.exports = pluck4; } }); // node_modules/ramda/src/reduce.js var require_reduce2 = __commonJS({ "node_modules/ramda/src/reduce.js"(exports, module) { var _curry32 = require_curry3(); var _reduce2 = require_reduce(); var reduce2 = /* @__PURE__ */ _curry32(_reduce2); module.exports = reduce2; } }); // node_modules/ramda/src/allPass.js var require_allPass = __commonJS({ "node_modules/ramda/src/allPass.js"(exports, module) { var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var max3 = require_max(); var pluck4 = require_pluck(); var reduce2 = require_reduce2(); var allPass3 = /* @__PURE__ */ _curry12(function allPass4(preds) { return curryN3(reduce2(max3, 0, pluck4("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (!preds[idx].apply(this, arguments)) { return false; } idx += 1; } return true; }); }); module.exports = allPass3; } }); // node_modules/ramda/src/always.js var require_always = __commonJS({ "node_modules/ramda/src/always.js"(exports, module) { var _curry12 = require_curry1(); var always3 = /* @__PURE__ */ _curry12(function always4(val) { return function() { return val; }; }); module.exports = always3; } }); // node_modules/ramda/src/and.js var require_and = __commonJS({ "node_modules/ramda/src/and.js"(exports, module) { var _curry22 = require_curry2(); var and3 = /* @__PURE__ */ _curry22(function and4(a, b) { return a && b; }); module.exports = and3; } }); // node_modules/ramda/src/internal/_xany.js var require_xany = __commonJS({ "node_modules/ramda/src/internal/_xany.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XAny2 = /* @__PURE__ */ function() { function XAny3(f, xf) { this.xf = xf; this.f = f; this.any = false; } XAny3.prototype["@@transducer/init"] = _xfBase.init; XAny3.prototype["@@transducer/result"] = function(result) { if (!this.any) { result = this.xf["@@transducer/step"](result, false); } return this.xf["@@transducer/result"](result); }; XAny3.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.any = true; result = _reduced2(this.xf["@@transducer/step"](result, true)); } return result; }; return XAny3; }(); var _xany3 = /* @__PURE__ */ _curry22(function _xany4(f, xf) { return new XAny2(f, xf); }); module.exports = _xany3; } }); // node_modules/ramda/src/any.js var require_any = __commonJS({ "node_modules/ramda/src/any.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xany3 = require_xany(); var any3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["any"], _xany3, function any4(fn, list) { var idx = 0; while (idx < list.length) { if (fn(list[idx])) { return true; } idx += 1; } return false; }) ); module.exports = any3; } }); // node_modules/ramda/src/anyPass.js var require_anyPass = __commonJS({ "node_modules/ramda/src/anyPass.js"(exports, module) { var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var max3 = require_max(); var pluck4 = require_pluck(); var reduce2 = require_reduce2(); var anyPass3 = /* @__PURE__ */ _curry12(function anyPass4(preds) { return curryN3(reduce2(max3, 0, pluck4("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (preds[idx].apply(this, arguments)) { return true; } idx += 1; } return false; }); }); module.exports = anyPass3; } }); // node_modules/ramda/src/ap.js var require_ap = __commonJS({ "node_modules/ramda/src/ap.js"(exports, module) { var _concat2 = require_concat(); var _curry22 = require_curry2(); var _reduce2 = require_reduce(); var map4 = require_map2(); var ap3 = /* @__PURE__ */ _curry22(function ap4(applyF, applyX) { return typeof applyX["fantasy-land/ap"] === "function" ? applyX["fantasy-land/ap"](applyF) : typeof applyF.ap === "function" ? applyF.ap(applyX) : typeof applyF === "function" ? function(x) { return applyF(x)(applyX(x)); } : _reduce2(function(acc, f) { return _concat2(acc, map4(f, applyX)); }, [], applyF); }); module.exports = ap3; } }); // node_modules/ramda/src/internal/_aperture.js var require_aperture = __commonJS({ "node_modules/ramda/src/internal/_aperture.js"(exports, module) { function _aperture2(n2, list) { var idx = 0; var limit = list.length - (n2 - 1); var acc = new Array(limit >= 0 ? limit : 0); while (idx < limit) { acc[idx] = Array.prototype.slice.call(list, idx, idx + n2); idx += 1; } return acc; } module.exports = _aperture2; } }); // node_modules/ramda/src/internal/_xaperture.js var require_xaperture = __commonJS({ "node_modules/ramda/src/internal/_xaperture.js"(exports, module) { var _concat2 = require_concat(); var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XAperture2 = /* @__PURE__ */ function() { function XAperture3(n2, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n2); } XAperture3.prototype["@@transducer/init"] = _xfBase.init; XAperture3.prototype["@@transducer/result"] = function(result) { this.acc = null; return this.xf["@@transducer/result"](result); }; XAperture3.prototype["@@transducer/step"] = function(result, input) { this.store(input); return this.full ? this.xf["@@transducer/step"](result, this.getCopy()) : result; }; XAperture3.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; XAperture3.prototype.getCopy = function() { return _concat2(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); }; return XAperture3; }(); var _xaperture3 = /* @__PURE__ */ _curry22(function _xaperture4(n2, xf) { return new XAperture2(n2, xf); }); module.exports = _xaperture3; } }); // node_modules/ramda/src/aperture.js var require_aperture2 = __commonJS({ "node_modules/ramda/src/aperture.js"(exports, module) { var _aperture2 = require_aperture(); var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xaperture3 = require_xaperture(); var aperture2 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xaperture3, _aperture2) ); module.exports = aperture2; } }); // node_modules/ramda/src/append.js var require_append = __commonJS({ "node_modules/ramda/src/append.js"(exports, module) { var _concat2 = require_concat(); var _curry22 = require_curry2(); var append4 = /* @__PURE__ */ _curry22(function append5(el, list) { return _concat2(list, [el]); }); module.exports = append4; } }); // node_modules/ramda/src/apply.js var require_apply = __commonJS({ "node_modules/ramda/src/apply.js"(exports, module) { var _curry22 = require_curry2(); var apply3 = /* @__PURE__ */ _curry22(function apply4(fn, args) { return fn.apply(this, args); }); module.exports = apply3; } }); // node_modules/ramda/src/values.js var require_values = __commonJS({ "node_modules/ramda/src/values.js"(exports, module) { var _curry12 = require_curry1(); var keys6 = require_keys(); var values4 = /* @__PURE__ */ _curry12(function values5(obj) { var props3 = keys6(obj); var len = props3.length; var vals = []; var idx = 0; while (idx < len) { vals[idx] = obj[props3[idx]]; idx += 1; } return vals; }); module.exports = values4; } }); // node_modules/ramda/src/applySpec.js var require_applySpec = __commonJS({ "node_modules/ramda/src/applySpec.js"(exports, module) { var _curry12 = require_curry1(); var _isArray2 = require_isArray(); var apply3 = require_apply(); var curryN3 = require_curryN2(); var max3 = require_max(); var pluck4 = require_pluck(); var reduce2 = require_reduce2(); var keys6 = require_keys(); var values4 = require_values(); function mapValues2(fn, obj) { return _isArray2(obj) ? obj.map(fn) : keys6(obj).reduce(function(acc, key) { acc[key] = fn(obj[key]); return acc; }, {}); } var applySpec3 = /* @__PURE__ */ _curry12(function applySpec4(spec) { spec = mapValues2(function(v) { return typeof v == "function" ? v : applySpec4(v); }, spec); return curryN3(reduce2(max3, 0, pluck4("length", values4(spec))), function() { var args = arguments; return mapValues2(function(f) { return apply3(f, args); }, spec); }); }); module.exports = applySpec3; } }); // node_modules/ramda/src/applyTo.js var require_applyTo = __commonJS({ "node_modules/ramda/src/applyTo.js"(exports, module) { var _curry22 = require_curry2(); var applyTo3 = /* @__PURE__ */ _curry22(function applyTo4(x, f) { return f(x); }); module.exports = applyTo3; } }); // node_modules/ramda/src/ascend.js var require_ascend = __commonJS({ "node_modules/ramda/src/ascend.js"(exports, module) { var _curry32 = require_curry3(); var ascend4 = /* @__PURE__ */ _curry32(function ascend5(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); module.exports = ascend4; } }); // node_modules/ramda/src/internal/_assoc.js var require_assoc = __commonJS({ "node_modules/ramda/src/internal/_assoc.js"(exports, module) { var _isArray2 = require_isArray(); var _isInteger2 = require_isInteger(); function _assoc2(prop4, val, obj) { if (_isInteger2(prop4) && _isArray2(obj)) { var arr = [].concat(obj); arr[prop4] = val; return arr; } var result = {}; for (var p in obj) { result[p] = obj[p]; } result[prop4] = val; return result; } module.exports = _assoc2; } }); // node_modules/ramda/src/isNil.js var require_isNil = __commonJS({ "node_modules/ramda/src/isNil.js"(exports, module) { var _curry12 = require_curry1(); var isNil4 = /* @__PURE__ */ _curry12(function isNil5(x) { return x == null; }); module.exports = isNil4; } }); // node_modules/ramda/src/assocPath.js var require_assocPath = __commonJS({ "node_modules/ramda/src/assocPath.js"(exports, module) { var _curry32 = require_curry3(); var _has2 = require_has(); var _isInteger2 = require_isInteger(); var _assoc2 = require_assoc(); var isNil4 = require_isNil(); var assocPath3 = /* @__PURE__ */ _curry32(function assocPath4(path3, val, obj) { if (path3.length === 0) { return val; } var idx = path3[0]; if (path3.length > 1) { var nextObj = !isNil4(obj) && _has2(idx, obj) ? obj[idx] : _isInteger2(path3[1]) ? [] : {}; val = assocPath4(Array.prototype.slice.call(path3, 1), val, nextObj); } return _assoc2(idx, val, obj); }); module.exports = assocPath3; } }); // node_modules/ramda/src/assoc.js var require_assoc2 = __commonJS({ "node_modules/ramda/src/assoc.js"(exports, module) { var _curry32 = require_curry3(); var assocPath3 = require_assocPath(); var assoc3 = /* @__PURE__ */ _curry32(function assoc4(prop4, val, obj) { return assocPath3([prop4], val, obj); }); module.exports = assoc3; } }); // node_modules/ramda/src/nAry.js var require_nAry = __commonJS({ "node_modules/ramda/src/nAry.js"(exports, module) { var _curry22 = require_curry2(); var nAry3 = /* @__PURE__ */ _curry22(function nAry4(n2, fn) { switch (n2) { case 0: return function() { return fn.call(this); }; case 1: return function(a0) { return fn.call(this, a0); }; case 2: return function(a0, a1) { return fn.call(this, a0, a1); }; case 3: return function(a0, a1, a2) { return fn.call(this, a0, a1, a2); }; case 4: return function(a0, a1, a2, a3) { return fn.call(this, a0, a1, a2, a3); }; case 5: return function(a0, a1, a2, a3, a4) { return fn.call(this, a0, a1, a2, a3, a4); }; case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.call(this, a0, a1, a2, a3, a4, a5); }; case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6); }; case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); }; case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); }; case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }; default: throw new Error("First argument to nAry must be a non-negative integer no greater than ten"); } }); module.exports = nAry3; } }); // node_modules/ramda/src/binary.js var require_binary = __commonJS({ "node_modules/ramda/src/binary.js"(exports, module) { var _curry12 = require_curry1(); var nAry3 = require_nAry(); var binary3 = /* @__PURE__ */ _curry12(function binary4(fn) { return nAry3(2, fn); }); module.exports = binary3; } }); // node_modules/ramda/src/internal/_isFunction.js var require_isFunction = __commonJS({ "node_modules/ramda/src/internal/_isFunction.js"(exports, module) { function _isFunction2(x) { var type3 = Object.prototype.toString.call(x); return type3 === "[object Function]" || type3 === "[object AsyncFunction]" || type3 === "[object GeneratorFunction]" || type3 === "[object AsyncGeneratorFunction]"; } module.exports = _isFunction2; } }); // node_modules/ramda/src/liftN.js var require_liftN = __commonJS({ "node_modules/ramda/src/liftN.js"(exports, module) { var _curry22 = require_curry2(); var _reduce2 = require_reduce(); var ap3 = require_ap(); var curryN3 = require_curryN2(); var map4 = require_map2(); var liftN3 = /* @__PURE__ */ _curry22(function liftN4(arity, fn) { var lifted = curryN3(arity, fn); return curryN3(arity, function() { return _reduce2(ap3, map4(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); }); }); module.exports = liftN3; } }); // node_modules/ramda/src/lift.js var require_lift = __commonJS({ "node_modules/ramda/src/lift.js"(exports, module) { var _curry12 = require_curry1(); var liftN3 = require_liftN(); var lift3 = /* @__PURE__ */ _curry12(function lift4(fn) { return liftN3(fn.length, fn); }); module.exports = lift3; } }); // node_modules/ramda/src/both.js var require_both = __commonJS({ "node_modules/ramda/src/both.js"(exports, module) { var _curry22 = require_curry2(); var _isFunction2 = require_isFunction(); var and3 = require_and(); var lift3 = require_lift(); var both3 = /* @__PURE__ */ _curry22(function both4(f, g2) { return _isFunction2(f) ? function _both() { return f.apply(this, arguments) && g2.apply(this, arguments); } : lift3(and3)(f, g2); }); module.exports = both3; } }); // node_modules/ramda/src/call.js var require_call = __commonJS({ "node_modules/ramda/src/call.js"(exports, module) { var _curry12 = require_curry1(); var call3 = /* @__PURE__ */ _curry12(function call4(fn) { return fn.apply(this, Array.prototype.slice.call(arguments, 1)); }); module.exports = call3; } }); // node_modules/ramda/src/internal/_makeFlat.js var require_makeFlat = __commonJS({ "node_modules/ramda/src/internal/_makeFlat.js"(exports, module) { var _isArrayLike2 = require_isArrayLike(); function _makeFlat2(recursive) { return function flatt(list) { var value, jlen, j; var result = []; var idx = 0; var ilen = list.length; while (idx < ilen) { if (_isArrayLike2(list[idx])) { value = recursive ? flatt(list[idx]) : list[idx]; j = 0; jlen = value.length; while (j < jlen) { result[result.length] = value[j]; j += 1; } } else { result[result.length] = list[idx]; } idx += 1; } return result; }; } module.exports = _makeFlat2; } }); // node_modules/ramda/src/internal/_forceReduced.js var require_forceReduced = __commonJS({ "node_modules/ramda/src/internal/_forceReduced.js"(exports, module) { function _forceReduced2(x) { return { "@@transducer/value": x, "@@transducer/reduced": true }; } module.exports = _forceReduced2; } }); // node_modules/ramda/src/internal/_flatCat.js var require_flatCat = __commonJS({ "node_modules/ramda/src/internal/_flatCat.js"(exports, module) { var _forceReduced2 = require_forceReduced(); var _isArrayLike2 = require_isArrayLike(); var _reduce2 = require_reduce(); var _xfBase = require_xfBase(); var preservingReduced2 = function(xf) { return { "@@transducer/init": _xfBase.init, "@@transducer/result": function(result) { return xf["@@transducer/result"](result); }, "@@transducer/step": function(result, input) { var ret = xf["@@transducer/step"](result, input); return ret["@@transducer/reduced"] ? _forceReduced2(ret) : ret; } }; }; var _flatCat2 = function _xcat2(xf) { var rxf = preservingReduced2(xf); return { "@@transducer/init": _xfBase.init, "@@transducer/result": function(result) { return rxf["@@transducer/result"](result); }, "@@transducer/step": function(result, input) { return !_isArrayLike2(input) ? _reduce2(rxf, result, [input]) : _reduce2(rxf, result, input); } }; }; module.exports = _flatCat2; } }); // node_modules/ramda/src/internal/_xchain.js var require_xchain = __commonJS({ "node_modules/ramda/src/internal/_xchain.js"(exports, module) { var _curry22 = require_curry2(); var _flatCat2 = require_flatCat(); var map4 = require_map2(); var _xchain3 = /* @__PURE__ */ _curry22(function _xchain4(f, xf) { return map4(f, _flatCat2(xf)); }); module.exports = _xchain3; } }); // node_modules/ramda/src/chain.js var require_chain = __commonJS({ "node_modules/ramda/src/chain.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _makeFlat2 = require_makeFlat(); var _xchain3 = require_xchain(); var map4 = require_map2(); var chain3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["fantasy-land/chain", "chain"], _xchain3, function chain4(fn, monad) { if (typeof monad === "function") { return function(x) { return fn(monad(x))(x); }; } return _makeFlat2(false)(map4(fn, monad)); }) ); module.exports = chain3; } }); // node_modules/ramda/src/clamp.js var require_clamp = __commonJS({ "node_modules/ramda/src/clamp.js"(exports, module) { var _curry32 = require_curry3(); var clamp3 = /* @__PURE__ */ _curry32(function clamp4(min3, max3, value) { if (min3 > max3) { throw new Error("min must not be greater than max in clamp(min, max, value)"); } return value < min3 ? min3 : value > max3 ? max3 : value; }); module.exports = clamp3; } }); // node_modules/ramda/src/internal/_cloneRegExp.js var require_cloneRegExp = __commonJS({ "node_modules/ramda/src/internal/_cloneRegExp.js"(exports, module) { function _cloneRegExp2(pattern) { return new RegExp(pattern.source, (pattern.global ? "g" : "") + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "") + (pattern.sticky ? "y" : "") + (pattern.unicode ? "u" : "")); } module.exports = _cloneRegExp2; } }); // node_modules/ramda/src/type.js var require_type = __commonJS({ "node_modules/ramda/src/type.js"(exports, module) { var _curry12 = require_curry1(); var type3 = /* @__PURE__ */ _curry12(function type4(val) { return val === null ? "Null" : val === void 0 ? "Undefined" : Object.prototype.toString.call(val).slice(8, -1); }); module.exports = type3; } }); // node_modules/ramda/src/internal/_clone.js var require_clone = __commonJS({ "node_modules/ramda/src/internal/_clone.js"(exports, module) { var _cloneRegExp2 = require_cloneRegExp(); var type3 = require_type(); function _clone2(value, refFrom, refTo, deep) { var copy = function copy2(copiedValue) { var len = refFrom.length; var idx = 0; while (idx < len) { if (value === refFrom[idx]) { return refTo[idx]; } idx += 1; } refFrom[idx] = value; refTo[idx] = copiedValue; for (var key in value) { if (value.hasOwnProperty(key)) { copiedValue[key] = deep ? _clone2(value[key], refFrom, refTo, true) : value[key]; } } return copiedValue; }; switch (type3(value)) { case "Object": return copy(Object.create(Object.getPrototypeOf(value))); case "Array": return copy([]); case "Date": return new Date(value.valueOf()); case "RegExp": return _cloneRegExp2(value); case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "BigInt64Array": case "BigUint64Array": return value.slice(); default: return value; } } module.exports = _clone2; } }); // node_modules/ramda/src/clone.js var require_clone2 = __commonJS({ "node_modules/ramda/src/clone.js"(exports, module) { var _clone2 = require_clone(); var _curry12 = require_curry1(); var clone5 = /* @__PURE__ */ _curry12(function clone6(value) { return value != null && typeof value.clone === "function" ? value.clone() : _clone2(value, [], [], true); }); module.exports = clone5; } }); // node_modules/ramda/src/collectBy.js var require_collectBy = __commonJS({ "node_modules/ramda/src/collectBy.js"(exports, module) { var _curry22 = require_curry2(); var _reduce2 = require_reduce(); var collectBy3 = /* @__PURE__ */ _curry22(function collectBy4(fn, list) { var group = _reduce2(function(o3, x) { var tag2 = fn(x); if (o3[tag2] === void 0) { o3[tag2] = []; } o3[tag2].push(x); return o3; }, {}, list); var newList = []; for (var tag in group) { newList.push(group[tag]); } return newList; }); module.exports = collectBy3; } }); // node_modules/ramda/src/comparator.js var require_comparator = __commonJS({ "node_modules/ramda/src/comparator.js"(exports, module) { var _curry12 = require_curry1(); var comparator3 = /* @__PURE__ */ _curry12(function comparator4(pred) { return function(a, b) { return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; }; }); module.exports = comparator3; } }); // node_modules/ramda/src/not.js var require_not = __commonJS({ "node_modules/ramda/src/not.js"(exports, module) { var _curry12 = require_curry1(); var not3 = /* @__PURE__ */ _curry12(function not4(a) { return !a; }); module.exports = not3; } }); // node_modules/ramda/src/complement.js var require_complement = __commonJS({ "node_modules/ramda/src/complement.js"(exports, module) { var lift3 = require_lift(); var not3 = require_not(); var complement2 = /* @__PURE__ */ lift3(not3); module.exports = complement2; } }); // node_modules/ramda/src/internal/_pipe.js var require_pipe = __commonJS({ "node_modules/ramda/src/internal/_pipe.js"(exports, module) { function _pipe2(f, g2) { return function() { return g2.call(this, f.apply(this, arguments)); }; } module.exports = _pipe2; } }); // node_modules/ramda/src/internal/_checkForMethod.js var require_checkForMethod = __commonJS({ "node_modules/ramda/src/internal/_checkForMethod.js"(exports, module) { var _isArray2 = require_isArray(); function _checkForMethod2(methodname, fn) { return function() { var length3 = arguments.length; if (length3 === 0) { return fn(); } var obj = arguments[length3 - 1]; return _isArray2(obj) || typeof obj[methodname] !== "function" ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length3 - 1)); }; } module.exports = _checkForMethod2; } }); // node_modules/ramda/src/slice.js var require_slice = __commonJS({ "node_modules/ramda/src/slice.js"(exports, module) { var _checkForMethod2 = require_checkForMethod(); var _curry32 = require_curry3(); var slice4 = /* @__PURE__ */ _curry32( /* @__PURE__ */ _checkForMethod2("slice", function slice5(fromIndex, toIndex, list) { return Array.prototype.slice.call(list, fromIndex, toIndex); }) ); module.exports = slice4; } }); // node_modules/ramda/src/tail.js var require_tail = __commonJS({ "node_modules/ramda/src/tail.js"(exports, module) { var _checkForMethod2 = require_checkForMethod(); var _curry12 = require_curry1(); var slice4 = require_slice(); var tail2 = /* @__PURE__ */ _curry12( /* @__PURE__ */ _checkForMethod2( "tail", /* @__PURE__ */ slice4(1, Infinity) ) ); module.exports = tail2; } }); // node_modules/ramda/src/pipe.js var require_pipe2 = __commonJS({ "node_modules/ramda/src/pipe.js"(exports, module) { var _arity2 = require_arity(); var _pipe2 = require_pipe(); var reduce2 = require_reduce2(); var tail2 = require_tail(); function pipe2() { if (arguments.length === 0) { throw new Error("pipe requires at least one argument"); } return _arity2(arguments[0].length, reduce2(_pipe2, arguments[0], tail2(arguments))); } module.exports = pipe2; } }); // node_modules/ramda/src/reverse.js var require_reverse = __commonJS({ "node_modules/ramda/src/reverse.js"(exports, module) { var _curry12 = require_curry1(); var _isString2 = require_isString(); var reverse4 = /* @__PURE__ */ _curry12(function reverse5(list) { return _isString2(list) ? list.split("").reverse().join("") : Array.prototype.slice.call(list, 0).reverse(); }); module.exports = reverse4; } }); // node_modules/ramda/src/compose.js var require_compose = __commonJS({ "node_modules/ramda/src/compose.js"(exports, module) { var pipe2 = require_pipe2(); var reverse4 = require_reverse(); function compose3() { if (arguments.length === 0) { throw new Error("compose requires at least one argument"); } return pipe2.apply(this, reverse4(arguments)); } module.exports = compose3; } }); // node_modules/ramda/src/head.js var require_head = __commonJS({ "node_modules/ramda/src/head.js"(exports, module) { var nth3 = require_nth(); var head2 = /* @__PURE__ */ nth3(0); module.exports = head2; } }); // node_modules/ramda/src/internal/_identity.js var require_identity = __commonJS({ "node_modules/ramda/src/internal/_identity.js"(exports, module) { function _identity2(x) { return x; } module.exports = _identity2; } }); // node_modules/ramda/src/identity.js var require_identity2 = __commonJS({ "node_modules/ramda/src/identity.js"(exports, module) { var _curry12 = require_curry1(); var _identity2 = require_identity(); var identity2 = /* @__PURE__ */ _curry12(_identity2); module.exports = identity2; } }); // node_modules/ramda/src/pipeWith.js var require_pipeWith = __commonJS({ "node_modules/ramda/src/pipeWith.js"(exports, module) { var _arity2 = require_arity(); var _curry22 = require_curry2(); var head2 = require_head(); var _reduce2 = require_reduce(); var tail2 = require_tail(); var identity2 = require_identity2(); var pipeWith3 = /* @__PURE__ */ _curry22(function pipeWith4(xf, list) { if (list.length <= 0) { return identity2; } var headList = head2(list); var tailList = tail2(list); return _arity2(headList.length, function() { return _reduce2(function(result, f) { return xf.call(this, f, result); }, headList.apply(this, arguments), tailList); }); }); module.exports = pipeWith3; } }); // node_modules/ramda/src/composeWith.js var require_composeWith = __commonJS({ "node_modules/ramda/src/composeWith.js"(exports, module) { var _curry22 = require_curry2(); var pipeWith3 = require_pipeWith(); var reverse4 = require_reverse(); var composeWith3 = /* @__PURE__ */ _curry22(function composeWith4(xf, list) { return pipeWith3.apply(this, [xf, reverse4(list)]); }); module.exports = composeWith3; } }); // node_modules/ramda/src/internal/_arrayFromIterator.js var require_arrayFromIterator = __commonJS({ "node_modules/ramda/src/internal/_arrayFromIterator.js"(exports, module) { function _arrayFromIterator2(iter) { var list = []; var next; while (!(next = iter.next()).done) { list.push(next.value); } return list; } module.exports = _arrayFromIterator2; } }); // node_modules/ramda/src/internal/_includesWith.js var require_includesWith = __commonJS({ "node_modules/ramda/src/internal/_includesWith.js"(exports, module) { function _includesWith2(pred, x, list) { var idx = 0; var len = list.length; while (idx < len) { if (pred(x, list[idx])) { return true; } idx += 1; } return false; } module.exports = _includesWith2; } }); // node_modules/ramda/src/internal/_functionName.js var require_functionName = __commonJS({ "node_modules/ramda/src/internal/_functionName.js"(exports, module) { function _functionName2(f) { var match3 = String(f).match(/^function (\w*)/); return match3 == null ? "" : match3[1]; } module.exports = _functionName2; } }); // node_modules/ramda/src/internal/_objectIs.js var require_objectIs = __commonJS({ "node_modules/ramda/src/internal/_objectIs.js"(exports, module) { function _objectIs2(a, b) { if (a === b) { return a !== 0 || 1 / a === 1 / b; } else { return a !== a && b !== b; } } module.exports = typeof Object.is === "function" ? Object.is : _objectIs2; } }); // node_modules/ramda/src/internal/_equals.js var require_equals = __commonJS({ "node_modules/ramda/src/internal/_equals.js"(exports, module) { var _arrayFromIterator2 = require_arrayFromIterator(); var _includesWith2 = require_includesWith(); var _functionName2 = require_functionName(); var _has2 = require_has(); var _objectIs2 = require_objectIs(); var keys6 = require_keys(); var type3 = require_type(); function _uniqContentEquals2(aIterator, bIterator, stackA, stackB) { var a = _arrayFromIterator2(aIterator); var b = _arrayFromIterator2(bIterator); function eq(_a, _b) { return _equals2(_a, _b, stackA.slice(), stackB.slice()); } return !_includesWith2(function(b2, aItem) { return !_includesWith2(eq, aItem, b2); }, b, a); } function _equals2(a, b, stackA, stackB) { if (_objectIs2(a, b)) { return true; } var typeA = type3(a); if (typeA !== type3(b)) { return false; } if (typeof a["fantasy-land/equals"] === "function" || typeof b["fantasy-land/equals"] === "function") { return typeof a["fantasy-land/equals"] === "function" && a["fantasy-land/equals"](b) && typeof b["fantasy-land/equals"] === "function" && b["fantasy-land/equals"](a); } if (typeof a.equals === "function" || typeof b.equals === "function") { return typeof a.equals === "function" && a.equals(b) && typeof b.equals === "function" && b.equals(a); } switch (typeA) { case "Arguments": case "Array": case "Object": if (typeof a.constructor === "function" && _functionName2(a.constructor) === "Promise") { return a === b; } break; case "Boolean": case "Number": case "String": if (!(typeof a === typeof b && _objectIs2(a.valueOf(), b.valueOf()))) { return false; } break; case "Date": if (!_objectIs2(a.valueOf(), b.valueOf())) { return false; } break; case "Error": return a.name === b.name && a.message === b.message; case "RegExp": if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { return false; } break; } var idx = stackA.length - 1; while (idx >= 0) { if (stackA[idx] === a) { return stackB[idx] === b; } idx -= 1; } switch (typeA) { case "Map": if (a.size !== b.size) { return false; } return _uniqContentEquals2(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); case "Set": if (a.size !== b.size) { return false; } return _uniqContentEquals2(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); case "Arguments": case "Array": case "Object": case "Boolean": case "Number": case "String": case "Date": case "Error": case "RegExp": case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "ArrayBuffer": break; default: return false; } var keysA = keys6(a); if (keysA.length !== keys6(b).length) { return false; } var extendedStackA = stackA.concat([a]); var extendedStackB = stackB.concat([b]); idx = keysA.length - 1; while (idx >= 0) { var key = keysA[idx]; if (!(_has2(key, b) && _equals2(b[key], a[key], extendedStackA, extendedStackB))) { return false; } idx -= 1; } return true; } module.exports = _equals2; } }); // node_modules/ramda/src/equals.js var require_equals2 = __commonJS({ "node_modules/ramda/src/equals.js"(exports, module) { var _curry22 = require_curry2(); var _equals2 = require_equals(); var equals4 = /* @__PURE__ */ _curry22(function equals5(a, b) { return _equals2(a, b, [], []); }); module.exports = equals4; } }); // node_modules/ramda/src/internal/_indexOf.js var require_indexOf = __commonJS({ "node_modules/ramda/src/internal/_indexOf.js"(exports, module) { var equals4 = require_equals2(); function _indexOf2(list, a, idx) { var inf, item; if (typeof list.indexOf === "function") { switch (typeof a) { case "number": if (a === 0) { inf = 1 / a; while (idx < list.length) { item = list[idx]; if (item === 0 && 1 / item === inf) { return idx; } idx += 1; } return -1; } else if (a !== a) { while (idx < list.length) { item = list[idx]; if (typeof item === "number" && item !== item) { return idx; } idx += 1; } return -1; } return list.indexOf(a, idx); case "string": case "boolean": case "function": case "undefined": return list.indexOf(a, idx); case "object": if (a === null) { return list.indexOf(a, idx); } } } while (idx < list.length) { if (equals4(list[idx], a)) { return idx; } idx += 1; } return -1; } module.exports = _indexOf2; } }); // node_modules/ramda/src/internal/_includes.js var require_includes = __commonJS({ "node_modules/ramda/src/internal/_includes.js"(exports, module) { var _indexOf2 = require_indexOf(); function _includes2(a, list) { return _indexOf2(list, a, 0) >= 0; } module.exports = _includes2; } }); // node_modules/ramda/src/internal/_quote.js var require_quote = __commonJS({ "node_modules/ramda/src/internal/_quote.js"(exports, module) { function _quote2(s) { var escaped = s.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\f/g, "\\f").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\v/g, "\\v").replace(/\0/g, "\\0"); return '"' + escaped.replace(/"/g, '\\"') + '"'; } module.exports = _quote2; } }); // node_modules/ramda/src/internal/_toISOString.js var require_toISOString = __commonJS({ "node_modules/ramda/src/internal/_toISOString.js"(exports, module) { var pad3 = function pad4(n2) { return (n2 < 10 ? "0" : "") + n2; }; var _toISOString4 = typeof Date.prototype.toISOString === "function" ? function _toISOString5(d) { return d.toISOString(); } : function _toISOString5(d) { return d.getUTCFullYear() + "-" + pad3(d.getUTCMonth() + 1) + "-" + pad3(d.getUTCDate()) + "T" + pad3(d.getUTCHours()) + ":" + pad3(d.getUTCMinutes()) + ":" + pad3(d.getUTCSeconds()) + "." + (d.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z"; }; module.exports = _toISOString4; } }); // node_modules/ramda/src/internal/_complement.js var require_complement2 = __commonJS({ "node_modules/ramda/src/internal/_complement.js"(exports, module) { function _complement2(f) { return function() { return !f.apply(this, arguments); }; } module.exports = _complement2; } }); // node_modules/ramda/src/internal/_filter.js var require_filter = __commonJS({ "node_modules/ramda/src/internal/_filter.js"(exports, module) { function _filter2(fn, list) { var idx = 0; var len = list.length; var result = []; while (idx < len) { if (fn(list[idx])) { result[result.length] = list[idx]; } idx += 1; } return result; } module.exports = _filter2; } }); // node_modules/ramda/src/internal/_isObject.js var require_isObject = __commonJS({ "node_modules/ramda/src/internal/_isObject.js"(exports, module) { function _isObject2(x) { return Object.prototype.toString.call(x) === "[object Object]"; } module.exports = _isObject2; } }); // node_modules/ramda/src/internal/_xfilter.js var require_xfilter = __commonJS({ "node_modules/ramda/src/internal/_xfilter.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XFilter2 = /* @__PURE__ */ function() { function XFilter3(f, xf) { this.xf = xf; this.f = f; } XFilter3.prototype["@@transducer/init"] = _xfBase.init; XFilter3.prototype["@@transducer/result"] = _xfBase.result; XFilter3.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.xf["@@transducer/step"](result, input) : result; }; return XFilter3; }(); var _xfilter3 = /* @__PURE__ */ _curry22(function _xfilter4(f, xf) { return new XFilter2(f, xf); }); module.exports = _xfilter3; } }); // node_modules/ramda/src/filter.js var require_filter2 = __commonJS({ "node_modules/ramda/src/filter.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _filter2 = require_filter(); var _isObject2 = require_isObject(); var _reduce2 = require_reduce(); var _xfilter3 = require_xfilter(); var keys6 = require_keys(); var filter3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["fantasy-land/filter", "filter"], _xfilter3, function(pred, filterable) { return _isObject2(filterable) ? _reduce2(function(acc, key) { if (pred(filterable[key])) { acc[key] = filterable[key]; } return acc; }, {}, keys6(filterable)) : _filter2(pred, filterable); }) ); module.exports = filter3; } }); // node_modules/ramda/src/reject.js var require_reject = __commonJS({ "node_modules/ramda/src/reject.js"(exports, module) { var _complement2 = require_complement2(); var _curry22 = require_curry2(); var filter3 = require_filter2(); var reject3 = /* @__PURE__ */ _curry22(function reject4(pred, filterable) { return filter3(_complement2(pred), filterable); }); module.exports = reject3; } }); // node_modules/ramda/src/internal/_toString.js var require_toString = __commonJS({ "node_modules/ramda/src/internal/_toString.js"(exports, module) { var _includes2 = require_includes(); var _map2 = require_map(); var _quote2 = require_quote(); var _toISOString4 = require_toISOString(); var keys6 = require_keys(); var reject3 = require_reject(); function _toString2(x, seen) { var recur = function recur2(y) { var xs = seen.concat([x]); return _includes2(y, xs) ? "" : _toString2(y, xs); }; var mapPairs = function(obj, keys7) { return _map2(function(k) { return _quote2(k) + ": " + recur(obj[k]); }, keys7.slice().sort()); }; switch (Object.prototype.toString.call(x)) { case "[object Arguments]": return "(function() { return arguments; }(" + _map2(recur, x).join(", ") + "))"; case "[object Array]": return "[" + _map2(recur, x).concat(mapPairs(x, reject3(function(k) { return /^\d+$/.test(k); }, keys6(x)))).join(", ") + "]"; case "[object Boolean]": return typeof x === "object" ? "new Boolean(" + recur(x.valueOf()) + ")" : x.toString(); case "[object Date]": return "new Date(" + (isNaN(x.valueOf()) ? recur(NaN) : _quote2(_toISOString4(x))) + ")"; case "[object Null]": return "null"; case "[object Number]": return typeof x === "object" ? "new Number(" + recur(x.valueOf()) + ")" : 1 / x === -Infinity ? "-0" : x.toString(10); case "[object String]": return typeof x === "object" ? "new String(" + recur(x.valueOf()) + ")" : _quote2(x); case "[object Undefined]": return "undefined"; default: if (typeof x.toString === "function") { var repr = x.toString(); if (repr !== "[object Object]") { return repr; } } return "{" + mapPairs(x, keys6(x)).join(", ") + "}"; } } module.exports = _toString2; } }); // node_modules/ramda/src/toString.js var require_toString2 = __commonJS({ "node_modules/ramda/src/toString.js"(exports, module) { var _curry12 = require_curry1(); var _toString2 = require_toString(); var toString4 = /* @__PURE__ */ _curry12(function toString5(val) { return _toString2(val, []); }); module.exports = toString4; } }); // node_modules/ramda/src/concat.js var require_concat2 = __commonJS({ "node_modules/ramda/src/concat.js"(exports, module) { var _curry22 = require_curry2(); var _isArray2 = require_isArray(); var _isFunction2 = require_isFunction(); var _isString2 = require_isString(); var toString4 = require_toString2(); var concat4 = /* @__PURE__ */ _curry22(function concat5(a, b) { if (_isArray2(a)) { if (_isArray2(b)) { return a.concat(b); } throw new TypeError(toString4(b) + " is not an array"); } if (_isString2(a)) { if (_isString2(b)) { return a + b; } throw new TypeError(toString4(b) + " is not a string"); } if (a != null && _isFunction2(a["fantasy-land/concat"])) { return a["fantasy-land/concat"](b); } if (a != null && _isFunction2(a.concat)) { return a.concat(b); } throw new TypeError(toString4(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); }); module.exports = concat4; } }); // node_modules/ramda/src/cond.js var require_cond = __commonJS({ "node_modules/ramda/src/cond.js"(exports, module) { var _arity2 = require_arity(); var _curry12 = require_curry1(); var map4 = require_map2(); var max3 = require_max(); var reduce2 = require_reduce2(); var cond3 = /* @__PURE__ */ _curry12(function cond4(pairs) { var arity = reduce2(max3, 0, map4(function(pair3) { return pair3[0].length; }, pairs)); return _arity2(arity, function() { var idx = 0; while (idx < pairs.length) { if (pairs[idx][0].apply(this, arguments)) { return pairs[idx][1].apply(this, arguments); } idx += 1; } }); }); module.exports = cond3; } }); // node_modules/ramda/src/curry.js var require_curry = __commonJS({ "node_modules/ramda/src/curry.js"(exports, module) { var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var curry3 = /* @__PURE__ */ _curry12(function curry4(fn) { return curryN3(fn.length, fn); }); module.exports = curry3; } }); // node_modules/ramda/src/constructN.js var require_constructN = __commonJS({ "node_modules/ramda/src/constructN.js"(exports, module) { var _curry22 = require_curry2(); var curry3 = require_curry(); var nAry3 = require_nAry(); var constructN3 = /* @__PURE__ */ _curry22(function constructN4(n2, Fn) { if (n2 > 10) { throw new Error("Constructor with greater than ten arguments"); } if (n2 === 0) { return function() { return new Fn(); }; } return curry3(nAry3(n2, function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { switch (arguments.length) { case 1: return new Fn($0); case 2: return new Fn($0, $1); case 3: return new Fn($0, $1, $2); case 4: return new Fn($0, $1, $2, $3); case 5: return new Fn($0, $1, $2, $3, $4); case 6: return new Fn($0, $1, $2, $3, $4, $5); case 7: return new Fn($0, $1, $2, $3, $4, $5, $6); case 8: return new Fn($0, $1, $2, $3, $4, $5, $6, $7); case 9: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); case 10: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); } })); }); module.exports = constructN3; } }); // node_modules/ramda/src/construct.js var require_construct = __commonJS({ "node_modules/ramda/src/construct.js"(exports, module) { var _curry12 = require_curry1(); var constructN3 = require_constructN(); var construct3 = /* @__PURE__ */ _curry12(function construct4(Fn) { return constructN3(Fn.length, Fn); }); module.exports = construct3; } }); // node_modules/ramda/src/converge.js var require_converge = __commonJS({ "node_modules/ramda/src/converge.js"(exports, module) { var _curry22 = require_curry2(); var _map2 = require_map(); var curryN3 = require_curryN2(); var max3 = require_max(); var pluck4 = require_pluck(); var reduce2 = require_reduce2(); var converge3 = /* @__PURE__ */ _curry22(function converge4(after, fns) { return curryN3(reduce2(max3, 0, pluck4("length", fns)), function() { var args = arguments; var context = this; return after.apply(context, _map2(function(fn) { return fn.apply(context, args); }, fns)); }); }); module.exports = converge3; } }); // node_modules/ramda/src/count.js var require_count = __commonJS({ "node_modules/ramda/src/count.js"(exports, module) { var _reduce2 = require_reduce(); var curry3 = require_curry(); var count2 = /* @__PURE__ */ curry3(function(pred, list) { return _reduce2(function(a, e) { return pred(e) ? a + 1 : a; }, 0, list); }); module.exports = count2; } }); // node_modules/ramda/src/internal/_xreduceBy.js var require_xreduceBy = __commonJS({ "node_modules/ramda/src/internal/_xreduceBy.js"(exports, module) { var _curryN2 = require_curryN(); var _has2 = require_has(); var _xfBase = require_xfBase(); var XReduceBy2 = /* @__PURE__ */ function() { function XReduceBy3(valueFn, valueAcc, keyFn, xf) { this.valueFn = valueFn; this.valueAcc = valueAcc; this.keyFn = keyFn; this.xf = xf; this.inputs = {}; } XReduceBy3.prototype["@@transducer/init"] = _xfBase.init; XReduceBy3.prototype["@@transducer/result"] = function(result) { var key; for (key in this.inputs) { if (_has2(key, this.inputs)) { result = this.xf["@@transducer/step"](result, this.inputs[key]); if (result["@@transducer/reduced"]) { result = result["@@transducer/value"]; break; } } } this.inputs = null; return this.xf["@@transducer/result"](result); }; XReduceBy3.prototype["@@transducer/step"] = function(result, input) { var key = this.keyFn(input); this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); return result; }; return XReduceBy3; }(); var _xreduceBy3 = /* @__PURE__ */ _curryN2(4, [], function _xreduceBy4(valueFn, valueAcc, keyFn, xf) { return new XReduceBy2(valueFn, valueAcc, keyFn, xf); }); module.exports = _xreduceBy3; } }); // node_modules/ramda/src/reduceBy.js var require_reduceBy = __commonJS({ "node_modules/ramda/src/reduceBy.js"(exports, module) { var _clone2 = require_clone(); var _curryN2 = require_curryN(); var _dispatchable2 = require_dispatchable(); var _has2 = require_has(); var _reduce2 = require_reduce(); var _reduced2 = require_reduced(); var _xreduceBy3 = require_xreduceBy(); var reduceBy3 = /* @__PURE__ */ _curryN2( 4, [], /* @__PURE__ */ _dispatchable2([], _xreduceBy3, function reduceBy4(valueFn, valueAcc, keyFn, list) { return _reduce2(function(acc, elt) { var key = keyFn(elt); var value = valueFn(_has2(key, acc) ? acc[key] : _clone2(valueAcc, [], [], false), elt); if (value && value["@@transducer/reduced"]) { return _reduced2(acc); } acc[key] = value; return acc; }, {}, list); }) ); module.exports = reduceBy3; } }); // node_modules/ramda/src/countBy.js var require_countBy = __commonJS({ "node_modules/ramda/src/countBy.js"(exports, module) { var reduceBy3 = require_reduceBy(); var countBy2 = /* @__PURE__ */ reduceBy3(function(acc, elem) { return acc + 1; }, 0); module.exports = countBy2; } }); // node_modules/ramda/src/dec.js var require_dec = __commonJS({ "node_modules/ramda/src/dec.js"(exports, module) { var add4 = require_add(); var dec2 = /* @__PURE__ */ add4(-1); module.exports = dec2; } }); // node_modules/ramda/src/defaultTo.js var require_defaultTo = __commonJS({ "node_modules/ramda/src/defaultTo.js"(exports, module) { var _curry22 = require_curry2(); var defaultTo3 = /* @__PURE__ */ _curry22(function defaultTo4(d, v) { return v == null || v !== v ? d : v; }); module.exports = defaultTo3; } }); // node_modules/ramda/src/descend.js var require_descend = __commonJS({ "node_modules/ramda/src/descend.js"(exports, module) { var _curry32 = require_curry3(); var descend4 = /* @__PURE__ */ _curry32(function descend5(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa > bb ? -1 : aa < bb ? 1 : 0; }); module.exports = descend4; } }); // node_modules/ramda/src/internal/_Set.js var require_Set = __commonJS({ "node_modules/ramda/src/internal/_Set.js"(exports, module) { var _includes2 = require_includes(); var _Set2 = /* @__PURE__ */ function() { function _Set3() { this._nativeSet = typeof Set === "function" ? /* @__PURE__ */ new Set() : null; this._items = {}; } _Set3.prototype.add = function(item) { return !hasOrAdd2(item, true, this); }; _Set3.prototype.has = function(item) { return hasOrAdd2(item, false, this); }; return _Set3; }(); function hasOrAdd2(item, shouldAdd, set4) { var type3 = typeof item; var prevSize, newSize; switch (type3) { case "string": case "number": if (item === 0 && 1 / item === -Infinity) { if (set4._items["-0"]) { return true; } else { if (shouldAdd) { set4._items["-0"] = true; } return false; } } if (set4._nativeSet !== null) { if (shouldAdd) { prevSize = set4._nativeSet.size; set4._nativeSet.add(item); newSize = set4._nativeSet.size; return newSize === prevSize; } else { return set4._nativeSet.has(item); } } else { if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = {}; set4._items[type3][item] = true; } return false; } else if (item in set4._items[type3]) { return true; } else { if (shouldAdd) { set4._items[type3][item] = true; } return false; } } case "boolean": if (type3 in set4._items) { var bIdx = item ? 1 : 0; if (set4._items[type3][bIdx]) { return true; } else { if (shouldAdd) { set4._items[type3][bIdx] = true; } return false; } } else { if (shouldAdd) { set4._items[type3] = item ? [false, true] : [true, false]; } return false; } case "function": if (set4._nativeSet !== null) { if (shouldAdd) { prevSize = set4._nativeSet.size; set4._nativeSet.add(item); newSize = set4._nativeSet.size; return newSize === prevSize; } else { return set4._nativeSet.has(item); } } else { if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = [item]; } return false; } if (!_includes2(item, set4._items[type3])) { if (shouldAdd) { set4._items[type3].push(item); } return false; } return true; } case "undefined": if (set4._items[type3]) { return true; } else { if (shouldAdd) { set4._items[type3] = true; } return false; } case "object": if (item === null) { if (!set4._items["null"]) { if (shouldAdd) { set4._items["null"] = true; } return false; } return true; } default: type3 = Object.prototype.toString.call(item); if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = [item]; } return false; } if (!_includes2(item, set4._items[type3])) { if (shouldAdd) { set4._items[type3].push(item); } return false; } return true; } } module.exports = _Set2; } }); // node_modules/ramda/src/difference.js var require_difference = __commonJS({ "node_modules/ramda/src/difference.js"(exports, module) { var _curry22 = require_curry2(); var _Set2 = require_Set(); var difference4 = /* @__PURE__ */ _curry22(function difference5(first, second) { var out = []; var idx = 0; var firstLen = first.length; var secondLen = second.length; var toFilterOut = new _Set2(); for (var i = 0; i < secondLen; i += 1) { toFilterOut.add(second[i]); } while (idx < firstLen) { if (toFilterOut.add(first[idx])) { out[out.length] = first[idx]; } idx += 1; } return out; }); module.exports = difference4; } }); // node_modules/ramda/src/differenceWith.js var require_differenceWith = __commonJS({ "node_modules/ramda/src/differenceWith.js"(exports, module) { var _includesWith2 = require_includesWith(); var _curry32 = require_curry3(); var differenceWith3 = /* @__PURE__ */ _curry32(function differenceWith4(pred, first, second) { var out = []; var idx = 0; var firstLen = first.length; while (idx < firstLen) { if (!_includesWith2(pred, first[idx], second) && !_includesWith2(pred, first[idx], out)) { out.push(first[idx]); } idx += 1; } return out; }); module.exports = differenceWith3; } }); // node_modules/ramda/src/remove.js var require_remove = __commonJS({ "node_modules/ramda/src/remove.js"(exports, module) { var _curry32 = require_curry3(); var remove4 = /* @__PURE__ */ _curry32(function remove5(start, count2, list) { var result = Array.prototype.slice.call(list, 0); result.splice(start, count2); return result; }); module.exports = remove4; } }); // node_modules/ramda/src/internal/_dissoc.js var require_dissoc = __commonJS({ "node_modules/ramda/src/internal/_dissoc.js"(exports, module) { var _isInteger2 = require_isInteger(); var _isArray2 = require_isArray(); var remove4 = require_remove(); function _dissoc2(prop4, obj) { if (obj == null) { return obj; } if (_isInteger2(prop4) && _isArray2(obj)) { return remove4(prop4, 1, obj); } var result = {}; for (var p in obj) { result[p] = obj[p]; } delete result[prop4]; return result; } module.exports = _dissoc2; } }); // node_modules/ramda/src/dissocPath.js var require_dissocPath = __commonJS({ "node_modules/ramda/src/dissocPath.js"(exports, module) { var _curry22 = require_curry2(); var _dissoc2 = require_dissoc(); var _isInteger2 = require_isInteger(); var _isArray2 = require_isArray(); var assoc3 = require_assoc2(); function _shallowCloneObject2(prop4, obj) { if (_isInteger2(prop4) && _isArray2(obj)) { return [].concat(obj); } var result = {}; for (var p in obj) { result[p] = obj[p]; } return result; } var dissocPath3 = /* @__PURE__ */ _curry22(function dissocPath4(path3, obj) { if (obj == null) { return obj; } switch (path3.length) { case 0: return obj; case 1: return _dissoc2(path3[0], obj); default: var head2 = path3[0]; var tail2 = Array.prototype.slice.call(path3, 1); if (obj[head2] == null) { return _shallowCloneObject2(head2, obj); } else { return assoc3(head2, dissocPath4(tail2, obj[head2]), obj); } } }); module.exports = dissocPath3; } }); // node_modules/ramda/src/dissoc.js var require_dissoc2 = __commonJS({ "node_modules/ramda/src/dissoc.js"(exports, module) { var _curry22 = require_curry2(); var dissocPath3 = require_dissocPath(); var dissoc3 = /* @__PURE__ */ _curry22(function dissoc4(prop4, obj) { return dissocPath3([prop4], obj); }); module.exports = dissoc3; } }); // node_modules/ramda/src/divide.js var require_divide = __commonJS({ "node_modules/ramda/src/divide.js"(exports, module) { var _curry22 = require_curry2(); var divide3 = /* @__PURE__ */ _curry22(function divide4(a, b) { return a / b; }); module.exports = divide3; } }); // node_modules/ramda/src/internal/_xdrop.js var require_xdrop = __commonJS({ "node_modules/ramda/src/internal/_xdrop.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XDrop2 = /* @__PURE__ */ function() { function XDrop3(n2, xf) { this.xf = xf; this.n = n2; } XDrop3.prototype["@@transducer/init"] = _xfBase.init; XDrop3.prototype["@@transducer/result"] = _xfBase.result; XDrop3.prototype["@@transducer/step"] = function(result, input) { if (this.n > 0) { this.n -= 1; return result; } return this.xf["@@transducer/step"](result, input); }; return XDrop3; }(); var _xdrop3 = /* @__PURE__ */ _curry22(function _xdrop4(n2, xf) { return new XDrop2(n2, xf); }); module.exports = _xdrop3; } }); // node_modules/ramda/src/drop.js var require_drop = __commonJS({ "node_modules/ramda/src/drop.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xdrop3 = require_xdrop(); var slice4 = require_slice(); var drop3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["drop"], _xdrop3, function drop4(n2, xs) { return slice4(Math.max(0, n2), Infinity, xs); }) ); module.exports = drop3; } }); // node_modules/ramda/src/internal/_xtake.js var require_xtake = __commonJS({ "node_modules/ramda/src/internal/_xtake.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XTake2 = /* @__PURE__ */ function() { function XTake3(n2, xf) { this.xf = xf; this.n = n2; this.i = 0; } XTake3.prototype["@@transducer/init"] = _xfBase.init; XTake3.prototype["@@transducer/result"] = _xfBase.result; XTake3.prototype["@@transducer/step"] = function(result, input) { this.i += 1; var ret = this.n === 0 ? result : this.xf["@@transducer/step"](result, input); return this.n >= 0 && this.i >= this.n ? _reduced2(ret) : ret; }; return XTake3; }(); var _xtake3 = /* @__PURE__ */ _curry22(function _xtake4(n2, xf) { return new XTake2(n2, xf); }); module.exports = _xtake3; } }); // node_modules/ramda/src/take.js var require_take = __commonJS({ "node_modules/ramda/src/take.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xtake3 = require_xtake(); var slice4 = require_slice(); var take3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["take"], _xtake3, function take4(n2, xs) { return slice4(0, n2 < 0 ? Infinity : n2, xs); }) ); module.exports = take3; } }); // node_modules/ramda/src/internal/_dropLast.js var require_dropLast = __commonJS({ "node_modules/ramda/src/internal/_dropLast.js"(exports, module) { var take3 = require_take(); function dropLast3(n2, xs) { return take3(n2 < xs.length ? xs.length - n2 : 0, xs); } module.exports = dropLast3; } }); // node_modules/ramda/src/internal/_xdropLast.js var require_xdropLast = __commonJS({ "node_modules/ramda/src/internal/_xdropLast.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XDropLast2 = /* @__PURE__ */ function() { function XDropLast3(n2, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n2); } XDropLast3.prototype["@@transducer/init"] = _xfBase.init; XDropLast3.prototype["@@transducer/result"] = function(result) { this.acc = null; return this.xf["@@transducer/result"](result); }; XDropLast3.prototype["@@transducer/step"] = function(result, input) { if (this.full) { result = this.xf["@@transducer/step"](result, this.acc[this.pos]); } this.store(input); return result; }; XDropLast3.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; return XDropLast3; }(); var _xdropLast3 = /* @__PURE__ */ _curry22(function _xdropLast4(n2, xf) { return new XDropLast2(n2, xf); }); module.exports = _xdropLast3; } }); // node_modules/ramda/src/dropLast.js var require_dropLast2 = __commonJS({ "node_modules/ramda/src/dropLast.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _dropLast = require_dropLast(); var _xdropLast3 = require_xdropLast(); var dropLast3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xdropLast3, _dropLast) ); module.exports = dropLast3; } }); // node_modules/ramda/src/internal/_dropLastWhile.js var require_dropLastWhile = __commonJS({ "node_modules/ramda/src/internal/_dropLastWhile.js"(exports, module) { var slice4 = require_slice(); function dropLastWhile3(pred, xs) { var idx = xs.length - 1; while (idx >= 0 && pred(xs[idx])) { idx -= 1; } return slice4(0, idx + 1, xs); } module.exports = dropLastWhile3; } }); // node_modules/ramda/src/internal/_xdropLastWhile.js var require_xdropLastWhile = __commonJS({ "node_modules/ramda/src/internal/_xdropLastWhile.js"(exports, module) { var _curry22 = require_curry2(); var _reduce2 = require_reduce(); var _xfBase = require_xfBase(); var XDropLastWhile2 = /* @__PURE__ */ function() { function XDropLastWhile3(fn, xf) { this.f = fn; this.retained = []; this.xf = xf; } XDropLastWhile3.prototype["@@transducer/init"] = _xfBase.init; XDropLastWhile3.prototype["@@transducer/result"] = function(result) { this.retained = null; return this.xf["@@transducer/result"](result); }; XDropLastWhile3.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.retain(result, input) : this.flush(result, input); }; XDropLastWhile3.prototype.flush = function(result, input) { result = _reduce2(this.xf["@@transducer/step"], result, this.retained); this.retained = []; return this.xf["@@transducer/step"](result, input); }; XDropLastWhile3.prototype.retain = function(result, input) { this.retained.push(input); return result; }; return XDropLastWhile3; }(); var _xdropLastWhile3 = /* @__PURE__ */ _curry22(function _xdropLastWhile4(fn, xf) { return new XDropLastWhile2(fn, xf); }); module.exports = _xdropLastWhile3; } }); // node_modules/ramda/src/dropLastWhile.js var require_dropLastWhile2 = __commonJS({ "node_modules/ramda/src/dropLastWhile.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _dropLastWhile = require_dropLastWhile(); var _xdropLastWhile3 = require_xdropLastWhile(); var dropLastWhile3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xdropLastWhile3, _dropLastWhile) ); module.exports = dropLastWhile3; } }); // node_modules/ramda/src/internal/_xdropRepeatsWith.js var require_xdropRepeatsWith = __commonJS({ "node_modules/ramda/src/internal/_xdropRepeatsWith.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XDropRepeatsWith2 = /* @__PURE__ */ function() { function XDropRepeatsWith3(pred, xf) { this.xf = xf; this.pred = pred; this.lastValue = void 0; this.seenFirstValue = false; } XDropRepeatsWith3.prototype["@@transducer/init"] = _xfBase.init; XDropRepeatsWith3.prototype["@@transducer/result"] = _xfBase.result; XDropRepeatsWith3.prototype["@@transducer/step"] = function(result, input) { var sameAsLast = false; if (!this.seenFirstValue) { this.seenFirstValue = true; } else if (this.pred(this.lastValue, input)) { sameAsLast = true; } this.lastValue = input; return sameAsLast ? result : this.xf["@@transducer/step"](result, input); }; return XDropRepeatsWith3; }(); var _xdropRepeatsWith3 = /* @__PURE__ */ _curry22(function _xdropRepeatsWith4(pred, xf) { return new XDropRepeatsWith2(pred, xf); }); module.exports = _xdropRepeatsWith3; } }); // node_modules/ramda/src/last.js var require_last = __commonJS({ "node_modules/ramda/src/last.js"(exports, module) { var nth3 = require_nth(); var last2 = /* @__PURE__ */ nth3(-1); module.exports = last2; } }); // node_modules/ramda/src/dropRepeatsWith.js var require_dropRepeatsWith = __commonJS({ "node_modules/ramda/src/dropRepeatsWith.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xdropRepeatsWith3 = require_xdropRepeatsWith(); var last2 = require_last(); var dropRepeatsWith3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xdropRepeatsWith3, function dropRepeatsWith4(pred, list) { var result = []; var idx = 1; var len = list.length; if (len !== 0) { result[0] = list[0]; while (idx < len) { if (!pred(last2(result), list[idx])) { result[result.length] = list[idx]; } idx += 1; } } return result; }) ); module.exports = dropRepeatsWith3; } }); // node_modules/ramda/src/dropRepeats.js var require_dropRepeats = __commonJS({ "node_modules/ramda/src/dropRepeats.js"(exports, module) { var _curry12 = require_curry1(); var _dispatchable2 = require_dispatchable(); var _xdropRepeatsWith3 = require_xdropRepeatsWith(); var dropRepeatsWith3 = require_dropRepeatsWith(); var equals4 = require_equals2(); var dropRepeats2 = /* @__PURE__ */ _curry12( /* @__PURE__ */ _dispatchable2( [], /* @__PURE__ */ _xdropRepeatsWith3(equals4), /* @__PURE__ */ dropRepeatsWith3(equals4) ) ); module.exports = dropRepeats2; } }); // node_modules/ramda/src/internal/_xdropWhile.js var require_xdropWhile = __commonJS({ "node_modules/ramda/src/internal/_xdropWhile.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XDropWhile2 = /* @__PURE__ */ function() { function XDropWhile3(f, xf) { this.xf = xf; this.f = f; } XDropWhile3.prototype["@@transducer/init"] = _xfBase.init; XDropWhile3.prototype["@@transducer/result"] = _xfBase.result; XDropWhile3.prototype["@@transducer/step"] = function(result, input) { if (this.f) { if (this.f(input)) { return result; } this.f = null; } return this.xf["@@transducer/step"](result, input); }; return XDropWhile3; }(); var _xdropWhile3 = /* @__PURE__ */ _curry22(function _xdropWhile4(f, xf) { return new XDropWhile2(f, xf); }); module.exports = _xdropWhile3; } }); // node_modules/ramda/src/dropWhile.js var require_dropWhile = __commonJS({ "node_modules/ramda/src/dropWhile.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xdropWhile3 = require_xdropWhile(); var slice4 = require_slice(); var dropWhile3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["dropWhile"], _xdropWhile3, function dropWhile4(pred, xs) { var idx = 0; var len = xs.length; while (idx < len && pred(xs[idx])) { idx += 1; } return slice4(idx, Infinity, xs); }) ); module.exports = dropWhile3; } }); // node_modules/ramda/src/or.js var require_or = __commonJS({ "node_modules/ramda/src/or.js"(exports, module) { var _curry22 = require_curry2(); var or3 = /* @__PURE__ */ _curry22(function or4(a, b) { return a || b; }); module.exports = or3; } }); // node_modules/ramda/src/either.js var require_either = __commonJS({ "node_modules/ramda/src/either.js"(exports, module) { var _curry22 = require_curry2(); var _isFunction2 = require_isFunction(); var lift3 = require_lift(); var or3 = require_or(); var either3 = /* @__PURE__ */ _curry22(function either4(f, g2) { return _isFunction2(f) ? function _either() { return f.apply(this, arguments) || g2.apply(this, arguments); } : lift3(or3)(f, g2); }); module.exports = either3; } }); // node_modules/ramda/src/internal/_isTypedArray.js var require_isTypedArray = __commonJS({ "node_modules/ramda/src/internal/_isTypedArray.js"(exports, module) { function _isTypedArray2(val) { var type3 = Object.prototype.toString.call(val); return type3 === "[object Uint8ClampedArray]" || type3 === "[object Int8Array]" || type3 === "[object Uint8Array]" || type3 === "[object Int16Array]" || type3 === "[object Uint16Array]" || type3 === "[object Int32Array]" || type3 === "[object Uint32Array]" || type3 === "[object Float32Array]" || type3 === "[object Float64Array]" || type3 === "[object BigInt64Array]" || type3 === "[object BigUint64Array]"; } module.exports = _isTypedArray2; } }); // node_modules/ramda/src/empty.js var require_empty = __commonJS({ "node_modules/ramda/src/empty.js"(exports, module) { var _curry12 = require_curry1(); var _isArguments2 = require_isArguments(); var _isArray2 = require_isArray(); var _isObject2 = require_isObject(); var _isString2 = require_isString(); var _isTypedArray2 = require_isTypedArray(); var empty3 = /* @__PURE__ */ _curry12(function empty4(x) { return x != null && typeof x["fantasy-land/empty"] === "function" ? x["fantasy-land/empty"]() : x != null && x.constructor != null && typeof x.constructor["fantasy-land/empty"] === "function" ? x.constructor["fantasy-land/empty"]() : x != null && typeof x.empty === "function" ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === "function" ? x.constructor.empty() : _isArray2(x) ? [] : _isString2(x) ? "" : _isObject2(x) ? {} : _isArguments2(x) ? function() { return arguments; }() : _isTypedArray2(x) ? x.constructor.from("") : void 0; }); module.exports = empty3; } }); // node_modules/ramda/src/takeLast.js var require_takeLast = __commonJS({ "node_modules/ramda/src/takeLast.js"(exports, module) { var _curry22 = require_curry2(); var drop3 = require_drop(); var takeLast3 = /* @__PURE__ */ _curry22(function takeLast4(n2, xs) { return drop3(n2 >= 0 ? xs.length - n2 : 0, xs); }); module.exports = takeLast3; } }); // node_modules/ramda/src/endsWith.js var require_endsWith = __commonJS({ "node_modules/ramda/src/endsWith.js"(exports, module) { var _curry22 = require_curry2(); var equals4 = require_equals2(); var takeLast3 = require_takeLast(); var endsWith2 = /* @__PURE__ */ _curry22(function(suffix, list) { return equals4(takeLast3(suffix.length, list), suffix); }); module.exports = endsWith2; } }); // node_modules/ramda/src/eqBy.js var require_eqBy = __commonJS({ "node_modules/ramda/src/eqBy.js"(exports, module) { var _curry32 = require_curry3(); var equals4 = require_equals2(); var eqBy3 = /* @__PURE__ */ _curry32(function eqBy4(f, x, y) { return equals4(f(x), f(y)); }); module.exports = eqBy3; } }); // node_modules/ramda/src/eqProps.js var require_eqProps = __commonJS({ "node_modules/ramda/src/eqProps.js"(exports, module) { var _curry32 = require_curry3(); var equals4 = require_equals2(); var eqProps3 = /* @__PURE__ */ _curry32(function eqProps4(prop4, obj1, obj2) { return equals4(obj1[prop4], obj2[prop4]); }); module.exports = eqProps3; } }); // node_modules/ramda/src/evolve.js var require_evolve = __commonJS({ "node_modules/ramda/src/evolve.js"(exports, module) { var _curry22 = require_curry2(); var _isArray2 = require_isArray(); var _isObject2 = require_isObject(); var evolve4 = /* @__PURE__ */ _curry22(function evolve5(transformations, object) { if (!_isObject2(object) && !_isArray2(object)) { return object; } var result = object instanceof Array ? [] : {}; var transformation, key, type3; for (key in object) { transformation = transformations[key]; type3 = typeof transformation; result[key] = type3 === "function" ? transformation(object[key]) : transformation && type3 === "object" ? evolve5(transformation, object[key]) : object[key]; } return result; }); module.exports = evolve4; } }); // node_modules/ramda/src/internal/_xfind.js var require_xfind = __commonJS({ "node_modules/ramda/src/internal/_xfind.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XFind2 = /* @__PURE__ */ function() { function XFind3(f, xf) { this.xf = xf; this.f = f; this.found = false; } XFind3.prototype["@@transducer/init"] = _xfBase.init; XFind3.prototype["@@transducer/result"] = function(result) { if (!this.found) { result = this.xf["@@transducer/step"](result, void 0); } return this.xf["@@transducer/result"](result); }; XFind3.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.found = true; result = _reduced2(this.xf["@@transducer/step"](result, input)); } return result; }; return XFind3; }(); var _xfind3 = /* @__PURE__ */ _curry22(function _xfind4(f, xf) { return new XFind2(f, xf); }); module.exports = _xfind3; } }); // node_modules/ramda/src/find.js var require_find = __commonJS({ "node_modules/ramda/src/find.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xfind3 = require_xfind(); var find3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["find"], _xfind3, function find4(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return list[idx]; } idx += 1; } }) ); module.exports = find3; } }); // node_modules/ramda/src/internal/_xfindIndex.js var require_xfindIndex = __commonJS({ "node_modules/ramda/src/internal/_xfindIndex.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XFindIndex2 = /* @__PURE__ */ function() { function XFindIndex3(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.found = false; } XFindIndex3.prototype["@@transducer/init"] = _xfBase.init; XFindIndex3.prototype["@@transducer/result"] = function(result) { if (!this.found) { result = this.xf["@@transducer/step"](result, -1); } return this.xf["@@transducer/result"](result); }; XFindIndex3.prototype["@@transducer/step"] = function(result, input) { this.idx += 1; if (this.f(input)) { this.found = true; result = _reduced2(this.xf["@@transducer/step"](result, this.idx)); } return result; }; return XFindIndex3; }(); var _xfindIndex3 = /* @__PURE__ */ _curry22(function _xfindIndex4(f, xf) { return new XFindIndex2(f, xf); }); module.exports = _xfindIndex3; } }); // node_modules/ramda/src/findIndex.js var require_findIndex = __commonJS({ "node_modules/ramda/src/findIndex.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xfindIndex3 = require_xfindIndex(); var findIndex4 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xfindIndex3, function findIndex5(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return idx; } idx += 1; } return -1; }) ); module.exports = findIndex4; } }); // node_modules/ramda/src/internal/_xfindLast.js var require_xfindLast = __commonJS({ "node_modules/ramda/src/internal/_xfindLast.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XFindLast2 = /* @__PURE__ */ function() { function XFindLast3(f, xf) { this.xf = xf; this.f = f; } XFindLast3.prototype["@@transducer/init"] = _xfBase.init; XFindLast3.prototype["@@transducer/result"] = function(result) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result, this.last)); }; XFindLast3.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.last = input; } return result; }; return XFindLast3; }(); var _xfindLast3 = /* @__PURE__ */ _curry22(function _xfindLast4(f, xf) { return new XFindLast2(f, xf); }); module.exports = _xfindLast3; } }); // node_modules/ramda/src/findLast.js var require_findLast = __commonJS({ "node_modules/ramda/src/findLast.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xfindLast3 = require_xfindLast(); var findLast3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xfindLast3, function findLast4(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return list[idx]; } idx -= 1; } }) ); module.exports = findLast3; } }); // node_modules/ramda/src/internal/_xfindLastIndex.js var require_xfindLastIndex = __commonJS({ "node_modules/ramda/src/internal/_xfindLastIndex.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XFindLastIndex2 = /* @__PURE__ */ function() { function XFindLastIndex3(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.lastIdx = -1; } XFindLastIndex3.prototype["@@transducer/init"] = _xfBase.init; XFindLastIndex3.prototype["@@transducer/result"] = function(result) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result, this.lastIdx)); }; XFindLastIndex3.prototype["@@transducer/step"] = function(result, input) { this.idx += 1; if (this.f(input)) { this.lastIdx = this.idx; } return result; }; return XFindLastIndex3; }(); var _xfindLastIndex3 = /* @__PURE__ */ _curry22(function _xfindLastIndex4(f, xf) { return new XFindLastIndex2(f, xf); }); module.exports = _xfindLastIndex3; } }); // node_modules/ramda/src/findLastIndex.js var require_findLastIndex = __commonJS({ "node_modules/ramda/src/findLastIndex.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xfindLastIndex3 = require_xfindLastIndex(); var findLastIndex3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xfindLastIndex3, function findLastIndex4(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return idx; } idx -= 1; } return -1; }) ); module.exports = findLastIndex3; } }); // node_modules/ramda/src/flatten.js var require_flatten = __commonJS({ "node_modules/ramda/src/flatten.js"(exports, module) { var _curry12 = require_curry1(); var _makeFlat2 = require_makeFlat(); var flatten2 = /* @__PURE__ */ _curry12( /* @__PURE__ */ _makeFlat2(true) ); module.exports = flatten2; } }); // node_modules/ramda/src/flip.js var require_flip = __commonJS({ "node_modules/ramda/src/flip.js"(exports, module) { var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var flip3 = /* @__PURE__ */ _curry12(function flip4(fn) { return curryN3(fn.length, function(a, b) { var args = Array.prototype.slice.call(arguments, 0); args[0] = b; args[1] = a; return fn.apply(this, args); }); }); module.exports = flip3; } }); // node_modules/ramda/src/forEach.js var require_forEach = __commonJS({ "node_modules/ramda/src/forEach.js"(exports, module) { var _checkForMethod2 = require_checkForMethod(); var _curry22 = require_curry2(); var forEach3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _checkForMethod2("forEach", function forEach4(fn, list) { var len = list.length; var idx = 0; while (idx < len) { fn(list[idx]); idx += 1; } return list; }) ); module.exports = forEach3; } }); // node_modules/ramda/src/forEachObjIndexed.js var require_forEachObjIndexed = __commonJS({ "node_modules/ramda/src/forEachObjIndexed.js"(exports, module) { var _curry22 = require_curry2(); var keys6 = require_keys(); var forEachObjIndexed3 = /* @__PURE__ */ _curry22(function forEachObjIndexed4(fn, obj) { var keyList = keys6(obj); var idx = 0; while (idx < keyList.length) { var key = keyList[idx]; fn(obj[key], key, obj); idx += 1; } return obj; }); module.exports = forEachObjIndexed3; } }); // node_modules/ramda/src/fromPairs.js var require_fromPairs = __commonJS({ "node_modules/ramda/src/fromPairs.js"(exports, module) { var _curry12 = require_curry1(); var fromPairs3 = /* @__PURE__ */ _curry12(function fromPairs4(pairs) { var result = {}; var idx = 0; while (idx < pairs.length) { result[pairs[idx][0]] = pairs[idx][1]; idx += 1; } return result; }); module.exports = fromPairs3; } }); // node_modules/ramda/src/groupBy.js var require_groupBy = __commonJS({ "node_modules/ramda/src/groupBy.js"(exports, module) { var _checkForMethod2 = require_checkForMethod(); var _curry22 = require_curry2(); var reduceBy3 = require_reduceBy(); var groupBy2 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _checkForMethod2( "groupBy", /* @__PURE__ */ reduceBy3(function(acc, item) { acc.push(item); return acc; }, []) ) ); module.exports = groupBy2; } }); // node_modules/ramda/src/groupWith.js var require_groupWith = __commonJS({ "node_modules/ramda/src/groupWith.js"(exports, module) { var _curry22 = require_curry2(); var groupWith2 = /* @__PURE__ */ _curry22(function(fn, list) { var res = []; var idx = 0; var len = list.length; while (idx < len) { var nextidx = idx + 1; while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { nextidx += 1; } res.push(list.slice(idx, nextidx)); idx = nextidx; } return res; }); module.exports = groupWith2; } }); // node_modules/ramda/src/gt.js var require_gt = __commonJS({ "node_modules/ramda/src/gt.js"(exports, module) { var _curry22 = require_curry2(); var gt3 = /* @__PURE__ */ _curry22(function gt4(a, b) { return a > b; }); module.exports = gt3; } }); // node_modules/ramda/src/gte.js var require_gte = __commonJS({ "node_modules/ramda/src/gte.js"(exports, module) { var _curry22 = require_curry2(); var gte3 = /* @__PURE__ */ _curry22(function gte4(a, b) { return a >= b; }); module.exports = gte3; } }); // node_modules/ramda/src/hasPath.js var require_hasPath = __commonJS({ "node_modules/ramda/src/hasPath.js"(exports, module) { var _curry22 = require_curry2(); var _has2 = require_has(); var isNil4 = require_isNil(); var hasPath4 = /* @__PURE__ */ _curry22(function hasPath5(_path, obj) { if (_path.length === 0 || isNil4(obj)) { return false; } var val = obj; var idx = 0; while (idx < _path.length) { if (!isNil4(val) && _has2(_path[idx], val)) { val = val[_path[idx]]; idx += 1; } else { return false; } } return true; }); module.exports = hasPath4; } }); // node_modules/ramda/src/has.js var require_has2 = __commonJS({ "node_modules/ramda/src/has.js"(exports, module) { var _curry22 = require_curry2(); var hasPath4 = require_hasPath(); var has3 = /* @__PURE__ */ _curry22(function has4(prop4, obj) { return hasPath4([prop4], obj); }); module.exports = has3; } }); // node_modules/ramda/src/hasIn.js var require_hasIn = __commonJS({ "node_modules/ramda/src/hasIn.js"(exports, module) { var _curry22 = require_curry2(); var isNil4 = require_isNil(); var hasIn3 = /* @__PURE__ */ _curry22(function hasIn4(prop4, obj) { if (isNil4(obj)) { return false; } return prop4 in obj; }); module.exports = hasIn3; } }); // node_modules/ramda/src/identical.js var require_identical = __commonJS({ "node_modules/ramda/src/identical.js"(exports, module) { var _objectIs2 = require_objectIs(); var _curry22 = require_curry2(); var identical2 = /* @__PURE__ */ _curry22(_objectIs2); module.exports = identical2; } }); // node_modules/ramda/src/ifElse.js var require_ifElse = __commonJS({ "node_modules/ramda/src/ifElse.js"(exports, module) { var _curry32 = require_curry3(); var curryN3 = require_curryN2(); var ifElse3 = /* @__PURE__ */ _curry32(function ifElse4(condition, onTrue, onFalse) { return curryN3(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); }); }); module.exports = ifElse3; } }); // node_modules/ramda/src/inc.js var require_inc = __commonJS({ "node_modules/ramda/src/inc.js"(exports, module) { var add4 = require_add(); var inc2 = /* @__PURE__ */ add4(1); module.exports = inc2; } }); // node_modules/ramda/src/includes.js var require_includes2 = __commonJS({ "node_modules/ramda/src/includes.js"(exports, module) { var _includes2 = require_includes(); var _curry22 = require_curry2(); var includes2 = /* @__PURE__ */ _curry22(_includes2); module.exports = includes2; } }); // node_modules/ramda/src/indexBy.js var require_indexBy = __commonJS({ "node_modules/ramda/src/indexBy.js"(exports, module) { var reduceBy3 = require_reduceBy(); var indexBy2 = /* @__PURE__ */ reduceBy3(function(acc, elem) { return elem; }, null); module.exports = indexBy2; } }); // node_modules/ramda/src/indexOf.js var require_indexOf2 = __commonJS({ "node_modules/ramda/src/indexOf.js"(exports, module) { var _curry22 = require_curry2(); var _indexOf2 = require_indexOf(); var _isArray2 = require_isArray(); var indexOf4 = /* @__PURE__ */ _curry22(function indexOf5(target, xs) { return typeof xs.indexOf === "function" && !_isArray2(xs) ? xs.indexOf(target) : _indexOf2(xs, target, 0); }); module.exports = indexOf4; } }); // node_modules/ramda/src/init.js var require_init = __commonJS({ "node_modules/ramda/src/init.js"(exports, module) { var slice4 = require_slice(); var init2 = /* @__PURE__ */ slice4(0, -1); module.exports = init2; } }); // node_modules/ramda/src/innerJoin.js var require_innerJoin = __commonJS({ "node_modules/ramda/src/innerJoin.js"(exports, module) { var _includesWith2 = require_includesWith(); var _curry32 = require_curry3(); var _filter2 = require_filter(); var innerJoin3 = /* @__PURE__ */ _curry32(function innerJoin4(pred, xs, ys) { return _filter2(function(x) { return _includesWith2(pred, x, ys); }, xs); }); module.exports = innerJoin3; } }); // node_modules/ramda/src/insert.js var require_insert = __commonJS({ "node_modules/ramda/src/insert.js"(exports, module) { var _curry32 = require_curry3(); var insert3 = /* @__PURE__ */ _curry32(function insert4(idx, elt, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; var result = Array.prototype.slice.call(list, 0); result.splice(idx, 0, elt); return result; }); module.exports = insert3; } }); // node_modules/ramda/src/insertAll.js var require_insertAll = __commonJS({ "node_modules/ramda/src/insertAll.js"(exports, module) { var _curry32 = require_curry3(); var insertAll3 = /* @__PURE__ */ _curry32(function insertAll4(idx, elts, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx)); }); module.exports = insertAll3; } }); // node_modules/ramda/src/internal/_xuniqBy.js var require_xuniqBy = __commonJS({ "node_modules/ramda/src/internal/_xuniqBy.js"(exports, module) { var _curry22 = require_curry2(); var _Set2 = require_Set(); var _xfBase = require_xfBase(); var XUniqBy2 = /* @__PURE__ */ function() { function XUniqBy3(f, xf) { this.xf = xf; this.f = f; this.set = new _Set2(); } XUniqBy3.prototype["@@transducer/init"] = _xfBase.init; XUniqBy3.prototype["@@transducer/result"] = _xfBase.result; XUniqBy3.prototype["@@transducer/step"] = function(result, input) { return this.set.add(this.f(input)) ? this.xf["@@transducer/step"](result, input) : result; }; return XUniqBy3; }(); var _xuniqBy3 = /* @__PURE__ */ _curry22(function _xuniqBy4(f, xf) { return new XUniqBy2(f, xf); }); module.exports = _xuniqBy3; } }); // node_modules/ramda/src/uniqBy.js var require_uniqBy = __commonJS({ "node_modules/ramda/src/uniqBy.js"(exports, module) { var _Set2 = require_Set(); var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xuniqBy3 = require_xuniqBy(); var uniqBy2 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xuniqBy3, function(fn, list) { var set4 = new _Set2(); var result = []; var idx = 0; var appliedItem, item; while (idx < list.length) { item = list[idx]; appliedItem = fn(item); if (set4.add(appliedItem)) { result.push(item); } idx += 1; } return result; }) ); module.exports = uniqBy2; } }); // node_modules/ramda/src/uniq.js var require_uniq = __commonJS({ "node_modules/ramda/src/uniq.js"(exports, module) { var identity2 = require_identity2(); var uniqBy2 = require_uniqBy(); var uniq3 = /* @__PURE__ */ uniqBy2(identity2); module.exports = uniq3; } }); // node_modules/ramda/src/intersection.js var require_intersection = __commonJS({ "node_modules/ramda/src/intersection.js"(exports, module) { var _includes2 = require_includes(); var _curry22 = require_curry2(); var _filter2 = require_filter(); var flip3 = require_flip(); var uniq3 = require_uniq(); var intersection4 = /* @__PURE__ */ _curry22(function intersection5(list1, list2) { var lookupList, filteredList; if (list1.length > list2.length) { lookupList = list1; filteredList = list2; } else { lookupList = list2; filteredList = list1; } return uniq3(_filter2(flip3(_includes2)(lookupList), filteredList)); }); module.exports = intersection4; } }); // node_modules/ramda/src/intersperse.js var require_intersperse = __commonJS({ "node_modules/ramda/src/intersperse.js"(exports, module) { var _checkForMethod2 = require_checkForMethod(); var _curry22 = require_curry2(); var intersperse3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _checkForMethod2("intersperse", function intersperse4(separator, list) { var out = []; var idx = 0; var length3 = list.length; while (idx < length3) { if (idx === length3 - 1) { out.push(list[idx]); } else { out.push(list[idx], separator); } idx += 1; } return out; }) ); module.exports = intersperse3; } }); // node_modules/ramda/src/internal/_objectAssign.js var require_objectAssign = __commonJS({ "node_modules/ramda/src/internal/_objectAssign.js"(exports, module) { var _has2 = require_has(); function _objectAssign2(target) { if (target == null) { throw new TypeError("Cannot convert undefined or null to object"); } var output = Object(target); var idx = 1; var length3 = arguments.length; while (idx < length3) { var source = arguments[idx]; if (source != null) { for (var nextKey in source) { if (_has2(nextKey, source)) { output[nextKey] = source[nextKey]; } } } idx += 1; } return output; } module.exports = typeof Object.assign === "function" ? Object.assign : _objectAssign2; } }); // node_modules/ramda/src/objOf.js var require_objOf = __commonJS({ "node_modules/ramda/src/objOf.js"(exports, module) { var _curry22 = require_curry2(); var objOf3 = /* @__PURE__ */ _curry22(function objOf4(key, val) { var obj = {}; obj[key] = val; return obj; }); module.exports = objOf3; } }); // node_modules/ramda/src/internal/_stepCat.js var require_stepCat = __commonJS({ "node_modules/ramda/src/internal/_stepCat.js"(exports, module) { var _objectAssign2 = require_objectAssign(); var _identity2 = require_identity(); var _isArrayLike2 = require_isArrayLike(); var _isTransformer2 = require_isTransformer(); var objOf3 = require_objOf(); var _stepCatArray2 = { "@@transducer/init": Array, "@@transducer/step": function(xs, x) { xs.push(x); return xs; }, "@@transducer/result": _identity2 }; var _stepCatString2 = { "@@transducer/init": String, "@@transducer/step": function(a, b) { return a + b; }, "@@transducer/result": _identity2 }; var _stepCatObject2 = { "@@transducer/init": Object, "@@transducer/step": function(result, input) { return _objectAssign2(result, _isArrayLike2(input) ? objOf3(input[0], input[1]) : input); }, "@@transducer/result": _identity2 }; function _stepCat2(obj) { if (_isTransformer2(obj)) { return obj; } if (_isArrayLike2(obj)) { return _stepCatArray2; } if (typeof obj === "string") { return _stepCatString2; } if (typeof obj === "object") { return _stepCatObject2; } throw new Error("Cannot create transformer for " + obj); } module.exports = _stepCat2; } }); // node_modules/ramda/src/into.js var require_into = __commonJS({ "node_modules/ramda/src/into.js"(exports, module) { var _clone2 = require_clone(); var _curry32 = require_curry3(); var _isTransformer2 = require_isTransformer(); var _reduce2 = require_reduce(); var _stepCat2 = require_stepCat(); var into3 = /* @__PURE__ */ _curry32(function into4(acc, xf, list) { return _isTransformer2(acc) ? _reduce2(xf(acc), acc["@@transducer/init"](), list) : _reduce2(xf(_stepCat2(acc)), _clone2(acc, [], [], false), list); }); module.exports = into3; } }); // node_modules/ramda/src/invert.js var require_invert = __commonJS({ "node_modules/ramda/src/invert.js"(exports, module) { var _curry12 = require_curry1(); var _has2 = require_has(); var keys6 = require_keys(); var invert3 = /* @__PURE__ */ _curry12(function invert4(obj) { var props3 = keys6(obj); var len = props3.length; var idx = 0; var out = {}; while (idx < len) { var key = props3[idx]; var val = obj[key]; var list = _has2(val, out) ? out[val] : out[val] = []; list[list.length] = key; idx += 1; } return out; }); module.exports = invert3; } }); // node_modules/ramda/src/invertObj.js var require_invertObj = __commonJS({ "node_modules/ramda/src/invertObj.js"(exports, module) { var _curry12 = require_curry1(); var keys6 = require_keys(); var invertObj3 = /* @__PURE__ */ _curry12(function invertObj4(obj) { var props3 = keys6(obj); var len = props3.length; var idx = 0; var out = {}; while (idx < len) { var key = props3[idx]; out[obj[key]] = key; idx += 1; } return out; }); module.exports = invertObj3; } }); // node_modules/ramda/src/invoker.js var require_invoker = __commonJS({ "node_modules/ramda/src/invoker.js"(exports, module) { var _curry22 = require_curry2(); var _isFunction2 = require_isFunction(); var curryN3 = require_curryN2(); var toString4 = require_toString2(); var invoker3 = /* @__PURE__ */ _curry22(function invoker4(arity, method) { return curryN3(arity + 1, function() { var target = arguments[arity]; if (target != null && _isFunction2(target[method])) { return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); } throw new TypeError(toString4(target) + ' does not have a method named "' + method + '"'); }); }); module.exports = invoker3; } }); // node_modules/ramda/src/is.js var require_is = __commonJS({ "node_modules/ramda/src/is.js"(exports, module) { var _curry22 = require_curry2(); var is4 = /* @__PURE__ */ _curry22(function is5(Ctor, val) { return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === "Object" && typeof val === "object"); }); module.exports = is4; } }); // node_modules/ramda/src/isEmpty.js var require_isEmpty = __commonJS({ "node_modules/ramda/src/isEmpty.js"(exports, module) { var _curry12 = require_curry1(); var empty3 = require_empty(); var equals4 = require_equals2(); var isEmpty3 = /* @__PURE__ */ _curry12(function isEmpty4(x) { return x != null && equals4(x, empty3(x)); }); module.exports = isEmpty3; } }); // node_modules/ramda/src/join.js var require_join = __commonJS({ "node_modules/ramda/src/join.js"(exports, module) { var invoker3 = require_invoker(); var join2 = /* @__PURE__ */ invoker3(1, "join"); module.exports = join2; } }); // node_modules/ramda/src/juxt.js var require_juxt = __commonJS({ "node_modules/ramda/src/juxt.js"(exports, module) { var _curry12 = require_curry1(); var converge3 = require_converge(); var juxt3 = /* @__PURE__ */ _curry12(function juxt4(fns) { return converge3(function() { return Array.prototype.slice.call(arguments, 0); }, fns); }); module.exports = juxt3; } }); // node_modules/ramda/src/keysIn.js var require_keysIn = __commonJS({ "node_modules/ramda/src/keysIn.js"(exports, module) { var _curry12 = require_curry1(); var keysIn3 = /* @__PURE__ */ _curry12(function keysIn4(obj) { var prop4; var ks = []; for (prop4 in obj) { ks[ks.length] = prop4; } return ks; }); module.exports = keysIn3; } }); // node_modules/ramda/src/lastIndexOf.js var require_lastIndexOf = __commonJS({ "node_modules/ramda/src/lastIndexOf.js"(exports, module) { var _curry22 = require_curry2(); var _isArray2 = require_isArray(); var equals4 = require_equals2(); var lastIndexOf3 = /* @__PURE__ */ _curry22(function lastIndexOf4(target, xs) { if (typeof xs.lastIndexOf === "function" && !_isArray2(xs)) { return xs.lastIndexOf(target); } else { var idx = xs.length - 1; while (idx >= 0) { if (equals4(xs[idx], target)) { return idx; } idx -= 1; } return -1; } }); module.exports = lastIndexOf3; } }); // node_modules/ramda/src/internal/_isNumber.js var require_isNumber = __commonJS({ "node_modules/ramda/src/internal/_isNumber.js"(exports, module) { function _isNumber2(x) { return Object.prototype.toString.call(x) === "[object Number]"; } module.exports = _isNumber2; } }); // node_modules/ramda/src/length.js var require_length = __commonJS({ "node_modules/ramda/src/length.js"(exports, module) { var _curry12 = require_curry1(); var _isNumber2 = require_isNumber(); var length3 = /* @__PURE__ */ _curry12(function length4(list) { return list != null && _isNumber2(list.length) ? list.length : NaN; }); module.exports = length3; } }); // node_modules/ramda/src/lens.js var require_lens = __commonJS({ "node_modules/ramda/src/lens.js"(exports, module) { var _curry22 = require_curry2(); var map4 = require_map2(); var lens3 = /* @__PURE__ */ _curry22(function lens4(getter, setter) { return function(toFunctorFn) { return function(target) { return map4(function(focus) { return setter(focus, target); }, toFunctorFn(getter(target))); }; }; }); module.exports = lens3; } }); // node_modules/ramda/src/update.js var require_update = __commonJS({ "node_modules/ramda/src/update.js"(exports, module) { var _curry32 = require_curry3(); var adjust3 = require_adjust(); var always3 = require_always(); var update4 = /* @__PURE__ */ _curry32(function update5(idx, x, list) { return adjust3(idx, always3(x), list); }); module.exports = update4; } }); // node_modules/ramda/src/lensIndex.js var require_lensIndex = __commonJS({ "node_modules/ramda/src/lensIndex.js"(exports, module) { var _curry12 = require_curry1(); var lens3 = require_lens(); var nth3 = require_nth(); var update4 = require_update(); var lensIndex3 = /* @__PURE__ */ _curry12(function lensIndex4(n2) { return lens3(nth3(n2), update4(n2)); }); module.exports = lensIndex3; } }); // node_modules/ramda/src/paths.js var require_paths = __commonJS({ "node_modules/ramda/src/paths.js"(exports, module) { var _curry22 = require_curry2(); var _isInteger2 = require_isInteger(); var nth3 = require_nth(); var paths3 = /* @__PURE__ */ _curry22(function paths4(pathsArray, obj) { return pathsArray.map(function(paths5) { var val = obj; var idx = 0; var p; while (idx < paths5.length) { if (val == null) { return; } p = paths5[idx]; val = _isInteger2(p) ? nth3(p, val) : val[p]; idx += 1; } return val; }); }); module.exports = paths3; } }); // node_modules/ramda/src/path.js var require_path = __commonJS({ "node_modules/ramda/src/path.js"(exports, module) { var _curry22 = require_curry2(); var paths3 = require_paths(); var path3 = /* @__PURE__ */ _curry22(function path4(pathAr, obj) { return paths3([pathAr], obj)[0]; }); module.exports = path3; } }); // node_modules/ramda/src/lensPath.js var require_lensPath = __commonJS({ "node_modules/ramda/src/lensPath.js"(exports, module) { var _curry12 = require_curry1(); var assocPath3 = require_assocPath(); var lens3 = require_lens(); var path3 = require_path(); var lensPath3 = /* @__PURE__ */ _curry12(function lensPath4(p) { return lens3(path3(p), assocPath3(p)); }); module.exports = lensPath3; } }); // node_modules/ramda/src/lensProp.js var require_lensProp = __commonJS({ "node_modules/ramda/src/lensProp.js"(exports, module) { var _curry12 = require_curry1(); var assoc3 = require_assoc2(); var lens3 = require_lens(); var prop4 = require_prop(); var lensProp3 = /* @__PURE__ */ _curry12(function lensProp4(k) { return lens3(prop4(k), assoc3(k)); }); module.exports = lensProp3; } }); // node_modules/ramda/src/lt.js var require_lt = __commonJS({ "node_modules/ramda/src/lt.js"(exports, module) { var _curry22 = require_curry2(); var lt3 = /* @__PURE__ */ _curry22(function lt4(a, b) { return a < b; }); module.exports = lt3; } }); // node_modules/ramda/src/lte.js var require_lte = __commonJS({ "node_modules/ramda/src/lte.js"(exports, module) { var _curry22 = require_curry2(); var lte3 = /* @__PURE__ */ _curry22(function lte4(a, b) { return a <= b; }); module.exports = lte3; } }); // node_modules/ramda/src/mapAccum.js var require_mapAccum = __commonJS({ "node_modules/ramda/src/mapAccum.js"(exports, module) { var _curry32 = require_curry3(); var mapAccum3 = /* @__PURE__ */ _curry32(function mapAccum4(fn, acc, list) { var idx = 0; var len = list.length; var result = []; var tuple = [acc]; while (idx < len) { tuple = fn(tuple[0], list[idx]); result[idx] = tuple[1]; idx += 1; } return [tuple[0], result]; }); module.exports = mapAccum3; } }); // node_modules/ramda/src/mapAccumRight.js var require_mapAccumRight = __commonJS({ "node_modules/ramda/src/mapAccumRight.js"(exports, module) { var _curry32 = require_curry3(); var mapAccumRight3 = /* @__PURE__ */ _curry32(function mapAccumRight4(fn, acc, list) { var idx = list.length - 1; var result = []; var tuple = [acc]; while (idx >= 0) { tuple = fn(tuple[0], list[idx]); result[idx] = tuple[1]; idx -= 1; } return [tuple[0], result]; }); module.exports = mapAccumRight3; } }); // node_modules/ramda/src/mapObjIndexed.js var require_mapObjIndexed = __commonJS({ "node_modules/ramda/src/mapObjIndexed.js"(exports, module) { var _curry22 = require_curry2(); var _reduce2 = require_reduce(); var keys6 = require_keys(); var mapObjIndexed3 = /* @__PURE__ */ _curry22(function mapObjIndexed4(fn, obj) { return _reduce2(function(acc, key) { acc[key] = fn(obj[key], key, obj); return acc; }, {}, keys6(obj)); }); module.exports = mapObjIndexed3; } }); // node_modules/ramda/src/match.js var require_match = __commonJS({ "node_modules/ramda/src/match.js"(exports, module) { var _curry22 = require_curry2(); var match3 = /* @__PURE__ */ _curry22(function match4(rx, str) { return str.match(rx) || []; }); module.exports = match3; } }); // node_modules/ramda/src/mathMod.js var require_mathMod = __commonJS({ "node_modules/ramda/src/mathMod.js"(exports, module) { var _curry22 = require_curry2(); var _isInteger2 = require_isInteger(); var mathMod3 = /* @__PURE__ */ _curry22(function mathMod4(m, p) { if (!_isInteger2(m)) { return NaN; } if (!_isInteger2(p) || p < 1) { return NaN; } return (m % p + p) % p; }); module.exports = mathMod3; } }); // node_modules/ramda/src/maxBy.js var require_maxBy = __commonJS({ "node_modules/ramda/src/maxBy.js"(exports, module) { var _curry32 = require_curry3(); var maxBy3 = /* @__PURE__ */ _curry32(function maxBy4(f, a, b) { return f(b) > f(a) ? b : a; }); module.exports = maxBy3; } }); // node_modules/ramda/src/sum.js var require_sum = __commonJS({ "node_modules/ramda/src/sum.js"(exports, module) { var add4 = require_add(); var reduce2 = require_reduce2(); var sum2 = /* @__PURE__ */ reduce2(add4, 0); module.exports = sum2; } }); // node_modules/ramda/src/mean.js var require_mean = __commonJS({ "node_modules/ramda/src/mean.js"(exports, module) { var _curry12 = require_curry1(); var sum2 = require_sum(); var mean3 = /* @__PURE__ */ _curry12(function mean4(list) { return sum2(list) / list.length; }); module.exports = mean3; } }); // node_modules/ramda/src/median.js var require_median = __commonJS({ "node_modules/ramda/src/median.js"(exports, module) { var _curry12 = require_curry1(); var mean3 = require_mean(); var median3 = /* @__PURE__ */ _curry12(function median4(list) { var len = list.length; if (len === 0) { return NaN; } var width = 2 - len % 2; var idx = (len - width) / 2; return mean3(Array.prototype.slice.call(list, 0).sort(function(a, b) { return a < b ? -1 : a > b ? 1 : 0; }).slice(idx, idx + width)); }); module.exports = median3; } }); // node_modules/ramda/src/memoizeWith.js var require_memoizeWith = __commonJS({ "node_modules/ramda/src/memoizeWith.js"(exports, module) { var _arity2 = require_arity(); var _curry22 = require_curry2(); var _has2 = require_has(); var memoizeWith3 = /* @__PURE__ */ _curry22(function memoizeWith4(mFn, fn) { var cache = {}; return _arity2(fn.length, function() { var key = mFn.apply(this, arguments); if (!_has2(key, cache)) { cache[key] = fn.apply(this, arguments); } return cache[key]; }); }); module.exports = memoizeWith3; } }); // node_modules/ramda/src/mergeAll.js var require_mergeAll = __commonJS({ "node_modules/ramda/src/mergeAll.js"(exports, module) { var _objectAssign2 = require_objectAssign(); var _curry12 = require_curry1(); var mergeAll3 = /* @__PURE__ */ _curry12(function mergeAll4(list) { return _objectAssign2.apply(null, [{}].concat(list)); }); module.exports = mergeAll3; } }); // node_modules/ramda/src/mergeWithKey.js var require_mergeWithKey = __commonJS({ "node_modules/ramda/src/mergeWithKey.js"(exports, module) { var _curry32 = require_curry3(); var _has2 = require_has(); var mergeWithKey3 = /* @__PURE__ */ _curry32(function mergeWithKey4(fn, l, r) { var result = {}; var k; for (k in l) { if (_has2(k, l)) { result[k] = _has2(k, r) ? fn(k, l[k], r[k]) : l[k]; } } for (k in r) { if (_has2(k, r) && !_has2(k, result)) { result[k] = r[k]; } } return result; }); module.exports = mergeWithKey3; } }); // node_modules/ramda/src/mergeDeepWithKey.js var require_mergeDeepWithKey = __commonJS({ "node_modules/ramda/src/mergeDeepWithKey.js"(exports, module) { var _curry32 = require_curry3(); var _isObject2 = require_isObject(); var mergeWithKey3 = require_mergeWithKey(); var mergeDeepWithKey3 = /* @__PURE__ */ _curry32(function mergeDeepWithKey4(fn, lObj, rObj) { return mergeWithKey3(function(k, lVal, rVal) { if (_isObject2(lVal) && _isObject2(rVal)) { return mergeDeepWithKey4(fn, lVal, rVal); } else { return fn(k, lVal, rVal); } }, lObj, rObj); }); module.exports = mergeDeepWithKey3; } }); // node_modules/ramda/src/mergeDeepLeft.js var require_mergeDeepLeft = __commonJS({ "node_modules/ramda/src/mergeDeepLeft.js"(exports, module) { var _curry22 = require_curry2(); var mergeDeepWithKey3 = require_mergeDeepWithKey(); var mergeDeepLeft3 = /* @__PURE__ */ _curry22(function mergeDeepLeft4(lObj, rObj) { return mergeDeepWithKey3(function(k, lVal, rVal) { return lVal; }, lObj, rObj); }); module.exports = mergeDeepLeft3; } }); // node_modules/ramda/src/mergeDeepRight.js var require_mergeDeepRight = __commonJS({ "node_modules/ramda/src/mergeDeepRight.js"(exports, module) { var _curry22 = require_curry2(); var mergeDeepWithKey3 = require_mergeDeepWithKey(); var mergeDeepRight3 = /* @__PURE__ */ _curry22(function mergeDeepRight4(lObj, rObj) { return mergeDeepWithKey3(function(k, lVal, rVal) { return rVal; }, lObj, rObj); }); module.exports = mergeDeepRight3; } }); // node_modules/ramda/src/mergeDeepWith.js var require_mergeDeepWith = __commonJS({ "node_modules/ramda/src/mergeDeepWith.js"(exports, module) { var _curry32 = require_curry3(); var mergeDeepWithKey3 = require_mergeDeepWithKey(); var mergeDeepWith3 = /* @__PURE__ */ _curry32(function mergeDeepWith4(fn, lObj, rObj) { return mergeDeepWithKey3(function(k, lVal, rVal) { return fn(lVal, rVal); }, lObj, rObj); }); module.exports = mergeDeepWith3; } }); // node_modules/ramda/src/mergeLeft.js var require_mergeLeft = __commonJS({ "node_modules/ramda/src/mergeLeft.js"(exports, module) { var _objectAssign2 = require_objectAssign(); var _curry22 = require_curry2(); var mergeLeft3 = /* @__PURE__ */ _curry22(function mergeLeft4(l, r) { return _objectAssign2({}, r, l); }); module.exports = mergeLeft3; } }); // node_modules/ramda/src/mergeRight.js var require_mergeRight = __commonJS({ "node_modules/ramda/src/mergeRight.js"(exports, module) { var _objectAssign2 = require_objectAssign(); var _curry22 = require_curry2(); var mergeRight3 = /* @__PURE__ */ _curry22(function mergeRight4(l, r) { return _objectAssign2({}, l, r); }); module.exports = mergeRight3; } }); // node_modules/ramda/src/mergeWith.js var require_mergeWith = __commonJS({ "node_modules/ramda/src/mergeWith.js"(exports, module) { var _curry32 = require_curry3(); var mergeWithKey3 = require_mergeWithKey(); var mergeWith3 = /* @__PURE__ */ _curry32(function mergeWith4(fn, l, r) { return mergeWithKey3(function(_2, _l, _r) { return fn(_l, _r); }, l, r); }); module.exports = mergeWith3; } }); // node_modules/ramda/src/min.js var require_min = __commonJS({ "node_modules/ramda/src/min.js"(exports, module) { var _curry22 = require_curry2(); var min3 = /* @__PURE__ */ _curry22(function min4(a, b) { return b < a ? b : a; }); module.exports = min3; } }); // node_modules/ramda/src/minBy.js var require_minBy = __commonJS({ "node_modules/ramda/src/minBy.js"(exports, module) { var _curry32 = require_curry3(); var minBy3 = /* @__PURE__ */ _curry32(function minBy4(f, a, b) { return f(b) < f(a) ? b : a; }); module.exports = minBy3; } }); // node_modules/ramda/src/internal/_modify.js var require_modify = __commonJS({ "node_modules/ramda/src/internal/_modify.js"(exports, module) { var _isArray2 = require_isArray(); var _isInteger2 = require_isInteger(); function _modify2(prop4, fn, obj) { if (_isInteger2(prop4) && _isArray2(obj)) { var arr = [].concat(obj); arr[prop4] = fn(arr[prop4]); return arr; } var result = {}; for (var p in obj) { result[p] = obj[p]; } result[prop4] = fn(result[prop4]); return result; } module.exports = _modify2; } }); // node_modules/ramda/src/modifyPath.js var require_modifyPath = __commonJS({ "node_modules/ramda/src/modifyPath.js"(exports, module) { var _curry32 = require_curry3(); var _isArray2 = require_isArray(); var _isObject2 = require_isObject(); var _has2 = require_has(); var _assoc2 = require_assoc(); var _modify2 = require_modify(); var modifyPath3 = /* @__PURE__ */ _curry32(function modifyPath4(path3, fn, object) { if (!_isObject2(object) && !_isArray2(object) || path3.length === 0) { return object; } var idx = path3[0]; if (!_has2(idx, object)) { return object; } if (path3.length === 1) { return _modify2(idx, fn, object); } var val = modifyPath4(Array.prototype.slice.call(path3, 1), fn, object[idx]); if (val === object[idx]) { return object; } return _assoc2(idx, val, object); }); module.exports = modifyPath3; } }); // node_modules/ramda/src/modify.js var require_modify2 = __commonJS({ "node_modules/ramda/src/modify.js"(exports, module) { var _curry32 = require_curry3(); var modifyPath3 = require_modifyPath(); var modify3 = /* @__PURE__ */ _curry32(function modify4(prop4, fn, object) { return modifyPath3([prop4], fn, object); }); module.exports = modify3; } }); // node_modules/ramda/src/modulo.js var require_modulo = __commonJS({ "node_modules/ramda/src/modulo.js"(exports, module) { var _curry22 = require_curry2(); var modulo3 = /* @__PURE__ */ _curry22(function modulo4(a, b) { return a % b; }); module.exports = modulo3; } }); // node_modules/ramda/src/move.js var require_move = __commonJS({ "node_modules/ramda/src/move.js"(exports, module) { var _curry32 = require_curry3(); var move2 = /* @__PURE__ */ _curry32(function(from, to, list) { var length3 = list.length; var result = list.slice(); var positiveFrom = from < 0 ? length3 + from : from; var positiveTo = to < 0 ? length3 + to : to; var item = result.splice(positiveFrom, 1); return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length)); }); module.exports = move2; } }); // node_modules/ramda/src/multiply.js var require_multiply = __commonJS({ "node_modules/ramda/src/multiply.js"(exports, module) { var _curry22 = require_curry2(); var multiply3 = /* @__PURE__ */ _curry22(function multiply4(a, b) { return a * b; }); module.exports = multiply3; } }); // node_modules/ramda/src/partialObject.js var require_partialObject = __commonJS({ "node_modules/ramda/src/partialObject.js"(exports, module) { var mergeDeepRight3 = require_mergeDeepRight(); var _curry22 = require_curry2(); module.exports = /* @__PURE__ */ _curry22((f, o3) => (props3) => f.call(exports, mergeDeepRight3(o3, props3))); } }); // node_modules/ramda/src/negate.js var require_negate = __commonJS({ "node_modules/ramda/src/negate.js"(exports, module) { var _curry12 = require_curry1(); var negate3 = /* @__PURE__ */ _curry12(function negate4(n2) { return -n2; }); module.exports = negate3; } }); // node_modules/ramda/src/none.js var require_none = __commonJS({ "node_modules/ramda/src/none.js"(exports, module) { var _complement2 = require_complement2(); var _curry22 = require_curry2(); var all3 = require_all(); var none4 = /* @__PURE__ */ _curry22(function none5(fn, input) { return all3(_complement2(fn), input); }); module.exports = none4; } }); // node_modules/ramda/src/nthArg.js var require_nthArg = __commonJS({ "node_modules/ramda/src/nthArg.js"(exports, module) { var _curry12 = require_curry1(); var curryN3 = require_curryN2(); var nth3 = require_nth(); var nthArg3 = /* @__PURE__ */ _curry12(function nthArg4(n2) { var arity = n2 < 0 ? 1 : n2 + 1; return curryN3(arity, function() { return nth3(n2, arguments); }); }); module.exports = nthArg3; } }); // node_modules/ramda/src/o.js var require_o = __commonJS({ "node_modules/ramda/src/o.js"(exports, module) { var _curry32 = require_curry3(); var o3 = /* @__PURE__ */ _curry32(function o4(f, g2, x) { return f(g2(x)); }); module.exports = o3; } }); // node_modules/ramda/src/internal/_of.js var require_of = __commonJS({ "node_modules/ramda/src/internal/_of.js"(exports, module) { function _of2(x) { return [x]; } module.exports = _of2; } }); // node_modules/ramda/src/of.js var require_of2 = __commonJS({ "node_modules/ramda/src/of.js"(exports, module) { var _curry12 = require_curry1(); var _of2 = require_of(); var of3 = /* @__PURE__ */ _curry12(_of2); module.exports = of3; } }); // node_modules/ramda/src/omit.js var require_omit = __commonJS({ "node_modules/ramda/src/omit.js"(exports, module) { var _curry22 = require_curry2(); var omit3 = /* @__PURE__ */ _curry22(function omit4(names, obj) { var result = {}; var index = {}; var idx = 0; var len = names.length; while (idx < len) { index[names[idx]] = 1; idx += 1; } for (var prop4 in obj) { if (!index.hasOwnProperty(prop4)) { result[prop4] = obj[prop4]; } } return result; }); module.exports = omit3; } }); // node_modules/ramda/src/on.js var require_on = __commonJS({ "node_modules/ramda/src/on.js"(exports, module) { var curryN3 = require_curryN(); var on3 = /* @__PURE__ */ curryN3(4, [], function on4(f, g2, a, b) { return f(g2(a), g2(b)); }); module.exports = on3; } }); // node_modules/ramda/src/once.js var require_once = __commonJS({ "node_modules/ramda/src/once.js"(exports, module) { var _arity2 = require_arity(); var _curry12 = require_curry1(); var once3 = /* @__PURE__ */ _curry12(function once4(fn) { var called = false; var result; return _arity2(fn.length, function() { if (called) { return result; } called = true; result = fn.apply(this, arguments); return result; }); }); module.exports = once3; } }); // node_modules/ramda/src/internal/_assertPromise.js var require_assertPromise = __commonJS({ "node_modules/ramda/src/internal/_assertPromise.js"(exports, module) { var _isFunction2 = require_isFunction(); var _toString2 = require_toString(); function _assertPromise2(name, p) { if (p == null || !_isFunction2(p.then)) { throw new TypeError("`" + name + "` expected a Promise, received " + _toString2(p, [])); } } module.exports = _assertPromise2; } }); // node_modules/ramda/src/otherwise.js var require_otherwise = __commonJS({ "node_modules/ramda/src/otherwise.js"(exports, module) { var _curry22 = require_curry2(); var _assertPromise2 = require_assertPromise(); var otherwise3 = /* @__PURE__ */ _curry22(function otherwise4(f, p) { _assertPromise2("otherwise", p); return p.then(null, f); }); module.exports = otherwise3; } }); // node_modules/ramda/src/over.js var require_over = __commonJS({ "node_modules/ramda/src/over.js"(exports, module) { var _curry32 = require_curry3(); var Identity2 = function(x) { return { value: x, map: function(f) { return Identity2(f(x)); } }; }; var over3 = /* @__PURE__ */ _curry32(function over4(lens3, f, x) { return lens3(function(y) { return Identity2(f(y)); })(x).value; }); module.exports = over3; } }); // node_modules/ramda/src/pair.js var require_pair = __commonJS({ "node_modules/ramda/src/pair.js"(exports, module) { var _curry22 = require_curry2(); var pair3 = /* @__PURE__ */ _curry22(function pair4(fst, snd) { return [fst, snd]; }); module.exports = pair3; } }); // node_modules/ramda/src/internal/_createPartialApplicator.js var require_createPartialApplicator = __commonJS({ "node_modules/ramda/src/internal/_createPartialApplicator.js"(exports, module) { var _arity2 = require_arity(); var _curry22 = require_curry2(); function _createPartialApplicator2(concat4) { return _curry22(function(fn, args) { return _arity2(Math.max(0, fn.length - args.length), function() { return fn.apply(this, concat4(args, arguments)); }); }); } module.exports = _createPartialApplicator2; } }); // node_modules/ramda/src/partial.js var require_partial = __commonJS({ "node_modules/ramda/src/partial.js"(exports, module) { var _concat2 = require_concat(); var _createPartialApplicator2 = require_createPartialApplicator(); var partial2 = /* @__PURE__ */ _createPartialApplicator2(_concat2); module.exports = partial2; } }); // node_modules/ramda/src/partialRight.js var require_partialRight = __commonJS({ "node_modules/ramda/src/partialRight.js"(exports, module) { var _concat2 = require_concat(); var _createPartialApplicator2 = require_createPartialApplicator(); var flip3 = require_flip(); var partialRight2 = /* @__PURE__ */ _createPartialApplicator2( /* @__PURE__ */ flip3(_concat2) ); module.exports = partialRight2; } }); // node_modules/ramda/src/partition.js var require_partition = __commonJS({ "node_modules/ramda/src/partition.js"(exports, module) { var filter3 = require_filter2(); var juxt3 = require_juxt(); var reject3 = require_reject(); var partition2 = /* @__PURE__ */ juxt3([filter3, reject3]); module.exports = partition2; } }); // node_modules/ramda/src/pathEq.js var require_pathEq = __commonJS({ "node_modules/ramda/src/pathEq.js"(exports, module) { var _curry32 = require_curry3(); var equals4 = require_equals2(); var path3 = require_path(); var pathEq3 = /* @__PURE__ */ _curry32(function pathEq4(_path, val, obj) { return equals4(path3(_path, obj), val); }); module.exports = pathEq3; } }); // node_modules/ramda/src/pathOr.js var require_pathOr = __commonJS({ "node_modules/ramda/src/pathOr.js"(exports, module) { var _curry32 = require_curry3(); var defaultTo3 = require_defaultTo(); var path3 = require_path(); var pathOr3 = /* @__PURE__ */ _curry32(function pathOr4(d, p, obj) { return defaultTo3(d, path3(p, obj)); }); module.exports = pathOr3; } }); // node_modules/ramda/src/pathSatisfies.js var require_pathSatisfies = __commonJS({ "node_modules/ramda/src/pathSatisfies.js"(exports, module) { var _curry32 = require_curry3(); var path3 = require_path(); var pathSatisfies3 = /* @__PURE__ */ _curry32(function pathSatisfies4(pred, propPath, obj) { return pred(path3(propPath, obj)); }); module.exports = pathSatisfies3; } }); // node_modules/ramda/src/pick.js var require_pick = __commonJS({ "node_modules/ramda/src/pick.js"(exports, module) { var _curry22 = require_curry2(); var pick4 = /* @__PURE__ */ _curry22(function pick5(names, obj) { var result = {}; var idx = 0; while (idx < names.length) { if (names[idx] in obj) { result[names[idx]] = obj[names[idx]]; } idx += 1; } return result; }); module.exports = pick4; } }); // node_modules/ramda/src/pickAll.js var require_pickAll = __commonJS({ "node_modules/ramda/src/pickAll.js"(exports, module) { var _curry22 = require_curry2(); var pickAll3 = /* @__PURE__ */ _curry22(function pickAll4(names, obj) { var result = {}; var idx = 0; var len = names.length; while (idx < len) { var name = names[idx]; result[name] = obj[name]; idx += 1; } return result; }); module.exports = pickAll3; } }); // node_modules/ramda/src/pickBy.js var require_pickBy = __commonJS({ "node_modules/ramda/src/pickBy.js"(exports, module) { var _curry22 = require_curry2(); var pickBy3 = /* @__PURE__ */ _curry22(function pickBy4(test3, obj) { var result = {}; for (var prop4 in obj) { if (test3(obj[prop4], prop4, obj)) { result[prop4] = obj[prop4]; } } return result; }); module.exports = pickBy3; } }); // node_modules/ramda/src/prepend.js var require_prepend = __commonJS({ "node_modules/ramda/src/prepend.js"(exports, module) { var _concat2 = require_concat(); var _curry22 = require_curry2(); var prepend3 = /* @__PURE__ */ _curry22(function prepend4(el, list) { return _concat2([el], list); }); module.exports = prepend3; } }); // node_modules/ramda/src/product.js var require_product = __commonJS({ "node_modules/ramda/src/product.js"(exports, module) { var multiply3 = require_multiply(); var reduce2 = require_reduce2(); var product2 = /* @__PURE__ */ reduce2(multiply3, 1); module.exports = product2; } }); // node_modules/ramda/src/useWith.js var require_useWith = __commonJS({ "node_modules/ramda/src/useWith.js"(exports, module) { var _curry22 = require_curry2(); var curryN3 = require_curryN2(); var useWith3 = /* @__PURE__ */ _curry22(function useWith4(fn, transformers) { return curryN3(transformers.length, function() { var args = []; var idx = 0; while (idx < transformers.length) { args.push(transformers[idx].call(this, arguments[idx])); idx += 1; } return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); }); }); module.exports = useWith3; } }); // node_modules/ramda/src/project.js var require_project = __commonJS({ "node_modules/ramda/src/project.js"(exports, module) { var _map2 = require_map(); var identity2 = require_identity2(); var pickAll3 = require_pickAll(); var useWith3 = require_useWith(); var project2 = /* @__PURE__ */ useWith3(_map2, [pickAll3, identity2]); module.exports = project2; } }); // node_modules/ramda/src/internal/_promap.js var require_promap = __commonJS({ "node_modules/ramda/src/internal/_promap.js"(exports, module) { function _promap2(f, g2, profunctor) { return function(x) { return g2(profunctor(f(x))); }; } module.exports = _promap2; } }); // node_modules/ramda/src/internal/_xpromap.js var require_xpromap = __commonJS({ "node_modules/ramda/src/internal/_xpromap.js"(exports, module) { var _curry32 = require_curry3(); var _xfBase = require_xfBase(); var _promap2 = require_promap(); var XPromap2 = /* @__PURE__ */ function() { function XPromap3(f, g2, xf) { this.xf = xf; this.f = f; this.g = g2; } XPromap3.prototype["@@transducer/init"] = _xfBase.init; XPromap3.prototype["@@transducer/result"] = _xfBase.result; XPromap3.prototype["@@transducer/step"] = function(result, input) { return this.xf["@@transducer/step"](result, _promap2(this.f, this.g, input)); }; return XPromap3; }(); var _xpromap3 = /* @__PURE__ */ _curry32(function _xpromap4(f, g2, xf) { return new XPromap2(f, g2, xf); }); module.exports = _xpromap3; } }); // node_modules/ramda/src/promap.js var require_promap2 = __commonJS({ "node_modules/ramda/src/promap.js"(exports, module) { var _curry32 = require_curry3(); var _dispatchable2 = require_dispatchable(); var _promap2 = require_promap(); var _xpromap3 = require_xpromap(); var promap2 = /* @__PURE__ */ _curry32( /* @__PURE__ */ _dispatchable2(["fantasy-land/promap", "promap"], _xpromap3, _promap2) ); module.exports = promap2; } }); // node_modules/ramda/src/propEq.js var require_propEq = __commonJS({ "node_modules/ramda/src/propEq.js"(exports, module) { var _curry32 = require_curry3(); var prop4 = require_prop(); var equals4 = require_equals2(); var propEq3 = /* @__PURE__ */ _curry32(function propEq4(name, val, obj) { return equals4(val, prop4(name, obj)); }); module.exports = propEq3; } }); // node_modules/ramda/src/propIs.js var require_propIs = __commonJS({ "node_modules/ramda/src/propIs.js"(exports, module) { var _curry32 = require_curry3(); var prop4 = require_prop(); var is4 = require_is(); var propIs3 = /* @__PURE__ */ _curry32(function propIs4(type3, name, obj) { return is4(type3, prop4(name, obj)); }); module.exports = propIs3; } }); // node_modules/ramda/src/propOr.js var require_propOr = __commonJS({ "node_modules/ramda/src/propOr.js"(exports, module) { var _curry32 = require_curry3(); var defaultTo3 = require_defaultTo(); var prop4 = require_prop(); var propOr3 = /* @__PURE__ */ _curry32(function propOr4(val, p, obj) { return defaultTo3(val, prop4(p, obj)); }); module.exports = propOr3; } }); // node_modules/ramda/src/propSatisfies.js var require_propSatisfies = __commonJS({ "node_modules/ramda/src/propSatisfies.js"(exports, module) { var _curry32 = require_curry3(); var prop4 = require_prop(); var propSatisfies3 = /* @__PURE__ */ _curry32(function propSatisfies4(pred, name, obj) { return pred(prop4(name, obj)); }); module.exports = propSatisfies3; } }); // node_modules/ramda/src/props.js var require_props = __commonJS({ "node_modules/ramda/src/props.js"(exports, module) { var _curry22 = require_curry2(); var path3 = require_path(); var props3 = /* @__PURE__ */ _curry22(function props4(ps, obj) { return ps.map(function(p) { return path3([p], obj); }); }); module.exports = props3; } }); // node_modules/ramda/src/range.js var require_range = __commonJS({ "node_modules/ramda/src/range.js"(exports, module) { var _curry22 = require_curry2(); var _isNumber2 = require_isNumber(); var range4 = /* @__PURE__ */ _curry22(function range5(from, to) { if (!(_isNumber2(from) && _isNumber2(to))) { throw new TypeError("Both arguments to range must be numbers"); } var result = []; var n2 = from; while (n2 < to) { result.push(n2); n2 += 1; } return result; }); module.exports = range4; } }); // node_modules/ramda/src/reduceRight.js var require_reduceRight = __commonJS({ "node_modules/ramda/src/reduceRight.js"(exports, module) { var _curry32 = require_curry3(); var reduceRight3 = /* @__PURE__ */ _curry32(function reduceRight4(fn, acc, list) { var idx = list.length - 1; while (idx >= 0) { acc = fn(list[idx], acc); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } idx -= 1; } return acc; }); module.exports = reduceRight3; } }); // node_modules/ramda/src/reduceWhile.js var require_reduceWhile = __commonJS({ "node_modules/ramda/src/reduceWhile.js"(exports, module) { var _curryN2 = require_curryN(); var _reduce2 = require_reduce(); var _reduced2 = require_reduced(); var reduceWhile2 = /* @__PURE__ */ _curryN2(4, [], function _reduceWhile2(pred, fn, a, list) { return _reduce2(function(acc, x) { return pred(acc, x) ? fn(acc, x) : _reduced2(acc); }, a, list); }); module.exports = reduceWhile2; } }); // node_modules/ramda/src/reduced.js var require_reduced2 = __commonJS({ "node_modules/ramda/src/reduced.js"(exports, module) { var _curry12 = require_curry1(); var _reduced2 = require_reduced(); var reduced2 = /* @__PURE__ */ _curry12(_reduced2); module.exports = reduced2; } }); // node_modules/ramda/src/times.js var require_times = __commonJS({ "node_modules/ramda/src/times.js"(exports, module) { var _curry22 = require_curry2(); var times3 = /* @__PURE__ */ _curry22(function times4(fn, n2) { var len = Number(n2); var idx = 0; var list; if (len < 0 || isNaN(len)) { throw new RangeError("n must be a non-negative number"); } list = new Array(len); while (idx < len) { list[idx] = fn(idx); idx += 1; } return list; }); module.exports = times3; } }); // node_modules/ramda/src/repeat.js var require_repeat = __commonJS({ "node_modules/ramda/src/repeat.js"(exports, module) { var _curry22 = require_curry2(); var always3 = require_always(); var times3 = require_times(); var repeat3 = /* @__PURE__ */ _curry22(function repeat4(value, n2) { return times3(always3(value), n2); }); module.exports = repeat3; } }); // node_modules/ramda/src/replace.js var require_replace = __commonJS({ "node_modules/ramda/src/replace.js"(exports, module) { var _curry32 = require_curry3(); var replace3 = /* @__PURE__ */ _curry32(function replace4(regex, replacement, str) { return str.replace(regex, replacement); }); module.exports = replace3; } }); // node_modules/ramda/src/scan.js var require_scan2 = __commonJS({ "node_modules/ramda/src/scan.js"(exports, module) { var _curry32 = require_curry3(); var scan3 = /* @__PURE__ */ _curry32(function scan4(fn, acc, list) { var idx = 0; var len = list.length; var result = [acc]; while (idx < len) { acc = fn(acc, list[idx]); result[idx + 1] = acc; idx += 1; } return result; }); module.exports = scan3; } }); // node_modules/ramda/src/sequence.js var require_sequence = __commonJS({ "node_modules/ramda/src/sequence.js"(exports, module) { var _curry22 = require_curry2(); var ap3 = require_ap(); var map4 = require_map2(); var prepend3 = require_prepend(); var reduceRight3 = require_reduceRight(); var sequence3 = /* @__PURE__ */ _curry22(function sequence4(of3, traversable) { return typeof traversable.sequence === "function" ? traversable.sequence(of3) : reduceRight3(function(x, acc) { return ap3(map4(prepend3, x), acc); }, of3([]), traversable); }); module.exports = sequence3; } }); // node_modules/ramda/src/set.js var require_set = __commonJS({ "node_modules/ramda/src/set.js"(exports, module) { var _curry32 = require_curry3(); var always3 = require_always(); var over3 = require_over(); var set4 = /* @__PURE__ */ _curry32(function set5(lens3, v, x) { return over3(lens3, always3(v), x); }); module.exports = set4; } }); // node_modules/ramda/src/sort.js var require_sort = __commonJS({ "node_modules/ramda/src/sort.js"(exports, module) { var _curry22 = require_curry2(); var sort3 = /* @__PURE__ */ _curry22(function sort4(comparator3, list) { return Array.prototype.slice.call(list, 0).sort(comparator3); }); module.exports = sort3; } }); // node_modules/ramda/src/sortBy.js var require_sortBy = __commonJS({ "node_modules/ramda/src/sortBy.js"(exports, module) { var _curry22 = require_curry2(); var sortBy3 = /* @__PURE__ */ _curry22(function sortBy4(fn, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); }); module.exports = sortBy3; } }); // node_modules/ramda/src/sortWith.js var require_sortWith = __commonJS({ "node_modules/ramda/src/sortWith.js"(exports, module) { var _curry22 = require_curry2(); var sortWith3 = /* @__PURE__ */ _curry22(function sortWith4(fns, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var result = 0; var i = 0; while (result === 0 && i < fns.length) { result = fns[i](a, b); i += 1; } return result; }); }); module.exports = sortWith3; } }); // node_modules/ramda/src/split.js var require_split = __commonJS({ "node_modules/ramda/src/split.js"(exports, module) { var invoker3 = require_invoker(); var split2 = /* @__PURE__ */ invoker3(1, "split"); module.exports = split2; } }); // node_modules/ramda/src/splitAt.js var require_splitAt = __commonJS({ "node_modules/ramda/src/splitAt.js"(exports, module) { var _curry22 = require_curry2(); var length3 = require_length(); var slice4 = require_slice(); var splitAt3 = /* @__PURE__ */ _curry22(function splitAt4(index, array) { return [slice4(0, index, array), slice4(index, length3(array), array)]; }); module.exports = splitAt3; } }); // node_modules/ramda/src/splitEvery.js var require_splitEvery = __commonJS({ "node_modules/ramda/src/splitEvery.js"(exports, module) { var _curry22 = require_curry2(); var slice4 = require_slice(); var splitEvery3 = /* @__PURE__ */ _curry22(function splitEvery4(n2, list) { if (n2 <= 0) { throw new Error("First argument to splitEvery must be a positive integer"); } var result = []; var idx = 0; while (idx < list.length) { result.push(slice4(idx, idx += n2, list)); } return result; }); module.exports = splitEvery3; } }); // node_modules/ramda/src/splitWhen.js var require_splitWhen = __commonJS({ "node_modules/ramda/src/splitWhen.js"(exports, module) { var _curry22 = require_curry2(); var splitWhen3 = /* @__PURE__ */ _curry22(function splitWhen4(pred, list) { var idx = 0; var len = list.length; var prefix = []; while (idx < len && !pred(list[idx])) { prefix.push(list[idx]); idx += 1; } return [prefix, Array.prototype.slice.call(list, idx)]; }); module.exports = splitWhen3; } }); // node_modules/ramda/src/splitWhenever.js var require_splitWhenever = __commonJS({ "node_modules/ramda/src/splitWhenever.js"(exports, module) { var _curryN2 = require_curryN(); var splitWhenever3 = /* @__PURE__ */ _curryN2(2, [], function splitWhenever4(pred, list) { var acc = []; var curr = []; for (var i = 0; i < list.length; i = i + 1) { if (!pred(list[i])) { curr.push(list[i]); } if ((i < list.length - 1 && pred(list[i + 1]) || i === list.length - 1) && curr.length > 0) { acc.push(curr); curr = []; } } return acc; }); module.exports = splitWhenever3; } }); // node_modules/ramda/src/startsWith.js var require_startsWith = __commonJS({ "node_modules/ramda/src/startsWith.js"(exports, module) { var _curry22 = require_curry2(); var equals4 = require_equals2(); var take3 = require_take(); var startsWith2 = /* @__PURE__ */ _curry22(function(prefix, list) { return equals4(take3(prefix.length, list), prefix); }); module.exports = startsWith2; } }); // node_modules/ramda/src/subtract.js var require_subtract = __commonJS({ "node_modules/ramda/src/subtract.js"(exports, module) { var _curry22 = require_curry2(); var subtract3 = /* @__PURE__ */ _curry22(function subtract4(a, b) { return Number(a) - Number(b); }); module.exports = subtract3; } }); // node_modules/ramda/src/symmetricDifference.js var require_symmetricDifference = __commonJS({ "node_modules/ramda/src/symmetricDifference.js"(exports, module) { var _curry22 = require_curry2(); var concat4 = require_concat2(); var difference4 = require_difference(); var symmetricDifference3 = /* @__PURE__ */ _curry22(function symmetricDifference4(list1, list2) { return concat4(difference4(list1, list2), difference4(list2, list1)); }); module.exports = symmetricDifference3; } }); // node_modules/ramda/src/symmetricDifferenceWith.js var require_symmetricDifferenceWith = __commonJS({ "node_modules/ramda/src/symmetricDifferenceWith.js"(exports, module) { var _curry32 = require_curry3(); var concat4 = require_concat2(); var differenceWith3 = require_differenceWith(); var symmetricDifferenceWith3 = /* @__PURE__ */ _curry32(function symmetricDifferenceWith4(pred, list1, list2) { return concat4(differenceWith3(pred, list1, list2), differenceWith3(pred, list2, list1)); }); module.exports = symmetricDifferenceWith3; } }); // node_modules/ramda/src/takeLastWhile.js var require_takeLastWhile = __commonJS({ "node_modules/ramda/src/takeLastWhile.js"(exports, module) { var _curry22 = require_curry2(); var slice4 = require_slice(); var takeLastWhile3 = /* @__PURE__ */ _curry22(function takeLastWhile4(fn, xs) { var idx = xs.length - 1; while (idx >= 0 && fn(xs[idx])) { idx -= 1; } return slice4(idx + 1, Infinity, xs); }); module.exports = takeLastWhile3; } }); // node_modules/ramda/src/internal/_xtakeWhile.js var require_xtakeWhile = __commonJS({ "node_modules/ramda/src/internal/_xtakeWhile.js"(exports, module) { var _curry22 = require_curry2(); var _reduced2 = require_reduced(); var _xfBase = require_xfBase(); var XTakeWhile2 = /* @__PURE__ */ function() { function XTakeWhile3(f, xf) { this.xf = xf; this.f = f; } XTakeWhile3.prototype["@@transducer/init"] = _xfBase.init; XTakeWhile3.prototype["@@transducer/result"] = _xfBase.result; XTakeWhile3.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.xf["@@transducer/step"](result, input) : _reduced2(result); }; return XTakeWhile3; }(); var _xtakeWhile3 = /* @__PURE__ */ _curry22(function _xtakeWhile4(f, xf) { return new XTakeWhile2(f, xf); }); module.exports = _xtakeWhile3; } }); // node_modules/ramda/src/takeWhile.js var require_takeWhile = __commonJS({ "node_modules/ramda/src/takeWhile.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xtakeWhile3 = require_xtakeWhile(); var slice4 = require_slice(); var takeWhile3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2(["takeWhile"], _xtakeWhile3, function takeWhile4(fn, xs) { var idx = 0; var len = xs.length; while (idx < len && fn(xs[idx])) { idx += 1; } return slice4(0, idx, xs); }) ); module.exports = takeWhile3; } }); // node_modules/ramda/src/internal/_xtap.js var require_xtap = __commonJS({ "node_modules/ramda/src/internal/_xtap.js"(exports, module) { var _curry22 = require_curry2(); var _xfBase = require_xfBase(); var XTap2 = /* @__PURE__ */ function() { function XTap3(f, xf) { this.xf = xf; this.f = f; } XTap3.prototype["@@transducer/init"] = _xfBase.init; XTap3.prototype["@@transducer/result"] = _xfBase.result; XTap3.prototype["@@transducer/step"] = function(result, input) { this.f(input); return this.xf["@@transducer/step"](result, input); }; return XTap3; }(); var _xtap3 = /* @__PURE__ */ _curry22(function _xtap4(f, xf) { return new XTap2(f, xf); }); module.exports = _xtap3; } }); // node_modules/ramda/src/tap.js var require_tap = __commonJS({ "node_modules/ramda/src/tap.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _xtap3 = require_xtap(); var tap3 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xtap3, function tap4(fn, x) { fn(x); return x; }) ); module.exports = tap3; } }); // node_modules/ramda/src/internal/_isRegExp.js var require_isRegExp = __commonJS({ "node_modules/ramda/src/internal/_isRegExp.js"(exports, module) { function _isRegExp2(x) { return Object.prototype.toString.call(x) === "[object RegExp]"; } module.exports = _isRegExp2; } }); // node_modules/ramda/src/test.js var require_test = __commonJS({ "node_modules/ramda/src/test.js"(exports, module) { var _cloneRegExp2 = require_cloneRegExp(); var _curry22 = require_curry2(); var _isRegExp2 = require_isRegExp(); var toString4 = require_toString2(); var test3 = /* @__PURE__ */ _curry22(function test4(pattern, str) { if (!_isRegExp2(pattern)) { throw new TypeError("\u2018test\u2019 requires a value of type RegExp as its first argument; received " + toString4(pattern)); } return _cloneRegExp2(pattern).test(str); }); module.exports = test3; } }); // node_modules/ramda/src/andThen.js var require_andThen = __commonJS({ "node_modules/ramda/src/andThen.js"(exports, module) { var _curry22 = require_curry2(); var _assertPromise2 = require_assertPromise(); var andThen3 = /* @__PURE__ */ _curry22(function andThen4(f, p) { _assertPromise2("andThen", p); return p.then(f); }); module.exports = andThen3; } }); // node_modules/ramda/src/toLower.js var require_toLower = __commonJS({ "node_modules/ramda/src/toLower.js"(exports, module) { var invoker3 = require_invoker(); var toLower2 = /* @__PURE__ */ invoker3(0, "toLowerCase"); module.exports = toLower2; } }); // node_modules/ramda/src/toPairs.js var require_toPairs = __commonJS({ "node_modules/ramda/src/toPairs.js"(exports, module) { var _curry12 = require_curry1(); var _has2 = require_has(); var toPairs3 = /* @__PURE__ */ _curry12(function toPairs4(obj) { var pairs = []; for (var prop4 in obj) { if (_has2(prop4, obj)) { pairs[pairs.length] = [prop4, obj[prop4]]; } } return pairs; }); module.exports = toPairs3; } }); // node_modules/ramda/src/toPairsIn.js var require_toPairsIn = __commonJS({ "node_modules/ramda/src/toPairsIn.js"(exports, module) { var _curry12 = require_curry1(); var toPairsIn3 = /* @__PURE__ */ _curry12(function toPairsIn4(obj) { var pairs = []; for (var prop4 in obj) { pairs[pairs.length] = [prop4, obj[prop4]]; } return pairs; }); module.exports = toPairsIn3; } }); // node_modules/ramda/src/toUpper.js var require_toUpper = __commonJS({ "node_modules/ramda/src/toUpper.js"(exports, module) { var invoker3 = require_invoker(); var toUpper2 = /* @__PURE__ */ invoker3(0, "toUpperCase"); module.exports = toUpper2; } }); // node_modules/ramda/src/transduce.js var require_transduce = __commonJS({ "node_modules/ramda/src/transduce.js"(exports, module) { var _reduce2 = require_reduce(); var _xwrap2 = require_xwrap(); var curryN3 = require_curryN2(); var transduce3 = /* @__PURE__ */ curryN3(4, function transduce4(xf, fn, acc, list) { return _reduce2(xf(typeof fn === "function" ? _xwrap2(fn) : fn), acc, list); }); module.exports = transduce3; } }); // node_modules/ramda/src/transpose.js var require_transpose = __commonJS({ "node_modules/ramda/src/transpose.js"(exports, module) { var _curry12 = require_curry1(); var transpose3 = /* @__PURE__ */ _curry12(function transpose4(outerlist) { var i = 0; var result = []; while (i < outerlist.length) { var innerlist = outerlist[i]; var j = 0; while (j < innerlist.length) { if (typeof result[j] === "undefined") { result[j] = []; } result[j].push(innerlist[j]); j += 1; } i += 1; } return result; }); module.exports = transpose3; } }); // node_modules/ramda/src/traverse.js var require_traverse = __commonJS({ "node_modules/ramda/src/traverse.js"(exports, module) { var _curry32 = require_curry3(); var map4 = require_map2(); var sequence3 = require_sequence(); var traverse3 = /* @__PURE__ */ _curry32(function traverse4(of3, f, traversable) { return typeof traversable["fantasy-land/traverse"] === "function" ? traversable["fantasy-land/traverse"](f, of3) : typeof traversable.traverse === "function" ? traversable.traverse(f, of3) : sequence3(of3, map4(f, traversable)); }); module.exports = traverse3; } }); // node_modules/ramda/src/trim.js var require_trim = __commonJS({ "node_modules/ramda/src/trim.js"(exports, module) { var _curry12 = require_curry1(); var ws2 = " \n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; var zeroWidth2 = "\u200B"; var hasProtoTrim2 = typeof String.prototype.trim === "function"; var trim4 = !hasProtoTrim2 || /* @__PURE__ */ ws2.trim() || !/* @__PURE__ */ zeroWidth2.trim() ? /* @__PURE__ */ _curry12(function trim5(str) { var beginRx = new RegExp("^[" + ws2 + "][" + ws2 + "]*"); var endRx = new RegExp("[" + ws2 + "][" + ws2 + "]*$"); return str.replace(beginRx, "").replace(endRx, ""); }) : /* @__PURE__ */ _curry12(function trim5(str) { return str.trim(); }); module.exports = trim4; } }); // node_modules/ramda/src/tryCatch.js var require_tryCatch = __commonJS({ "node_modules/ramda/src/tryCatch.js"(exports, module) { var _arity2 = require_arity(); var _concat2 = require_concat(); var _curry22 = require_curry2(); var tryCatch2 = /* @__PURE__ */ _curry22(function _tryCatch2(tryer, catcher) { return _arity2(tryer.length, function() { try { return tryer.apply(this, arguments); } catch (e) { return catcher.apply(this, _concat2([e], arguments)); } }); }); module.exports = tryCatch2; } }); // node_modules/ramda/src/unapply.js var require_unapply = __commonJS({ "node_modules/ramda/src/unapply.js"(exports, module) { var _curry12 = require_curry1(); var unapply3 = /* @__PURE__ */ _curry12(function unapply4(fn) { return function() { return fn(Array.prototype.slice.call(arguments, 0)); }; }); module.exports = unapply3; } }); // node_modules/ramda/src/unary.js var require_unary = __commonJS({ "node_modules/ramda/src/unary.js"(exports, module) { var _curry12 = require_curry1(); var nAry3 = require_nAry(); var unary3 = /* @__PURE__ */ _curry12(function unary4(fn) { return nAry3(1, fn); }); module.exports = unary3; } }); // node_modules/ramda/src/uncurryN.js var require_uncurryN = __commonJS({ "node_modules/ramda/src/uncurryN.js"(exports, module) { var _curry22 = require_curry2(); var curryN3 = require_curryN2(); var uncurryN3 = /* @__PURE__ */ _curry22(function uncurryN4(depth, fn) { return curryN3(depth, function() { var currentDepth = 1; var value = fn; var idx = 0; var endIdx; while (currentDepth <= depth && typeof value === "function") { endIdx = currentDepth === depth ? arguments.length : idx + value.length; value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx)); currentDepth += 1; idx = endIdx; } return value; }); }); module.exports = uncurryN3; } }); // node_modules/ramda/src/unfold.js var require_unfold = __commonJS({ "node_modules/ramda/src/unfold.js"(exports, module) { var _curry22 = require_curry2(); var unfold3 = /* @__PURE__ */ _curry22(function unfold4(fn, seed) { var pair3 = fn(seed); var result = []; while (pair3 && pair3.length) { result[result.length] = pair3[0]; pair3 = fn(pair3[1]); } return result; }); module.exports = unfold3; } }); // node_modules/ramda/src/union.js var require_union = __commonJS({ "node_modules/ramda/src/union.js"(exports, module) { var _concat2 = require_concat(); var _curry22 = require_curry2(); var compose3 = require_compose(); var uniq3 = require_uniq(); var union2 = /* @__PURE__ */ _curry22( /* @__PURE__ */ compose3(uniq3, _concat2) ); module.exports = union2; } }); // node_modules/ramda/src/internal/_xuniqWith.js var require_xuniqWith = __commonJS({ "node_modules/ramda/src/internal/_xuniqWith.js"(exports, module) { var _curry22 = require_curry2(); var _includesWith2 = require_includesWith(); var _xfBase = require_xfBase(); var XUniqWith2 = /* @__PURE__ */ function() { function XUniqWith3(pred, xf) { this.xf = xf; this.pred = pred; this.items = []; } XUniqWith3.prototype["@@transducer/init"] = _xfBase.init; XUniqWith3.prototype["@@transducer/result"] = _xfBase.result; XUniqWith3.prototype["@@transducer/step"] = function(result, input) { if (_includesWith2(this.pred, input, this.items)) { return result; } else { this.items.push(input); return this.xf["@@transducer/step"](result, input); } }; return XUniqWith3; }(); var _xuniqWith3 = /* @__PURE__ */ _curry22(function _xuniqWith4(pred, xf) { return new XUniqWith2(pred, xf); }); module.exports = _xuniqWith3; } }); // node_modules/ramda/src/uniqWith.js var require_uniqWith = __commonJS({ "node_modules/ramda/src/uniqWith.js"(exports, module) { var _curry22 = require_curry2(); var _dispatchable2 = require_dispatchable(); var _includesWith2 = require_includesWith(); var _xuniqWith3 = require_xuniqWith(); var uniqWith2 = /* @__PURE__ */ _curry22( /* @__PURE__ */ _dispatchable2([], _xuniqWith3, function(pred, list) { var idx = 0; var len = list.length; var result = []; var item; while (idx < len) { item = list[idx]; if (!_includesWith2(pred, item, result)) { result[result.length] = item; } idx += 1; } return result; }) ); module.exports = uniqWith2; } }); // node_modules/ramda/src/unionWith.js var require_unionWith = __commonJS({ "node_modules/ramda/src/unionWith.js"(exports, module) { var _concat2 = require_concat(); var _curry32 = require_curry3(); var uniqWith2 = require_uniqWith(); var unionWith3 = /* @__PURE__ */ _curry32(function unionWith4(pred, list1, list2) { return uniqWith2(pred, _concat2(list1, list2)); }); module.exports = unionWith3; } }); // node_modules/ramda/src/unless.js var require_unless = __commonJS({ "node_modules/ramda/src/unless.js"(exports, module) { var _curry32 = require_curry3(); var unless3 = /* @__PURE__ */ _curry32(function unless4(pred, whenFalseFn, x) { return pred(x) ? x : whenFalseFn(x); }); module.exports = unless3; } }); // node_modules/ramda/src/unnest.js var require_unnest = __commonJS({ "node_modules/ramda/src/unnest.js"(exports, module) { var _identity2 = require_identity(); var chain3 = require_chain(); var unnest2 = /* @__PURE__ */ chain3(_identity2); module.exports = unnest2; } }); // node_modules/ramda/src/until.js var require_until = __commonJS({ "node_modules/ramda/src/until.js"(exports, module) { var _curry32 = require_curry3(); var until3 = /* @__PURE__ */ _curry32(function until4(pred, fn, init2) { var val = init2; while (!pred(val)) { val = fn(val); } return val; }); module.exports = until3; } }); // node_modules/ramda/src/unwind.js var require_unwind = __commonJS({ "node_modules/ramda/src/unwind.js"(exports, module) { var _curry22 = require_curry2(); var _isArray2 = require_isArray(); var _map2 = require_map(); var _assoc2 = require_assoc(); var unwind2 = /* @__PURE__ */ _curry22(function(key, object) { if (!(key in object && _isArray2(object[key]))) { return [object]; } return _map2(function(item) { return _assoc2(key, item, object); }, object[key]); }); module.exports = unwind2; } }); // node_modules/ramda/src/valuesIn.js var require_valuesIn = __commonJS({ "node_modules/ramda/src/valuesIn.js"(exports, module) { var _curry12 = require_curry1(); var valuesIn3 = /* @__PURE__ */ _curry12(function valuesIn4(obj) { var prop4; var vs = []; for (prop4 in obj) { vs[vs.length] = obj[prop4]; } return vs; }); module.exports = valuesIn3; } }); // node_modules/ramda/src/view.js var require_view = __commonJS({ "node_modules/ramda/src/view.js"(exports, module) { var _curry22 = require_curry2(); var Const2 = function(x) { return { value: x, "fantasy-land/map": function() { return this; } }; }; var view3 = /* @__PURE__ */ _curry22(function view4(lens3, x) { return lens3(Const2)(x).value; }); module.exports = view3; } }); // node_modules/ramda/src/when.js var require_when = __commonJS({ "node_modules/ramda/src/when.js"(exports, module) { var _curry32 = require_curry3(); var when3 = /* @__PURE__ */ _curry32(function when4(pred, whenTrueFn, x) { return pred(x) ? whenTrueFn(x) : x; }); module.exports = when3; } }); // node_modules/ramda/src/where.js var require_where = __commonJS({ "node_modules/ramda/src/where.js"(exports, module) { var _curry22 = require_curry2(); var _has2 = require_has(); var where3 = /* @__PURE__ */ _curry22(function where4(spec, testObj) { for (var prop4 in spec) { if (_has2(prop4, spec) && !spec[prop4](testObj[prop4])) { return false; } } return true; }); module.exports = where3; } }); // node_modules/ramda/src/whereAny.js var require_whereAny = __commonJS({ "node_modules/ramda/src/whereAny.js"(exports, module) { var _curry22 = require_curry2(); var _has2 = require_has(); var whereAny3 = /* @__PURE__ */ _curry22(function whereAny4(spec, testObj) { for (var prop4 in spec) { if (_has2(prop4, spec) && spec[prop4](testObj[prop4])) { return true; } } return false; }); module.exports = whereAny3; } }); // node_modules/ramda/src/whereEq.js var require_whereEq = __commonJS({ "node_modules/ramda/src/whereEq.js"(exports, module) { var _curry22 = require_curry2(); var equals4 = require_equals2(); var map4 = require_map2(); var where3 = require_where(); var whereEq3 = /* @__PURE__ */ _curry22(function whereEq4(spec, testObj) { return where3(map4(equals4, spec), testObj); }); module.exports = whereEq3; } }); // node_modules/ramda/src/without.js var require_without = __commonJS({ "node_modules/ramda/src/without.js"(exports, module) { var _includes2 = require_includes(); var _curry22 = require_curry2(); var flip3 = require_flip(); var reject3 = require_reject(); var without2 = /* @__PURE__ */ _curry22(function(xs, list) { return reject3(flip3(_includes2)(xs), list); }); module.exports = without2; } }); // node_modules/ramda/src/xor.js var require_xor = __commonJS({ "node_modules/ramda/src/xor.js"(exports, module) { var _curry22 = require_curry2(); var xor3 = /* @__PURE__ */ _curry22(function xor4(a, b) { return Boolean(!a ^ !b); }); module.exports = xor3; } }); // node_modules/ramda/src/xprod.js var require_xprod = __commonJS({ "node_modules/ramda/src/xprod.js"(exports, module) { var _curry22 = require_curry2(); var xprod3 = /* @__PURE__ */ _curry22(function xprod4(a, b) { var idx = 0; var ilen = a.length; var j; var jlen = b.length; var result = []; while (idx < ilen) { j = 0; while (j < jlen) { result[result.length] = [a[idx], b[j]]; j += 1; } idx += 1; } return result; }); module.exports = xprod3; } }); // node_modules/ramda/src/zip.js var require_zip = __commonJS({ "node_modules/ramda/src/zip.js"(exports, module) { var _curry22 = require_curry2(); var zip3 = /* @__PURE__ */ _curry22(function zip4(a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = [a[idx], b[idx]]; idx += 1; } return rv; }); module.exports = zip3; } }); // node_modules/ramda/src/zipObj.js var require_zipObj = __commonJS({ "node_modules/ramda/src/zipObj.js"(exports, module) { var _curry22 = require_curry2(); var zipObj3 = /* @__PURE__ */ _curry22(function zipObj4(keys6, values4) { var idx = 0; var len = Math.min(keys6.length, values4.length); var out = {}; while (idx < len) { out[keys6[idx]] = values4[idx]; idx += 1; } return out; }); module.exports = zipObj3; } }); // node_modules/ramda/src/zipWith.js var require_zipWith = __commonJS({ "node_modules/ramda/src/zipWith.js"(exports, module) { var _curry32 = require_curry3(); var zipWith3 = /* @__PURE__ */ _curry32(function zipWith4(fn, a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = fn(a[idx], b[idx]); idx += 1; } return rv; }); module.exports = zipWith3; } }); // node_modules/ramda/src/thunkify.js var require_thunkify = __commonJS({ "node_modules/ramda/src/thunkify.js"(exports, module) { var curryN3 = require_curryN2(); var _curry12 = require_curry1(); var thunkify3 = /* @__PURE__ */ _curry12(function thunkify4(fn) { return curryN3(fn.length, function createThunk() { var fnArgs = arguments; return function invokeThunk() { return fn.apply(this, fnArgs); }; }); }); module.exports = thunkify3; } }); // node_modules/ramda/src/index.js var require_src = __commonJS({ "node_modules/ramda/src/index.js"(exports, module) { module.exports = {}; module.exports.F = require_F(); module.exports.T = require_T(); module.exports.__ = require__(); module.exports.add = require_add(); module.exports.addIndex = require_addIndex(); module.exports.adjust = require_adjust(); module.exports.all = require_all(); module.exports.allPass = require_allPass(); module.exports.always = require_always(); module.exports.and = require_and(); module.exports.any = require_any(); module.exports.anyPass = require_anyPass(); module.exports.ap = require_ap(); module.exports.aperture = require_aperture2(); module.exports.append = require_append(); module.exports.apply = require_apply(); module.exports.applySpec = require_applySpec(); module.exports.applyTo = require_applyTo(); module.exports.ascend = require_ascend(); module.exports.assoc = require_assoc2(); module.exports.assocPath = require_assocPath(); module.exports.binary = require_binary(); module.exports.bind = require_bind(); module.exports.both = require_both(); module.exports.call = require_call(); module.exports.chain = require_chain(); module.exports.clamp = require_clamp(); module.exports.clone = require_clone2(); module.exports.collectBy = require_collectBy(); module.exports.comparator = require_comparator(); module.exports.complement = require_complement(); module.exports.compose = require_compose(); module.exports.composeWith = require_composeWith(); module.exports.concat = require_concat2(); module.exports.cond = require_cond(); module.exports.construct = require_construct(); module.exports.constructN = require_constructN(); module.exports.converge = require_converge(); module.exports.count = require_count(); module.exports.countBy = require_countBy(); module.exports.curry = require_curry(); module.exports.curryN = require_curryN2(); module.exports.dec = require_dec(); module.exports.defaultTo = require_defaultTo(); module.exports.descend = require_descend(); module.exports.difference = require_difference(); module.exports.differenceWith = require_differenceWith(); module.exports.dissoc = require_dissoc2(); module.exports.dissocPath = require_dissocPath(); module.exports.divide = require_divide(); module.exports.drop = require_drop(); module.exports.dropLast = require_dropLast2(); module.exports.dropLastWhile = require_dropLastWhile2(); module.exports.dropRepeats = require_dropRepeats(); module.exports.dropRepeatsWith = require_dropRepeatsWith(); module.exports.dropWhile = require_dropWhile(); module.exports.either = require_either(); module.exports.empty = require_empty(); module.exports.endsWith = require_endsWith(); module.exports.eqBy = require_eqBy(); module.exports.eqProps = require_eqProps(); module.exports.equals = require_equals2(); module.exports.evolve = require_evolve(); module.exports.filter = require_filter2(); module.exports.find = require_find(); module.exports.findIndex = require_findIndex(); module.exports.findLast = require_findLast(); module.exports.findLastIndex = require_findLastIndex(); module.exports.flatten = require_flatten(); module.exports.flip = require_flip(); module.exports.forEach = require_forEach(); module.exports.forEachObjIndexed = require_forEachObjIndexed(); module.exports.fromPairs = require_fromPairs(); module.exports.groupBy = require_groupBy(); module.exports.groupWith = require_groupWith(); module.exports.gt = require_gt(); module.exports.gte = require_gte(); module.exports.has = require_has2(); module.exports.hasIn = require_hasIn(); module.exports.hasPath = require_hasPath(); module.exports.head = require_head(); module.exports.identical = require_identical(); module.exports.identity = require_identity2(); module.exports.ifElse = require_ifElse(); module.exports.inc = require_inc(); module.exports.includes = require_includes2(); module.exports.indexBy = require_indexBy(); module.exports.indexOf = require_indexOf2(); module.exports.init = require_init(); module.exports.innerJoin = require_innerJoin(); module.exports.insert = require_insert(); module.exports.insertAll = require_insertAll(); module.exports.intersection = require_intersection(); module.exports.intersperse = require_intersperse(); module.exports.into = require_into(); module.exports.invert = require_invert(); module.exports.invertObj = require_invertObj(); module.exports.invoker = require_invoker(); module.exports.is = require_is(); module.exports.isEmpty = require_isEmpty(); module.exports.isNil = require_isNil(); module.exports.join = require_join(); module.exports.juxt = require_juxt(); module.exports.keys = require_keys(); module.exports.keysIn = require_keysIn(); module.exports.last = require_last(); module.exports.lastIndexOf = require_lastIndexOf(); module.exports.length = require_length(); module.exports.lens = require_lens(); module.exports.lensIndex = require_lensIndex(); module.exports.lensPath = require_lensPath(); module.exports.lensProp = require_lensProp(); module.exports.lift = require_lift(); module.exports.liftN = require_liftN(); module.exports.lt = require_lt(); module.exports.lte = require_lte(); module.exports.map = require_map2(); module.exports.mapAccum = require_mapAccum(); module.exports.mapAccumRight = require_mapAccumRight(); module.exports.mapObjIndexed = require_mapObjIndexed(); module.exports.match = require_match(); module.exports.mathMod = require_mathMod(); module.exports.max = require_max(); module.exports.maxBy = require_maxBy(); module.exports.mean = require_mean(); module.exports.median = require_median(); module.exports.memoizeWith = require_memoizeWith(); module.exports.mergeAll = require_mergeAll(); module.exports.mergeDeepLeft = require_mergeDeepLeft(); module.exports.mergeDeepRight = require_mergeDeepRight(); module.exports.mergeDeepWith = require_mergeDeepWith(); module.exports.mergeDeepWithKey = require_mergeDeepWithKey(); module.exports.mergeLeft = require_mergeLeft(); module.exports.mergeRight = require_mergeRight(); module.exports.mergeWith = require_mergeWith(); module.exports.mergeWithKey = require_mergeWithKey(); module.exports.min = require_min(); module.exports.minBy = require_minBy(); module.exports.modify = require_modify2(); module.exports.modifyPath = require_modifyPath(); module.exports.modulo = require_modulo(); module.exports.move = require_move(); module.exports.multiply = require_multiply(); module.exports.nAry = require_nAry(); module.exports.partialObject = require_partialObject(); module.exports.negate = require_negate(); module.exports.none = require_none(); module.exports.not = require_not(); module.exports.nth = require_nth(); module.exports.nthArg = require_nthArg(); module.exports.o = require_o(); module.exports.objOf = require_objOf(); module.exports.of = require_of2(); module.exports.omit = require_omit(); module.exports.on = require_on(); module.exports.once = require_once(); module.exports.or = require_or(); module.exports.otherwise = require_otherwise(); module.exports.over = require_over(); module.exports.pair = require_pair(); module.exports.partial = require_partial(); module.exports.partialRight = require_partialRight(); module.exports.partition = require_partition(); module.exports.path = require_path(); module.exports.paths = require_paths(); module.exports.pathEq = require_pathEq(); module.exports.pathOr = require_pathOr(); module.exports.pathSatisfies = require_pathSatisfies(); module.exports.pick = require_pick(); module.exports.pickAll = require_pickAll(); module.exports.pickBy = require_pickBy(); module.exports.pipe = require_pipe2(); module.exports.pipeWith = require_pipeWith(); module.exports.pluck = require_pluck(); module.exports.prepend = require_prepend(); module.exports.product = require_product(); module.exports.project = require_project(); module.exports.promap = require_promap2(); module.exports.prop = require_prop(); module.exports.propEq = require_propEq(); module.exports.propIs = require_propIs(); module.exports.propOr = require_propOr(); module.exports.propSatisfies = require_propSatisfies(); module.exports.props = require_props(); module.exports.range = require_range(); module.exports.reduce = require_reduce2(); module.exports.reduceBy = require_reduceBy(); module.exports.reduceRight = require_reduceRight(); module.exports.reduceWhile = require_reduceWhile(); module.exports.reduced = require_reduced2(); module.exports.reject = require_reject(); module.exports.remove = require_remove(); module.exports.repeat = require_repeat(); module.exports.replace = require_replace(); module.exports.reverse = require_reverse(); module.exports.scan = require_scan2(); module.exports.sequence = require_sequence(); module.exports.set = require_set(); module.exports.slice = require_slice(); module.exports.sort = require_sort(); module.exports.sortBy = require_sortBy(); module.exports.sortWith = require_sortWith(); module.exports.split = require_split(); module.exports.splitAt = require_splitAt(); module.exports.splitEvery = require_splitEvery(); module.exports.splitWhen = require_splitWhen(); module.exports.splitWhenever = require_splitWhenever(); module.exports.startsWith = require_startsWith(); module.exports.subtract = require_subtract(); module.exports.sum = require_sum(); module.exports.symmetricDifference = require_symmetricDifference(); module.exports.symmetricDifferenceWith = require_symmetricDifferenceWith(); module.exports.tail = require_tail(); module.exports.take = require_take(); module.exports.takeLast = require_takeLast(); module.exports.takeLastWhile = require_takeLastWhile(); module.exports.takeWhile = require_takeWhile(); module.exports.tap = require_tap(); module.exports.test = require_test(); module.exports.andThen = require_andThen(); module.exports.times = require_times(); module.exports.toLower = require_toLower(); module.exports.toPairs = require_toPairs(); module.exports.toPairsIn = require_toPairsIn(); module.exports.toString = require_toString2(); module.exports.toUpper = require_toUpper(); module.exports.transduce = require_transduce(); module.exports.transpose = require_transpose(); module.exports.traverse = require_traverse(); module.exports.trim = require_trim(); module.exports.tryCatch = require_tryCatch(); module.exports.type = require_type(); module.exports.unapply = require_unapply(); module.exports.unary = require_unary(); module.exports.uncurryN = require_uncurryN(); module.exports.unfold = require_unfold(); module.exports.union = require_union(); module.exports.unionWith = require_unionWith(); module.exports.uniq = require_uniq(); module.exports.uniqBy = require_uniqBy(); module.exports.uniqWith = require_uniqWith(); module.exports.unless = require_unless(); module.exports.unnest = require_unnest(); module.exports.until = require_until(); module.exports.unwind = require_unwind(); module.exports.update = require_update(); module.exports.useWith = require_useWith(); module.exports.values = require_values(); module.exports.valuesIn = require_valuesIn(); module.exports.view = require_view(); module.exports.when = require_when(); module.exports.where = require_where(); module.exports.whereAny = require_whereAny(); module.exports.whereEq = require_whereEq(); module.exports.without = require_without(); module.exports.xor = require_xor(); module.exports.xprod = require_xprod(); module.exports.zip = require_zip(); module.exports.zipObj = require_zipObj(); module.exports.zipWith = require_zipWith(); module.exports.thunkify = require_thunkify(); } }); // contracts/warp/lib/version.js var require_version = __commonJS({ "contracts/warp/lib/version.js"(exports, module) { module.exports = "0.18.0"; } }); // node_modules/ramda/es/index.js var es_exports = {}; __export(es_exports, { F: () => F_default, T: () => T_default, __: () => __default, add: () => add_default, addIndex: () => addIndex_default, adjust: () => adjust_default, all: () => all_default, allPass: () => allPass_default, always: () => always_default, and: () => and_default, andThen: () => andThen_default, any: () => any_default, anyPass: () => anyPass_default, ap: () => ap_default, aperture: () => aperture_default, append: () => append_default, apply: () => apply_default, applySpec: () => applySpec_default, applyTo: () => applyTo_default, ascend: () => ascend_default, assoc: () => assoc_default, assocPath: () => assocPath_default, binary: () => binary_default, bind: () => bind_default, both: () => both_default, call: () => call_default, chain: () => chain_default, clamp: () => clamp_default, clone: () => clone_default, collectBy: () => collectBy_default, comparator: () => comparator_default, complement: () => complement_default, compose: () => compose, composeWith: () => composeWith_default, concat: () => concat_default, cond: () => cond_default, construct: () => construct_default, constructN: () => constructN_default, converge: () => converge_default, count: () => count_default, countBy: () => countBy_default, curry: () => curry_default, curryN: () => curryN_default, dec: () => dec_default, defaultTo: () => defaultTo_default, descend: () => descend_default, difference: () => difference_default, differenceWith: () => differenceWith_default, dissoc: () => dissoc_default, dissocPath: () => dissocPath_default, divide: () => divide_default, drop: () => drop_default, dropLast: () => dropLast_default, dropLastWhile: () => dropLastWhile_default, dropRepeats: () => dropRepeats_default, dropRepeatsWith: () => dropRepeatsWith_default, dropWhile: () => dropWhile_default, either: () => either_default, empty: () => empty_default, endsWith: () => endsWith_default, eqBy: () => eqBy_default, eqProps: () => eqProps_default, equals: () => equals_default, evolve: () => evolve_default, filter: () => filter_default, find: () => find_default, findIndex: () => findIndex_default, findLast: () => findLast_default, findLastIndex: () => findLastIndex_default, flatten: () => flatten_default, flip: () => flip_default, forEach: () => forEach_default, forEachObjIndexed: () => forEachObjIndexed_default, fromPairs: () => fromPairs_default, groupBy: () => groupBy_default, groupWith: () => groupWith_default, gt: () => gt_default, gte: () => gte_default, has: () => has_default, hasIn: () => hasIn_default, hasPath: () => hasPath_default, head: () => head_default, identical: () => identical_default, identity: () => identity_default, ifElse: () => ifElse_default, inc: () => inc_default, includes: () => includes_default, indexBy: () => indexBy_default, indexOf: () => indexOf_default, init: () => init_default, innerJoin: () => innerJoin_default, insert: () => insert_default, insertAll: () => insertAll_default, intersection: () => intersection_default, intersperse: () => intersperse_default, into: () => into_default, invert: () => invert_default, invertObj: () => invertObj_default, invoker: () => invoker_default, is: () => is_default, isEmpty: () => isEmpty_default, isNil: () => isNil_default, join: () => join_default, juxt: () => juxt_default, keys: () => keys_default, keysIn: () => keysIn_default, last: () => last_default, lastIndexOf: () => lastIndexOf_default, length: () => length_default, lens: () => lens_default, lensIndex: () => lensIndex_default, lensPath: () => lensPath_default, lensProp: () => lensProp_default, lift: () => lift_default, liftN: () => liftN_default, lt: () => lt_default, lte: () => lte_default, map: () => map_default, mapAccum: () => mapAccum_default, mapAccumRight: () => mapAccumRight_default, mapObjIndexed: () => mapObjIndexed_default, match: () => match_default, mathMod: () => mathMod_default, max: () => max_default, maxBy: () => maxBy_default, mean: () => mean_default, median: () => median_default, memoizeWith: () => memoizeWith_default, mergeAll: () => mergeAll_default, mergeDeepLeft: () => mergeDeepLeft_default, mergeDeepRight: () => mergeDeepRight_default, mergeDeepWith: () => mergeDeepWith_default, mergeDeepWithKey: () => mergeDeepWithKey_default, mergeLeft: () => mergeLeft_default, mergeRight: () => mergeRight_default, mergeWith: () => mergeWith_default, mergeWithKey: () => mergeWithKey_default, min: () => min_default, minBy: () => minBy_default, modify: () => modify_default, modifyPath: () => modifyPath_default, modulo: () => modulo_default, move: () => move_default, multiply: () => multiply_default, nAry: () => nAry_default, negate: () => negate_default, none: () => none_default, not: () => not_default, nth: () => nth_default, nthArg: () => nthArg_default, o: () => o_default, objOf: () => objOf_default, of: () => of_default, omit: () => omit_default, on: () => on_default, once: () => once_default, or: () => or_default, otherwise: () => otherwise_default, over: () => over_default, pair: () => pair_default, partial: () => partial_default, partialObject: () => partialObject_default, partialRight: () => partialRight_default, partition: () => partition_default, path: () => path_default, pathEq: () => pathEq_default, pathOr: () => pathOr_default, pathSatisfies: () => pathSatisfies_default, paths: () => paths_default, pick: () => pick_default, pickAll: () => pickAll_default, pickBy: () => pickBy_default, pipe: () => pipe, pipeWith: () => pipeWith_default, pluck: () => pluck_default, prepend: () => prepend_default, product: () => product_default, project: () => project_default, promap: () => promap_default, prop: () => prop_default, propEq: () => propEq_default, propIs: () => propIs_default, propOr: () => propOr_default, propSatisfies: () => propSatisfies_default, props: () => props_default, range: () => range_default, reduce: () => reduce_default, reduceBy: () => reduceBy_default, reduceRight: () => reduceRight_default, reduceWhile: () => reduceWhile_default, reduced: () => reduced_default, reject: () => reject_default, remove: () => remove_default, repeat: () => repeat_default, replace: () => replace_default, reverse: () => reverse_default, scan: () => scan_default, sequence: () => sequence_default, set: () => set_default, slice: () => slice_default, sort: () => sort_default, sortBy: () => sortBy_default, sortWith: () => sortWith_default, split: () => split_default, splitAt: () => splitAt_default, splitEvery: () => splitEvery_default, splitWhen: () => splitWhen_default, splitWhenever: () => splitWhenever_default, startsWith: () => startsWith_default, subtract: () => subtract_default, sum: () => sum_default, symmetricDifference: () => symmetricDifference_default, symmetricDifferenceWith: () => symmetricDifferenceWith_default, tail: () => tail_default, take: () => take_default, takeLast: () => takeLast_default, takeLastWhile: () => takeLastWhile_default, takeWhile: () => takeWhile_default, tap: () => tap_default, test: () => test_default, thunkify: () => thunkify_default, times: () => times_default, toLower: () => toLower_default, toPairs: () => toPairs_default, toPairsIn: () => toPairsIn_default, toString: () => toString_default, toUpper: () => toUpper_default, transduce: () => transduce_default, transpose: () => transpose_default, traverse: () => traverse_default, trim: () => trim_default, tryCatch: () => tryCatch_default, type: () => type_default, unapply: () => unapply_default, unary: () => unary_default, uncurryN: () => uncurryN_default, unfold: () => unfold_default, union: () => union_default, unionWith: () => unionWith_default, uniq: () => uniq_default, uniqBy: () => uniqBy_default, uniqWith: () => uniqWith_default, unless: () => unless_default, unnest: () => unnest_default, until: () => until_default, unwind: () => unwind_default, update: () => update_default, useWith: () => useWith_default, values: () => values_default, valuesIn: () => valuesIn_default, view: () => view_default, when: () => when_default, where: () => where_default, whereAny: () => whereAny_default, whereEq: () => whereEq_default, without: () => without_default, xor: () => xor_default, xprod: () => xprod_default, zip: () => zip_default, zipObj: () => zipObj_default, zipWith: () => zipWith_default }); // node_modules/ramda/es/F.js var F = function() { return false; }; var F_default = F; // node_modules/ramda/es/T.js var T = function() { return true; }; var T_default = T; // node_modules/ramda/es/__.js var __default = { "@@functional/placeholder": true }; // node_modules/ramda/es/internal/_isPlaceholder.js function _isPlaceholder(a) { return a != null && typeof a === "object" && a["@@functional/placeholder"] === true; } // node_modules/ramda/es/internal/_curry1.js function _curry1(fn) { return function f1(a) { if (arguments.length === 0 || _isPlaceholder(a)) { return f1; } else { return fn.apply(this, arguments); } }; } // node_modules/ramda/es/internal/_curry2.js function _curry2(fn) { return function f2(a, b) { switch (arguments.length) { case 0: return f2; case 1: return _isPlaceholder(a) ? f2 : _curry1(function(_b) { return fn(a, _b); }); default: return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b); }) : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b); }) : fn(a, b); } }; } // node_modules/ramda/es/add.js var add = /* @__PURE__ */ _curry2(function add2(a, b) { return Number(a) + Number(b); }); var add_default = add; // node_modules/ramda/es/internal/_concat.js function _concat(set1, set22) { set1 = set1 || []; set22 = set22 || []; var idx; var len1 = set1.length; var len2 = set22.length; var result = []; idx = 0; while (idx < len1) { result[result.length] = set1[idx]; idx += 1; } idx = 0; while (idx < len2) { result[result.length] = set22[idx]; idx += 1; } return result; } // node_modules/ramda/es/internal/_arity.js function _arity(n2, fn) { switch (n2) { case 0: return function() { return fn.apply(this, arguments); }; case 1: return function(a0) { return fn.apply(this, arguments); }; case 2: return function(a0, a1) { return fn.apply(this, arguments); }; case 3: return function(a0, a1, a2) { return fn.apply(this, arguments); }; case 4: return function(a0, a1, a2, a3) { return fn.apply(this, arguments); }; case 5: return function(a0, a1, a2, a3, a4) { return fn.apply(this, arguments); }; case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); }; case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); }; case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); }; case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); }; case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); }; default: throw new Error("First argument to _arity must be a non-negative integer no greater than ten"); } } // node_modules/ramda/es/internal/_curryN.js function _curryN(length3, received, fn) { return function() { var combined = []; var argsIdx = 0; var left = length3; var combinedIdx = 0; while (combinedIdx < received.length || argsIdx < arguments.length) { var result; if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) { result = received[combinedIdx]; } else { result = arguments[argsIdx]; argsIdx += 1; } combined[combinedIdx] = result; if (!_isPlaceholder(result)) { left -= 1; } combinedIdx += 1; } return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length3, combined, fn)); }; } // node_modules/ramda/es/curryN.js var curryN = /* @__PURE__ */ _curry2(function curryN2(length3, fn) { if (length3 === 1) { return _curry1(fn); } return _arity(length3, _curryN(length3, [], fn)); }); var curryN_default = curryN; // node_modules/ramda/es/addIndex.js var addIndex = /* @__PURE__ */ _curry1(function addIndex2(fn) { return curryN_default(fn.length, function() { var idx = 0; var origFn = arguments[0]; var list = arguments[arguments.length - 1]; var args = Array.prototype.slice.call(arguments, 0); args[0] = function() { var result = origFn.apply(this, _concat(arguments, [idx, list])); idx += 1; return result; }; return fn.apply(this, args); }); }); var addIndex_default = addIndex; // node_modules/ramda/es/internal/_curry3.js function _curry3(fn) { return function f3(a, b, c2) { switch (arguments.length) { case 0: return f3; case 1: return _isPlaceholder(a) ? f3 : _curry2(function(_b, _c) { return fn(a, _b, _c); }); case 2: return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder(b) ? _curry2(function(_b, _c) { return fn(a, _b, _c); }) : _curry1(function(_c) { return fn(a, b, _c); }); default: return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c2) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) { return fn(_a, _b, c2); }) : _isPlaceholder(a) && _isPlaceholder(c2) ? _curry2(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder(b) && _isPlaceholder(c2) ? _curry2(function(_b, _c) { return fn(a, _b, _c); }) : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b, c2); }) : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b, c2); }) : _isPlaceholder(c2) ? _curry1(function(_c) { return fn(a, b, _c); }) : fn(a, b, c2); } }; } // node_modules/ramda/es/adjust.js var adjust = /* @__PURE__ */ _curry3(function adjust2(idx, fn, list) { var len = list.length; if (idx >= len || idx < -len) { return list; } var _idx = (len + idx) % len; var _list = _concat(list); _list[_idx] = fn(list[_idx]); return _list; }); var adjust_default = adjust; // node_modules/ramda/es/internal/_isArray.js var isArray_default = Array.isArray || function _isArray(val) { return val != null && val.length >= 0 && Object.prototype.toString.call(val) === "[object Array]"; }; // node_modules/ramda/es/internal/_isTransformer.js function _isTransformer(obj) { return obj != null && typeof obj["@@transducer/step"] === "function"; } // node_modules/ramda/es/internal/_dispatchable.js function _dispatchable(methodNames, transducerCreator, fn) { return function() { if (arguments.length === 0) { return fn(); } var obj = arguments[arguments.length - 1]; if (!isArray_default(obj)) { var idx = 0; while (idx < methodNames.length) { if (typeof obj[methodNames[idx]] === "function") { return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1)); } idx += 1; } if (_isTransformer(obj)) { var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1)); return transducer(obj); } } return fn.apply(this, arguments); }; } // node_modules/ramda/es/internal/_reduced.js function _reduced(x) { return x && x["@@transducer/reduced"] ? x : { "@@transducer/value": x, "@@transducer/reduced": true }; } // node_modules/ramda/es/internal/_xfBase.js var xfBase_default = { init: function() { return this.xf["@@transducer/init"](); }, result: function(result) { return this.xf["@@transducer/result"](result); } }; // node_modules/ramda/es/internal/_xall.js var XAll = /* @__PURE__ */ function() { function XAll2(f, xf) { this.xf = xf; this.f = f; this.all = true; } XAll2.prototype["@@transducer/init"] = xfBase_default.init; XAll2.prototype["@@transducer/result"] = function(result) { if (this.all) { result = this.xf["@@transducer/step"](result, true); } return this.xf["@@transducer/result"](result); }; XAll2.prototype["@@transducer/step"] = function(result, input) { if (!this.f(input)) { this.all = false; result = _reduced(this.xf["@@transducer/step"](result, false)); } return result; }; return XAll2; }(); var _xall = /* @__PURE__ */ _curry2(function _xall2(f, xf) { return new XAll(f, xf); }); var xall_default = _xall; // node_modules/ramda/es/all.js var all = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["all"], xall_default, function all2(fn, list) { var idx = 0; while (idx < list.length) { if (!fn(list[idx])) { return false; } idx += 1; } return true; }) ); var all_default = all; // node_modules/ramda/es/max.js var max = /* @__PURE__ */ _curry2(function max2(a, b) { return b > a ? b : a; }); var max_default = max; // node_modules/ramda/es/internal/_map.js function _map(fn, functor) { var idx = 0; var len = functor.length; var result = Array(len); while (idx < len) { result[idx] = fn(functor[idx]); idx += 1; } return result; } // node_modules/ramda/es/internal/_isString.js function _isString(x) { return Object.prototype.toString.call(x) === "[object String]"; } // node_modules/ramda/es/internal/_isArrayLike.js var _isArrayLike = /* @__PURE__ */ _curry1(function isArrayLike(x) { if (isArray_default(x)) { return true; } if (!x) { return false; } if (typeof x !== "object") { return false; } if (_isString(x)) { return false; } if (x.length === 0) { return true; } if (x.length > 0) { return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); } return false; }); var isArrayLike_default = _isArrayLike; // node_modules/ramda/es/internal/_xwrap.js var XWrap = /* @__PURE__ */ function() { function XWrap2(fn) { this.f = fn; } XWrap2.prototype["@@transducer/init"] = function() { throw new Error("init not implemented on XWrap"); }; XWrap2.prototype["@@transducer/result"] = function(acc) { return acc; }; XWrap2.prototype["@@transducer/step"] = function(acc, x) { return this.f(acc, x); }; return XWrap2; }(); function _xwrap(fn) { return new XWrap(fn); } // node_modules/ramda/es/bind.js var bind = /* @__PURE__ */ _curry2(function bind2(fn, thisObj) { return _arity(fn.length, function() { return fn.apply(thisObj, arguments); }); }); var bind_default = bind; // node_modules/ramda/es/internal/_reduce.js function _arrayReduce(xf, acc, list) { var idx = 0; var len = list.length; while (idx < len) { acc = xf["@@transducer/step"](acc, list[idx]); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } idx += 1; } return xf["@@transducer/result"](acc); } function _iterableReduce(xf, acc, iter) { var step = iter.next(); while (!step.done) { acc = xf["@@transducer/step"](acc, step.value); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } step = iter.next(); } return xf["@@transducer/result"](acc); } function _methodReduce(xf, acc, obj, methodName) { return xf["@@transducer/result"](obj[methodName](bind_default(xf["@@transducer/step"], xf), acc)); } var symIterator = typeof Symbol !== "undefined" ? Symbol.iterator : "@@iterator"; function _reduce(fn, acc, list) { if (typeof fn === "function") { fn = _xwrap(fn); } if (isArrayLike_default(list)) { return _arrayReduce(fn, acc, list); } if (typeof list["fantasy-land/reduce"] === "function") { return _methodReduce(fn, acc, list, "fantasy-land/reduce"); } if (list[symIterator] != null) { return _iterableReduce(fn, acc, list[symIterator]()); } if (typeof list.next === "function") { return _iterableReduce(fn, acc, list); } if (typeof list.reduce === "function") { return _methodReduce(fn, acc, list, "reduce"); } throw new TypeError("reduce: list must be array or iterable"); } // node_modules/ramda/es/internal/_xmap.js var XMap = /* @__PURE__ */ function() { function XMap2(f, xf) { this.xf = xf; this.f = f; } XMap2.prototype["@@transducer/init"] = xfBase_default.init; XMap2.prototype["@@transducer/result"] = xfBase_default.result; XMap2.prototype["@@transducer/step"] = function(result, input) { return this.xf["@@transducer/step"](result, this.f(input)); }; return XMap2; }(); var _xmap = /* @__PURE__ */ _curry2(function _xmap2(f, xf) { return new XMap(f, xf); }); var xmap_default = _xmap; // node_modules/ramda/es/internal/_has.js function _has(prop4, obj) { return Object.prototype.hasOwnProperty.call(obj, prop4); } // node_modules/ramda/es/internal/_isArguments.js var toString = Object.prototype.toString; var _isArguments = /* @__PURE__ */ function() { return toString.call(arguments) === "[object Arguments]" ? function _isArguments2(x) { return toString.call(x) === "[object Arguments]"; } : function _isArguments2(x) { return _has("callee", x); }; }(); var isArguments_default = _isArguments; // node_modules/ramda/es/keys.js var hasEnumBug = !/* @__PURE__ */ { toString: null }.propertyIsEnumerable("toString"); var nonEnumerableProps = ["constructor", "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"]; var hasArgsEnumBug = /* @__PURE__ */ function() { "use strict"; return arguments.propertyIsEnumerable("length"); }(); var contains = function contains2(list, item) { var idx = 0; while (idx < list.length) { if (list[idx] === item) { return true; } idx += 1; } return false; }; var keys = typeof Object.keys === "function" && !hasArgsEnumBug ? /* @__PURE__ */ _curry1(function keys2(obj) { return Object(obj) !== obj ? [] : Object.keys(obj); }) : /* @__PURE__ */ _curry1(function keys3(obj) { if (Object(obj) !== obj) { return []; } var prop4, nIdx; var ks = []; var checkArgsLength = hasArgsEnumBug && isArguments_default(obj); for (prop4 in obj) { if (_has(prop4, obj) && (!checkArgsLength || prop4 !== "length")) { ks[ks.length] = prop4; } } if (hasEnumBug) { nIdx = nonEnumerableProps.length - 1; while (nIdx >= 0) { prop4 = nonEnumerableProps[nIdx]; if (_has(prop4, obj) && !contains(ks, prop4)) { ks[ks.length] = prop4; } nIdx -= 1; } } return ks; }); var keys_default = keys; // node_modules/ramda/es/map.js var map = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["fantasy-land/map", "map"], xmap_default, function map2(fn, functor) { switch (Object.prototype.toString.call(functor)) { case "[object Function]": return curryN_default(functor.length, function() { return fn.call(this, functor.apply(this, arguments)); }); case "[object Object]": return _reduce(function(acc, key) { acc[key] = fn(functor[key]); return acc; }, {}, keys_default(functor)); default: return _map(fn, functor); } }) ); var map_default = map; // node_modules/ramda/es/internal/_isInteger.js var isInteger_default = Number.isInteger || function _isInteger(n2) { return n2 << 0 === n2; }; // node_modules/ramda/es/nth.js var nth = /* @__PURE__ */ _curry2(function nth2(offset, list) { var idx = offset < 0 ? list.length + offset : offset; return _isString(list) ? list.charAt(idx) : list[idx]; }); var nth_default = nth; // node_modules/ramda/es/prop.js var prop = /* @__PURE__ */ _curry2(function prop2(p, obj) { if (obj == null) { return; } return isInteger_default(p) ? nth_default(p, obj) : obj[p]; }); var prop_default = prop; // node_modules/ramda/es/pluck.js var pluck = /* @__PURE__ */ _curry2(function pluck2(p, list) { return map_default(prop_default(p), list); }); var pluck_default = pluck; // node_modules/ramda/es/reduce.js var reduce = /* @__PURE__ */ _curry3(_reduce); var reduce_default = reduce; // node_modules/ramda/es/allPass.js var allPass = /* @__PURE__ */ _curry1(function allPass2(preds) { return curryN_default(reduce_default(max_default, 0, pluck_default("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (!preds[idx].apply(this, arguments)) { return false; } idx += 1; } return true; }); }); var allPass_default = allPass; // node_modules/ramda/es/always.js var always = /* @__PURE__ */ _curry1(function always2(val) { return function() { return val; }; }); var always_default = always; // node_modules/ramda/es/and.js var and = /* @__PURE__ */ _curry2(function and2(a, b) { return a && b; }); var and_default = and; // node_modules/ramda/es/internal/_xany.js var XAny = /* @__PURE__ */ function() { function XAny2(f, xf) { this.xf = xf; this.f = f; this.any = false; } XAny2.prototype["@@transducer/init"] = xfBase_default.init; XAny2.prototype["@@transducer/result"] = function(result) { if (!this.any) { result = this.xf["@@transducer/step"](result, false); } return this.xf["@@transducer/result"](result); }; XAny2.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.any = true; result = _reduced(this.xf["@@transducer/step"](result, true)); } return result; }; return XAny2; }(); var _xany = /* @__PURE__ */ _curry2(function _xany2(f, xf) { return new XAny(f, xf); }); var xany_default = _xany; // node_modules/ramda/es/any.js var any = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["any"], xany_default, function any2(fn, list) { var idx = 0; while (idx < list.length) { if (fn(list[idx])) { return true; } idx += 1; } return false; }) ); var any_default = any; // node_modules/ramda/es/anyPass.js var anyPass = /* @__PURE__ */ _curry1(function anyPass2(preds) { return curryN_default(reduce_default(max_default, 0, pluck_default("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (preds[idx].apply(this, arguments)) { return true; } idx += 1; } return false; }); }); var anyPass_default = anyPass; // node_modules/ramda/es/ap.js var ap = /* @__PURE__ */ _curry2(function ap2(applyF, applyX) { return typeof applyX["fantasy-land/ap"] === "function" ? applyX["fantasy-land/ap"](applyF) : typeof applyF.ap === "function" ? applyF.ap(applyX) : typeof applyF === "function" ? function(x) { return applyF(x)(applyX(x)); } : _reduce(function(acc, f) { return _concat(acc, map_default(f, applyX)); }, [], applyF); }); var ap_default = ap; // node_modules/ramda/es/internal/_aperture.js function _aperture(n2, list) { var idx = 0; var limit = list.length - (n2 - 1); var acc = new Array(limit >= 0 ? limit : 0); while (idx < limit) { acc[idx] = Array.prototype.slice.call(list, idx, idx + n2); idx += 1; } return acc; } // node_modules/ramda/es/internal/_xaperture.js var XAperture = /* @__PURE__ */ function() { function XAperture2(n2, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n2); } XAperture2.prototype["@@transducer/init"] = xfBase_default.init; XAperture2.prototype["@@transducer/result"] = function(result) { this.acc = null; return this.xf["@@transducer/result"](result); }; XAperture2.prototype["@@transducer/step"] = function(result, input) { this.store(input); return this.full ? this.xf["@@transducer/step"](result, this.getCopy()) : result; }; XAperture2.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; XAperture2.prototype.getCopy = function() { return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); }; return XAperture2; }(); var _xaperture = /* @__PURE__ */ _curry2(function _xaperture2(n2, xf) { return new XAperture(n2, xf); }); var xaperture_default = _xaperture; // node_modules/ramda/es/aperture.js var aperture = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xaperture_default, _aperture) ); var aperture_default = aperture; // node_modules/ramda/es/append.js var append = /* @__PURE__ */ _curry2(function append2(el, list) { return _concat(list, [el]); }); var append_default = append; // node_modules/ramda/es/apply.js var apply = /* @__PURE__ */ _curry2(function apply2(fn, args) { return fn.apply(this, args); }); var apply_default = apply; // node_modules/ramda/es/values.js var values = /* @__PURE__ */ _curry1(function values2(obj) { var props3 = keys_default(obj); var len = props3.length; var vals = []; var idx = 0; while (idx < len) { vals[idx] = obj[props3[idx]]; idx += 1; } return vals; }); var values_default = values; // node_modules/ramda/es/applySpec.js function mapValues(fn, obj) { return isArray_default(obj) ? obj.map(fn) : keys_default(obj).reduce(function(acc, key) { acc[key] = fn(obj[key]); return acc; }, {}); } var applySpec = /* @__PURE__ */ _curry1(function applySpec2(spec) { spec = mapValues(function(v) { return typeof v == "function" ? v : applySpec2(v); }, spec); return curryN_default(reduce_default(max_default, 0, pluck_default("length", values_default(spec))), function() { var args = arguments; return mapValues(function(f) { return apply_default(f, args); }, spec); }); }); var applySpec_default = applySpec; // node_modules/ramda/es/applyTo.js var applyTo = /* @__PURE__ */ _curry2(function applyTo2(x, f) { return f(x); }); var applyTo_default = applyTo; // node_modules/ramda/es/ascend.js var ascend = /* @__PURE__ */ _curry3(function ascend2(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); var ascend_default = ascend; // node_modules/ramda/es/internal/_assoc.js function _assoc(prop4, val, obj) { if (isInteger_default(prop4) && isArray_default(obj)) { var arr = [].concat(obj); arr[prop4] = val; return arr; } var result = {}; for (var p in obj) { result[p] = obj[p]; } result[prop4] = val; return result; } // node_modules/ramda/es/isNil.js var isNil = /* @__PURE__ */ _curry1(function isNil2(x) { return x == null; }); var isNil_default = isNil; // node_modules/ramda/es/assocPath.js var assocPath = /* @__PURE__ */ _curry3(function assocPath2(path3, val, obj) { if (path3.length === 0) { return val; } var idx = path3[0]; if (path3.length > 1) { var nextObj = !isNil_default(obj) && _has(idx, obj) ? obj[idx] : isInteger_default(path3[1]) ? [] : {}; val = assocPath2(Array.prototype.slice.call(path3, 1), val, nextObj); } return _assoc(idx, val, obj); }); var assocPath_default = assocPath; // node_modules/ramda/es/assoc.js var assoc = /* @__PURE__ */ _curry3(function assoc2(prop4, val, obj) { return assocPath_default([prop4], val, obj); }); var assoc_default = assoc; // node_modules/ramda/es/nAry.js var nAry = /* @__PURE__ */ _curry2(function nAry2(n2, fn) { switch (n2) { case 0: return function() { return fn.call(this); }; case 1: return function(a0) { return fn.call(this, a0); }; case 2: return function(a0, a1) { return fn.call(this, a0, a1); }; case 3: return function(a0, a1, a2) { return fn.call(this, a0, a1, a2); }; case 4: return function(a0, a1, a2, a3) { return fn.call(this, a0, a1, a2, a3); }; case 5: return function(a0, a1, a2, a3, a4) { return fn.call(this, a0, a1, a2, a3, a4); }; case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.call(this, a0, a1, a2, a3, a4, a5); }; case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6); }; case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); }; case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); }; case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }; default: throw new Error("First argument to nAry must be a non-negative integer no greater than ten"); } }); var nAry_default = nAry; // node_modules/ramda/es/binary.js var binary = /* @__PURE__ */ _curry1(function binary2(fn) { return nAry_default(2, fn); }); var binary_default = binary; // node_modules/ramda/es/internal/_isFunction.js function _isFunction(x) { var type3 = Object.prototype.toString.call(x); return type3 === "[object Function]" || type3 === "[object AsyncFunction]" || type3 === "[object GeneratorFunction]" || type3 === "[object AsyncGeneratorFunction]"; } // node_modules/ramda/es/liftN.js var liftN = /* @__PURE__ */ _curry2(function liftN2(arity, fn) { var lifted = curryN_default(arity, fn); return curryN_default(arity, function() { return _reduce(ap_default, map_default(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); }); }); var liftN_default = liftN; // node_modules/ramda/es/lift.js var lift = /* @__PURE__ */ _curry1(function lift2(fn) { return liftN_default(fn.length, fn); }); var lift_default = lift; // node_modules/ramda/es/both.js var both = /* @__PURE__ */ _curry2(function both2(f, g2) { return _isFunction(f) ? function _both() { return f.apply(this, arguments) && g2.apply(this, arguments); } : lift_default(and_default)(f, g2); }); var both_default = both; // node_modules/ramda/es/call.js var call = /* @__PURE__ */ _curry1(function call2(fn) { return fn.apply(this, Array.prototype.slice.call(arguments, 1)); }); var call_default = call; // node_modules/ramda/es/internal/_makeFlat.js function _makeFlat(recursive) { return function flatt(list) { var value, jlen, j; var result = []; var idx = 0; var ilen = list.length; while (idx < ilen) { if (isArrayLike_default(list[idx])) { value = recursive ? flatt(list[idx]) : list[idx]; j = 0; jlen = value.length; while (j < jlen) { result[result.length] = value[j]; j += 1; } } else { result[result.length] = list[idx]; } idx += 1; } return result; }; } // node_modules/ramda/es/internal/_forceReduced.js function _forceReduced(x) { return { "@@transducer/value": x, "@@transducer/reduced": true }; } // node_modules/ramda/es/internal/_flatCat.js var preservingReduced = function(xf) { return { "@@transducer/init": xfBase_default.init, "@@transducer/result": function(result) { return xf["@@transducer/result"](result); }, "@@transducer/step": function(result, input) { var ret = xf["@@transducer/step"](result, input); return ret["@@transducer/reduced"] ? _forceReduced(ret) : ret; } }; }; var _flatCat = function _xcat(xf) { var rxf = preservingReduced(xf); return { "@@transducer/init": xfBase_default.init, "@@transducer/result": function(result) { return rxf["@@transducer/result"](result); }, "@@transducer/step": function(result, input) { return !isArrayLike_default(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input); } }; }; var flatCat_default = _flatCat; // node_modules/ramda/es/internal/_xchain.js var _xchain = /* @__PURE__ */ _curry2(function _xchain2(f, xf) { return map_default(f, flatCat_default(xf)); }); var xchain_default = _xchain; // node_modules/ramda/es/chain.js var chain = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["fantasy-land/chain", "chain"], xchain_default, function chain2(fn, monad) { if (typeof monad === "function") { return function(x) { return fn(monad(x))(x); }; } return _makeFlat(false)(map_default(fn, monad)); }) ); var chain_default = chain; // node_modules/ramda/es/clamp.js var clamp = /* @__PURE__ */ _curry3(function clamp2(min3, max3, value) { if (min3 > max3) { throw new Error("min must not be greater than max in clamp(min, max, value)"); } return value < min3 ? min3 : value > max3 ? max3 : value; }); var clamp_default = clamp; // node_modules/ramda/es/internal/_cloneRegExp.js function _cloneRegExp(pattern) { return new RegExp(pattern.source, (pattern.global ? "g" : "") + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "") + (pattern.sticky ? "y" : "") + (pattern.unicode ? "u" : "")); } // node_modules/ramda/es/type.js var type = /* @__PURE__ */ _curry1(function type2(val) { return val === null ? "Null" : val === void 0 ? "Undefined" : Object.prototype.toString.call(val).slice(8, -1); }); var type_default = type; // node_modules/ramda/es/internal/_clone.js function _clone(value, refFrom, refTo, deep) { var copy = function copy2(copiedValue) { var len = refFrom.length; var idx = 0; while (idx < len) { if (value === refFrom[idx]) { return refTo[idx]; } idx += 1; } refFrom[idx] = value; refTo[idx] = copiedValue; for (var key in value) { if (value.hasOwnProperty(key)) { copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; } } return copiedValue; }; switch (type_default(value)) { case "Object": return copy(Object.create(Object.getPrototypeOf(value))); case "Array": return copy([]); case "Date": return new Date(value.valueOf()); case "RegExp": return _cloneRegExp(value); case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "BigInt64Array": case "BigUint64Array": return value.slice(); default: return value; } } // node_modules/ramda/es/clone.js var clone = /* @__PURE__ */ _curry1(function clone2(value) { return value != null && typeof value.clone === "function" ? value.clone() : _clone(value, [], [], true); }); var clone_default = clone; // node_modules/ramda/es/collectBy.js var collectBy = /* @__PURE__ */ _curry2(function collectBy2(fn, list) { var group = _reduce(function(o3, x) { var tag2 = fn(x); if (o3[tag2] === void 0) { o3[tag2] = []; } o3[tag2].push(x); return o3; }, {}, list); var newList = []; for (var tag in group) { newList.push(group[tag]); } return newList; }); var collectBy_default = collectBy; // node_modules/ramda/es/comparator.js var comparator = /* @__PURE__ */ _curry1(function comparator2(pred) { return function(a, b) { return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; }; }); var comparator_default = comparator; // node_modules/ramda/es/not.js var not = /* @__PURE__ */ _curry1(function not2(a) { return !a; }); var not_default = not; // node_modules/ramda/es/complement.js var complement = /* @__PURE__ */ lift_default(not_default); var complement_default = complement; // node_modules/ramda/es/internal/_pipe.js function _pipe(f, g2) { return function() { return g2.call(this, f.apply(this, arguments)); }; } // node_modules/ramda/es/internal/_checkForMethod.js function _checkForMethod(methodname, fn) { return function() { var length3 = arguments.length; if (length3 === 0) { return fn(); } var obj = arguments[length3 - 1]; return isArray_default(obj) || typeof obj[methodname] !== "function" ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length3 - 1)); }; } // node_modules/ramda/es/slice.js var slice = /* @__PURE__ */ _curry3( /* @__PURE__ */ _checkForMethod("slice", function slice2(fromIndex, toIndex, list) { return Array.prototype.slice.call(list, fromIndex, toIndex); }) ); var slice_default = slice; // node_modules/ramda/es/tail.js var tail = /* @__PURE__ */ _curry1( /* @__PURE__ */ _checkForMethod( "tail", /* @__PURE__ */ slice_default(1, Infinity) ) ); var tail_default = tail; // node_modules/ramda/es/pipe.js function pipe() { if (arguments.length === 0) { throw new Error("pipe requires at least one argument"); } return _arity(arguments[0].length, reduce_default(_pipe, arguments[0], tail_default(arguments))); } // node_modules/ramda/es/reverse.js var reverse = /* @__PURE__ */ _curry1(function reverse2(list) { return _isString(list) ? list.split("").reverse().join("") : Array.prototype.slice.call(list, 0).reverse(); }); var reverse_default = reverse; // node_modules/ramda/es/compose.js function compose() { if (arguments.length === 0) { throw new Error("compose requires at least one argument"); } return pipe.apply(this, reverse_default(arguments)); } // node_modules/ramda/es/head.js var head = /* @__PURE__ */ nth_default(0); var head_default = head; // node_modules/ramda/es/internal/_identity.js function _identity(x) { return x; } // node_modules/ramda/es/identity.js var identity = /* @__PURE__ */ _curry1(_identity); var identity_default = identity; // node_modules/ramda/es/pipeWith.js var pipeWith = /* @__PURE__ */ _curry2(function pipeWith2(xf, list) { if (list.length <= 0) { return identity_default; } var headList = head_default(list); var tailList = tail_default(list); return _arity(headList.length, function() { return _reduce(function(result, f) { return xf.call(this, f, result); }, headList.apply(this, arguments), tailList); }); }); var pipeWith_default = pipeWith; // node_modules/ramda/es/composeWith.js var composeWith = /* @__PURE__ */ _curry2(function composeWith2(xf, list) { return pipeWith_default.apply(this, [xf, reverse_default(list)]); }); var composeWith_default = composeWith; // node_modules/ramda/es/internal/_arrayFromIterator.js function _arrayFromIterator(iter) { var list = []; var next; while (!(next = iter.next()).done) { list.push(next.value); } return list; } // node_modules/ramda/es/internal/_includesWith.js function _includesWith(pred, x, list) { var idx = 0; var len = list.length; while (idx < len) { if (pred(x, list[idx])) { return true; } idx += 1; } return false; } // node_modules/ramda/es/internal/_functionName.js function _functionName(f) { var match3 = String(f).match(/^function (\w*)/); return match3 == null ? "" : match3[1]; } // node_modules/ramda/es/internal/_objectIs.js function _objectIs(a, b) { if (a === b) { return a !== 0 || 1 / a === 1 / b; } else { return a !== a && b !== b; } } var objectIs_default = typeof Object.is === "function" ? Object.is : _objectIs; // node_modules/ramda/es/internal/_equals.js function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { var a = _arrayFromIterator(aIterator); var b = _arrayFromIterator(bIterator); function eq(_a, _b) { return _equals(_a, _b, stackA.slice(), stackB.slice()); } return !_includesWith(function(b2, aItem) { return !_includesWith(eq, aItem, b2); }, b, a); } function _equals(a, b, stackA, stackB) { if (objectIs_default(a, b)) { return true; } var typeA = type_default(a); if (typeA !== type_default(b)) { return false; } if (typeof a["fantasy-land/equals"] === "function" || typeof b["fantasy-land/equals"] === "function") { return typeof a["fantasy-land/equals"] === "function" && a["fantasy-land/equals"](b) && typeof b["fantasy-land/equals"] === "function" && b["fantasy-land/equals"](a); } if (typeof a.equals === "function" || typeof b.equals === "function") { return typeof a.equals === "function" && a.equals(b) && typeof b.equals === "function" && b.equals(a); } switch (typeA) { case "Arguments": case "Array": case "Object": if (typeof a.constructor === "function" && _functionName(a.constructor) === "Promise") { return a === b; } break; case "Boolean": case "Number": case "String": if (!(typeof a === typeof b && objectIs_default(a.valueOf(), b.valueOf()))) { return false; } break; case "Date": if (!objectIs_default(a.valueOf(), b.valueOf())) { return false; } break; case "Error": return a.name === b.name && a.message === b.message; case "RegExp": if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { return false; } break; } var idx = stackA.length - 1; while (idx >= 0) { if (stackA[idx] === a) { return stackB[idx] === b; } idx -= 1; } switch (typeA) { case "Map": if (a.size !== b.size) { return false; } return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); case "Set": if (a.size !== b.size) { return false; } return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); case "Arguments": case "Array": case "Object": case "Boolean": case "Number": case "String": case "Date": case "Error": case "RegExp": case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "ArrayBuffer": break; default: return false; } var keysA = keys_default(a); if (keysA.length !== keys_default(b).length) { return false; } var extendedStackA = stackA.concat([a]); var extendedStackB = stackB.concat([b]); idx = keysA.length - 1; while (idx >= 0) { var key = keysA[idx]; if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { return false; } idx -= 1; } return true; } // node_modules/ramda/es/equals.js var equals = /* @__PURE__ */ _curry2(function equals2(a, b) { return _equals(a, b, [], []); }); var equals_default = equals; // node_modules/ramda/es/internal/_indexOf.js function _indexOf(list, a, idx) { var inf, item; if (typeof list.indexOf === "function") { switch (typeof a) { case "number": if (a === 0) { inf = 1 / a; while (idx < list.length) { item = list[idx]; if (item === 0 && 1 / item === inf) { return idx; } idx += 1; } return -1; } else if (a !== a) { while (idx < list.length) { item = list[idx]; if (typeof item === "number" && item !== item) { return idx; } idx += 1; } return -1; } return list.indexOf(a, idx); case "string": case "boolean": case "function": case "undefined": return list.indexOf(a, idx); case "object": if (a === null) { return list.indexOf(a, idx); } } } while (idx < list.length) { if (equals_default(list[idx], a)) { return idx; } idx += 1; } return -1; } // node_modules/ramda/es/internal/_includes.js function _includes(a, list) { return _indexOf(list, a, 0) >= 0; } // node_modules/ramda/es/internal/_quote.js function _quote(s) { var escaped = s.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\f/g, "\\f").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\v/g, "\\v").replace(/\0/g, "\\0"); return '"' + escaped.replace(/"/g, '\\"') + '"'; } // node_modules/ramda/es/internal/_toISOString.js var pad = function pad2(n2) { return (n2 < 10 ? "0" : "") + n2; }; var _toISOString = typeof Date.prototype.toISOString === "function" ? function _toISOString2(d) { return d.toISOString(); } : function _toISOString3(d) { return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate()) + "T" + pad(d.getUTCHours()) + ":" + pad(d.getUTCMinutes()) + ":" + pad(d.getUTCSeconds()) + "." + (d.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z"; }; var toISOString_default = _toISOString; // node_modules/ramda/es/internal/_complement.js function _complement(f) { return function() { return !f.apply(this, arguments); }; } // node_modules/ramda/es/internal/_filter.js function _filter(fn, list) { var idx = 0; var len = list.length; var result = []; while (idx < len) { if (fn(list[idx])) { result[result.length] = list[idx]; } idx += 1; } return result; } // node_modules/ramda/es/internal/_isObject.js function _isObject(x) { return Object.prototype.toString.call(x) === "[object Object]"; } // node_modules/ramda/es/internal/_xfilter.js var XFilter = /* @__PURE__ */ function() { function XFilter2(f, xf) { this.xf = xf; this.f = f; } XFilter2.prototype["@@transducer/init"] = xfBase_default.init; XFilter2.prototype["@@transducer/result"] = xfBase_default.result; XFilter2.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.xf["@@transducer/step"](result, input) : result; }; return XFilter2; }(); var _xfilter = /* @__PURE__ */ _curry2(function _xfilter2(f, xf) { return new XFilter(f, xf); }); var xfilter_default = _xfilter; // node_modules/ramda/es/filter.js var filter = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["fantasy-land/filter", "filter"], xfilter_default, function(pred, filterable) { return _isObject(filterable) ? _reduce(function(acc, key) { if (pred(filterable[key])) { acc[key] = filterable[key]; } return acc; }, {}, keys_default(filterable)) : _filter(pred, filterable); }) ); var filter_default = filter; // node_modules/ramda/es/reject.js var reject = /* @__PURE__ */ _curry2(function reject2(pred, filterable) { return filter_default(_complement(pred), filterable); }); var reject_default = reject; // node_modules/ramda/es/internal/_toString.js function _toString(x, seen) { var recur = function recur2(y) { var xs = seen.concat([x]); return _includes(y, xs) ? "" : _toString(y, xs); }; var mapPairs = function(obj, keys6) { return _map(function(k) { return _quote(k) + ": " + recur(obj[k]); }, keys6.slice().sort()); }; switch (Object.prototype.toString.call(x)) { case "[object Arguments]": return "(function() { return arguments; }(" + _map(recur, x).join(", ") + "))"; case "[object Array]": return "[" + _map(recur, x).concat(mapPairs(x, reject_default(function(k) { return /^\d+$/.test(k); }, keys_default(x)))).join(", ") + "]"; case "[object Boolean]": return typeof x === "object" ? "new Boolean(" + recur(x.valueOf()) + ")" : x.toString(); case "[object Date]": return "new Date(" + (isNaN(x.valueOf()) ? recur(NaN) : _quote(toISOString_default(x))) + ")"; case "[object Null]": return "null"; case "[object Number]": return typeof x === "object" ? "new Number(" + recur(x.valueOf()) + ")" : 1 / x === -Infinity ? "-0" : x.toString(10); case "[object String]": return typeof x === "object" ? "new String(" + recur(x.valueOf()) + ")" : _quote(x); case "[object Undefined]": return "undefined"; default: if (typeof x.toString === "function") { var repr = x.toString(); if (repr !== "[object Object]") { return repr; } } return "{" + mapPairs(x, keys_default(x)).join(", ") + "}"; } } // node_modules/ramda/es/toString.js var toString2 = /* @__PURE__ */ _curry1(function toString3(val) { return _toString(val, []); }); var toString_default = toString2; // node_modules/ramda/es/concat.js var concat = /* @__PURE__ */ _curry2(function concat2(a, b) { if (isArray_default(a)) { if (isArray_default(b)) { return a.concat(b); } throw new TypeError(toString_default(b) + " is not an array"); } if (_isString(a)) { if (_isString(b)) { return a + b; } throw new TypeError(toString_default(b) + " is not a string"); } if (a != null && _isFunction(a["fantasy-land/concat"])) { return a["fantasy-land/concat"](b); } if (a != null && _isFunction(a.concat)) { return a.concat(b); } throw new TypeError(toString_default(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); }); var concat_default = concat; // node_modules/ramda/es/cond.js var cond = /* @__PURE__ */ _curry1(function cond2(pairs) { var arity = reduce_default(max_default, 0, map_default(function(pair3) { return pair3[0].length; }, pairs)); return _arity(arity, function() { var idx = 0; while (idx < pairs.length) { if (pairs[idx][0].apply(this, arguments)) { return pairs[idx][1].apply(this, arguments); } idx += 1; } }); }); var cond_default = cond; // node_modules/ramda/es/curry.js var curry = /* @__PURE__ */ _curry1(function curry2(fn) { return curryN_default(fn.length, fn); }); var curry_default = curry; // node_modules/ramda/es/constructN.js var constructN = /* @__PURE__ */ _curry2(function constructN2(n2, Fn) { if (n2 > 10) { throw new Error("Constructor with greater than ten arguments"); } if (n2 === 0) { return function() { return new Fn(); }; } return curry_default(nAry_default(n2, function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { switch (arguments.length) { case 1: return new Fn($0); case 2: return new Fn($0, $1); case 3: return new Fn($0, $1, $2); case 4: return new Fn($0, $1, $2, $3); case 5: return new Fn($0, $1, $2, $3, $4); case 6: return new Fn($0, $1, $2, $3, $4, $5); case 7: return new Fn($0, $1, $2, $3, $4, $5, $6); case 8: return new Fn($0, $1, $2, $3, $4, $5, $6, $7); case 9: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); case 10: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); } })); }); var constructN_default = constructN; // node_modules/ramda/es/construct.js var construct = /* @__PURE__ */ _curry1(function construct2(Fn) { return constructN_default(Fn.length, Fn); }); var construct_default = construct; // node_modules/ramda/es/converge.js var converge = /* @__PURE__ */ _curry2(function converge2(after, fns) { return curryN_default(reduce_default(max_default, 0, pluck_default("length", fns)), function() { var args = arguments; var context = this; return after.apply(context, _map(function(fn) { return fn.apply(context, args); }, fns)); }); }); var converge_default = converge; // node_modules/ramda/es/count.js var count = /* @__PURE__ */ curry_default(function(pred, list) { return _reduce(function(a, e) { return pred(e) ? a + 1 : a; }, 0, list); }); var count_default = count; // node_modules/ramda/es/internal/_xreduceBy.js var XReduceBy = /* @__PURE__ */ function() { function XReduceBy2(valueFn, valueAcc, keyFn, xf) { this.valueFn = valueFn; this.valueAcc = valueAcc; this.keyFn = keyFn; this.xf = xf; this.inputs = {}; } XReduceBy2.prototype["@@transducer/init"] = xfBase_default.init; XReduceBy2.prototype["@@transducer/result"] = function(result) { var key; for (key in this.inputs) { if (_has(key, this.inputs)) { result = this.xf["@@transducer/step"](result, this.inputs[key]); if (result["@@transducer/reduced"]) { result = result["@@transducer/value"]; break; } } } this.inputs = null; return this.xf["@@transducer/result"](result); }; XReduceBy2.prototype["@@transducer/step"] = function(result, input) { var key = this.keyFn(input); this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); return result; }; return XReduceBy2; }(); var _xreduceBy = /* @__PURE__ */ _curryN(4, [], function _xreduceBy2(valueFn, valueAcc, keyFn, xf) { return new XReduceBy(valueFn, valueAcc, keyFn, xf); }); var xreduceBy_default = _xreduceBy; // node_modules/ramda/es/reduceBy.js var reduceBy = /* @__PURE__ */ _curryN( 4, [], /* @__PURE__ */ _dispatchable([], xreduceBy_default, function reduceBy2(valueFn, valueAcc, keyFn, list) { return _reduce(function(acc, elt) { var key = keyFn(elt); var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt); if (value && value["@@transducer/reduced"]) { return _reduced(acc); } acc[key] = value; return acc; }, {}, list); }) ); var reduceBy_default = reduceBy; // node_modules/ramda/es/countBy.js var countBy = /* @__PURE__ */ reduceBy_default(function(acc, elem) { return acc + 1; }, 0); var countBy_default = countBy; // node_modules/ramda/es/dec.js var dec = /* @__PURE__ */ add_default(-1); var dec_default = dec; // node_modules/ramda/es/defaultTo.js var defaultTo = /* @__PURE__ */ _curry2(function defaultTo2(d, v) { return v == null || v !== v ? d : v; }); var defaultTo_default = defaultTo; // node_modules/ramda/es/descend.js var descend = /* @__PURE__ */ _curry3(function descend2(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa > bb ? -1 : aa < bb ? 1 : 0; }); var descend_default = descend; // node_modules/ramda/es/internal/_Set.js var _Set = /* @__PURE__ */ function() { function _Set2() { this._nativeSet = typeof Set === "function" ? /* @__PURE__ */ new Set() : null; this._items = {}; } _Set2.prototype.add = function(item) { return !hasOrAdd(item, true, this); }; _Set2.prototype.has = function(item) { return hasOrAdd(item, false, this); }; return _Set2; }(); function hasOrAdd(item, shouldAdd, set4) { var type3 = typeof item; var prevSize, newSize; switch (type3) { case "string": case "number": if (item === 0 && 1 / item === -Infinity) { if (set4._items["-0"]) { return true; } else { if (shouldAdd) { set4._items["-0"] = true; } return false; } } if (set4._nativeSet !== null) { if (shouldAdd) { prevSize = set4._nativeSet.size; set4._nativeSet.add(item); newSize = set4._nativeSet.size; return newSize === prevSize; } else { return set4._nativeSet.has(item); } } else { if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = {}; set4._items[type3][item] = true; } return false; } else if (item in set4._items[type3]) { return true; } else { if (shouldAdd) { set4._items[type3][item] = true; } return false; } } case "boolean": if (type3 in set4._items) { var bIdx = item ? 1 : 0; if (set4._items[type3][bIdx]) { return true; } else { if (shouldAdd) { set4._items[type3][bIdx] = true; } return false; } } else { if (shouldAdd) { set4._items[type3] = item ? [false, true] : [true, false]; } return false; } case "function": if (set4._nativeSet !== null) { if (shouldAdd) { prevSize = set4._nativeSet.size; set4._nativeSet.add(item); newSize = set4._nativeSet.size; return newSize === prevSize; } else { return set4._nativeSet.has(item); } } else { if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = [item]; } return false; } if (!_includes(item, set4._items[type3])) { if (shouldAdd) { set4._items[type3].push(item); } return false; } return true; } case "undefined": if (set4._items[type3]) { return true; } else { if (shouldAdd) { set4._items[type3] = true; } return false; } case "object": if (item === null) { if (!set4._items["null"]) { if (shouldAdd) { set4._items["null"] = true; } return false; } return true; } default: type3 = Object.prototype.toString.call(item); if (!(type3 in set4._items)) { if (shouldAdd) { set4._items[type3] = [item]; } return false; } if (!_includes(item, set4._items[type3])) { if (shouldAdd) { set4._items[type3].push(item); } return false; } return true; } } var Set_default = _Set; // node_modules/ramda/es/difference.js var difference = /* @__PURE__ */ _curry2(function difference2(first, second) { var out = []; var idx = 0; var firstLen = first.length; var secondLen = second.length; var toFilterOut = new Set_default(); for (var i = 0; i < secondLen; i += 1) { toFilterOut.add(second[i]); } while (idx < firstLen) { if (toFilterOut.add(first[idx])) { out[out.length] = first[idx]; } idx += 1; } return out; }); var difference_default = difference; // node_modules/ramda/es/differenceWith.js var differenceWith = /* @__PURE__ */ _curry3(function differenceWith2(pred, first, second) { var out = []; var idx = 0; var firstLen = first.length; while (idx < firstLen) { if (!_includesWith(pred, first[idx], second) && !_includesWith(pred, first[idx], out)) { out.push(first[idx]); } idx += 1; } return out; }); var differenceWith_default = differenceWith; // node_modules/ramda/es/remove.js var remove = /* @__PURE__ */ _curry3(function remove2(start, count2, list) { var result = Array.prototype.slice.call(list, 0); result.splice(start, count2); return result; }); var remove_default = remove; // node_modules/ramda/es/internal/_dissoc.js function _dissoc(prop4, obj) { if (obj == null) { return obj; } if (isInteger_default(prop4) && isArray_default(obj)) { return remove_default(prop4, 1, obj); } var result = {}; for (var p in obj) { result[p] = obj[p]; } delete result[prop4]; return result; } // node_modules/ramda/es/dissocPath.js function _shallowCloneObject(prop4, obj) { if (isInteger_default(prop4) && isArray_default(obj)) { return [].concat(obj); } var result = {}; for (var p in obj) { result[p] = obj[p]; } return result; } var dissocPath = /* @__PURE__ */ _curry2(function dissocPath2(path3, obj) { if (obj == null) { return obj; } switch (path3.length) { case 0: return obj; case 1: return _dissoc(path3[0], obj); default: var head2 = path3[0]; var tail2 = Array.prototype.slice.call(path3, 1); if (obj[head2] == null) { return _shallowCloneObject(head2, obj); } else { return assoc_default(head2, dissocPath2(tail2, obj[head2]), obj); } } }); var dissocPath_default = dissocPath; // node_modules/ramda/es/dissoc.js var dissoc = /* @__PURE__ */ _curry2(function dissoc2(prop4, obj) { return dissocPath_default([prop4], obj); }); var dissoc_default = dissoc; // node_modules/ramda/es/divide.js var divide = /* @__PURE__ */ _curry2(function divide2(a, b) { return a / b; }); var divide_default = divide; // node_modules/ramda/es/internal/_xdrop.js var XDrop = /* @__PURE__ */ function() { function XDrop2(n2, xf) { this.xf = xf; this.n = n2; } XDrop2.prototype["@@transducer/init"] = xfBase_default.init; XDrop2.prototype["@@transducer/result"] = xfBase_default.result; XDrop2.prototype["@@transducer/step"] = function(result, input) { if (this.n > 0) { this.n -= 1; return result; } return this.xf["@@transducer/step"](result, input); }; return XDrop2; }(); var _xdrop = /* @__PURE__ */ _curry2(function _xdrop2(n2, xf) { return new XDrop(n2, xf); }); var xdrop_default = _xdrop; // node_modules/ramda/es/drop.js var drop = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["drop"], xdrop_default, function drop2(n2, xs) { return slice_default(Math.max(0, n2), Infinity, xs); }) ); var drop_default = drop; // node_modules/ramda/es/internal/_xtake.js var XTake = /* @__PURE__ */ function() { function XTake2(n2, xf) { this.xf = xf; this.n = n2; this.i = 0; } XTake2.prototype["@@transducer/init"] = xfBase_default.init; XTake2.prototype["@@transducer/result"] = xfBase_default.result; XTake2.prototype["@@transducer/step"] = function(result, input) { this.i += 1; var ret = this.n === 0 ? result : this.xf["@@transducer/step"](result, input); return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret; }; return XTake2; }(); var _xtake = /* @__PURE__ */ _curry2(function _xtake2(n2, xf) { return new XTake(n2, xf); }); var xtake_default = _xtake; // node_modules/ramda/es/take.js var take = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["take"], xtake_default, function take2(n2, xs) { return slice_default(0, n2 < 0 ? Infinity : n2, xs); }) ); var take_default = take; // node_modules/ramda/es/internal/_dropLast.js function dropLast(n2, xs) { return take_default(n2 < xs.length ? xs.length - n2 : 0, xs); } // node_modules/ramda/es/internal/_xdropLast.js var XDropLast = /* @__PURE__ */ function() { function XDropLast2(n2, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n2); } XDropLast2.prototype["@@transducer/init"] = xfBase_default.init; XDropLast2.prototype["@@transducer/result"] = function(result) { this.acc = null; return this.xf["@@transducer/result"](result); }; XDropLast2.prototype["@@transducer/step"] = function(result, input) { if (this.full) { result = this.xf["@@transducer/step"](result, this.acc[this.pos]); } this.store(input); return result; }; XDropLast2.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; return XDropLast2; }(); var _xdropLast = /* @__PURE__ */ _curry2(function _xdropLast2(n2, xf) { return new XDropLast(n2, xf); }); var xdropLast_default = _xdropLast; // node_modules/ramda/es/dropLast.js var dropLast2 = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xdropLast_default, dropLast) ); var dropLast_default = dropLast2; // node_modules/ramda/es/internal/_dropLastWhile.js function dropLastWhile(pred, xs) { var idx = xs.length - 1; while (idx >= 0 && pred(xs[idx])) { idx -= 1; } return slice_default(0, idx + 1, xs); } // node_modules/ramda/es/internal/_xdropLastWhile.js var XDropLastWhile = /* @__PURE__ */ function() { function XDropLastWhile2(fn, xf) { this.f = fn; this.retained = []; this.xf = xf; } XDropLastWhile2.prototype["@@transducer/init"] = xfBase_default.init; XDropLastWhile2.prototype["@@transducer/result"] = function(result) { this.retained = null; return this.xf["@@transducer/result"](result); }; XDropLastWhile2.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.retain(result, input) : this.flush(result, input); }; XDropLastWhile2.prototype.flush = function(result, input) { result = _reduce(this.xf["@@transducer/step"], result, this.retained); this.retained = []; return this.xf["@@transducer/step"](result, input); }; XDropLastWhile2.prototype.retain = function(result, input) { this.retained.push(input); return result; }; return XDropLastWhile2; }(); var _xdropLastWhile = /* @__PURE__ */ _curry2(function _xdropLastWhile2(fn, xf) { return new XDropLastWhile(fn, xf); }); var xdropLastWhile_default = _xdropLastWhile; // node_modules/ramda/es/dropLastWhile.js var dropLastWhile2 = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xdropLastWhile_default, dropLastWhile) ); var dropLastWhile_default = dropLastWhile2; // node_modules/ramda/es/internal/_xdropRepeatsWith.js var XDropRepeatsWith = /* @__PURE__ */ function() { function XDropRepeatsWith2(pred, xf) { this.xf = xf; this.pred = pred; this.lastValue = void 0; this.seenFirstValue = false; } XDropRepeatsWith2.prototype["@@transducer/init"] = xfBase_default.init; XDropRepeatsWith2.prototype["@@transducer/result"] = xfBase_default.result; XDropRepeatsWith2.prototype["@@transducer/step"] = function(result, input) { var sameAsLast = false; if (!this.seenFirstValue) { this.seenFirstValue = true; } else if (this.pred(this.lastValue, input)) { sameAsLast = true; } this.lastValue = input; return sameAsLast ? result : this.xf["@@transducer/step"](result, input); }; return XDropRepeatsWith2; }(); var _xdropRepeatsWith = /* @__PURE__ */ _curry2(function _xdropRepeatsWith2(pred, xf) { return new XDropRepeatsWith(pred, xf); }); var xdropRepeatsWith_default = _xdropRepeatsWith; // node_modules/ramda/es/last.js var last = /* @__PURE__ */ nth_default(-1); var last_default = last; // node_modules/ramda/es/dropRepeatsWith.js var dropRepeatsWith = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xdropRepeatsWith_default, function dropRepeatsWith2(pred, list) { var result = []; var idx = 1; var len = list.length; if (len !== 0) { result[0] = list[0]; while (idx < len) { if (!pred(last_default(result), list[idx])) { result[result.length] = list[idx]; } idx += 1; } } return result; }) ); var dropRepeatsWith_default = dropRepeatsWith; // node_modules/ramda/es/dropRepeats.js var dropRepeats = /* @__PURE__ */ _curry1( /* @__PURE__ */ _dispatchable( [], /* @__PURE__ */ xdropRepeatsWith_default(equals_default), /* @__PURE__ */ dropRepeatsWith_default(equals_default) ) ); var dropRepeats_default = dropRepeats; // node_modules/ramda/es/internal/_xdropWhile.js var XDropWhile = /* @__PURE__ */ function() { function XDropWhile2(f, xf) { this.xf = xf; this.f = f; } XDropWhile2.prototype["@@transducer/init"] = xfBase_default.init; XDropWhile2.prototype["@@transducer/result"] = xfBase_default.result; XDropWhile2.prototype["@@transducer/step"] = function(result, input) { if (this.f) { if (this.f(input)) { return result; } this.f = null; } return this.xf["@@transducer/step"](result, input); }; return XDropWhile2; }(); var _xdropWhile = /* @__PURE__ */ _curry2(function _xdropWhile2(f, xf) { return new XDropWhile(f, xf); }); var xdropWhile_default = _xdropWhile; // node_modules/ramda/es/dropWhile.js var dropWhile = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["dropWhile"], xdropWhile_default, function dropWhile2(pred, xs) { var idx = 0; var len = xs.length; while (idx < len && pred(xs[idx])) { idx += 1; } return slice_default(idx, Infinity, xs); }) ); var dropWhile_default = dropWhile; // node_modules/ramda/es/or.js var or = /* @__PURE__ */ _curry2(function or2(a, b) { return a || b; }); var or_default = or; // node_modules/ramda/es/either.js var either = /* @__PURE__ */ _curry2(function either2(f, g2) { return _isFunction(f) ? function _either() { return f.apply(this, arguments) || g2.apply(this, arguments); } : lift_default(or_default)(f, g2); }); var either_default = either; // node_modules/ramda/es/internal/_isTypedArray.js function _isTypedArray(val) { var type3 = Object.prototype.toString.call(val); return type3 === "[object Uint8ClampedArray]" || type3 === "[object Int8Array]" || type3 === "[object Uint8Array]" || type3 === "[object Int16Array]" || type3 === "[object Uint16Array]" || type3 === "[object Int32Array]" || type3 === "[object Uint32Array]" || type3 === "[object Float32Array]" || type3 === "[object Float64Array]" || type3 === "[object BigInt64Array]" || type3 === "[object BigUint64Array]"; } // node_modules/ramda/es/empty.js var empty = /* @__PURE__ */ _curry1(function empty2(x) { return x != null && typeof x["fantasy-land/empty"] === "function" ? x["fantasy-land/empty"]() : x != null && x.constructor != null && typeof x.constructor["fantasy-land/empty"] === "function" ? x.constructor["fantasy-land/empty"]() : x != null && typeof x.empty === "function" ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === "function" ? x.constructor.empty() : isArray_default(x) ? [] : _isString(x) ? "" : _isObject(x) ? {} : isArguments_default(x) ? function() { return arguments; }() : _isTypedArray(x) ? x.constructor.from("") : void 0; }); var empty_default = empty; // node_modules/ramda/es/takeLast.js var takeLast = /* @__PURE__ */ _curry2(function takeLast2(n2, xs) { return drop_default(n2 >= 0 ? xs.length - n2 : 0, xs); }); var takeLast_default = takeLast; // node_modules/ramda/es/endsWith.js var endsWith = /* @__PURE__ */ _curry2(function(suffix, list) { return equals_default(takeLast_default(suffix.length, list), suffix); }); var endsWith_default = endsWith; // node_modules/ramda/es/eqBy.js var eqBy = /* @__PURE__ */ _curry3(function eqBy2(f, x, y) { return equals_default(f(x), f(y)); }); var eqBy_default = eqBy; // node_modules/ramda/es/eqProps.js var eqProps = /* @__PURE__ */ _curry3(function eqProps2(prop4, obj1, obj2) { return equals_default(obj1[prop4], obj2[prop4]); }); var eqProps_default = eqProps; // node_modules/ramda/es/evolve.js var evolve = /* @__PURE__ */ _curry2(function evolve2(transformations, object) { if (!_isObject(object) && !isArray_default(object)) { return object; } var result = object instanceof Array ? [] : {}; var transformation, key, type3; for (key in object) { transformation = transformations[key]; type3 = typeof transformation; result[key] = type3 === "function" ? transformation(object[key]) : transformation && type3 === "object" ? evolve2(transformation, object[key]) : object[key]; } return result; }); var evolve_default = evolve; // node_modules/ramda/es/internal/_xfind.js var XFind = /* @__PURE__ */ function() { function XFind2(f, xf) { this.xf = xf; this.f = f; this.found = false; } XFind2.prototype["@@transducer/init"] = xfBase_default.init; XFind2.prototype["@@transducer/result"] = function(result) { if (!this.found) { result = this.xf["@@transducer/step"](result, void 0); } return this.xf["@@transducer/result"](result); }; XFind2.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.found = true; result = _reduced(this.xf["@@transducer/step"](result, input)); } return result; }; return XFind2; }(); var _xfind = /* @__PURE__ */ _curry2(function _xfind2(f, xf) { return new XFind(f, xf); }); var xfind_default = _xfind; // node_modules/ramda/es/find.js var find = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["find"], xfind_default, function find2(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return list[idx]; } idx += 1; } }) ); var find_default = find; // node_modules/ramda/es/internal/_xfindIndex.js var XFindIndex = /* @__PURE__ */ function() { function XFindIndex2(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.found = false; } XFindIndex2.prototype["@@transducer/init"] = xfBase_default.init; XFindIndex2.prototype["@@transducer/result"] = function(result) { if (!this.found) { result = this.xf["@@transducer/step"](result, -1); } return this.xf["@@transducer/result"](result); }; XFindIndex2.prototype["@@transducer/step"] = function(result, input) { this.idx += 1; if (this.f(input)) { this.found = true; result = _reduced(this.xf["@@transducer/step"](result, this.idx)); } return result; }; return XFindIndex2; }(); var _xfindIndex = /* @__PURE__ */ _curry2(function _xfindIndex2(f, xf) { return new XFindIndex(f, xf); }); var xfindIndex_default = _xfindIndex; // node_modules/ramda/es/findIndex.js var findIndex = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xfindIndex_default, function findIndex2(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return idx; } idx += 1; } return -1; }) ); var findIndex_default = findIndex; // node_modules/ramda/es/internal/_xfindLast.js var XFindLast = /* @__PURE__ */ function() { function XFindLast2(f, xf) { this.xf = xf; this.f = f; } XFindLast2.prototype["@@transducer/init"] = xfBase_default.init; XFindLast2.prototype["@@transducer/result"] = function(result) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result, this.last)); }; XFindLast2.prototype["@@transducer/step"] = function(result, input) { if (this.f(input)) { this.last = input; } return result; }; return XFindLast2; }(); var _xfindLast = /* @__PURE__ */ _curry2(function _xfindLast2(f, xf) { return new XFindLast(f, xf); }); var xfindLast_default = _xfindLast; // node_modules/ramda/es/findLast.js var findLast = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xfindLast_default, function findLast2(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return list[idx]; } idx -= 1; } }) ); var findLast_default = findLast; // node_modules/ramda/es/internal/_xfindLastIndex.js var XFindLastIndex = /* @__PURE__ */ function() { function XFindLastIndex2(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.lastIdx = -1; } XFindLastIndex2.prototype["@@transducer/init"] = xfBase_default.init; XFindLastIndex2.prototype["@@transducer/result"] = function(result) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result, this.lastIdx)); }; XFindLastIndex2.prototype["@@transducer/step"] = function(result, input) { this.idx += 1; if (this.f(input)) { this.lastIdx = this.idx; } return result; }; return XFindLastIndex2; }(); var _xfindLastIndex = /* @__PURE__ */ _curry2(function _xfindLastIndex2(f, xf) { return new XFindLastIndex(f, xf); }); var xfindLastIndex_default = _xfindLastIndex; // node_modules/ramda/es/findLastIndex.js var findLastIndex = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xfindLastIndex_default, function findLastIndex2(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return idx; } idx -= 1; } return -1; }) ); var findLastIndex_default = findLastIndex; // node_modules/ramda/es/flatten.js var flatten = /* @__PURE__ */ _curry1( /* @__PURE__ */ _makeFlat(true) ); var flatten_default = flatten; // node_modules/ramda/es/flip.js var flip = /* @__PURE__ */ _curry1(function flip2(fn) { return curryN_default(fn.length, function(a, b) { var args = Array.prototype.slice.call(arguments, 0); args[0] = b; args[1] = a; return fn.apply(this, args); }); }); var flip_default = flip; // node_modules/ramda/es/forEach.js var forEach = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod("forEach", function forEach2(fn, list) { var len = list.length; var idx = 0; while (idx < len) { fn(list[idx]); idx += 1; } return list; }) ); var forEach_default = forEach; // node_modules/ramda/es/forEachObjIndexed.js var forEachObjIndexed = /* @__PURE__ */ _curry2(function forEachObjIndexed2(fn, obj) { var keyList = keys_default(obj); var idx = 0; while (idx < keyList.length) { var key = keyList[idx]; fn(obj[key], key, obj); idx += 1; } return obj; }); var forEachObjIndexed_default = forEachObjIndexed; // node_modules/ramda/es/fromPairs.js var fromPairs = /* @__PURE__ */ _curry1(function fromPairs2(pairs) { var result = {}; var idx = 0; while (idx < pairs.length) { result[pairs[idx][0]] = pairs[idx][1]; idx += 1; } return result; }); var fromPairs_default = fromPairs; // node_modules/ramda/es/groupBy.js var groupBy = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod( "groupBy", /* @__PURE__ */ reduceBy_default(function(acc, item) { acc.push(item); return acc; }, []) ) ); var groupBy_default = groupBy; // node_modules/ramda/es/groupWith.js var groupWith = /* @__PURE__ */ _curry2(function(fn, list) { var res = []; var idx = 0; var len = list.length; while (idx < len) { var nextidx = idx + 1; while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { nextidx += 1; } res.push(list.slice(idx, nextidx)); idx = nextidx; } return res; }); var groupWith_default = groupWith; // node_modules/ramda/es/gt.js var gt = /* @__PURE__ */ _curry2(function gt2(a, b) { return a > b; }); var gt_default = gt; // node_modules/ramda/es/gte.js var gte = /* @__PURE__ */ _curry2(function gte2(a, b) { return a >= b; }); var gte_default = gte; // node_modules/ramda/es/hasPath.js var hasPath = /* @__PURE__ */ _curry2(function hasPath2(_path, obj) { if (_path.length === 0 || isNil_default(obj)) { return false; } var val = obj; var idx = 0; while (idx < _path.length) { if (!isNil_default(val) && _has(_path[idx], val)) { val = val[_path[idx]]; idx += 1; } else { return false; } } return true; }); var hasPath_default = hasPath; // node_modules/ramda/es/has.js var has = /* @__PURE__ */ _curry2(function has2(prop4, obj) { return hasPath_default([prop4], obj); }); var has_default = has; // node_modules/ramda/es/hasIn.js var hasIn = /* @__PURE__ */ _curry2(function hasIn2(prop4, obj) { if (isNil_default(obj)) { return false; } return prop4 in obj; }); var hasIn_default = hasIn; // node_modules/ramda/es/identical.js var identical = /* @__PURE__ */ _curry2(objectIs_default); var identical_default = identical; // node_modules/ramda/es/ifElse.js var ifElse = /* @__PURE__ */ _curry3(function ifElse2(condition, onTrue, onFalse) { return curryN_default(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); }); }); var ifElse_default = ifElse; // node_modules/ramda/es/inc.js var inc = /* @__PURE__ */ add_default(1); var inc_default = inc; // node_modules/ramda/es/includes.js var includes = /* @__PURE__ */ _curry2(_includes); var includes_default = includes; // node_modules/ramda/es/indexBy.js var indexBy = /* @__PURE__ */ reduceBy_default(function(acc, elem) { return elem; }, null); var indexBy_default = indexBy; // node_modules/ramda/es/indexOf.js var indexOf = /* @__PURE__ */ _curry2(function indexOf2(target, xs) { return typeof xs.indexOf === "function" && !isArray_default(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0); }); var indexOf_default = indexOf; // node_modules/ramda/es/init.js var init = /* @__PURE__ */ slice_default(0, -1); var init_default = init; // node_modules/ramda/es/innerJoin.js var innerJoin = /* @__PURE__ */ _curry3(function innerJoin2(pred, xs, ys) { return _filter(function(x) { return _includesWith(pred, x, ys); }, xs); }); var innerJoin_default = innerJoin; // node_modules/ramda/es/insert.js var insert = /* @__PURE__ */ _curry3(function insert2(idx, elt, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; var result = Array.prototype.slice.call(list, 0); result.splice(idx, 0, elt); return result; }); var insert_default = insert; // node_modules/ramda/es/insertAll.js var insertAll = /* @__PURE__ */ _curry3(function insertAll2(idx, elts, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx)); }); var insertAll_default = insertAll; // node_modules/ramda/es/internal/_xuniqBy.js var XUniqBy = /* @__PURE__ */ function() { function XUniqBy2(f, xf) { this.xf = xf; this.f = f; this.set = new Set_default(); } XUniqBy2.prototype["@@transducer/init"] = xfBase_default.init; XUniqBy2.prototype["@@transducer/result"] = xfBase_default.result; XUniqBy2.prototype["@@transducer/step"] = function(result, input) { return this.set.add(this.f(input)) ? this.xf["@@transducer/step"](result, input) : result; }; return XUniqBy2; }(); var _xuniqBy = /* @__PURE__ */ _curry2(function _xuniqBy2(f, xf) { return new XUniqBy(f, xf); }); var xuniqBy_default = _xuniqBy; // node_modules/ramda/es/uniqBy.js var uniqBy = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xuniqBy_default, function(fn, list) { var set4 = new Set_default(); var result = []; var idx = 0; var appliedItem, item; while (idx < list.length) { item = list[idx]; appliedItem = fn(item); if (set4.add(appliedItem)) { result.push(item); } idx += 1; } return result; }) ); var uniqBy_default = uniqBy; // node_modules/ramda/es/uniq.js var uniq = /* @__PURE__ */ uniqBy_default(identity_default); var uniq_default = uniq; // node_modules/ramda/es/intersection.js var intersection = /* @__PURE__ */ _curry2(function intersection2(list1, list2) { var lookupList, filteredList; if (list1.length > list2.length) { lookupList = list1; filteredList = list2; } else { lookupList = list2; filteredList = list1; } return uniq_default(_filter(flip_default(_includes)(lookupList), filteredList)); }); var intersection_default = intersection; // node_modules/ramda/es/intersperse.js var intersperse = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod("intersperse", function intersperse2(separator, list) { var out = []; var idx = 0; var length3 = list.length; while (idx < length3) { if (idx === length3 - 1) { out.push(list[idx]); } else { out.push(list[idx], separator); } idx += 1; } return out; }) ); var intersperse_default = intersperse; // node_modules/ramda/es/internal/_objectAssign.js function _objectAssign(target) { if (target == null) { throw new TypeError("Cannot convert undefined or null to object"); } var output = Object(target); var idx = 1; var length3 = arguments.length; while (idx < length3) { var source = arguments[idx]; if (source != null) { for (var nextKey in source) { if (_has(nextKey, source)) { output[nextKey] = source[nextKey]; } } } idx += 1; } return output; } var objectAssign_default = typeof Object.assign === "function" ? Object.assign : _objectAssign; // node_modules/ramda/es/objOf.js var objOf = /* @__PURE__ */ _curry2(function objOf2(key, val) { var obj = {}; obj[key] = val; return obj; }); var objOf_default = objOf; // node_modules/ramda/es/internal/_stepCat.js var _stepCatArray = { "@@transducer/init": Array, "@@transducer/step": function(xs, x) { xs.push(x); return xs; }, "@@transducer/result": _identity }; var _stepCatString = { "@@transducer/init": String, "@@transducer/step": function(a, b) { return a + b; }, "@@transducer/result": _identity }; var _stepCatObject = { "@@transducer/init": Object, "@@transducer/step": function(result, input) { return objectAssign_default(result, isArrayLike_default(input) ? objOf_default(input[0], input[1]) : input); }, "@@transducer/result": _identity }; function _stepCat(obj) { if (_isTransformer(obj)) { return obj; } if (isArrayLike_default(obj)) { return _stepCatArray; } if (typeof obj === "string") { return _stepCatString; } if (typeof obj === "object") { return _stepCatObject; } throw new Error("Cannot create transformer for " + obj); } // node_modules/ramda/es/into.js var into = /* @__PURE__ */ _curry3(function into2(acc, xf, list) { return _isTransformer(acc) ? _reduce(xf(acc), acc["@@transducer/init"](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list); }); var into_default = into; // node_modules/ramda/es/invert.js var invert = /* @__PURE__ */ _curry1(function invert2(obj) { var props3 = keys_default(obj); var len = props3.length; var idx = 0; var out = {}; while (idx < len) { var key = props3[idx]; var val = obj[key]; var list = _has(val, out) ? out[val] : out[val] = []; list[list.length] = key; idx += 1; } return out; }); var invert_default = invert; // node_modules/ramda/es/invertObj.js var invertObj = /* @__PURE__ */ _curry1(function invertObj2(obj) { var props3 = keys_default(obj); var len = props3.length; var idx = 0; var out = {}; while (idx < len) { var key = props3[idx]; out[obj[key]] = key; idx += 1; } return out; }); var invertObj_default = invertObj; // node_modules/ramda/es/invoker.js var invoker = /* @__PURE__ */ _curry2(function invoker2(arity, method) { return curryN_default(arity + 1, function() { var target = arguments[arity]; if (target != null && _isFunction(target[method])) { return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); } throw new TypeError(toString_default(target) + ' does not have a method named "' + method + '"'); }); }); var invoker_default = invoker; // node_modules/ramda/es/is.js var is = /* @__PURE__ */ _curry2(function is2(Ctor, val) { return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === "Object" && typeof val === "object"); }); var is_default = is; // node_modules/ramda/es/isEmpty.js var isEmpty = /* @__PURE__ */ _curry1(function isEmpty2(x) { return x != null && equals_default(x, empty_default(x)); }); var isEmpty_default = isEmpty; // node_modules/ramda/es/join.js var join = /* @__PURE__ */ invoker_default(1, "join"); var join_default = join; // node_modules/ramda/es/juxt.js var juxt = /* @__PURE__ */ _curry1(function juxt2(fns) { return converge_default(function() { return Array.prototype.slice.call(arguments, 0); }, fns); }); var juxt_default = juxt; // node_modules/ramda/es/keysIn.js var keysIn = /* @__PURE__ */ _curry1(function keysIn2(obj) { var prop4; var ks = []; for (prop4 in obj) { ks[ks.length] = prop4; } return ks; }); var keysIn_default = keysIn; // node_modules/ramda/es/lastIndexOf.js var lastIndexOf = /* @__PURE__ */ _curry2(function lastIndexOf2(target, xs) { if (typeof xs.lastIndexOf === "function" && !isArray_default(xs)) { return xs.lastIndexOf(target); } else { var idx = xs.length - 1; while (idx >= 0) { if (equals_default(xs[idx], target)) { return idx; } idx -= 1; } return -1; } }); var lastIndexOf_default = lastIndexOf; // node_modules/ramda/es/internal/_isNumber.js function _isNumber(x) { return Object.prototype.toString.call(x) === "[object Number]"; } // node_modules/ramda/es/length.js var length = /* @__PURE__ */ _curry1(function length2(list) { return list != null && _isNumber(list.length) ? list.length : NaN; }); var length_default = length; // node_modules/ramda/es/lens.js var lens = /* @__PURE__ */ _curry2(function lens2(getter, setter) { return function(toFunctorFn) { return function(target) { return map_default(function(focus) { return setter(focus, target); }, toFunctorFn(getter(target))); }; }; }); var lens_default = lens; // node_modules/ramda/es/update.js var update = /* @__PURE__ */ _curry3(function update2(idx, x, list) { return adjust_default(idx, always_default(x), list); }); var update_default = update; // node_modules/ramda/es/lensIndex.js var lensIndex = /* @__PURE__ */ _curry1(function lensIndex2(n2) { return lens_default(nth_default(n2), update_default(n2)); }); var lensIndex_default = lensIndex; // node_modules/ramda/es/paths.js var paths = /* @__PURE__ */ _curry2(function paths2(pathsArray, obj) { return pathsArray.map(function(paths3) { var val = obj; var idx = 0; var p; while (idx < paths3.length) { if (val == null) { return; } p = paths3[idx]; val = isInteger_default(p) ? nth_default(p, val) : val[p]; idx += 1; } return val; }); }); var paths_default = paths; // node_modules/ramda/es/path.js var path = /* @__PURE__ */ _curry2(function path2(pathAr, obj) { return paths_default([pathAr], obj)[0]; }); var path_default = path; // node_modules/ramda/es/lensPath.js var lensPath = /* @__PURE__ */ _curry1(function lensPath2(p) { return lens_default(path_default(p), assocPath_default(p)); }); var lensPath_default = lensPath; // node_modules/ramda/es/lensProp.js var lensProp = /* @__PURE__ */ _curry1(function lensProp2(k) { return lens_default(prop_default(k), assoc_default(k)); }); var lensProp_default = lensProp; // node_modules/ramda/es/lt.js var lt = /* @__PURE__ */ _curry2(function lt2(a, b) { return a < b; }); var lt_default = lt; // node_modules/ramda/es/lte.js var lte = /* @__PURE__ */ _curry2(function lte2(a, b) { return a <= b; }); var lte_default = lte; // node_modules/ramda/es/mapAccum.js var mapAccum = /* @__PURE__ */ _curry3(function mapAccum2(fn, acc, list) { var idx = 0; var len = list.length; var result = []; var tuple = [acc]; while (idx < len) { tuple = fn(tuple[0], list[idx]); result[idx] = tuple[1]; idx += 1; } return [tuple[0], result]; }); var mapAccum_default = mapAccum; // node_modules/ramda/es/mapAccumRight.js var mapAccumRight = /* @__PURE__ */ _curry3(function mapAccumRight2(fn, acc, list) { var idx = list.length - 1; var result = []; var tuple = [acc]; while (idx >= 0) { tuple = fn(tuple[0], list[idx]); result[idx] = tuple[1]; idx -= 1; } return [tuple[0], result]; }); var mapAccumRight_default = mapAccumRight; // node_modules/ramda/es/mapObjIndexed.js var mapObjIndexed = /* @__PURE__ */ _curry2(function mapObjIndexed2(fn, obj) { return _reduce(function(acc, key) { acc[key] = fn(obj[key], key, obj); return acc; }, {}, keys_default(obj)); }); var mapObjIndexed_default = mapObjIndexed; // node_modules/ramda/es/match.js var match = /* @__PURE__ */ _curry2(function match2(rx, str) { return str.match(rx) || []; }); var match_default = match; // node_modules/ramda/es/mathMod.js var mathMod = /* @__PURE__ */ _curry2(function mathMod2(m, p) { if (!isInteger_default(m)) { return NaN; } if (!isInteger_default(p) || p < 1) { return NaN; } return (m % p + p) % p; }); var mathMod_default = mathMod; // node_modules/ramda/es/maxBy.js var maxBy = /* @__PURE__ */ _curry3(function maxBy2(f, a, b) { return f(b) > f(a) ? b : a; }); var maxBy_default = maxBy; // node_modules/ramda/es/sum.js var sum = /* @__PURE__ */ reduce_default(add_default, 0); var sum_default = sum; // node_modules/ramda/es/mean.js var mean = /* @__PURE__ */ _curry1(function mean2(list) { return sum_default(list) / list.length; }); var mean_default = mean; // node_modules/ramda/es/median.js var median = /* @__PURE__ */ _curry1(function median2(list) { var len = list.length; if (len === 0) { return NaN; } var width = 2 - len % 2; var idx = (len - width) / 2; return mean_default(Array.prototype.slice.call(list, 0).sort(function(a, b) { return a < b ? -1 : a > b ? 1 : 0; }).slice(idx, idx + width)); }); var median_default = median; // node_modules/ramda/es/memoizeWith.js var memoizeWith = /* @__PURE__ */ _curry2(function memoizeWith2(mFn, fn) { var cache = {}; return _arity(fn.length, function() { var key = mFn.apply(this, arguments); if (!_has(key, cache)) { cache[key] = fn.apply(this, arguments); } return cache[key]; }); }); var memoizeWith_default = memoizeWith; // node_modules/ramda/es/mergeAll.js var mergeAll = /* @__PURE__ */ _curry1(function mergeAll2(list) { return objectAssign_default.apply(null, [{}].concat(list)); }); var mergeAll_default = mergeAll; // node_modules/ramda/es/mergeWithKey.js var mergeWithKey = /* @__PURE__ */ _curry3(function mergeWithKey2(fn, l, r) { var result = {}; var k; for (k in l) { if (_has(k, l)) { result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k]; } } for (k in r) { if (_has(k, r) && !_has(k, result)) { result[k] = r[k]; } } return result; }); var mergeWithKey_default = mergeWithKey; // node_modules/ramda/es/mergeDeepWithKey.js var mergeDeepWithKey = /* @__PURE__ */ _curry3(function mergeDeepWithKey2(fn, lObj, rObj) { return mergeWithKey_default(function(k, lVal, rVal) { if (_isObject(lVal) && _isObject(rVal)) { return mergeDeepWithKey2(fn, lVal, rVal); } else { return fn(k, lVal, rVal); } }, lObj, rObj); }); var mergeDeepWithKey_default = mergeDeepWithKey; // node_modules/ramda/es/mergeDeepLeft.js var mergeDeepLeft = /* @__PURE__ */ _curry2(function mergeDeepLeft2(lObj, rObj) { return mergeDeepWithKey_default(function(k, lVal, rVal) { return lVal; }, lObj, rObj); }); var mergeDeepLeft_default = mergeDeepLeft; // node_modules/ramda/es/mergeDeepRight.js var mergeDeepRight = /* @__PURE__ */ _curry2(function mergeDeepRight2(lObj, rObj) { return mergeDeepWithKey_default(function(k, lVal, rVal) { return rVal; }, lObj, rObj); }); var mergeDeepRight_default = mergeDeepRight; // node_modules/ramda/es/mergeDeepWith.js var mergeDeepWith = /* @__PURE__ */ _curry3(function mergeDeepWith2(fn, lObj, rObj) { return mergeDeepWithKey_default(function(k, lVal, rVal) { return fn(lVal, rVal); }, lObj, rObj); }); var mergeDeepWith_default = mergeDeepWith; // node_modules/ramda/es/mergeLeft.js var mergeLeft = /* @__PURE__ */ _curry2(function mergeLeft2(l, r) { return objectAssign_default({}, r, l); }); var mergeLeft_default = mergeLeft; // node_modules/ramda/es/mergeRight.js var mergeRight = /* @__PURE__ */ _curry2(function mergeRight2(l, r) { return objectAssign_default({}, l, r); }); var mergeRight_default = mergeRight; // node_modules/ramda/es/mergeWith.js var mergeWith = /* @__PURE__ */ _curry3(function mergeWith2(fn, l, r) { return mergeWithKey_default(function(_2, _l, _r) { return fn(_l, _r); }, l, r); }); var mergeWith_default = mergeWith; // node_modules/ramda/es/min.js var min = /* @__PURE__ */ _curry2(function min2(a, b) { return b < a ? b : a; }); var min_default = min; // node_modules/ramda/es/minBy.js var minBy = /* @__PURE__ */ _curry3(function minBy2(f, a, b) { return f(b) < f(a) ? b : a; }); var minBy_default = minBy; // node_modules/ramda/es/internal/_modify.js function _modify(prop4, fn, obj) { if (isInteger_default(prop4) && isArray_default(obj)) { var arr = [].concat(obj); arr[prop4] = fn(arr[prop4]); return arr; } var result = {}; for (var p in obj) { result[p] = obj[p]; } result[prop4] = fn(result[prop4]); return result; } // node_modules/ramda/es/modifyPath.js var modifyPath = /* @__PURE__ */ _curry3(function modifyPath2(path3, fn, object) { if (!_isObject(object) && !isArray_default(object) || path3.length === 0) { return object; } var idx = path3[0]; if (!_has(idx, object)) { return object; } if (path3.length === 1) { return _modify(idx, fn, object); } var val = modifyPath2(Array.prototype.slice.call(path3, 1), fn, object[idx]); if (val === object[idx]) { return object; } return _assoc(idx, val, object); }); var modifyPath_default = modifyPath; // node_modules/ramda/es/modify.js var modify = /* @__PURE__ */ _curry3(function modify2(prop4, fn, object) { return modifyPath_default([prop4], fn, object); }); var modify_default = modify; // node_modules/ramda/es/modulo.js var modulo = /* @__PURE__ */ _curry2(function modulo2(a, b) { return a % b; }); var modulo_default = modulo; // node_modules/ramda/es/move.js var move = /* @__PURE__ */ _curry3(function(from, to, list) { var length3 = list.length; var result = list.slice(); var positiveFrom = from < 0 ? length3 + from : from; var positiveTo = to < 0 ? length3 + to : to; var item = result.splice(positiveFrom, 1); return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length)); }); var move_default = move; // node_modules/ramda/es/multiply.js var multiply = /* @__PURE__ */ _curry2(function multiply2(a, b) { return a * b; }); var multiply_default = multiply; // node_modules/ramda/es/partialObject.js var partialObject_default = /* @__PURE__ */ _curry2((f, o3) => (props3) => f.call(void 0, mergeDeepRight_default(o3, props3))); // node_modules/ramda/es/negate.js var negate = /* @__PURE__ */ _curry1(function negate2(n2) { return -n2; }); var negate_default = negate; // node_modules/ramda/es/none.js var none = /* @__PURE__ */ _curry2(function none2(fn, input) { return all_default(_complement(fn), input); }); var none_default = none; // node_modules/ramda/es/nthArg.js var nthArg = /* @__PURE__ */ _curry1(function nthArg2(n2) { var arity = n2 < 0 ? 1 : n2 + 1; return curryN_default(arity, function() { return nth_default(n2, arguments); }); }); var nthArg_default = nthArg; // node_modules/ramda/es/o.js var o = /* @__PURE__ */ _curry3(function o2(f, g2, x) { return f(g2(x)); }); var o_default = o; // node_modules/ramda/es/internal/_of.js function _of(x) { return [x]; } // node_modules/ramda/es/of.js var of = /* @__PURE__ */ _curry1(_of); var of_default = of; // node_modules/ramda/es/omit.js var omit = /* @__PURE__ */ _curry2(function omit2(names, obj) { var result = {}; var index = {}; var idx = 0; var len = names.length; while (idx < len) { index[names[idx]] = 1; idx += 1; } for (var prop4 in obj) { if (!index.hasOwnProperty(prop4)) { result[prop4] = obj[prop4]; } } return result; }); var omit_default = omit; // node_modules/ramda/es/on.js var on = /* @__PURE__ */ _curryN(4, [], function on2(f, g2, a, b) { return f(g2(a), g2(b)); }); var on_default = on; // node_modules/ramda/es/once.js var once = /* @__PURE__ */ _curry1(function once2(fn) { var called = false; var result; return _arity(fn.length, function() { if (called) { return result; } called = true; result = fn.apply(this, arguments); return result; }); }); var once_default = once; // node_modules/ramda/es/internal/_assertPromise.js function _assertPromise(name, p) { if (p == null || !_isFunction(p.then)) { throw new TypeError("`" + name + "` expected a Promise, received " + _toString(p, [])); } } // node_modules/ramda/es/otherwise.js var otherwise = /* @__PURE__ */ _curry2(function otherwise2(f, p) { _assertPromise("otherwise", p); return p.then(null, f); }); var otherwise_default = otherwise; // node_modules/ramda/es/over.js var Identity = function(x) { return { value: x, map: function(f) { return Identity(f(x)); } }; }; var over = /* @__PURE__ */ _curry3(function over2(lens3, f, x) { return lens3(function(y) { return Identity(f(y)); })(x).value; }); var over_default = over; // node_modules/ramda/es/pair.js var pair = /* @__PURE__ */ _curry2(function pair2(fst, snd) { return [fst, snd]; }); var pair_default = pair; // node_modules/ramda/es/internal/_createPartialApplicator.js function _createPartialApplicator(concat4) { return _curry2(function(fn, args) { return _arity(Math.max(0, fn.length - args.length), function() { return fn.apply(this, concat4(args, arguments)); }); }); } // node_modules/ramda/es/partial.js var partial = /* @__PURE__ */ _createPartialApplicator(_concat); var partial_default = partial; // node_modules/ramda/es/partialRight.js var partialRight = /* @__PURE__ */ _createPartialApplicator( /* @__PURE__ */ flip_default(_concat) ); var partialRight_default = partialRight; // node_modules/ramda/es/partition.js var partition = /* @__PURE__ */ juxt_default([filter_default, reject_default]); var partition_default = partition; // node_modules/ramda/es/pathEq.js var pathEq = /* @__PURE__ */ _curry3(function pathEq2(_path, val, obj) { return equals_default(path_default(_path, obj), val); }); var pathEq_default = pathEq; // node_modules/ramda/es/pathOr.js var pathOr = /* @__PURE__ */ _curry3(function pathOr2(d, p, obj) { return defaultTo_default(d, path_default(p, obj)); }); var pathOr_default = pathOr; // node_modules/ramda/es/pathSatisfies.js var pathSatisfies = /* @__PURE__ */ _curry3(function pathSatisfies2(pred, propPath, obj) { return pred(path_default(propPath, obj)); }); var pathSatisfies_default = pathSatisfies; // node_modules/ramda/es/pick.js var pick = /* @__PURE__ */ _curry2(function pick2(names, obj) { var result = {}; var idx = 0; while (idx < names.length) { if (names[idx] in obj) { result[names[idx]] = obj[names[idx]]; } idx += 1; } return result; }); var pick_default = pick; // node_modules/ramda/es/pickAll.js var pickAll = /* @__PURE__ */ _curry2(function pickAll2(names, obj) { var result = {}; var idx = 0; var len = names.length; while (idx < len) { var name = names[idx]; result[name] = obj[name]; idx += 1; } return result; }); var pickAll_default = pickAll; // node_modules/ramda/es/pickBy.js var pickBy = /* @__PURE__ */ _curry2(function pickBy2(test3, obj) { var result = {}; for (var prop4 in obj) { if (test3(obj[prop4], prop4, obj)) { result[prop4] = obj[prop4]; } } return result; }); var pickBy_default = pickBy; // node_modules/ramda/es/prepend.js var prepend = /* @__PURE__ */ _curry2(function prepend2(el, list) { return _concat([el], list); }); var prepend_default = prepend; // node_modules/ramda/es/product.js var product = /* @__PURE__ */ reduce_default(multiply_default, 1); var product_default = product; // node_modules/ramda/es/useWith.js var useWith = /* @__PURE__ */ _curry2(function useWith2(fn, transformers) { return curryN_default(transformers.length, function() { var args = []; var idx = 0; while (idx < transformers.length) { args.push(transformers[idx].call(this, arguments[idx])); idx += 1; } return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); }); }); var useWith_default = useWith; // node_modules/ramda/es/project.js var project = /* @__PURE__ */ useWith_default(_map, [pickAll_default, identity_default]); var project_default = project; // node_modules/ramda/es/internal/_promap.js function _promap(f, g2, profunctor) { return function(x) { return g2(profunctor(f(x))); }; } // node_modules/ramda/es/internal/_xpromap.js var XPromap = /* @__PURE__ */ function() { function XPromap2(f, g2, xf) { this.xf = xf; this.f = f; this.g = g2; } XPromap2.prototype["@@transducer/init"] = xfBase_default.init; XPromap2.prototype["@@transducer/result"] = xfBase_default.result; XPromap2.prototype["@@transducer/step"] = function(result, input) { return this.xf["@@transducer/step"](result, _promap(this.f, this.g, input)); }; return XPromap2; }(); var _xpromap = /* @__PURE__ */ _curry3(function _xpromap2(f, g2, xf) { return new XPromap(f, g2, xf); }); var xpromap_default = _xpromap; // node_modules/ramda/es/promap.js var promap = /* @__PURE__ */ _curry3( /* @__PURE__ */ _dispatchable(["fantasy-land/promap", "promap"], xpromap_default, _promap) ); var promap_default = promap; // node_modules/ramda/es/propEq.js var propEq = /* @__PURE__ */ _curry3(function propEq2(name, val, obj) { return equals_default(val, prop_default(name, obj)); }); var propEq_default = propEq; // node_modules/ramda/es/propIs.js var propIs = /* @__PURE__ */ _curry3(function propIs2(type3, name, obj) { return is_default(type3, prop_default(name, obj)); }); var propIs_default = propIs; // node_modules/ramda/es/propOr.js var propOr = /* @__PURE__ */ _curry3(function propOr2(val, p, obj) { return defaultTo_default(val, prop_default(p, obj)); }); var propOr_default = propOr; // node_modules/ramda/es/propSatisfies.js var propSatisfies = /* @__PURE__ */ _curry3(function propSatisfies2(pred, name, obj) { return pred(prop_default(name, obj)); }); var propSatisfies_default = propSatisfies; // node_modules/ramda/es/props.js var props = /* @__PURE__ */ _curry2(function props2(ps, obj) { return ps.map(function(p) { return path_default([p], obj); }); }); var props_default = props; // node_modules/ramda/es/range.js var range = /* @__PURE__ */ _curry2(function range2(from, to) { if (!(_isNumber(from) && _isNumber(to))) { throw new TypeError("Both arguments to range must be numbers"); } var result = []; var n2 = from; while (n2 < to) { result.push(n2); n2 += 1; } return result; }); var range_default = range; // node_modules/ramda/es/reduceRight.js var reduceRight = /* @__PURE__ */ _curry3(function reduceRight2(fn, acc, list) { var idx = list.length - 1; while (idx >= 0) { acc = fn(list[idx], acc); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } idx -= 1; } return acc; }); var reduceRight_default = reduceRight; // node_modules/ramda/es/reduceWhile.js var reduceWhile = /* @__PURE__ */ _curryN(4, [], function _reduceWhile(pred, fn, a, list) { return _reduce(function(acc, x) { return pred(acc, x) ? fn(acc, x) : _reduced(acc); }, a, list); }); var reduceWhile_default = reduceWhile; // node_modules/ramda/es/reduced.js var reduced = /* @__PURE__ */ _curry1(_reduced); var reduced_default = reduced; // node_modules/ramda/es/times.js var times = /* @__PURE__ */ _curry2(function times2(fn, n2) { var len = Number(n2); var idx = 0; var list; if (len < 0 || isNaN(len)) { throw new RangeError("n must be a non-negative number"); } list = new Array(len); while (idx < len) { list[idx] = fn(idx); idx += 1; } return list; }); var times_default = times; // node_modules/ramda/es/repeat.js var repeat = /* @__PURE__ */ _curry2(function repeat2(value, n2) { return times_default(always_default(value), n2); }); var repeat_default = repeat; // node_modules/ramda/es/replace.js var replace = /* @__PURE__ */ _curry3(function replace2(regex, replacement, str) { return str.replace(regex, replacement); }); var replace_default = replace; // node_modules/ramda/es/scan.js var scan = /* @__PURE__ */ _curry3(function scan2(fn, acc, list) { var idx = 0; var len = list.length; var result = [acc]; while (idx < len) { acc = fn(acc, list[idx]); result[idx + 1] = acc; idx += 1; } return result; }); var scan_default = scan; // node_modules/ramda/es/sequence.js var sequence = /* @__PURE__ */ _curry2(function sequence2(of3, traversable) { return typeof traversable.sequence === "function" ? traversable.sequence(of3) : reduceRight_default(function(x, acc) { return ap_default(map_default(prepend_default, x), acc); }, of3([]), traversable); }); var sequence_default = sequence; // node_modules/ramda/es/set.js var set = /* @__PURE__ */ _curry3(function set2(lens3, v, x) { return over_default(lens3, always_default(v), x); }); var set_default = set; // node_modules/ramda/es/sort.js var sort = /* @__PURE__ */ _curry2(function sort2(comparator3, list) { return Array.prototype.slice.call(list, 0).sort(comparator3); }); var sort_default = sort; // node_modules/ramda/es/sortBy.js var sortBy = /* @__PURE__ */ _curry2(function sortBy2(fn, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); }); var sortBy_default = sortBy; // node_modules/ramda/es/sortWith.js var sortWith = /* @__PURE__ */ _curry2(function sortWith2(fns, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var result = 0; var i = 0; while (result === 0 && i < fns.length) { result = fns[i](a, b); i += 1; } return result; }); }); var sortWith_default = sortWith; // node_modules/ramda/es/split.js var split = /* @__PURE__ */ invoker_default(1, "split"); var split_default = split; // node_modules/ramda/es/splitAt.js var splitAt = /* @__PURE__ */ _curry2(function splitAt2(index, array) { return [slice_default(0, index, array), slice_default(index, length_default(array), array)]; }); var splitAt_default = splitAt; // node_modules/ramda/es/splitEvery.js var splitEvery = /* @__PURE__ */ _curry2(function splitEvery2(n2, list) { if (n2 <= 0) { throw new Error("First argument to splitEvery must be a positive integer"); } var result = []; var idx = 0; while (idx < list.length) { result.push(slice_default(idx, idx += n2, list)); } return result; }); var splitEvery_default = splitEvery; // node_modules/ramda/es/splitWhen.js var splitWhen = /* @__PURE__ */ _curry2(function splitWhen2(pred, list) { var idx = 0; var len = list.length; var prefix = []; while (idx < len && !pred(list[idx])) { prefix.push(list[idx]); idx += 1; } return [prefix, Array.prototype.slice.call(list, idx)]; }); var splitWhen_default = splitWhen; // node_modules/ramda/es/splitWhenever.js var splitWhenever = /* @__PURE__ */ _curryN(2, [], function splitWhenever2(pred, list) { var acc = []; var curr = []; for (var i = 0; i < list.length; i = i + 1) { if (!pred(list[i])) { curr.push(list[i]); } if ((i < list.length - 1 && pred(list[i + 1]) || i === list.length - 1) && curr.length > 0) { acc.push(curr); curr = []; } } return acc; }); var splitWhenever_default = splitWhenever; // node_modules/ramda/es/startsWith.js var startsWith = /* @__PURE__ */ _curry2(function(prefix, list) { return equals_default(take_default(prefix.length, list), prefix); }); var startsWith_default = startsWith; // node_modules/ramda/es/subtract.js var subtract = /* @__PURE__ */ _curry2(function subtract2(a, b) { return Number(a) - Number(b); }); var subtract_default = subtract; // node_modules/ramda/es/symmetricDifference.js var symmetricDifference = /* @__PURE__ */ _curry2(function symmetricDifference2(list1, list2) { return concat_default(difference_default(list1, list2), difference_default(list2, list1)); }); var symmetricDifference_default = symmetricDifference; // node_modules/ramda/es/symmetricDifferenceWith.js var symmetricDifferenceWith = /* @__PURE__ */ _curry3(function symmetricDifferenceWith2(pred, list1, list2) { return concat_default(differenceWith_default(pred, list1, list2), differenceWith_default(pred, list2, list1)); }); var symmetricDifferenceWith_default = symmetricDifferenceWith; // node_modules/ramda/es/takeLastWhile.js var takeLastWhile = /* @__PURE__ */ _curry2(function takeLastWhile2(fn, xs) { var idx = xs.length - 1; while (idx >= 0 && fn(xs[idx])) { idx -= 1; } return slice_default(idx + 1, Infinity, xs); }); var takeLastWhile_default = takeLastWhile; // node_modules/ramda/es/internal/_xtakeWhile.js var XTakeWhile = /* @__PURE__ */ function() { function XTakeWhile2(f, xf) { this.xf = xf; this.f = f; } XTakeWhile2.prototype["@@transducer/init"] = xfBase_default.init; XTakeWhile2.prototype["@@transducer/result"] = xfBase_default.result; XTakeWhile2.prototype["@@transducer/step"] = function(result, input) { return this.f(input) ? this.xf["@@transducer/step"](result, input) : _reduced(result); }; return XTakeWhile2; }(); var _xtakeWhile = /* @__PURE__ */ _curry2(function _xtakeWhile2(f, xf) { return new XTakeWhile(f, xf); }); var xtakeWhile_default = _xtakeWhile; // node_modules/ramda/es/takeWhile.js var takeWhile = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["takeWhile"], xtakeWhile_default, function takeWhile2(fn, xs) { var idx = 0; var len = xs.length; while (idx < len && fn(xs[idx])) { idx += 1; } return slice_default(0, idx, xs); }) ); var takeWhile_default = takeWhile; // node_modules/ramda/es/internal/_xtap.js var XTap = /* @__PURE__ */ function() { function XTap2(f, xf) { this.xf = xf; this.f = f; } XTap2.prototype["@@transducer/init"] = xfBase_default.init; XTap2.prototype["@@transducer/result"] = xfBase_default.result; XTap2.prototype["@@transducer/step"] = function(result, input) { this.f(input); return this.xf["@@transducer/step"](result, input); }; return XTap2; }(); var _xtap = /* @__PURE__ */ _curry2(function _xtap2(f, xf) { return new XTap(f, xf); }); var xtap_default = _xtap; // node_modules/ramda/es/tap.js var tap = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xtap_default, function tap2(fn, x) { fn(x); return x; }) ); var tap_default = tap; // node_modules/ramda/es/internal/_isRegExp.js function _isRegExp(x) { return Object.prototype.toString.call(x) === "[object RegExp]"; } // node_modules/ramda/es/test.js var test = /* @__PURE__ */ _curry2(function test2(pattern, str) { if (!_isRegExp(pattern)) { throw new TypeError("\u2018test\u2019 requires a value of type RegExp as its first argument; received " + toString_default(pattern)); } return _cloneRegExp(pattern).test(str); }); var test_default = test; // node_modules/ramda/es/andThen.js var andThen = /* @__PURE__ */ _curry2(function andThen2(f, p) { _assertPromise("andThen", p); return p.then(f); }); var andThen_default = andThen; // node_modules/ramda/es/toLower.js var toLower = /* @__PURE__ */ invoker_default(0, "toLowerCase"); var toLower_default = toLower; // node_modules/ramda/es/toPairs.js var toPairs = /* @__PURE__ */ _curry1(function toPairs2(obj) { var pairs = []; for (var prop4 in obj) { if (_has(prop4, obj)) { pairs[pairs.length] = [prop4, obj[prop4]]; } } return pairs; }); var toPairs_default = toPairs; // node_modules/ramda/es/toPairsIn.js var toPairsIn = /* @__PURE__ */ _curry1(function toPairsIn2(obj) { var pairs = []; for (var prop4 in obj) { pairs[pairs.length] = [prop4, obj[prop4]]; } return pairs; }); var toPairsIn_default = toPairsIn; // node_modules/ramda/es/toUpper.js var toUpper = /* @__PURE__ */ invoker_default(0, "toUpperCase"); var toUpper_default = toUpper; // node_modules/ramda/es/transduce.js var transduce = /* @__PURE__ */ curryN_default(4, function transduce2(xf, fn, acc, list) { return _reduce(xf(typeof fn === "function" ? _xwrap(fn) : fn), acc, list); }); var transduce_default = transduce; // node_modules/ramda/es/transpose.js var transpose = /* @__PURE__ */ _curry1(function transpose2(outerlist) { var i = 0; var result = []; while (i < outerlist.length) { var innerlist = outerlist[i]; var j = 0; while (j < innerlist.length) { if (typeof result[j] === "undefined") { result[j] = []; } result[j].push(innerlist[j]); j += 1; } i += 1; } return result; }); var transpose_default = transpose; // node_modules/ramda/es/traverse.js var traverse = /* @__PURE__ */ _curry3(function traverse2(of3, f, traversable) { return typeof traversable["fantasy-land/traverse"] === "function" ? traversable["fantasy-land/traverse"](f, of3) : typeof traversable.traverse === "function" ? traversable.traverse(f, of3) : sequence_default(of3, map_default(f, traversable)); }); var traverse_default = traverse; // node_modules/ramda/es/trim.js var ws = " \n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; var zeroWidth = "\u200B"; var hasProtoTrim = typeof String.prototype.trim === "function"; var trim = !hasProtoTrim || /* @__PURE__ */ ws.trim() || !/* @__PURE__ */ zeroWidth.trim() ? /* @__PURE__ */ _curry1(function trim2(str) { var beginRx = new RegExp("^[" + ws + "][" + ws + "]*"); var endRx = new RegExp("[" + ws + "][" + ws + "]*$"); return str.replace(beginRx, "").replace(endRx, ""); }) : /* @__PURE__ */ _curry1(function trim3(str) { return str.trim(); }); var trim_default = trim; // node_modules/ramda/es/tryCatch.js var tryCatch = /* @__PURE__ */ _curry2(function _tryCatch(tryer, catcher) { return _arity(tryer.length, function() { try { return tryer.apply(this, arguments); } catch (e) { return catcher.apply(this, _concat([e], arguments)); } }); }); var tryCatch_default = tryCatch; // node_modules/ramda/es/unapply.js var unapply = /* @__PURE__ */ _curry1(function unapply2(fn) { return function() { return fn(Array.prototype.slice.call(arguments, 0)); }; }); var unapply_default = unapply; // node_modules/ramda/es/unary.js var unary = /* @__PURE__ */ _curry1(function unary2(fn) { return nAry_default(1, fn); }); var unary_default = unary; // node_modules/ramda/es/uncurryN.js var uncurryN = /* @__PURE__ */ _curry2(function uncurryN2(depth, fn) { return curryN_default(depth, function() { var currentDepth = 1; var value = fn; var idx = 0; var endIdx; while (currentDepth <= depth && typeof value === "function") { endIdx = currentDepth === depth ? arguments.length : idx + value.length; value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx)); currentDepth += 1; idx = endIdx; } return value; }); }); var uncurryN_default = uncurryN; // node_modules/ramda/es/unfold.js var unfold = /* @__PURE__ */ _curry2(function unfold2(fn, seed) { var pair3 = fn(seed); var result = []; while (pair3 && pair3.length) { result[result.length] = pair3[0]; pair3 = fn(pair3[1]); } return result; }); var unfold_default = unfold; // node_modules/ramda/es/union.js var union = /* @__PURE__ */ _curry2( /* @__PURE__ */ compose(uniq_default, _concat) ); var union_default = union; // node_modules/ramda/es/internal/_xuniqWith.js var XUniqWith = /* @__PURE__ */ function() { function XUniqWith2(pred, xf) { this.xf = xf; this.pred = pred; this.items = []; } XUniqWith2.prototype["@@transducer/init"] = xfBase_default.init; XUniqWith2.prototype["@@transducer/result"] = xfBase_default.result; XUniqWith2.prototype["@@transducer/step"] = function(result, input) { if (_includesWith(this.pred, input, this.items)) { return result; } else { this.items.push(input); return this.xf["@@transducer/step"](result, input); } }; return XUniqWith2; }(); var _xuniqWith = /* @__PURE__ */ _curry2(function _xuniqWith2(pred, xf) { return new XUniqWith(pred, xf); }); var xuniqWith_default = _xuniqWith; // node_modules/ramda/es/uniqWith.js var uniqWith = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], xuniqWith_default, function(pred, list) { var idx = 0; var len = list.length; var result = []; var item; while (idx < len) { item = list[idx]; if (!_includesWith(pred, item, result)) { result[result.length] = item; } idx += 1; } return result; }) ); var uniqWith_default = uniqWith; // node_modules/ramda/es/unionWith.js var unionWith = /* @__PURE__ */ _curry3(function unionWith2(pred, list1, list2) { return uniqWith_default(pred, _concat(list1, list2)); }); var unionWith_default = unionWith; // node_modules/ramda/es/unless.js var unless = /* @__PURE__ */ _curry3(function unless2(pred, whenFalseFn, x) { return pred(x) ? x : whenFalseFn(x); }); var unless_default = unless; // node_modules/ramda/es/unnest.js var unnest = /* @__PURE__ */ chain_default(_identity); var unnest_default = unnest; // node_modules/ramda/es/until.js var until = /* @__PURE__ */ _curry3(function until2(pred, fn, init2) { var val = init2; while (!pred(val)) { val = fn(val); } return val; }); var until_default = until; // node_modules/ramda/es/unwind.js var unwind = /* @__PURE__ */ _curry2(function(key, object) { if (!(key in object && isArray_default(object[key]))) { return [object]; } return _map(function(item) { return _assoc(key, item, object); }, object[key]); }); var unwind_default = unwind; // node_modules/ramda/es/valuesIn.js var valuesIn = /* @__PURE__ */ _curry1(function valuesIn2(obj) { var prop4; var vs = []; for (prop4 in obj) { vs[vs.length] = obj[prop4]; } return vs; }); var valuesIn_default = valuesIn; // node_modules/ramda/es/view.js var Const = function(x) { return { value: x, "fantasy-land/map": function() { return this; } }; }; var view = /* @__PURE__ */ _curry2(function view2(lens3, x) { return lens3(Const)(x).value; }); var view_default = view; // node_modules/ramda/es/when.js var when = /* @__PURE__ */ _curry3(function when2(pred, whenTrueFn, x) { return pred(x) ? whenTrueFn(x) : x; }); var when_default = when; // node_modules/ramda/es/where.js var where = /* @__PURE__ */ _curry2(function where2(spec, testObj) { for (var prop4 in spec) { if (_has(prop4, spec) && !spec[prop4](testObj[prop4])) { return false; } } return true; }); var where_default = where; // node_modules/ramda/es/whereAny.js var whereAny = /* @__PURE__ */ _curry2(function whereAny2(spec, testObj) { for (var prop4 in spec) { if (_has(prop4, spec) && spec[prop4](testObj[prop4])) { return true; } } return false; }); var whereAny_default = whereAny; // node_modules/ramda/es/whereEq.js var whereEq = /* @__PURE__ */ _curry2(function whereEq2(spec, testObj) { return where_default(map_default(equals_default, spec), testObj); }); var whereEq_default = whereEq; // node_modules/ramda/es/without.js var without = /* @__PURE__ */ _curry2(function(xs, list) { return reject_default(flip_default(_includes)(xs), list); }); var without_default = without; // node_modules/ramda/es/xor.js var xor = /* @__PURE__ */ _curry2(function xor2(a, b) { return Boolean(!a ^ !b); }); var xor_default = xor; // node_modules/ramda/es/xprod.js var xprod = /* @__PURE__ */ _curry2(function xprod2(a, b) { var idx = 0; var ilen = a.length; var j; var jlen = b.length; var result = []; while (idx < ilen) { j = 0; while (j < jlen) { result[result.length] = [a[idx], b[j]]; j += 1; } idx += 1; } return result; }); var xprod_default = xprod; // node_modules/ramda/es/zip.js var zip = /* @__PURE__ */ _curry2(function zip2(a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = [a[idx], b[idx]]; idx += 1; } return rv; }); var zip_default = zip; // node_modules/ramda/es/zipObj.js var zipObj = /* @__PURE__ */ _curry2(function zipObj2(keys6, values4) { var idx = 0; var len = Math.min(keys6.length, values4.length); var out = {}; while (idx < len) { out[keys6[idx]] = values4[idx]; idx += 1; } return out; }); var zipObj_default = zipObj; // node_modules/ramda/es/zipWith.js var zipWith = /* @__PURE__ */ _curry3(function zipWith2(fn, a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = fn(a[idx], b[idx]); idx += 1; } return rv; }); var zipWith_default = zipWith; // node_modules/ramda/es/thunkify.js var thunkify = /* @__PURE__ */ _curry1(function thunkify2(fn) { return curryN_default(fn.length, function createThunk() { var fnArgs = arguments; return function invokeThunk() { return fn.apply(this, fnArgs); }; }); }); var thunkify_default = thunkify; // node_modules/fpjson-lang/dist/esm/index.js var _ = { Object, Array, String, Number, Boolean }; var c = (t) => typeof t == "function"; var n = (t, s = {}) => { if (isNil_default(t)) return t; let u = curry_default((l) => (/^\$/.test(l) && (l = a(tail_default(l), true)), path_default(l.split("."))(s))), a = curry_default((l, o3) => u(l)), p = curry_default((l, o3) => { let R = s; /^\$/.test(l) && (l = a(tail_default(l), true)); let y = l.split("."); for (let r of init_default(y)) isNil_default(R[r]) && (R[r] = {}), R = R[r]; return R[last_default(y)] = o3, o3; }), i = null; if (c(t[0])) { let l = tail_default(t); i = t[0](...l); } else is_default(Array)(t) && t.length === 1 && t[0] === "__" ? i = __default : t[0] === "typ" ? i = _[t[1]] : t[0] === "reg" ? i = new RegExp(...tail_default(t)) : is_default(Array)(t) && (includes_default(t[0])(["let", "var", "$"]) || c(es_exports[t[0]])) ? (i = compose(ifElse_default(o_default(gt_default(__default, 0), length_default), apply_default(t[0] === "$" ? u : t[0] === "var" ? a : t[0] === "let" ? p : es_exports[t[0]]), always_default(es_exports[t[0]])), map_default((l) => n(l, s)), tail_default)(t), i = typeof i > "u" ? [] : i) : is_default(Object)(t) && is_default(String)(t.var) ? i = path_default(t.var.split("."))(s) : is_default(Array)(t) || is_default(Object)(t) ? i = map_default((l) => n(l, s))(t) : i = t; let f = null; return is_default(Array)(i) && is_default(String)(i[0]) && i[0] === "[]" ? f = tail_default(i) : f = c(i[0]) ? n(i, s) : i, f; }; var g = n; // contracts/common/lib/utils.js var import_json_logic_js = __toESM(require_logic()); var import_jsonschema = __toESM(require_jsonschema()); var clone3 = (state) => JSON.parse(JSON.stringify(state)); var err = (msg = `The wrong query`, contractErr = false) => { if (contractErr) { const error = typeof ContractError === "undefined" ? Error : ContractError; throw new error(msg); } else { throw msg; } }; var mergeData = (_data, new_data, overwrite = false, signer) => { if (isNil_default(_data.__data) || overwrite) _data.__data = {}; for (let k in new_data) { const d = new_data[k]; if (is_default(Object)(d) && d.__op === "arrayUnion") { if (complement_default(is_default)(Array, d.arr)) err(); if (complement_default(is_default)(Array, _data.__data[k])) _data.__data[k] = []; _data.__data[k] = concat_default(_data.__data[k], d.arr); } else if (is_default(Object)(d) && d.__op === "arrayRemove") { if (complement_default(is_default)(Array, d.arr)) err(); if (complement_default(is_default)(Array, _data.__data[k])) _data.__data[k] = []; _data.__data[k] = without_default(d.arr, _data.__data[k]); } else if (is_default(Object)(d) && d.__op === "inc") { if (isNaN(d.n)) err(); if (isNil_default(_data.__data[k])) _data.__data[k] = 0; _data.__data[k] += d.n; } else if (is_default(Object)(d) && d.__op === "del") { delete _data.__data[k]; } else if (is_default(Object)(d) && d.__op === "ts") { _data.__data[k] = SmartWeave.block.timestamp; } else if (is_default(Object)(d) && d.__op === "signer") { _data.__data[k] = signer; } else { _data.__data[k] = d; } } return _data; }; var getDoc = (data, path3, _signer, func, new_data, secure = false, relayer, jobID, extra) => { const [_col, id] = path3; data[_col] ||= { __docs: {} }; const col = data[_col]; const { rules, schema } = col; col.__docs[id] ||= { __data: null, subs: {} }; const doc = col.__docs[id]; if (!isNil_default(_signer) && isNil_default(doc.setter)) doc.setter = _signer; let next_data = null; if (path3.length === 2) { if (includes_default(func)(["set", "add"])) { next_data = mergeData(clone3(doc), new_data, true, _signer).__data; } else if (includes_default(func)(["update", "upsert"])) { next_data = mergeData(clone3(doc), new_data, false, _signer).__data; } } if (includes_default(func)(["set", "add", "update", "upsert", "delete"]) && (secure || !isNil_default(rules))) { let op = func; if (includes_default(op)(["set", "add"])) op = "create"; if (op === "create" && !isNil_default(doc.__data)) op = "update"; if (op === "upsert") { if (!isNil_default(doc.__data)) { op = "update"; } else { op = "create"; } } let allowed = false; let rule_data = { request: { method: op, auth: { signer: _signer, relayer, jobID, extra }, block: { height: SmartWeave.block.height, timestamp: SmartWeave.block.timestamp }, transaction: { id: SmartWeave.transaction.id }, resource: { data: new_data }, id: last_default(path3), path: path3 }, resource: { data: doc.__data, setter: doc.setter, newData: next_data, id: last_default(path3), path: path3 } }; const setElm = (k, val) => { let elm = rule_data; let elm_path = k.split("."); let i = 0; for (let v of elm_path) { if (i === elm_path.length - 1) { elm[v] = val; break; } else if (isNil_default(elm[v])) elm[v] = {}; elm = elm[v]; i++; } return elm; }; if (!isNil_default(rules)) { for (let k in rules || {}) { const [permission, _ops] = k.split(" "); if (permission !== "let") continue; const rule = rules[k]; let ok = false; if (isNil_default(_ops)) { ok = true; } else { const ops = _ops.split(","); if (intersection_default(ops)(["write", op]).length > 0) { ok = true; } } if (ok) { for (let k2 in rule || {}) { setElm(k2, g(clone3(rule[k2]), rule_data)); } } } } for (let k in rules || {}) { const spk = k.split(" "); if (spk[0] === "let") continue; const rule = rules[k]; const [permission, _ops] = k.split(" "); const ops = _ops.split(","); if (intersection_default(ops)(["write", op]).length > 0) { const ok = import_json_logic_js.default.apply(rule, rule_data); if (permission === "allow" && ok) { allowed = true; } else if (permission === "deny" && ok) err(); } } if (!allowed) err("operation not allowed"); } return path3.length >= 4 ? getDoc( doc.subs, slice_default(2, path3.length, path3), _signer, func, new_data, secure, relayer, jobID, extra ) : { doc, schema, rules, col, next_data }; }; var getCol = (data, path3, _signer) => { const [col, id] = path3; data[col] ||= { __docs: {} }; if (isNil_default(id)) { return data[col]; } else { data[col].__docs[id] ||= { __data: null, subs: {} }; if (!isNil_default(_signer) && isNil_default(data[col].__docs[id].setter)) { data[col].__docs[id].setter = _signer; } return getCol( data[col].__docs[id].subs, slice_default(2, path3.length, path3), _signer ); } }; var validateSchema = (schema, data, contractErr) => { if (!isNil_default(schema)) { const valid = (0, import_jsonschema.validate)(data, clone3(schema)).valid; if (!valid) err(null, contractErr); } }; function bigIntFromBytes(byteArr) { let hexString = ""; for (const byte of byteArr) { hexString += byte.toString(16).padStart(2, "0"); } return BigInt("0x" + hexString); } async function getRandomIntNumber(max3, action, uniqueValue = "", salt) { const pseudoRandomData = SmartWeave.arweave.utils.stringToBuffer( SmartWeave.block.height + SmartWeave.block.timestamp + SmartWeave.transaction.id + action.caller + uniqueValue + salt.toString() ); const hashBytes = await SmartWeave.arweave.crypto.hash(pseudoRandomData); const randomBigInt = bigIntFromBytes(hashBytes); return Number(randomBigInt % BigInt(max3)); } var genId = async (action, salt) => { const CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let autoId = ""; for (let i = 0; i < 20; i++) { autoId += CHARS.charAt( await getRandomIntNumber(CHARS.length, action, i, salt) - 1 ); } return autoId; }; var parse = async (state, action, func, signer, salt, contractErr = true) => { const { data } = state; const { query } = action.input; const { relayer, jobID, extra } = action; let new_data = null; let path3 = null; let col; if (includes_default(func)([ "delete", "getSchema", "getRules", "getAlgorithms", "removeRelayerJob", "getRelayerJob", "listCollections" ])) { path3 = query; } else { ; [new_data, ...path3] = query; if (func === "add") { const id = await genId(action, salt); if (isNil_default(state.ids[SmartWeave.transaction.id])) { state.ids[SmartWeave.transaction.id] = []; } state.ids[SmartWeave.transaction.id].push(id); path3.push(id); } } if (isNil_default(new_data) && !includes_default(func)([ "listCollections", "delete", "getSchema", "getRules", "getAlgorithms", "getRelayerJob", "removeRelayerJob", "getRelayerJob" ]) || path3.length === 0 && !includes_default(func)(["setAlgorithms", "listCollections"]) || path3.length % 2 !== 0 && !includes_default(func)([ "addRelayerJob", "removeRelayerJob", "getRelayerJob", "addIndex", "removeIndex", "setSchema", "getSchema", "getAlgorithms", "setRules", "getRules", "linkContract", "unlinkContract" ])) { err(`the wrong query length[${query.length}] for ${func}`, contractErr); } let _data = null; let schema = null; let rules = null; let next_data; if (includes_default(func)([ "addIndex", "removeIndex", "setSchema", "getSchema", "setRules", "getRules" ])) { _data = getCol(data, path3, signer, func); col = _data; } else if (!includes_default(func)([ "setAlgorithms", "addRelayerJob", "removeRelayerJob", "getAlgorithms", "linkContract", "unlinkContract" ]) && path3.length !== 0) { const doc = getDoc( data, path3, signer, func, new_data, state.secure, relayer, jobID, extra ); _data = doc.doc; ({ next_data, schema, rules, col } = doc); } let owner = state.owner || []; if (is_default(String)(owner)) owner = of_default(owner); if (includes_default(func)([ "addRelayerJob", "removeRelayerJob", "addIndex", "removeIndex", "setSchema", "setAlgorithms", "setRules", "unlinkContract", "linkContract", "unlinkContract" ]) && !includes_default(signer)(owner)) { err("caller is not contract owner", contractErr); } return { data, query, new_data, path: path3, _data, schema, col, next_data }; }; var isOwner = (signer, state) => { let owner = state.owner || []; if (is_default(String)(owner)) owner = of_default(owner); if (!includes_default(signer)(owner)) { err(`Signer[${signer}] is not the owner[${owner.join(", ")}].`); } return owner; }; var read = async (contract, param) => { return (await SmartWeave.contracts.viewContractState(contract, param)).result; }; var isEvolving = (state) => !isNil_default(state.evolveHistory) && !isNil_default(last_default(state.evolveHistory)) && isNil_default(last_default(state.evolveHistory).newVersion); // contracts/common/actions/read/nonce.js var nonce = async (state, action) => { const { nonces } = state; let { address } = action.input; if (isNil_default(address)) err(`No Address`); if (/^0x/.test(address)) address = address.toLowerCase(); return { result: nonces[address] || 0 }; }; // contracts/common/actions/read/ids.js var ids = async (state, action) => { const { ids: ids2 } = state; const { tx } = action.input; return { result: ids2[tx] || null }; }; // contracts/common/lib/index.js var { intersection: intersection3, uniq: uniq2, concat: concat3, pluck: pluck3, indexOf: indexOf3, slice: slice3, findIndex: findIndex3, append: append3, clone: clone4, keys: keys4, reverse: reverse3, map: map3, isNil: isNil3, range: range3, values: values3, descend: descend3, ascend: ascend3, compose: compose2, prop: prop3, hasPath: hasPath3, filter: filter2, none: none3, difference: difference3, equals: equals3 } = require_src(); var comp = (val, x) => { let res = 0; for (let i of range3(0, val.length)) { let a = val[i].val; let b = x[i]; if (val[i].desc) { a = x[i]; b = val[i].val; } if (a > b) { res = -1; break; } else if (a < b) { res = 1; break; } } return res; }; var bsearch = function(arr, x, k, db, start = 0, end = arr.length - 1) { if (start > end) return null; const mid = Math.floor((start + end) / 2); const val = isNil3(k) ? arr[mid] : db[arr[mid]].__data[k]; if (val === x) return mid; if (val > x && mid === 0) return 0; if (mid !== 0 && val > x && (isNil3(k) ? arr[mid - 1] : db[arr[mid - 1]].__data[k]) <= x) { return mid; } if (val > x) { return bsearch(arr, x, k, db, start, mid - 1); } else { return bsearch(arr, x, k, db, mid + 1, end); } }; var addSingleIndex = (_id, k, data, ind, db) => { if (!isNil3(k) && isNil3(ind[k])) { ind[k] = { asc: { _: [], subs: {} } }; } const _k = k || "__id__"; const _data = isNil3(k) ? _id : data[k]; let indexes = ind[_k].asc._; const _ind = bsearch(indexes, _data, k, db); if (isNil3(_ind)) indexes.push(_id); else ind[_k].asc._.splice(_ind, 0, _id); }; var removeSingleIndex = (_id, k, ind) => { const _k = k || "__id__"; let indexes = ind[_k].asc._; const _ind = indexOf3(_id, indexes); if (!isNil3(_ind)) ind[_k].asc._.splice(_ind, 1); }; var bsearch2 = function(arr, x, sort3, db, start = 0, end = arr.length - 1) { if (start > end) return null; let mid = Math.floor((start + end) / 2); const val = map3((v) => ({ desc: v[1] === "desc", val: db[arr[mid]].__data[v[0]] }))(sort3); const res = comp(val, x); if (res === 0) return mid; if (res === -1 && mid === 0) return 0; if (mid > 0) { const val2 = map3((v) => ({ desc: v[1] === "desc", val: db[arr[mid - 1]].__data[v[0]] }))(sort3); const res2 = comp(val2, x); if (res === -1 && res2 >= 0) return mid; } if (res === -1) { return bsearch2(arr, x, sort3, db, start, mid - 1); } else { return bsearch2(arr, x, sort3, db, mid + 1, end); } }; var addInd = (_id, index, db, sort3, data) => { const x = map3((v) => data[v[0]])(sort3); const _ind = bsearch2(index._, x, sort3, db); if (isNil3(_ind)) index._.push(_id); else index._.splice(_ind, 0, _id); }; var removeInd = (_id, index) => { const _ind = indexOf3(_id, index._); if (!isNil3(_ind)) index._.splice(_ind, 1); }; var _addData = (ind, _id, path3 = [], db, data, top = false) => { for (let k in ind) { if (k === "__id__") continue; for (let k2 in ind[k]) { if (!isNil3(ind[k][k2]._) && !top) { let sort3 = append3([k, k2])(path3); const fields = map3(prop3(0), sort3); if (difference3(fields, keys4(data)).length === 0) { addInd(_id, ind[k][k2], db, sort3, data); } } _addData( ind[k][k2].subs, _id, compose2(append3([k, k2]), clone4)(path3), db, data ); } } }; var getIndex = (state, path3) => { if (isNil3(state.indexes[path3.join(".")])) state.indexes[path3.join(".")] = {}; return state.indexes[path3.join(".")]; }; var addData = (_id, data, ind, db) => { if (isNil3(ind["__id__"])) { ind["__id__"] = { asc: { _: [_id], subs: {} } }; } else { addSingleIndex(_id, null, data, ind, db); } for (let k in data) { if (k === "__id__") continue; if (isNil3(ind[k])) { ind[k] = { asc: { _: [_id], subs: {} } }; } else { addSingleIndex(_id, k, data, ind, db); } } _addData(ind, _id, [], db, data, true); }; var _updateData = (ind, _id, path3 = [], db, top = false, update4, new_data, old_data) => { for (let k in ind) { if (k === "__id__") continue; for (let k2 in ind[k]) { if (!isNil3(ind[k][k2]._) && !top) { let sort3 = append3([k, k2])(path3); const fields = map3(prop3(0), sort3); let ex_old = false; let ex_new = false; if (difference3(fields, keys4(old_data)).length === 0) ex_old = true; if (difference3(fields, keys4(new_data)).length === 0) ex_new = true; if (ex_old && !ex_new) { removeInd(_id, ind[k][k2]); } else if (!ex_old && ex_new) { addInd(_id, ind[k][k2], sort3, new_data); } else if (intersection3(update4.u, fields).length !== 0) { removeInd(_id, ind[k][k2]); addInd(_id, ind[k][k2], sort3, new_data); } } _updateData( ind[k][k2].subs, _id, compose2(append3([k, k2]), clone4)(path3), db, false, update4, new_data, old_data ); } } }; var updateData = (_id, data, old_data, ind, db) => { if (isNil3(old_data)) return; const _keys = compose2(uniq2, concat3(keys4(old_data)), keys4)(data); let c2 = []; let d = []; let u = []; for (let v of _keys) { if (v === "__id__") continue; if (isNil3(data[v])) { d.push(v); removeSingleIndex(_id, v, ind); } else if (isNil3(old_data[v])) { c2.push(v); addSingleIndex(_id, v, data, ind, db); } else if (!equals3(data[v], old_data[v])) { u.push(v); removeSingleIndex(_id, v, ind); addSingleIndex(_id, v, data, ind, db); } } _updateData(ind, _id, [], true, { c: c2, d, u }, data, old_data); }; var _removeData = (ind, _id, path3 = [], db, top = false) => { for (let k in ind) { if (k === "__id__") continue; for (let k2 in ind[k]) { if (!isNil3(ind[k][k2]._) && !top) { let sort3 = append3([k, k2])(path3); const fields = map3(prop3(0), sort3); if (difference3(fields, keys4(db[_id].__data)).length === 0) { removeInd(_id, ind[k][k2]); } } _removeData( ind[k][k2].subs, _id, compose2(append3([k, k2]), clone4)(path3), db ); } } }; var _sort = (sort3, ind, db) => { const fields = map3(prop3(0), sort3); for (let id in db) { if (difference3(fields, keys4(db[id].__data)).length === 0) { const x = map3((v) => db[id].__data[v[0]])(sort3); const _ind = bsearch2(ind, x, sort3, db); if (isNil3(_ind)) ind.push(id); else ind.splice(_ind, 0, id); } } return ind; }; var removeData = (_id, ind, db) => { if (isNil3(db[_id])) return; if (!isNil3(ind["__id__"])) { removeSingleIndex(_id, null, ind); } let data = db[_id]; for (let k in db[_id].__data) { if (!isNil3(ind[k])) removeSingleIndex(_id, k, ind); } _removeData(ind, _id, [], db, true); delete db[_id]; }; var _getIndex = (sort3, ind) => { if (sort3.length <= 1) return { index: null, ex: false }; let _ind = ind; let i = 0; let ex = true; for (let v of sort3) { let subs = i === 0 ? _ind : _ind.subs; if (!hasPath3([v[0]])(subs)) { subs[v[0]] = {}; } if (!hasPath3([v[0], v[1] || "asc", "_"])(subs)) { if (i === sort3.length - 1) ex = false; subs[v[0]][v[1] || "asc"] = { subs: {} }; } _ind = subs[v[0]][v[1] || "asc"]; i++; } return { index: _ind, ex }; }; var addIndex3 = (sort3, ind, db) => { let { index: _ind, ex } = _getIndex(sort3, ind); if (isNil3(_ind._)) _ind._ = []; if (!ex) _ind._ = _sort(sort3, _ind._, db); }; var removeIndex = (sort3, ind, db) => { let { index: _ind, ex } = _getIndex(sort3, ind); delete _ind._; }; // contracts/common/actions/read/get.js var parseQuery = (query) => { const [path3, opt] = splitWhen_default(complement_default(is_default)(String), query); let _limit = null; let _filter2 = null; let _sort2 = null; let _startAt = null; let _startAfter = null; let _endAt = null; let _endBefore = null; for (const v of opt) { if (is_default(Number)(v)) { if (isNil_default(_limit)) { _limit = v; } else { err(); } } else if (is_default(Array)(v)) { if (v.length === 0) err(); if (v[0] === "startAt") { if (isNil_default(_startAt) && v.length > 1 && v.length > 1) { _startAt = v; } else { err(); } } else if (v[0] === "startAfter") { if (isNil_default(_startAfter) && v.length > 1 && v.length > 1) { _startAfter = v; } else { err(); } } else if (v[0] === "endAt") { if (isNil_default(_endAt) && v.length > 1 && v.length > 1) { _endAt = v; } else { err(); } } else if (v[0] === "endBefore") { if (isNil_default(_endBefore) && v.length > 1 && v.length > 1) { _endBefore = v; } else { err(); } } else if (v.length === 3) { if (includes_default(v[1])([ ">", "=", "!=", "<", ">=", "<=", "in", "not-in", "array-contains", "array-contains-any" ])) { if (isNil_default(_filter2)) { _filter2 = {}; } if (!isNil_default(_filter2[v[1]])) err(); _filter2[v[1]] = v; } else { err(); } } else if (v.length === 2) { if (includes_default(v[1])(["asc", "desc"])) { if (isNil_default(_sort2)) { _sort2 = [v]; } else { _sort2.push(v); } } else { err(); } } else if (v.length === 1) { if (isNil_default(_sort2)) { _sort2 = [append_default("asc", v)]; } else { _sort2.push(append_default("asc", v)); } } else { err(); } } } const checkSkip = (a, b) => { if (!isNil_default(a) || !isNil_default(b)) { if (!isNil_default(a) && !isNil_default(b)) err(); if ((a || b).length < (_sort2 || []).length) err(); } }; if (isNil_default(path3) || path3.length === 0) err(); checkSkip(_startAt, _startAfter); checkSkip(_endAt, _endBefore); return { path: path3, _limit, _filter: _filter2, _sort: _sort2, _startAt, _startAfter, _endAt, _endBefore }; }; var getColIndex = (state, data, path3, _sort2) => { let index = []; let ind = getIndex(state, path3); if (!isNil_default(_sort2)) { let i = 0; let _ind = ind; for (let v of _sort2) { let subs = i === 0 ? _ind : _ind.subs; if (isNil_default(subs[v[0]])) { if (i === 0) break; err(); } _ind = subs[v[0]][_sort2.length === 1 ? "asc" : v[1] || "asc"]; i++; } index = _ind._ || []; if (_sort2.length === 1 && _sort2[0][1] === "desc") index = reverse_default(index); } else { index = !isNil_default(ind.__id__) ? ind.__id__.asc._ : keys_default(getCol(data, path3).__docs); } return index; }; var comp2 = (val, x) => { let res = 0; for (let i of range_default(0, val.length)) { let a = val[i].val; let b = x[i]; if (val[i].desc) { a = x[i]; b = val[i].val; } if (a > b) { res = -1; break; } else if (a < b) { res = 1; break; } } return res; }; var bsearch3 = function(arr, x, sort3, db, start = 0, end = arr.length - 1) { if (start > end) return null; let mid = Math.floor((start + end) / 2); const val = addIndex_default(map_default)((v, i) => ({ desc: sort3[i][1] === "desc", val: db[arr[mid]].__data[sort3[i][0]] }))(tail_default(x)); let res = comp2(val, tail_default(x)); let res2 = 1; if (includes_default(x[0])(["startAt", "startAfter"])) { if (mid > 0) { const val2 = addIndex_default(map_default)((v, i) => ({ desc: sort3[i][1] === "desc", val: db[arr[mid - 1]].__data[sort3[i][0]] }))(tail_default(x)); res2 = comp2(val2, tail_default(x)); } } else { if (mid < arr.length - 1) { const val2 = addIndex_default(map_default)((v, i) => ({ desc: sort3[i][1] === "desc", val: db[arr[mid + 1]].__data[sort3[i][0]] }))(tail_default(x)); res2 = comp2(val2, tail_default(x)); } } let down = false; switch (x[0]) { case "startAt": if (res2 === 1 && res <= 0) return mid; if (res <= 0) down = true; break; case "startAfter": if (res2 >= 0 && res === -1) return mid; if (res < 0) down = true; break; case "endAt": if (res2 === -1 && res >= 0) return mid; if (res < 0) down = true; break; case "endBefore": if (res2 <= 0 && res === 1) return mid; if (res <= 0) down = true; break; } if (down) { return bsearch3(arr, x, sort3, db, start, mid - 1); } else { return bsearch3(arr, x, sort3, db, mid + 1, end); } }; var get = async (state, action, cursor = false) => { const { path: path3, _limit, _filter: _filter2, _sort: _sort2, _startAt, _endAt, _startAfter, _endBefore } = parseQuery(action.input.query); const { data } = state; if (path3.length % 2 === 0) { if (any_default(complement_default(isNil_default))([_limit, _sort2, _filter2])) err(); const { doc: _data } = getDoc(data, path3); return { result: isNil_default(_data.__data) ? null : cursor ? { id: last_default(path3), setter: _data.setter, data: _data.__data || null, block: { height: SmartWeave.block.height, timestamp: SmartWeave.block.timestamp } } : _data.__data || null }; } else { let index = getColIndex(state, data, path3, _sort2); if (isNil_default(index)) err("index doesn't exist"); const { doc: _data } = path3.length === 1 ? { doc: data } : getDoc(data, slice_default(0, -1, path3)); const docs = (path3.length === 1 ? _data : _data.subs)[last_default(path3)]?.__docs || {}; let _docs = []; let start = null; let end = null; let _start = _startAt || _startAfter; let _end = _endAt || _endBefore; if (!isNil_default(_start)) { if (is_default(Object)(_start[1]) && hasPath_default([1, "id"])(_start)) { start = bsearch3( index, [ "startAt", map_default( (v) => v[0] === "__id__" ? _start[1].id : docs[_start[1].id].__data[v[0]] )(_sort2 || [["__id__"]]) ], _sort2 || [["__id__"]], docs ); for (let i = start; i < index.length; i++) { if (index[i] === _start[1].id) { start = i; break; } } if (!isNil_default(start)) { if (_start[0] === "startAfter") start += 1; index.splice(0, start); } } else { start = bsearch3(index, _start, _sort2 || [["__id__"]], docs); index.splice(0, start); } } if (!isNil_default(_end)) { if (!isNil_default(_start)) { const len = Math.min(_end.length, _start.length) - 1; const val = take_default( len, addIndex_default(map_default)((v, i) => ({ desc: _sort2[i][1] === "desc", val: v }))(tail_default(_start)) ); if (comp2(val, tail_default(_end)) === -1) err(); } if (is_default(Object)(_end[1]) && hasPath_default([1, "id"])(_end)) { end = bsearch3( index, [ "startAt", map_default( (v) => v[0] === "__id__" ? _end[1].id : docs[_end[1].id].__data[v[0]] )(_sort2 || [["__id__"]]) ], _sort2 || [["__id__"]], docs ); for (let i = end; i < index.length; i++) { if (index[i] === _end[1].id) { end = i; break; } } if (!isNil_default(end)) { if (_end[0] === "endBefore" && end !== 0) end -= 1; index.splice(end + 1, index.length - end); } } else { end = bsearch3(index, _end, _sort2 || [["__id__"]], docs); index.splice(end + 1, index.length - end); } } let res = index; if (!isNil_default(_filter2)) { res = []; const sort_field = compose( uniq_default, pluck_default(0), filter_default((v) => includes_default(v[1])([">", ">=", "<", "<=", "!=", "not-in"])), values_default )(_filter2); if (sort_field.length > 1) { err(); } if (sort_field.length === 1 && (isNil_default(_sort2) || _sort2[0][0] !== sort_field[0])) { err(); } for (let _v of index) { const v = docs[_v].__data; let ok = true; for (let v2 of values_default(_filter2)) { if (isNil_default(v[v2[0]]) && v[v2[0]] !== null) { ok = false; } switch (v2[1]) { case ">": ok = v[v2[0]] > v2[2]; break; case "<": ok = v[v2[0]] < v2[2]; break; case ">=": ok = v[v2[0]] >= v2[2]; break; case "<=": ok = v[v2[0]] <= v2[2]; break; case "=": ok = v[v2[0]] === v2[2]; break; case "!=": ok = v[v2[0]] !== v2[2]; break; case "in": ok = includes_default(v[v2[0]])(v2[2]); break; case "not-in": ok = !includes_default(v[v2[0]])(v2[2]); break; case "array-contains": ok = is_default(Array, v[v2[0]]) && includes_default(v2[2])(v[v2[0]]); break; case "array-contains-any": ok = is_default(Array, v[v2[0]]) && intersection_default(v2[2])(v[v2[0]]).length > 0; break; } if (!ok) break; } if (ok) { res.push(_v); if (!isNil_default(_limit) && res.length >= _limit) break; } } } return { result: compose( when_default(o_default(complement_default(isNil_default), always_default(_limit)), take_default(_limit)), map_default( (v) => cursor ? { id: v, setter: docs[v].setter, data: docs[v].__data, block: { height: SmartWeave.block.height, timestamp: SmartWeave.block.timestamp } } : docs[v].__data ) )(res) }; } }; // contracts/common/actions/read/getSchema.js var getSchema = async (state, action) => { let { _data, data, query, new_data, path: path3 } = await parse( state, action, "getSchema" ); return { result: _data.schema || null }; }; // contracts/common/actions/read/getRules.js var getRules = async (state, action) => { let { _data, data, query, new_data, path: path3 } = await parse( state, action, "getRules" ); return { result: _data.rules || null }; }; // contracts/common/actions/read/getIndexes.js var scanIndexes = (ind) => { let indexes = []; for (let k in ind) { for (let k2 in ind[k]) { const _ind = [[k, k2]]; if (!isNil_default(ind[k][k2]._)) indexes.push(_ind); if (!isNil_default(ind[k][k2].subs)) { const sub_indexes = scanIndexes(ind[k][k2].subs); for (let v of sub_indexes) { indexes.push([..._ind, ...v]); } } } } return indexes; }; var getIndexes = async (state, action) => { const path3 = action.input.query; if (path3.length % 2 === 0) err(); const index = getIndex(state, path3); return { result: scanIndexes(index) }; }; // contracts/common/actions/read/getCrons.js var getCrons = async (state, action) => { if (isNil_default(state.crons)) { state.crons = { lastExecuted: SmartWeave.block.timestamp, crons: {} }; } return { result: state.crons }; }; // contracts/common/actions/read/getAlgorithms.js var getAlgorithms = async (state, action) => { if (isNil_default(state.auth.algorithms)) { state.auth.algorithms = ["secp256k1", "ed25519", "rsa256", "poseidon"]; } return { result: state.auth.algorithms }; }; // contracts/common/actions/read/getLinkedContract.js var getLinkedContract = async (state, action) => { const contracts = state.contracts || {}; return { result: contracts[action.input.query[0]] || null }; }; // contracts/common/actions/read/getOwner.js var { is: is3, of: of2 } = require_src(); var getOwner = async (state, action) => { let owner = state.owner || []; if (is3(String)(owner)) owner = of2(owner); return { result: owner }; }; // contracts/common/actions/read/getAddressLink.js var getAddressLink = async (state, action) => { const { address } = action.input.query; const link = state.auth.links[address.toLowerCase()]; if (isNil_default(link)) return { result: null }; let _address = is_default(Object, link) ? link.address : link; let _expiry = is_default(Object, link) ? link.expiry || 0 : 0; return { result: { address: _address, expiry: _expiry } }; }; // contracts/common/actions/read/getRelayerJob.js var getRelayerJob = async (state, action) => { const jobs = state.relayers || {}; return { result: jobs[action.input.query[0]] || null }; }; // contracts/common/actions/read/listRelayerJobs.js var { keys: keys5 } = require_src(); var listRelayerJobs = async (state, action) => { return { result: keys5(state.relayers || {}) }; }; // contracts/common/actions/read/getEvolve.js var getEvolve = async (state, action) => { let evolve4 = pickAll_default(["canEvolve", "evolve"])(state); evolve4.history = state.evolveHistory || []; evolve4.isEvolving = isEvolving(state); return { result: evolve4 }; }; // contracts/common/actions/read/listCollections.js var listCollections = async (state, action) => { let { _data, data, query, new_data, path: path3 } = await parse( state, action, "listCollections" ); return { result: keys_default(path3.length === 0 ? data : _data.subs) }; }; // contracts/common/actions/read/getInfo.js var { pick: pick3 } = require_src(); var version = require_version(); var getInfo = async (state, action) => { let info = pick3( [ "auth", "canEvolve", "contracts", "evolve", "secure", "version", "owner", "contracts" ], state ); delete info.auth.links; info.version = version; info.evolveHistory = state.evolveHistory || []; info.isEvolving = isEvolving(state); return { result: info }; }; // contracts/common/lib/validate.js var validate = async (state, action, func) => { const { query, nonce: nonce2, signature, caller, type: type3 = "secp256k1", pubKey } = action.input; if (!includes_default(type3)( state.auth.algorithms || ["secp256k1", "secp256k1-2", "ed25519", "rsa256"] )) { err(`The wrong algorithm`); } let _caller = caller; const EIP712Domain = [ { name: "name", type: "string" }, { name: "version", type: "string" }, { name: "verifyingContract", type: "string" } ]; const domain = { name: state.auth.name, version: state.auth.version, verifyingContract: isNil_default(SmartWeave.contract) ? "exm" : SmartWeave.contract.id }; const message = { nonce: nonce2, query: JSON.stringify({ func, query }) }; const _data = { types: { EIP712Domain, Query: [ { name: "query", type: "string" }, { name: "nonce", type: "uint256" } ] }, domain, primaryType: "Query", message }; let signer = null; if (type3 === "ed25519") { const { isValid } = await read(state.contracts.dfinity, { function: "verify", data: _data, signature, signer: caller }); if (isValid) { signer = caller; } else { err(`The wrong signature`); } } else if (type3 === "rsa256") { let encoded_data = JSON.stringify(_data); if (typeof TextEncoder !== "undefined") { const enc = new TextEncoder(); encoded_data = enc.encode(encoded_data); } const _crypto = SmartWeave.arweave.crypto || SmartWeave.arweave.wallets.crypto; const isValid = await _crypto.verify( pubKey, encoded_data, Buffer.from(signature, "hex") ); if (isValid) { signer = caller; } else { err(`The wrong signature`); } } else if (type3 == "secp256k1") { signer = (await read(state.contracts.ethereum, { function: "verify712", data: _data, signature })).signer; } else if (type3 == "secp256k1-2") { signer = (await read(state.contracts.ethereum, { function: "verify", data: _data, signature })).signer; } if (includes_default(type3)(["secp256k1", "secp256k1-2"])) { if (/^0x/.test(signer)) signer = signer.toLowerCase(); if (/^0x/.test(_caller)) _caller = _caller.toLowerCase(); } let original_signer = signer; let _signer = signer; if (_signer !== _caller) { const link = state.auth.links[_signer]; if (!isNil_default(link)) { let _address = is_default(Object, link) ? link.address : link; let _expiry = is_default(Object, link) ? link.expiry || 0 : 0; if (_expiry === 0 || SmartWeave.block.timestamp <= _expiry) { _signer = _address; } } } if (_signer !== _caller) err(`signer[${_signer}] is not caller[${_caller}]`); let next_nonce = (state.nonces[original_signer] || 0) + 1; if (next_nonce !== nonce2) { err( `The wrong nonce[${nonce2}] for ${original_signer}: expected ${next_nonce}` ); } if (isNil_default(state.nonces[original_signer])) state.nonces[original_signer] = 0; state.nonces[original_signer] += 1; return _signer; }; // contracts/common/actions/write/add.js var add3 = async (state, action, signer, salt = 0, contractErr = true) => { signer ||= await validate(state, action, "add"); let { _data, data, query, new_data, path: path3, schema, col, next_data } = await parse(state, action, "add", signer, salt, contractErr); if (!isNil_default(_data.__data)) err("doc already exists"); validateSchema(schema, next_data, contractErr); let ind = getIndex(state, init_default(path3)); addData(last_default(path3), next_data, ind, col.__docs); _data.__data = next_data; return { state }; }; // contracts/common/actions/write/set.js var set3 = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "set"); let { _data, data, query, new_data, path: path3, schema, col, next_data } = await parse(state, action, "set", signer, 0, contractErr); let prev = clone_default(_data.__data); validateSchema(schema, next_data, contractErr); let ind = getIndex(state, init_default(path3)); if (isNil_default(prev)) { addData(last_default(path3), next_data, ind, col.__docs); } else { updateData(last_default(path3), next_data, prev, ind, col.__docs); } _data.__data = next_data; return { state }; }; // contracts/common/actions/write/update.js var update3 = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "update"); let { data, query, new_data, path: path3, _data, schema, col, next_data } = await parse(state, action, "update", signer, 0, contractErr); if (isNil_default(_data.__data)) err(`Data doesn't exist`); let prev = clone3(_data.__data); validateSchema(schema, next_data, contractErr); let ind = getIndex(state, init_default(path3)); updateData(last_default(path3), next_data, prev, ind, col.__docs); _data.__data = next_data; return { state }; }; // contracts/common/actions/write/upsert.js var upsert = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "upsert"); let { data, query, _signer, new_data, path: path3, schema, _data, col, next_data } = await parse(state, action, "upsert", signer, 0, contractErr); let prev = clone3(_data.__data); validateSchema(schema, next_data, contractErr); let ind = getIndex(state, init_default(path3)); if (isNil_default(prev)) { addData(last_default(path3), next_data, ind, col.__docs); } else { updateData(last_default(path3), next_data, prev, ind, col.__docs); } _data.__data = next_data; return { state }; }; // contracts/common/actions/write/remove.js var remove3 = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "delete"); const { data, query, new_data, path: path3, _data, col } = await parse( state, action, "delete", signer, 0, contractErr ); if (isNil_default(_data.__data)) err(`Data doesn't exist`); let ind = getIndex(state, init_default(path3)); removeData(last_default(path3), ind, col.__docs); _data.__data = null; return { state }; }; // contracts/common/actions/write/batch.js var batch = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "batch"); let _state = state; let i = 0; for (let v of action.input.query) { let [op, ...query] = v; const _action = { input: { function: op, query }, caller: action.caller }; let res = null; switch (op) { case "add": res = await add3(_state, _action, signer, i, contractErr); break; case "set": res = await set3(_state, _action, signer, contractErr); break; case "update": res = await update3(_state, _action, signer, contractErr); break; case "upsert": res = await upsert(_state, _action, signer, contractErr); break; case "delete": res = await remove3(_state, _action, signer, contractErr); break; default: const msg = `No function supplied or function not recognised: "${op}"`; if (contractErr) { err(msg); } else { throw msg; } } _state = res.state; i++; } return { state: _state }; }; // contracts/common/actions/write/relay.js var relay = async (state, action, signer, contractErr = true) => { signer ||= await validate(state, action, "relay"); let jobID = head_default(action.input.query); let input = nth_default(1, action.input.query); let query = nth_default(2, action.input.query); if (input.jobID !== jobID) err("the wrong jobID"); let action2 = { input, relayer: signer, extra: query, jobID }; const relayers = state.relayers || {}; if (isNil_default(relayers[jobID])) err("relayer jobID doesn't exist"); if (!isNil_default(relayers[jobID].relayers)) { const allowed_relayers = map_default(toLower_default)(relayers[jobID].relayers || []); if (!includes_default(signer)(allowed_relayers)) err("relayer is not allowed"); } if (includes_default(relayers[jobID].multisig_type)(["number", "percent"])) { const allowed_signers = map_default(toLower_default)(relayers[jobID].signers || []); let signers = []; if (is_default(Array)(action.input.multisigs)) { const data = { extra: action2.extra, jobID, params: input }; for (const signature of action.input.multisigs) { const _signer = (await read(state.contracts.ethereum, { function: "verify", data, signature })).signer; signers.push(_signer); } } const matched_signers = intersection_default(allowed_signers, signers); let min3 = 1; if (relayers[jobID].multisig_type === "percent") { min3 = Math.ceil( relayers[jobID].signers.length * (relayers[jobID].multisig || 100) / 100 ); } else if (relayers[jobID].multisig_type === "number") { min3 = relayers[jobID].multisig || 1; } if (matched_signers.length < min3) { err( `not enough number of allowed signers [${matched_signers.length}/${min3}] for the job[${jobID}]` ); } } if (!isNil_default(relayers[jobID].schema)) { try { validateSchema(relayers[jobID].schema, query); } catch (e) { err("relayer data validation error"); } } switch (action2.input.function) { case "add": return await add3(state, action2); case "set": return await set3(state, action2); case "update": return await update3(state, action2); case "upsert": return await upsert(state, action2); case "delete": return await remove3(state, action2); case "batch": return await batch(state, action2); default: err( `No function supplied or function not recognised: "${action2.input.function}"` ); } return { state }; }; // contracts/common/actions/write/setSchema.js var import_jsonschema2 = __toESM(require_jsonschema()); var setSchema = async (state, action, signer) => { signer ||= await validate(state, action, "setSchema"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "setSchema", signer ); _data.schema = new_data; try { (0, import_jsonschema2.validate)(void 0, clone3(_data.schema)); } catch (e) { err("schema error"); } return { state }; }; // contracts/common/actions/write/setRules.js var import_json_logic_js2 = __toESM(require_logic()); var setRules = async (state, action, signer) => { signer ||= await validate(state, action, "setRules"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "setRules", signer ); for (let k in new_data) { const keys6 = k.split(" "); const permission = keys6[0]; if (keys6.length !== 2 && permission !== "let") err(); if (!includes_default(permission)(["allow", "deny", "let"])) err(); if (keys6.length === 2) { const ops = keys6[1].split(","); if (difference_default(ops, ["write", "create", "update", "delete"]).length > 0) { err(); } } if (permission !== "let" && !is_default(Boolean)(import_json_logic_js2.default.apply(new_data[k], {}))) { err(); } } _data.rules = new_data; return { state }; }; // contracts/common/actions/write/addIndex.js var addIndex4 = async (state, action, signer) => { signer ||= await validate(state, action, "addIndex"); let { col, _data, data, query, new_data, path: path3 } = await parse( state, action, "addIndex", signer ); let ind = getIndex(state, path3); if (o_default(includes_default("__id__"), flatten_default)(new_data)) { err("index cannot contain __id__"); } addIndex3(new_data, ind, col.__docs); return { state }; }; // contracts/common/actions/write/removeIndex.js var removeIndex2 = async (state, action, signer) => { signer ||= await validate(state, action, "removeIndex"); let { col, _data, data, query, new_data, path: path3 } = await parse( state, action, "removeIndex", signer ); let ind = getIndex(state, path3); removeIndex(new_data, ind, col.__docs); return { state }; }; // contracts/common/lib/cron.js var executeCron = async (cron2, state) => { let vars = { block: { height: SmartWeave.block.height, timestamp: SmartWeave.block.timestamp } }; let ops = { upsert, update: update3, add: add3, delete: remove3, set: set3, batch }; const parse2 = (query) => { if (is_default(Array, query)) { query = map_default((v) => is_default(Object, v) ? parse2(v) : v)(query); } else if (is_default(Object, query)) { if (is_default(String, query.var)) { return path_default(query.var.split("."))(vars); } else { query = map_default((v) => parse2(v))(query); } } return query; }; for (let job of cron2.crons.jobs) { const op = head_default(job); let _var = null; let query = null; if (includes_default(op)(["get", "let"])) { _var = job[1]; query = job[2]; } else { query = job[1]; } if (op === "do") { g(query, vars); } else if (op === "let") { vars[_var] = g(query, vars); } else if (op === "get") { const _default = job[3]; vars[_var] = (await get(state, { caller: state.owner, input: { function: "get", query: await parse2(query) } })).result || _default; } else if (includes_default(op)(["set", "upsert", "add", "delete", "update", "batch"])) { let params = [ state, { caller: state.owner, input: { function: op, query: await parse2(query) } }, true ]; if (op === "add") params.push(0); params.push(false); await ops[op](...params); } } }; var cron = async (state) => { const now = SmartWeave.block.timestamp; if (isNil_default(state.crons)) { state.crons = { lastExecuted: now, crons: {} }; } const last2 = state.crons.lastExecuted; let crons = []; for (let k in state.crons.crons) { const v = state.crons.crons[k]; let start = v.start; let end = v.end; let times3 = v.do ? 1 : 0; while (start <= now && (isNil_default(v.times) || v.times >= times3)) { if (start > last2 && isNil_default(end) || end >= start) { if (start !== v.start || v.do) crons.push({ start, crons: v }); } start += v.span; times3 += 1; } } crons = sortBy_default(prop_default("start"))(crons); let _state = clone3(state); for (let cron2 of crons) { try { await executeCron(cron2, _state); } catch (e) { console.log(e); } } _state.crons.lastExecuted = SmartWeave.block.timestamp; return { state: _state }; }; // contracts/common/actions/write/addCron.js var addCron = async (state, action, signer) => { signer ||= await validate(state, action, "addCron"); const owner = isOwner(signer, state); if (isNil_default(state.crons)) { state.crons = { lastExecuted: SmartWeave.block.timestamp, crons: {} }; } const [cron2, key] = action.input.query; let _cron = clone3(cron2); if (isNil_default(_cron.start)) { _cron.start = SmartWeave.block.timestamp; } if (SmartWeave.block.timestamp > _cron.start) { err("start cannot be before the block time"); } if (!isNil_default(_cron.end) && SmartWeave.block.timestamp > _cron.end) { err("end cannot be before start"); } if (isNil_default(_cron.jobs) || _cron.jobs.length === 0) { err("cron has no jobs"); } if (isNil_default(_cron.span) || Number.isNaN(_cron.span * 1) || _cron.span <= 0) { err("span must be greater than 0"); } state.crons.crons[key] = _cron; if (_cron.do) { try { await executeCron({ start: _cron.start, crons: _cron }, state); } catch (e) { console.log(e); err("cron failed to execute"); } } return { state }; }; // contracts/common/actions/write/removeCron.js var removeCron = async (state, action, signer) => { signer ||= await validate(state, action, "removeCron"); const owner = isOwner(signer, state); if (isNil_default(state.crons)) { state.crons = { lastExecuted: SmartWeave.block.timestamp, crons: {} }; } const [key] = action.input.query; if (isNil_default(state.crons.crons[key])) err("cron doesn't exist"); delete state.crons.crons[key]; return { state }; }; // contracts/common/actions/write/setAlgorithms.js var setAlgorithms = async (state, action, signer) => { signer ||= await validate(state, action, "setAlgorithms"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "setAlgorithms", signer ); if (!is_default(Array)(new_data) || intersection_default(new_data)(["secp256k1", "ed25519", "rsa256", "secp256k1-2"]).length !== new_data.length) { throw new ContractError(`The wrong algorithms`); } state.auth.algorithms = new_data; return { state }; }; // contracts/common/actions/write/addRelayerJob.js var import_jsonschema3 = __toESM(require_jsonschema()); var addRelayerJob = async (state, action, signer) => { signer ||= await validate(state, action, "addRelayerJob"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "addRelayerJob", signer ); const [jobID, job] = query; if (!isNil_default(job.relayers) && !is_default(Array, job.relayers)) { err("relayers must be Array"); } if (!isNil_default(job.signers) && !is_default(Array, job.signers)) { err("signers must be Array"); } if (!isNil_default(job.schema)) { try { (0, import_jsonschema3.validate)(void 0, clone3(job.schema)); } catch (e) { err("schema error"); } } if (isNil_default(state.relayers)) state.relayers = {}; state.relayers[jobID] = job; return { state }; }; // contracts/common/actions/write/removeRelayerJob.js var import_jsonschema4 = __toESM(require_jsonschema()); var removeRelayerJob = async (state, action, signer) => { signer ||= await validate(state, action, "removeRelayerJob"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "removeRelayerJob", signer ); const [jobID] = query; if (isNil_default(state.relayers[jobID])) err("relayer job doesn't exist"); delete state.relayers[jobID]; return { state }; }; // contracts/common/actions/write/linkContract.js var linkContract = async (state, action, signer) => { signer ||= await validate(state, action, "linkContract"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "linkContract", signer ); const [key, address] = action.input.query; if (isNil_default(key) || isNil_default(address)) { err(`Key or Address not specified`); } if (isNil_default(state.contracts)) state.contracts = {}; state.contracts[key] = address; return { state }; }; // contracts/common/actions/write/unlinkContract.js var unlinkContract = async (state, action, signer) => { signer ||= await validate(state, action, "unlinkContract"); let { _data, data, query, new_data, path: path3 } = await parse( state, action, "unlinkContract", signer ); const [key] = action.input.query; if (isNil_default(key)) { throw new ContractError(`Key not specified`); } if (isNil_default(state.contracts)) state.contracts = {}; delete state.contracts[key]; return { state }; }; // contracts/common/warp/actions/write/evolve.js var import_version = __toESM(require_version()); var evolve3 = async (state, action, signer) => { signer ||= await validate(state, action, "evolve"); const owner = isOwner(signer, state); if (action.input.value !== action.input.query.value) { err("Values don't match."); } if (state.canEvolve) { state.evolve = action.input.value; } else { err(`This contract cannot evolve.`); } state.evolveHistory ||= []; state.evolveHistory.push({ signer, block: SmartWeave.block.height, data: SmartWeave.block.timestamp, srcTxId: action.input.value, oldVersion: import_version.default }); return { state }; }; // contracts/common/warp/actions/write/migrate.js var import_version2 = __toESM(require_version()); var migrate = async (state, action, signer) => { signer ||= await validate(state, action, "migrate"); const owner = isOwner(signer, state); if (import_version2.default !== action.input.query.version) { err(`version doesn't match (${import_version2.default} : ${action.input.query.version})`); } if (!isEvolving(state)) err(`contract is not ready to migrate`); state.evolveHistory[state.evolveHistory.length - 1].newVersion = import_version2.default; return { state }; }; // contracts/common/actions/write/setCanEvolve.js var setCanEvolve = async (state, action, signer) => { signer ||= await validate(state, action, "setCanEvolve"); const owner = isOwner(signer, state); if (!is_default(Boolean)(action.input.query.value)) { err("Value must be a boolean."); } state.canEvolve = action.input.query.value; return { state }; }; // contracts/common/actions/write/setSecure.js var setSecure = async (state, action, signer) => { signer ||= await validate(state, action, "setSecure"); const owner = isOwner(signer, state); if (!is_default(Boolean)(action.input.query.value)) { err("Value must be a boolean."); } state.secure = action.input.query.value; return { state }; }; // contracts/common/actions/write/addOwner.js var addOwner = async (state, action, signer) => { signer ||= await validate(state, action, "addOwner"); const owner = isOwner(signer, state); if (!is_default(String)(action.input.query.address)) { err("Value must be string."); } if (!is_default(String)(action.input.query.address)) { err("Value must be string."); } if (includes_default(action.input.query.address, owner)) { err("The owner already exists."); } state.owner = append_default(action.input.query.address, owner); return { state }; }; // contracts/common/actions/write/removeOwner.js var removeOwner = async (state, action, signer) => { signer ||= await validate(state, action, "removeOwner"); const owner = isOwner(signer, state); if (!is_default(String)(action.input.query.address)) { err("Value must be string."); } if (!includes_default(action.input.query.address, owner)) { err("The owner doesn't exist."); } state.owner = without_default([action.input.query.address], owner); return { state }; }; // contracts/common/actions/write/addAddressLink.js var addAddressLink = async (state, action, signer) => { signer ||= await validate(state, action, "addAddressLink"); const { address, signature, expiry } = action.input.query; if (!isNil_default(expiry) && !is_default(Number, expiry)) err("expiry must be a number"); const { nonce: nonce2 } = action.input; let _expiry = expiry || 0; const EIP712Domain = [ { name: "name", type: "string" }, { name: "version", type: "string" }, { name: "verifyingContract", type: "string" } ]; const domain = { name: state.auth.name, version: state.auth.version, verifyingContract: SmartWeave.contract.id }; const query = typeof expiry === "undefined" ? { address: signer } : { address: signer, expiry }; const message = { nonce: nonce2, query: JSON.stringify({ func: "auth", query }) }; const data = { types: { EIP712Domain, Query: [ { name: "query", type: "string" }, { name: "nonce", type: "uint256" } ] }, domain, primaryType: "Query", message }; let signer2 = (await SmartWeave.contracts.viewContractState(state.contracts.ethereum, { function: "verify712", data, signature })).result.signer; const _signer = signer2.toLowerCase(); if (_signer !== address.toLowerCase()) err(); const link = state.auth.links[address.toLowerCase()]; if (!isNil_default(link)) { let prev_expiry = is_default(Object, link) ? link.expiry || 0 : 0; if (SmartWeave.block.timestamp < prev_expiry) { err("link already exists"); } } state.auth.links[address.toLowerCase()] = { address: signer, expiry: expiry === 0 ? 0 : SmartWeave.block.timestamp + expiry }; return { state }; }; // contracts/common/actions/write/removeAddressLink.js var removeAddressLink = async (state, action, signer) => { signer ||= await validate(state, action, "removeAddressLink"); const { address } = action.input.query; const link = state.auth.links[address.toLowerCase()]; if (isNil_default(link)) err("link doesn't exist"); let _address = is_default(Object, link) ? link.address : link; if (signer !== address.toLowerCase() && signer !== _address) { err("signer is neither owner nor delegator"); } delete state.auth.links[address.toLowerCase()]; return { state }; }; // contracts/warp/contract.js var import_version3 = __toESM(require_version()); var writes = [ "relay", "set", "setSchema", "setRules", "addIndex", "removeIndex", "add", "upsert", "remove", "batch", "addCron", "removeCron", "setAlgorithms", "addRelayerJob", "linkContract", "unlinkContract", "setCanEvolve", "setSecure", "addOwner", "removeOwner", "addAddressLink", "removeAddressLink" ]; async function handle(state, action) { if (isEvolving(state) && includes_default(action.input.function)(writes)) { err("contract needs migration"); } try { ; ({ state } = await cron(state)); } catch (e) { console.log(e); } switch (action.input.function) { case "relay": return await relay(state, action); case "getAddressLink": return await getAddressLink(state, action); case "addAddressLink": return await addAddressLink(state, action); case "removeAddressLink": return await removeAddressLink(state, action); case "add": return await add3(state, action); case "set": return await set3(state, action); case "update": return await update3(state, action); case "upsert": return await upsert(state, action); case "get": return await get(state, action); case "cget": return await get(state, action, true); case "listCollections": return await listCollections(state, action); case "getInfo": return await getInfo(state, action); case "addCron": return await addCron(state, action); case "removeCron": return await removeCron(state, action); case "getCrons": return await getCrons(state, action); case "getAlgorithms": return await getAlgorithms(state, action); case "getLinkedContract": return await getLinkedContract(state, action); case "setAlgorithms": return await setAlgorithms(state, action); case "listRelayerJobs": return await listRelayerJobs(state, action); case "getRelayerJob": return await getRelayerJob(state, action); case "addRelayerJob": return await addRelayerJob(state, action); case "removeRelayerJob": return await removeRelayerJob(state, action); case "linkContract": return await linkContract(state, action); case "unlinkContract": return await unlinkContract(state, action); case "addIndex": return await addIndex4(state, action); case "getIndexes": return await getIndexes(state, action); case "removeIndex": return await removeIndex2(state, action); case "setSchema": return await setSchema(state, action); case "getSchema": return await getSchema(state, action); case "setRules": return await setRules(state, action); case "getRules": return await getRules(state, action); case "nonce": return await nonce(state, action); case "version": return { result: import_version3.default }; case "ids": return await ids(state, action); case "delete": return await remove3(state, action); case "batch": return await batch(state, action); case "getOwner": return await getOwner(state, action); case "addOwner": return await addOwner(state, action); case "removeOwner": return await removeOwner(state, action); case "getEvolve": return await getEvolve(state, action); case "evolve": return await evolve3(state, action); case "migrate": return await migrate(state, action); case "setCanEvolve": return await setCanEvolve(state, action); case "setSecure": return await setSecure(state, action); default: err( `No function supplied or function not recognised: "${action.input.function}"` ); } return { state }; } /*! https://mths.be/punycode v1.3.2 by @mathias */