From 489c2cd0979d5d3aede031d0a6679523fd7ceeac Mon Sep 17 00:00:00 2001 From: "oscar.plaisant@icloud.com" <76111415+OsKaR31415@users.noreply.github.com> Date: Thu, 26 Oct 2023 01:23:52 +0200 Subject: [PATCH] update --- .obsidian/appearance.json | 2 +- .obsidian/community-plugins.json | 3 +- .obsidian/plugins/calctex/main.js | 26114 ++++++++++++++++ .obsidian/plugins/calctex/manifest.json | 10 + .obsidian/plugins/calctex/styles.css | 5 + .../obsidian-excalidraw-plugin/data.json | 68 +- .../obsidian-minimal-settings/data.json | 2 +- .obsidian/plugins/rss-reader/data.json | 548 +- .obsidian/plugins/workspaces-plus/data.json | 2 +- .obsidian/snippets/darkmode.css | 6 +- .obsidian/workspace.json | 979 +- .obsidian/workspaces.json | 340 +- ...révisions statistiques notes.excalidraw.md | 7576 +++++ Statistiques révisions.md | 108 + daily/2023-10-23.md | 1 + daily/2023-10-24.md | 33 + projet gestion et simulation d'entreprise.md | 78 + r.md | 10 + sources/cours/S5/L3_info_statistiques_TD0.pdf | Bin 0 -> 456054 bytes sources/cours/S5/L3_info_statistiques_TD1.pdf | Bin 0 -> 320781 bytes sources/cours/S5/L3_info_statistiques_ch0.pdf | Bin 0 -> 433815 bytes ..._info_statistiques_tableau_loi_normale.pdf | Bin 0 -> 2746336 bytes 22 files changed, 35015 insertions(+), 870 deletions(-) create mode 100644 .obsidian/plugins/calctex/main.js create mode 100644 .obsidian/plugins/calctex/manifest.json create mode 100644 .obsidian/plugins/calctex/styles.css create mode 100644 Excalidraw/révisions statistiques notes.excalidraw.md create mode 100644 Statistiques révisions.md create mode 100644 daily/2023-10-24.md create mode 100644 r.md create mode 100644 sources/cours/S5/L3_info_statistiques_TD0.pdf create mode 100644 sources/cours/S5/L3_info_statistiques_TD1.pdf create mode 100644 sources/cours/S5/L3_info_statistiques_ch0.pdf create mode 100644 sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json index af74adc2..289c4966 100644 --- a/.obsidian/appearance.json +++ b/.obsidian/appearance.json @@ -1,7 +1,7 @@ { "theme": "obsidian", "cssTheme": "Minimal", - "baseFontSize": 19, + "baseFontSize": 20, "enabledCssSnippets": [ "pdf_darkmode", "query_header_title", diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index aaf3d4e6..e0760963 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -58,5 +58,6 @@ "obsidian-vimrc-support", "note-aliases", "obsidian-style-settings", - "number-headings-obsidian" + "number-headings-obsidian", + "calctex" ] \ No newline at end of file diff --git a/.obsidian/plugins/calctex/main.js b/.obsidian/plugins/calctex/main.js new file mode 100644 index 00000000..aa2f89b9 --- /dev/null +++ b/.obsidian/plugins/calctex/main.js @@ -0,0 +1,26114 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[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 __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + default: () => CalctexPlugin +}); +module.exports = __toCommonJS(main_exports); +var import_obsidian = require("obsidian"); + +// src/editor.ts +var import_language = require("@codemirror/language"); +var import_state = require("@codemirror/state"); +var import_view2 = require("@codemirror/view"); + +// src/widget.ts +var import_view = require("@codemirror/view"); +var ResultWidget = class extends import_view.WidgetType { + constructor(view, index, text) { + super(); + this.view = view; + this.index = index; + this.text = text; + } + toDOM(view) { + const div2 = document.createElement("span"); + div2.className = "result-text"; + div2.innerText = this.text; + div2.onclick = () => { + const transaction = view.state.update({ + changes: { + from: this.index, + to: this.index, + insert: this.text + } + }); + view.dispatch(transaction); + }; + return div2; + } +}; + +// node_modules/@cortex-js/compute-engine/dist/compute-engine.min.esm.js +var __create = Object.create; +var __defProp2 = Object.defineProperty; +var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; +var __getOwnPropNames2 = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp2 = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod2) => function __require() { + return mod2 || (0, cb[__getOwnPropNames2(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; +}; +var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod2 || !mod2.__esModule ? __defProp2(target, "default", { value: mod2, enumerable: true }) : target, + mod2 +)); +var require_complex = __commonJS({ + "node_modules/complex.js/complex.js"(exports, module2) { + (function(root) { + "use strict"; + var cosh2 = Math.cosh || function(x) { + return Math.abs(x) < 1e-9 ? 1 - x : (Math.exp(x) + Math.exp(-x)) * 0.5; + }; + var sinh2 = Math.sinh || function(x) { + return Math.abs(x) < 1e-9 ? x : (Math.exp(x) - Math.exp(-x)) * 0.5; + }; + var cosm1 = function(x) { + var b = Math.PI / 4; + if (-b > x || x > b) { + return Math.cos(x) - 1; + } + var xx = x * x; + return xx * (xx * (xx * (xx * (xx * (xx * (xx * (xx / 20922789888e3 - 1 / 87178291200) + 1 / 479001600) - 1 / 3628800) + 1 / 40320) - 1 / 720) + 1 / 24) - 1 / 2); + }; + var hypot2 = function(x, y) { + var a = Math.abs(x); + var b = Math.abs(y); + if (a < 3e3 && b < 3e3) { + return Math.sqrt(a * a + b * b); + } + if (a < b) { + a = b; + b = x / y; + } else { + b = y / x; + } + return a * Math.sqrt(1 + b * b); + }; + var parser_exit = function() { + throw SyntaxError("Invalid Param"); + }; + function logHypot(a, b) { + var _a = Math.abs(a); + var _b = Math.abs(b); + if (a === 0) { + return Math.log(_b); + } + if (b === 0) { + return Math.log(_a); + } + if (_a < 3e3 && _b < 3e3) { + return Math.log(a * a + b * b) * 0.5; + } + a = a / 2; + b = b / 2; + return 0.5 * Math.log(a * a + b * b) + Math.LN2; + } + var parse = function(a, b) { + var z = { "re": 0, "im": 0 }; + if (a === void 0 || a === null) { + z["re"] = z["im"] = 0; + } else if (b !== void 0) { + z["re"] = a; + z["im"] = b; + } else + switch (typeof a) { + case "object": + if ("im" in a && "re" in a) { + z["re"] = a["re"]; + z["im"] = a["im"]; + } else if ("abs" in a && "arg" in a) { + if (!Number.isFinite(a["abs"]) && Number.isFinite(a["arg"])) { + return Complex20["INFINITY"]; + } + z["re"] = a["abs"] * Math.cos(a["arg"]); + z["im"] = a["abs"] * Math.sin(a["arg"]); + } else if ("r" in a && "phi" in a) { + if (!Number.isFinite(a["r"]) && Number.isFinite(a["phi"])) { + return Complex20["INFINITY"]; + } + z["re"] = a["r"] * Math.cos(a["phi"]); + z["im"] = a["r"] * Math.sin(a["phi"]); + } else if (a.length === 2) { + z["re"] = a[0]; + z["im"] = a[1]; + } else { + parser_exit(); + } + break; + case "string": + z["im"] = /* void */ + z["re"] = 0; + var tokens = a.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g); + var plus = 1; + var minus = 0; + if (tokens === null) { + parser_exit(); + } + for (var i = 0; i < tokens.length; i++) { + var c = tokens[i]; + if (c === " " || c === " " || c === "\n") { + } else if (c === "+") { + plus++; + } else if (c === "-") { + minus++; + } else if (c === "i" || c === "I") { + if (plus + minus === 0) { + parser_exit(); + } + if (tokens[i + 1] !== " " && !isNaN(tokens[i + 1])) { + z["im"] += parseFloat((minus % 2 ? "-" : "") + tokens[i + 1]); + i++; + } else { + z["im"] += parseFloat((minus % 2 ? "-" : "") + "1"); + } + plus = minus = 0; + } else { + if (plus + minus === 0 || isNaN(c)) { + parser_exit(); + } + if (tokens[i + 1] === "i" || tokens[i + 1] === "I") { + z["im"] += parseFloat((minus % 2 ? "-" : "") + c); + i++; + } else { + z["re"] += parseFloat((minus % 2 ? "-" : "") + c); + } + plus = minus = 0; + } + } + if (plus + minus > 0) { + parser_exit(); + } + break; + case "number": + z["im"] = 0; + z["re"] = a; + break; + default: + parser_exit(); + } + if (isNaN(z["re"]) || isNaN(z["im"])) { + } + return z; + }; + function Complex20(a, b) { + if (!(this instanceof Complex20)) { + return new Complex20(a, b); + } + var z = parse(a, b); + this["re"] = z["re"]; + this["im"] = z["im"]; + } + Complex20.prototype = { + "re": 0, + "im": 0, + /** + * Calculates the sign of a complex number, which is a normalized complex + * + * @returns {Complex} + */ + "sign": function() { + var abs2 = this["abs"](); + return new Complex20( + this["re"] / abs2, + this["im"] / abs2 + ); + }, + /** + * Adds two complex numbers + * + * @returns {Complex} + */ + "add": function(a, b) { + var z = new Complex20(a, b); + if (this["isInfinite"]() && z["isInfinite"]()) { + return Complex20["NAN"]; + } + if (this["isInfinite"]() || z["isInfinite"]()) { + return Complex20["INFINITY"]; + } + return new Complex20( + this["re"] + z["re"], + this["im"] + z["im"] + ); + }, + /** + * Subtracts two complex numbers + * + * @returns {Complex} + */ + "sub": function(a, b) { + var z = new Complex20(a, b); + if (this["isInfinite"]() && z["isInfinite"]()) { + return Complex20["NAN"]; + } + if (this["isInfinite"]() || z["isInfinite"]()) { + return Complex20["INFINITY"]; + } + return new Complex20( + this["re"] - z["re"], + this["im"] - z["im"] + ); + }, + /** + * Multiplies two complex numbers + * + * @returns {Complex} + */ + "mul": function(a, b) { + var z = new Complex20(a, b); + if (this["isInfinite"]() && z["isZero"]() || this["isZero"]() && z["isInfinite"]()) { + return Complex20["NAN"]; + } + if (this["isInfinite"]() || z["isInfinite"]()) { + return Complex20["INFINITY"]; + } + if (z["im"] === 0 && this["im"] === 0) { + return new Complex20(this["re"] * z["re"], 0); + } + return new Complex20( + this["re"] * z["re"] - this["im"] * z["im"], + this["re"] * z["im"] + this["im"] * z["re"] + ); + }, + /** + * Divides two complex numbers + * + * @returns {Complex} + */ + "div": function(a, b) { + var z = new Complex20(a, b); + if (this["isZero"]() && z["isZero"]() || this["isInfinite"]() && z["isInfinite"]()) { + return Complex20["NAN"]; + } + if (this["isInfinite"]() || z["isZero"]()) { + return Complex20["INFINITY"]; + } + if (this["isZero"]() || z["isInfinite"]()) { + return Complex20["ZERO"]; + } + a = this["re"]; + b = this["im"]; + var c = z["re"]; + var d = z["im"]; + var t, x; + if (0 === d) { + return new Complex20(a / c, b / c); + } + if (Math.abs(c) < Math.abs(d)) { + x = c / d; + t = c * x + d; + return new Complex20( + (a * x + b) / t, + (b * x - a) / t + ); + } else { + x = d / c; + t = d * x + c; + return new Complex20( + (a + b * x) / t, + (b - a * x) / t + ); + } + }, + /** + * Calculate the power of two complex numbers + * + * @returns {Complex} + */ + "pow": function(a, b) { + var z = new Complex20(a, b); + a = this["re"]; + b = this["im"]; + if (z["isZero"]()) { + return Complex20["ONE"]; + } + if (z["im"] === 0) { + if (b === 0 && a > 0) { + return new Complex20(Math.pow(a, z["re"]), 0); + } else if (a === 0) { + switch ((z["re"] % 4 + 4) % 4) { + case 0: + return new Complex20(Math.pow(b, z["re"]), 0); + case 1: + return new Complex20(0, Math.pow(b, z["re"])); + case 2: + return new Complex20(-Math.pow(b, z["re"]), 0); + case 3: + return new Complex20(0, -Math.pow(b, z["re"])); + } + } + } + if (a === 0 && b === 0 && z["re"] > 0 && z["im"] >= 0) { + return Complex20["ZERO"]; + } + var arg = Math.atan2(b, a); + var loh = logHypot(a, b); + a = Math.exp(z["re"] * loh - z["im"] * arg); + b = z["im"] * loh + z["re"] * arg; + return new Complex20( + a * Math.cos(b), + a * Math.sin(b) + ); + }, + /** + * Calculate the complex square root + * + * @returns {Complex} + */ + "sqrt": function() { + var a = this["re"]; + var b = this["im"]; + var r = this["abs"](); + var re, im; + if (a >= 0) { + if (b === 0) { + return new Complex20(Math.sqrt(a), 0); + } + re = 0.5 * Math.sqrt(2 * (r + a)); + } else { + re = Math.abs(b) / Math.sqrt(2 * (r - a)); + } + if (a <= 0) { + im = 0.5 * Math.sqrt(2 * (r - a)); + } else { + im = Math.abs(b) / Math.sqrt(2 * (r + a)); + } + return new Complex20(re, b < 0 ? -im : im); + }, + /** + * Calculate the complex exponent + * + * @returns {Complex} + */ + "exp": function() { + var tmp = Math.exp(this["re"]); + if (this["im"] === 0) { + } + return new Complex20( + tmp * Math.cos(this["im"]), + tmp * Math.sin(this["im"]) + ); + }, + /** + * Calculate the complex exponent and subtracts one. + * + * This may be more accurate than `Complex(x).exp().sub(1)` if + * `x` is small. + * + * @returns {Complex} + */ + "expm1": function() { + var a = this["re"]; + var b = this["im"]; + return new Complex20( + Math.expm1(a) * Math.cos(b) + cosm1(b), + Math.exp(a) * Math.sin(b) + ); + }, + /** + * Calculate the natural log + * + * @returns {Complex} + */ + "log": function() { + var a = this["re"]; + var b = this["im"]; + if (b === 0 && a > 0) { + } + return new Complex20( + logHypot(a, b), + Math.atan2(b, a) + ); + }, + /** + * Calculate the magnitude of the complex number + * + * @returns {number} + */ + "abs": function() { + return hypot2(this["re"], this["im"]); + }, + /** + * Calculate the angle of the complex number + * + * @returns {number} + */ + "arg": function() { + return Math.atan2(this["im"], this["re"]); + }, + /** + * Calculate the sine of the complex number + * + * @returns {Complex} + */ + "sin": function() { + var a = this["re"]; + var b = this["im"]; + return new Complex20( + Math.sin(a) * cosh2(b), + Math.cos(a) * sinh2(b) + ); + }, + /** + * Calculate the cosine + * + * @returns {Complex} + */ + "cos": function() { + var a = this["re"]; + var b = this["im"]; + return new Complex20( + Math.cos(a) * cosh2(b), + -Math.sin(a) * sinh2(b) + ); + }, + /** + * Calculate the tangent + * + * @returns {Complex} + */ + "tan": function() { + var a = 2 * this["re"]; + var b = 2 * this["im"]; + var d = Math.cos(a) + cosh2(b); + return new Complex20( + Math.sin(a) / d, + sinh2(b) / d + ); + }, + /** + * Calculate the cotangent + * + * @returns {Complex} + */ + "cot": function() { + var a = 2 * this["re"]; + var b = 2 * this["im"]; + var d = Math.cos(a) - cosh2(b); + return new Complex20( + -Math.sin(a) / d, + sinh2(b) / d + ); + }, + /** + * Calculate the secant + * + * @returns {Complex} + */ + "sec": function() { + var a = this["re"]; + var b = this["im"]; + var d = 0.5 * cosh2(2 * b) + 0.5 * Math.cos(2 * a); + return new Complex20( + Math.cos(a) * cosh2(b) / d, + Math.sin(a) * sinh2(b) / d + ); + }, + /** + * Calculate the cosecans + * + * @returns {Complex} + */ + "csc": function() { + var a = this["re"]; + var b = this["im"]; + var d = 0.5 * cosh2(2 * b) - 0.5 * Math.cos(2 * a); + return new Complex20( + Math.sin(a) * cosh2(b) / d, + -Math.cos(a) * sinh2(b) / d + ); + }, + /** + * Calculate the complex arcus sinus + * + * @returns {Complex} + */ + "asin": function() { + var a = this["re"]; + var b = this["im"]; + var t1 = new Complex20( + b * b - a * a + 1, + -2 * a * b + )["sqrt"](); + var t2 = new Complex20( + t1["re"] - b, + t1["im"] + a + )["log"](); + return new Complex20(t2["im"], -t2["re"]); + }, + /** + * Calculate the complex arcus cosinus + * + * @returns {Complex} + */ + "acos": function() { + var a = this["re"]; + var b = this["im"]; + var t1 = new Complex20( + b * b - a * a + 1, + -2 * a * b + )["sqrt"](); + var t2 = new Complex20( + t1["re"] - b, + t1["im"] + a + )["log"](); + return new Complex20(Math.PI / 2 - t2["im"], t2["re"]); + }, + /** + * Calculate the complex arcus tangent + * + * @returns {Complex} + */ + "atan": function() { + var a = this["re"]; + var b = this["im"]; + if (a === 0) { + if (b === 1) { + return new Complex20(0, Infinity); + } + if (b === -1) { + return new Complex20(0, -Infinity); + } + } + var d = a * a + (1 - b) * (1 - b); + var t1 = new Complex20( + (1 - b * b - a * a) / d, + -2 * a / d + ).log(); + return new Complex20(-0.5 * t1["im"], 0.5 * t1["re"]); + }, + /** + * Calculate the complex arcus cotangent + * + * @returns {Complex} + */ + "acot": function() { + var a = this["re"]; + var b = this["im"]; + if (b === 0) { + return new Complex20(Math.atan2(1, a), 0); + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).atan() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).atan(); + }, + /** + * Calculate the complex arcus secant + * + * @returns {Complex} + */ + "asec": function() { + var a = this["re"]; + var b = this["im"]; + if (a === 0 && b === 0) { + return new Complex20(0, Infinity); + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).acos() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).acos(); + }, + /** + * Calculate the complex arcus cosecans + * + * @returns {Complex} + */ + "acsc": function() { + var a = this["re"]; + var b = this["im"]; + if (a === 0 && b === 0) { + return new Complex20(Math.PI / 2, Infinity); + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).asin() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).asin(); + }, + /** + * Calculate the complex sinh + * + * @returns {Complex} + */ + "sinh": function() { + var a = this["re"]; + var b = this["im"]; + return new Complex20( + sinh2(a) * Math.cos(b), + cosh2(a) * Math.sin(b) + ); + }, + /** + * Calculate the complex cosh + * + * @returns {Complex} + */ + "cosh": function() { + var a = this["re"]; + var b = this["im"]; + return new Complex20( + cosh2(a) * Math.cos(b), + sinh2(a) * Math.sin(b) + ); + }, + /** + * Calculate the complex tanh + * + * @returns {Complex} + */ + "tanh": function() { + var a = 2 * this["re"]; + var b = 2 * this["im"]; + var d = cosh2(a) + Math.cos(b); + return new Complex20( + sinh2(a) / d, + Math.sin(b) / d + ); + }, + /** + * Calculate the complex coth + * + * @returns {Complex} + */ + "coth": function() { + var a = 2 * this["re"]; + var b = 2 * this["im"]; + var d = cosh2(a) - Math.cos(b); + return new Complex20( + sinh2(a) / d, + -Math.sin(b) / d + ); + }, + /** + * Calculate the complex coth + * + * @returns {Complex} + */ + "csch": function() { + var a = this["re"]; + var b = this["im"]; + var d = Math.cos(2 * b) - cosh2(2 * a); + return new Complex20( + -2 * sinh2(a) * Math.cos(b) / d, + 2 * cosh2(a) * Math.sin(b) / d + ); + }, + /** + * Calculate the complex sech + * + * @returns {Complex} + */ + "sech": function() { + var a = this["re"]; + var b = this["im"]; + var d = Math.cos(2 * b) + cosh2(2 * a); + return new Complex20( + 2 * cosh2(a) * Math.cos(b) / d, + -2 * sinh2(a) * Math.sin(b) / d + ); + }, + /** + * Calculate the complex asinh + * + * @returns {Complex} + */ + "asinh": function() { + var tmp = this["im"]; + this["im"] = -this["re"]; + this["re"] = tmp; + var res = this["asin"](); + this["re"] = -this["im"]; + this["im"] = tmp; + tmp = res["re"]; + res["re"] = -res["im"]; + res["im"] = tmp; + return res; + }, + /** + * Calculate the complex acosh + * + * @returns {Complex} + */ + "acosh": function() { + var res = this["acos"](); + if (res["im"] <= 0) { + var tmp = res["re"]; + res["re"] = -res["im"]; + res["im"] = tmp; + } else { + var tmp = res["im"]; + res["im"] = -res["re"]; + res["re"] = tmp; + } + return res; + }, + /** + * Calculate the complex atanh + * + * @returns {Complex} + */ + "atanh": function() { + var a = this["re"]; + var b = this["im"]; + var noIM = a > 1 && b === 0; + var oneMinus = 1 - a; + var onePlus = 1 + a; + var d = oneMinus * oneMinus + b * b; + var x = d !== 0 ? new Complex20( + (onePlus * oneMinus - b * b) / d, + (b * oneMinus + onePlus * b) / d + ) : new Complex20( + a !== -1 ? a / 0 : 0, + b !== 0 ? b / 0 : 0 + ); + var temp = x["re"]; + x["re"] = logHypot(x["re"], x["im"]) / 2; + x["im"] = Math.atan2(x["im"], temp) / 2; + if (noIM) { + x["im"] = -x["im"]; + } + return x; + }, + /** + * Calculate the complex acoth + * + * @returns {Complex} + */ + "acoth": function() { + var a = this["re"]; + var b = this["im"]; + if (a === 0 && b === 0) { + return new Complex20(0, Math.PI / 2); + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).atanh() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).atanh(); + }, + /** + * Calculate the complex acsch + * + * @returns {Complex} + */ + "acsch": function() { + var a = this["re"]; + var b = this["im"]; + if (b === 0) { + return new Complex20( + a !== 0 ? Math.log(a + Math.sqrt(a * a + 1)) : Infinity, + 0 + ); + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).asinh() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).asinh(); + }, + /** + * Calculate the complex asech + * + * @returns {Complex} + */ + "asech": function() { + var a = this["re"]; + var b = this["im"]; + if (this["isZero"]()) { + return Complex20["INFINITY"]; + } + var d = a * a + b * b; + return d !== 0 ? new Complex20( + a / d, + -b / d + ).acosh() : new Complex20( + a !== 0 ? a / 0 : 0, + b !== 0 ? -b / 0 : 0 + ).acosh(); + }, + /** + * Calculate the complex inverse 1/z + * + * @returns {Complex} + */ + "inverse": function() { + if (this["isZero"]()) { + return Complex20["INFINITY"]; + } + if (this["isInfinite"]()) { + return Complex20["ZERO"]; + } + var a = this["re"]; + var b = this["im"]; + var d = a * a + b * b; + return new Complex20(a / d, -b / d); + }, + /** + * Returns the complex conjugate + * + * @returns {Complex} + */ + "conjugate": function() { + return new Complex20(this["re"], -this["im"]); + }, + /** + * Gets the negated complex number + * + * @returns {Complex} + */ + "neg": function() { + return new Complex20(-this["re"], -this["im"]); + }, + /** + * Ceils the actual complex number + * + * @returns {Complex} + */ + "ceil": function(places) { + places = Math.pow(10, places || 0); + return new Complex20( + Math.ceil(this["re"] * places) / places, + Math.ceil(this["im"] * places) / places + ); + }, + /** + * Floors the actual complex number + * + * @returns {Complex} + */ + "floor": function(places) { + places = Math.pow(10, places || 0); + return new Complex20( + Math.floor(this["re"] * places) / places, + Math.floor(this["im"] * places) / places + ); + }, + /** + * Ceils the actual complex number + * + * @returns {Complex} + */ + "round": function(places) { + places = Math.pow(10, places || 0); + return new Complex20( + Math.round(this["re"] * places) / places, + Math.round(this["im"] * places) / places + ); + }, + /** + * Compares two complex numbers + * + * **Note:** new Complex(Infinity).equals(Infinity) === false + * + * @returns {boolean} + */ + "equals": function(a, b) { + var z = new Complex20(a, b); + return Math.abs(z["re"] - this["re"]) <= Complex20["EPSILON"] && Math.abs(z["im"] - this["im"]) <= Complex20["EPSILON"]; + }, + /** + * Clones the actual object + * + * @returns {Complex} + */ + "clone": function() { + return new Complex20(this["re"], this["im"]); + }, + /** + * Gets a string of the actual complex number + * + * @returns {string} + */ + "toString": function() { + var a = this["re"]; + var b = this["im"]; + var ret = ""; + if (this["isNaN"]()) { + return "NaN"; + } + if (this["isInfinite"]()) { + return "Infinity"; + } + if (Math.abs(a) < Complex20["EPSILON"]) { + a = 0; + } + if (Math.abs(b) < Complex20["EPSILON"]) { + b = 0; + } + if (b === 0) { + return ret + a; + } + if (a !== 0) { + ret += a; + ret += " "; + if (b < 0) { + b = -b; + ret += "-"; + } else { + ret += "+"; + } + ret += " "; + } else if (b < 0) { + b = -b; + ret += "-"; + } + if (1 !== b) { + ret += b; + } + return ret + "i"; + }, + /** + * Returns the actual number as a vector + * + * @returns {Array} + */ + "toVector": function() { + return [this["re"], this["im"]]; + }, + /** + * Returns the actual real value of the current object + * + * @returns {number|null} + */ + "valueOf": function() { + if (this["im"] === 0) { + return this["re"]; + } + return null; + }, + /** + * Determines whether a complex number is not on the Riemann sphere. + * + * @returns {boolean} + */ + "isNaN": function() { + return isNaN(this["re"]) || isNaN(this["im"]); + }, + /** + * Determines whether or not a complex number is at the zero pole of the + * Riemann sphere. + * + * @returns {boolean} + */ + "isZero": function() { + return this["im"] === 0 && this["re"] === 0; + }, + /** + * Determines whether a complex number is not at the infinity pole of the + * Riemann sphere. + * + * @returns {boolean} + */ + "isFinite": function() { + return isFinite(this["re"]) && isFinite(this["im"]); + }, + /** + * Determines whether or not a complex number is at the infinity pole of the + * Riemann sphere. + * + * @returns {boolean} + */ + "isInfinite": function() { + return !(this["isNaN"]() || this["isFinite"]()); + } + }; + Complex20["ZERO"] = new Complex20(0, 0); + Complex20["ONE"] = new Complex20(1, 0); + Complex20["I"] = new Complex20(0, 1); + Complex20["PI"] = new Complex20(Math.PI, 0); + Complex20["E"] = new Complex20(Math.E, 0); + Complex20["INFINITY"] = new Complex20(Infinity, Infinity); + Complex20["NAN"] = new Complex20(NaN, NaN); + Complex20["EPSILON"] = 1e-15; + if (typeof define === "function" && define["amd"]) { + define([], function() { + return Complex20; + }); + } else if (typeof exports === "object") { + Object.defineProperty(Complex20, "__esModule", { "value": true }); + Complex20["default"] = Complex20; + Complex20["Complex"] = Complex20; + module2["exports"] = Complex20; + } else { + root["Complex"] = Complex20; + } + })(exports); + } +}); +function isSymbolEntry(entry) { + return "kind" in entry && entry.kind === "symbol"; +} +function isMatchfixEntry(entry) { + return "kind" in entry && entry.kind === "matchfix"; +} +function isInfixEntry(entry) { + return "kind" in entry && entry.kind === "infix"; +} +function isPrefixEntry(entry) { + return "kind" in entry && entry.kind === "prefix"; +} +function isPostfixEntry(entry) { + return "kind" in entry && entry.kind === "postfix"; +} +function isEnvironmentEntry(entry) { + return "kind" in entry && entry.kind === "environment"; +} +var EXP_LIMIT = 9e15; +var MAX_DIGITS = 1e9; +var NUMERALS = "0123456789abcdef"; +var LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058"; +var PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789"; +var DEFAULTS = { + // These values must be integers within the stated ranges (inclusive). + // Most of these values can be changed at run-time using the `Decimal.config` method. + // The maximum number of significant digits of the result of a calculation or base conversion. + // E.g. `Decimal.config({ precision: 20 });` + precision: 20, + // 1 to MAX_DIGITS + // The rounding mode used when rounding to `precision`. + // + // ROUND_UP 0 Away from zero. + // ROUND_DOWN 1 Towards zero. + // ROUND_CEIL 2 Towards +Infinity. + // ROUND_FLOOR 3 Towards -Infinity. + // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up. + // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down. + // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour. + // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity. + // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity. + // + // E.g. + // `Decimal.rounding = 4;` + // `Decimal.rounding = Decimal.ROUND_HALF_UP;` + rounding: 4, + // 0 to 8 + // The modulo mode used when calculating the modulus: a mod n. + // The quotient (q = a / n) is calculated according to the corresponding rounding mode. + // The remainder (r) is calculated as: r = a - n * q. + // + // UP 0 The remainder is positive if the dividend is negative, else is negative. + // DOWN 1 The remainder has the same sign as the dividend (JavaScript %). + // FLOOR 3 The remainder has the same sign as the divisor (Python %). + // HALF_EVEN 6 The IEEE 754 remainder function. + // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive. + // + // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian + // division (9) are commonly used for the modulus operation. The other rounding modes can also + // be used, but they may not give useful results. + modulo: 1, + // 0 to 9 + // The exponent value at and beneath which `toString` returns exponential notation. + // JavaScript numbers: -7 + toExpNeg: -7, + // 0 to -EXP_LIMIT + // The exponent value at and above which `toString` returns exponential notation. + // JavaScript numbers: 21 + toExpPos: 21, + // 0 to EXP_LIMIT + // The minimum exponent value, beneath which underflow to zero occurs. + // JavaScript numbers: -324 (5e-324) + minE: -EXP_LIMIT, + // -1 to -EXP_LIMIT + // The maximum exponent value, above which overflow to Infinity occurs. + // JavaScript numbers: 308 (1.7976931348623157e+308) + maxE: EXP_LIMIT, + // 1 to EXP_LIMIT + // Whether to use cryptographically-secure random number generation, if available. + crypto: false + // true/false +}; +var inexact; +var quadrant; +var external = true; +var decimalError = "[DecimalError] "; +var invalidArgument = decimalError + "Invalid argument: "; +var precisionLimitExceeded = decimalError + "Precision limit exceeded"; +var cryptoUnavailable = decimalError + "crypto unavailable"; +var tag = "[object Decimal]"; +var mathfloor = Math.floor; +var mathpow = Math.pow; +var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i; +var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i; +var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i; +var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; +var BASE = 1e7; +var LOG_BASE = 7; +var MAX_SAFE_INTEGER = 9007199254740991; +var LN10_PRECISION = LN10.length - 1; +var PI_PRECISION = PI.length - 1; +var P = { toStringTag: tag }; +P.absoluteValue = P.abs = function() { + var x = new this.constructor(this); + if (x.s < 0) + x.s = 1; + return finalise(x); +}; +P.ceil = function() { + return finalise(new this.constructor(this), this.e + 1, 2); +}; +P.clampedTo = P.clamp = function(min2, max2) { + var k, x = this, Ctor = x.constructor; + min2 = new Ctor(min2); + max2 = new Ctor(max2); + if (!min2.s || !max2.s) + return new Ctor(NaN); + if (min2.gt(max2)) + throw Error(invalidArgument + max2); + k = x.cmp(min2); + return k < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x); +}; +P.comparedTo = P.cmp = function(y) { + var i, j, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s; + if (!xd || !yd) { + return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1; + } + if (!xd[0] || !yd[0]) + return xd[0] ? xs : yd[0] ? -ys : 0; + if (xs !== ys) + return xs; + if (x.e !== y.e) + return x.e > y.e ^ xs < 0 ? 1 : -1; + xdL = xd.length; + ydL = yd.length; + for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) { + if (xd[i] !== yd[i]) + return xd[i] > yd[i] ^ xs < 0 ? 1 : -1; + } + return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1; +}; +P.cosine = P.cos = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.d) + return new Ctor(NaN); + if (!x.d[0]) + return new Ctor(1); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; + Ctor.rounding = 1; + x = cosine(Ctor, toLessThanHalfPi(Ctor, x)); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true); +}; +P.cubeRoot = P.cbrt = function() { + var e, m, n, r, rep, s, sd, t, t3, t3plusx, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) + return new Ctor(x); + external = false; + s = x.s * mathpow(x.s * x, 1 / 3); + if (!s || Math.abs(s) == 1 / 0) { + n = digitsToString(x.d); + e = x.e; + if (s = (e - n.length + 1) % 3) + n += s == 1 || s == -2 ? "0" : "00"; + s = mathpow(n, 1 / 3); + e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)); + if (s == 1 / 0) { + n = "5e" + e; + } else { + n = s.toExponential(); + n = n.slice(0, n.indexOf("e") + 1) + e; + } + r = new Ctor(n); + r.s = x.s; + } else { + r = new Ctor(s.toString()); + } + sd = (e = Ctor.precision) + 3; + for (; ; ) { + t = r; + t3 = t.times(t).times(t); + t3plusx = t3.plus(x); + r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1); + if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) { + n = n.slice(sd - 3, sd + 1); + if (n == "9999" || !rep && n == "4999") { + if (!rep) { + finalise(t, e + 1, 0); + if (t.times(t).times(t).eq(x)) { + r = t; + break; + } + } + sd += 4; + rep = 1; + } else { + if (!+n || !+n.slice(1) && n.charAt(0) == "5") { + finalise(r, e + 1, 1); + m = !r.times(r).times(r).eq(x); + } + break; + } + } + } + external = true; + return finalise(r, e, Ctor.rounding, m); +}; +P.decimalPlaces = P.dp = function() { + var w, d = this.d, n = NaN; + if (d) { + w = d.length - 1; + n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE; + w = d[w]; + if (w) + for (; w % 10 == 0; w /= 10) + n--; + if (n < 0) + n = 0; + } + return n; +}; +P.dividedBy = P.div = function(y) { + return divide(this, new this.constructor(y)); +}; +P.dividedToIntegerBy = P.divToInt = function(y) { + var x = this, Ctor = x.constructor; + return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding); +}; +P.equals = P.eq = function(y) { + return this.cmp(y) === 0; +}; +P.floor = function() { + return finalise(new this.constructor(this), this.e + 1, 3); +}; +P.greaterThan = P.gt = function(y) { + return this.cmp(y) > 0; +}; +P.greaterThanOrEqualTo = P.gte = function(y) { + var k = this.cmp(y); + return k == 1 || k === 0; +}; +P.hyperbolicCosine = P.cosh = function() { + var k, n, pr, rm, len, x = this, Ctor = x.constructor, one = new Ctor(1); + if (!x.isFinite()) + return new Ctor(x.s ? 1 / 0 : NaN); + if (x.isZero()) + return one; + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; + Ctor.rounding = 1; + len = x.d.length; + if (len < 32) { + k = Math.ceil(len / 3); + n = (1 / tinyPow(4, k)).toString(); + } else { + k = 16; + n = "2.3283064365386962890625e-10"; + } + x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true); + var cosh2_x, i = k, d8 = new Ctor(8); + for (; i--; ) { + cosh2_x = x.times(x); + x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8)))); + } + return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true); +}; +P.hyperbolicSine = P.sinh = function() { + var k, pr, rm, len, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; + Ctor.rounding = 1; + len = x.d.length; + if (len < 3) { + x = taylorSeries(Ctor, 2, x, x, true); + } else { + k = 1.4 * Math.sqrt(len); + k = k > 16 ? 16 : k | 0; + x = x.times(1 / tinyPow(5, k)); + x = taylorSeries(Ctor, 2, x, x, true); + var sinh2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k--; ) { + sinh2_x = x.times(x); + x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20)))); + } + } + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(x, pr, rm, true); +}; +P.hyperbolicTangent = P.tanh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) + return new Ctor(x.s); + if (x.isZero()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 7; + Ctor.rounding = 1; + return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm); +}; +P.inverseCosine = P.acos = function() { + var halfPi, x = this, Ctor = x.constructor, k = x.abs().cmp(1), pr = Ctor.precision, rm = Ctor.rounding; + if (k !== -1) { + return k === 0 ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0) : new Ctor(NaN); + } + if (x.isZero()) + return getPi(Ctor, pr + 4, rm).times(0.5); + Ctor.precision = pr + 6; + Ctor.rounding = 1; + x = x.asin(); + halfPi = getPi(Ctor, pr + 4, rm).times(0.5); + Ctor.precision = pr; + Ctor.rounding = rm; + return halfPi.minus(x); +}; +P.inverseHyperbolicCosine = P.acosh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (x.lte(1)) + return new Ctor(x.eq(1) ? 0 : NaN); + if (!x.isFinite()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4; + Ctor.rounding = 1; + external = false; + x = x.times(x).minus(1).sqrt().plus(x); + external = true; + Ctor.precision = pr; + Ctor.rounding = rm; + return x.ln(); +}; +P.inverseHyperbolicSine = P.asinh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6; + Ctor.rounding = 1; + external = false; + x = x.times(x).plus(1).sqrt().plus(x); + external = true; + Ctor.precision = pr; + Ctor.rounding = rm; + return x.ln(); +}; +P.inverseHyperbolicTangent = P.atanh = function() { + var pr, rm, wpr, xsd, x = this, Ctor = x.constructor; + if (!x.isFinite()) + return new Ctor(NaN); + if (x.e >= 0) + return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN); + pr = Ctor.precision; + rm = Ctor.rounding; + xsd = x.sd(); + if (Math.max(xsd, pr) < 2 * -x.e - 1) + return finalise(new Ctor(x), pr, rm, true); + Ctor.precision = wpr = xsd - x.e; + x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1); + Ctor.precision = pr + 4; + Ctor.rounding = 1; + x = x.ln(); + Ctor.precision = pr; + Ctor.rounding = rm; + return x.times(0.5); +}; +P.inverseSine = P.asin = function() { + var halfPi, k, pr, rm, x = this, Ctor = x.constructor; + if (x.isZero()) + return new Ctor(x); + k = x.abs().cmp(1); + pr = Ctor.precision; + rm = Ctor.rounding; + if (k !== -1) { + if (k === 0) { + halfPi = getPi(Ctor, pr + 4, rm).times(0.5); + halfPi.s = x.s; + return halfPi; + } + return new Ctor(NaN); + } + Ctor.precision = pr + 6; + Ctor.rounding = 1; + x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan(); + Ctor.precision = pr; + Ctor.rounding = rm; + return x.times(2); +}; +P.inverseTangent = P.atan = function() { + var i, j, k, n, px, t, r, wpr, x2, x = this, Ctor = x.constructor, pr = Ctor.precision, rm = Ctor.rounding; + if (!x.isFinite()) { + if (!x.s) + return new Ctor(NaN); + if (pr + 4 <= PI_PRECISION) { + r = getPi(Ctor, pr + 4, rm).times(0.5); + r.s = x.s; + return r; + } + } else if (x.isZero()) { + return new Ctor(x); + } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) { + r = getPi(Ctor, pr + 4, rm).times(0.25); + r.s = x.s; + return r; + } + Ctor.precision = wpr = pr + 10; + Ctor.rounding = 1; + k = Math.min(28, wpr / LOG_BASE + 2 | 0); + for (i = k; i; --i) + x = x.div(x.times(x).plus(1).sqrt().plus(1)); + external = false; + j = Math.ceil(wpr / LOG_BASE); + n = 1; + x2 = x.times(x); + r = new Ctor(x); + px = x; + for (; i !== -1; ) { + px = px.times(x2); + t = r.minus(px.div(n += 2)); + px = px.times(x2); + r = t.plus(px.div(n += 2)); + if (r.d[j] !== void 0) + for (i = j; r.d[i] === t.d[i] && i--; ) + ; + } + if (k) + r = r.times(2 << k - 1); + external = true; + return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true); +}; +P.isFinite = function() { + return !!this.d; +}; +P.isInteger = P.isInt = function() { + return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2; +}; +P.isNaN = function() { + return !this.s; +}; +P.isNegative = P.isNeg = function() { + return this.s < 0; +}; +P.isPositive = P.isPos = function() { + return this.s > 0; +}; +P.isZero = function() { + return !!this.d && this.d[0] === 0; +}; +P.lessThan = P.lt = function(y) { + return this.cmp(y) < 0; +}; +P.lessThanOrEqualTo = P.lte = function(y) { + return this.cmp(y) < 1; +}; +P.logarithm = P.log = function(base) { + var isBase10, d, denominator, k, inf, num, sd, r, arg = this, Ctor = arg.constructor, pr = Ctor.precision, rm = Ctor.rounding, guard = 5; + if (base == null) { + base = new Ctor(10); + isBase10 = true; + } else { + base = new Ctor(base); + d = base.d; + if (base.s < 0 || !d || !d[0] || base.eq(1)) + return new Ctor(NaN); + isBase10 = base.eq(10); + } + d = arg.d; + if (arg.s < 0 || !d || !d[0] || arg.eq(1)) { + return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0); + } + if (isBase10) { + if (d.length > 1) { + inf = true; + } else { + for (k = d[0]; k % 10 === 0; ) + k /= 10; + inf = k !== 1; + } + } + external = false; + sd = pr + guard; + num = naturalLogarithm(arg, sd); + denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); + r = divide(num, denominator, sd, 1); + if (checkRoundingDigits(r.d, k = pr, rm)) { + do { + sd += 10; + num = naturalLogarithm(arg, sd); + denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); + r = divide(num, denominator, sd, 1); + if (!inf) { + if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) { + r = finalise(r, pr + 1, 0); + } + break; + } + } while (checkRoundingDigits(r.d, k += 10, rm)); + } + external = true; + return finalise(r, pr, rm); +}; +P.minus = P.sub = function(y) { + var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.d) { + if (!x.s || !y.s) + y = new Ctor(NaN); + else if (x.d) + y.s = -y.s; + else + y = new Ctor(y.d || x.s !== y.s ? x : NaN); + return y; + } + if (x.s != y.s) { + y.s = -y.s; + return x.plus(y); + } + xd = x.d; + yd = y.d; + pr = Ctor.precision; + rm = Ctor.rounding; + if (!xd[0] || !yd[0]) { + if (yd[0]) + y.s = -y.s; + else if (xd[0]) + y = new Ctor(x); + else + return new Ctor(rm === 3 ? -0 : 0); + return external ? finalise(y, pr, rm) : y; + } + e = mathfloor(y.e / LOG_BASE); + xe = mathfloor(x.e / LOG_BASE); + xd = xd.slice(); + k = xe - e; + if (k) { + xLTy = k < 0; + if (xLTy) { + d = xd; + k = -k; + len = yd.length; + } else { + d = yd; + e = xe; + len = xd.length; + } + i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2; + if (k > i) { + k = i; + d.length = 1; + } + d.reverse(); + for (i = k; i--; ) + d.push(0); + d.reverse(); + } else { + i = xd.length; + len = yd.length; + xLTy = i < len; + if (xLTy) + len = i; + for (i = 0; i < len; i++) { + if (xd[i] != yd[i]) { + xLTy = xd[i] < yd[i]; + break; + } + } + k = 0; + } + if (xLTy) { + d = xd; + xd = yd; + yd = d; + y.s = -y.s; + } + len = xd.length; + for (i = yd.length - len; i > 0; --i) + xd[len++] = 0; + for (i = yd.length; i > k; ) { + if (xd[--i] < yd[i]) { + for (j = i; j && xd[--j] === 0; ) + xd[j] = BASE - 1; + --xd[j]; + xd[i] += BASE; + } + xd[i] -= yd[i]; + } + for (; xd[--len] === 0; ) + xd.pop(); + for (; xd[0] === 0; xd.shift()) + --e; + if (!xd[0]) + return new Ctor(rm === 3 ? -0 : 0); + y.d = xd; + y.e = getBase10Exponent(xd, e); + return external ? finalise(y, pr, rm) : y; +}; +P.modulo = P.mod = function(y) { + var q, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.s || y.d && !y.d[0]) + return new Ctor(NaN); + if (!y.d || x.d && !x.d[0]) { + return finalise(new Ctor(x), Ctor.precision, Ctor.rounding); + } + external = false; + if (Ctor.modulo == 9) { + q = divide(x, y.abs(), 0, 3, 1); + q.s *= y.s; + } else { + q = divide(x, y, 0, Ctor.modulo, 1); + } + q = q.times(y); + external = true; + return x.minus(q); +}; +P.naturalExponential = P.exp = function() { + return naturalExponential(this); +}; +P.naturalLogarithm = P.ln = function() { + return naturalLogarithm(this); +}; +P.negated = P.neg = function() { + var x = new this.constructor(this); + x.s = -x.s; + return finalise(x); +}; +P.plus = P.add = function(y) { + var carry, d, e, i, k, len, pr, rm, xd, yd, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.d) { + if (!x.s || !y.s) + y = new Ctor(NaN); + else if (!x.d) + y = new Ctor(y.d || x.s === y.s ? x : NaN); + return y; + } + if (x.s != y.s) { + y.s = -y.s; + return x.minus(y); + } + xd = x.d; + yd = y.d; + pr = Ctor.precision; + rm = Ctor.rounding; + if (!xd[0] || !yd[0]) { + if (!yd[0]) + y = new Ctor(x); + return external ? finalise(y, pr, rm) : y; + } + k = mathfloor(x.e / LOG_BASE); + e = mathfloor(y.e / LOG_BASE); + xd = xd.slice(); + i = k - e; + if (i) { + if (i < 0) { + d = xd; + i = -i; + len = yd.length; + } else { + d = yd; + e = k; + len = xd.length; + } + k = Math.ceil(pr / LOG_BASE); + len = k > len ? k + 1 : len + 1; + if (i > len) { + i = len; + d.length = 1; + } + d.reverse(); + for (; i--; ) + d.push(0); + d.reverse(); + } + len = xd.length; + i = yd.length; + if (len - i < 0) { + i = len; + d = yd; + yd = xd; + xd = d; + } + for (carry = 0; i; ) { + carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0; + xd[i] %= BASE; + } + if (carry) { + xd.unshift(carry); + ++e; + } + for (len = xd.length; xd[--len] == 0; ) + xd.pop(); + y.d = xd; + y.e = getBase10Exponent(xd, e); + return external ? finalise(y, pr, rm) : y; +}; +P.precision = P.sd = function(z) { + var k, x = this; + if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) + throw Error(invalidArgument + z); + if (x.d) { + k = getPrecision(x.d); + if (z && x.e + 1 > k) + k = x.e + 1; + } else { + k = NaN; + } + return k; +}; +P.round = function() { + var x = this, Ctor = x.constructor; + return finalise(new Ctor(x), x.e + 1, Ctor.rounding); +}; +P.sine = P.sin = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) + return new Ctor(NaN); + if (x.isZero()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; + Ctor.rounding = 1; + x = sine(Ctor, toLessThanHalfPi(Ctor, x)); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true); +}; +P.squareRoot = P.sqrt = function() { + var m, n, sd, r, rep, t, x = this, d = x.d, e = x.e, s = x.s, Ctor = x.constructor; + if (s !== 1 || !d || !d[0]) { + return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0); + } + external = false; + s = Math.sqrt(+x); + if (s == 0 || s == 1 / 0) { + n = digitsToString(d); + if ((n.length + e) % 2 == 0) + n += "0"; + s = Math.sqrt(n); + e = mathfloor((e + 1) / 2) - (e < 0 || e % 2); + if (s == 1 / 0) { + n = "5e" + e; + } else { + n = s.toExponential(); + n = n.slice(0, n.indexOf("e") + 1) + e; + } + r = new Ctor(n); + } else { + r = new Ctor(s.toString()); + } + sd = (e = Ctor.precision) + 3; + for (; ; ) { + t = r; + r = t.plus(divide(x, t, sd + 2, 1)).times(0.5); + if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) { + n = n.slice(sd - 3, sd + 1); + if (n == "9999" || !rep && n == "4999") { + if (!rep) { + finalise(t, e + 1, 0); + if (t.times(t).eq(x)) { + r = t; + break; + } + } + sd += 4; + rep = 1; + } else { + if (!+n || !+n.slice(1) && n.charAt(0) == "5") { + finalise(r, e + 1, 1); + m = !r.times(r).eq(x); + } + break; + } + } + } + external = true; + return finalise(r, e, Ctor.rounding, m); +}; +P.tangent = P.tan = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) + return new Ctor(NaN); + if (x.isZero()) + return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 10; + Ctor.rounding = 1; + x = x.sin(); + x.s = 1; + x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true); +}; +P.times = P.mul = function(y) { + var carry, e, i, k, r, rL, t, xdL, ydL, x = this, Ctor = x.constructor, xd = x.d, yd = (y = new Ctor(y)).d; + y.s *= x.s; + if (!xd || !xd[0] || !yd || !yd[0]) { + return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd ? NaN : !xd || !yd ? y.s / 0 : y.s * 0); + } + e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE); + xdL = xd.length; + ydL = yd.length; + if (xdL < ydL) { + r = xd; + xd = yd; + yd = r; + rL = xdL; + xdL = ydL; + ydL = rL; + } + r = []; + rL = xdL + ydL; + for (i = rL; i--; ) + r.push(0); + for (i = ydL; --i >= 0; ) { + carry = 0; + for (k = xdL + i; k > i; ) { + t = r[k] + yd[i] * xd[k - i - 1] + carry; + r[k--] = t % BASE | 0; + carry = t / BASE | 0; + } + r[k] = (r[k] + carry) % BASE | 0; + } + for (; !r[--rL]; ) + r.pop(); + if (carry) + ++e; + else + r.shift(); + y.d = r; + y.e = getBase10Exponent(r, e); + return external ? finalise(y, Ctor.precision, Ctor.rounding) : y; +}; +P.toBinary = function(sd, rm) { + return toStringBinary(this, 2, sd, rm); +}; +P.toDecimalPlaces = P.toDP = function(dp, rm) { + var x = this, Ctor = x.constructor; + x = new Ctor(x); + if (dp === void 0) + return x; + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + return finalise(x, dp + x.e + 1, rm); +}; +P.toExponential = function(dp, rm) { + var str, x = this, Ctor = x.constructor; + if (dp === void 0) { + str = finiteToString(x, true); + } else { + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + x = finalise(new Ctor(x), dp + 1, rm); + str = finiteToString(x, true, dp + 1); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; +}; +P.toFixed = function(dp, rm) { + var str, y, x = this, Ctor = x.constructor; + if (dp === void 0) { + str = finiteToString(x); + } else { + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + y = finalise(new Ctor(x), dp + x.e + 1, rm); + str = finiteToString(y, false, dp + y.e + 1); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; +}; +P.toFraction = function(maxD) { + var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r, x = this, xd = x.d, Ctor = x.constructor; + if (!xd) + return new Ctor(x); + n1 = d0 = new Ctor(1); + d1 = n0 = new Ctor(0); + d = new Ctor(d1); + e = d.e = getPrecision(xd) - x.e - 1; + k = e % LOG_BASE; + d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k); + if (maxD == null) { + maxD = e > 0 ? d : n1; + } else { + n = new Ctor(maxD); + if (!n.isInt() || n.lt(n1)) + throw Error(invalidArgument + n); + maxD = n.gt(d) ? e > 0 ? d : n1 : n; + } + external = false; + n = new Ctor(digitsToString(xd)); + pr = Ctor.precision; + Ctor.precision = e = xd.length * LOG_BASE * 2; + for (; ; ) { + q = divide(n, d, 0, 1, 1); + d2 = d0.plus(q.times(d1)); + if (d2.cmp(maxD) == 1) + break; + d0 = d1; + d1 = d2; + d2 = n1; + n1 = n0.plus(q.times(d2)); + n0 = d2; + d2 = d; + d = n.minus(q.times(d2)); + n = d2; + } + d2 = divide(maxD.minus(d0), d1, 0, 1, 1); + n0 = n0.plus(d2.times(n1)); + d0 = d0.plus(d2.times(d1)); + n0.s = n1.s = x.s; + r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0]; + Ctor.precision = pr; + external = true; + return r; +}; +P.toHexadecimal = P.toHex = function(sd, rm) { + return toStringBinary(this, 16, sd, rm); +}; +P.toNearest = function(y, rm) { + var x = this, Ctor = x.constructor; + x = new Ctor(x); + if (y == null) { + if (!x.d) + return x; + y = new Ctor(1); + rm = Ctor.rounding; + } else { + y = new Ctor(y); + if (rm === void 0) { + rm = Ctor.rounding; + } else { + checkInt32(rm, 0, 8); + } + if (!x.d) + return y.s ? x : y; + if (!y.d) { + if (y.s) + y.s = x.s; + return y; + } + } + if (y.d[0]) { + external = false; + x = divide(x, y, 0, rm, 1).times(y); + external = true; + finalise(x); + } else { + y.s = x.s; + x = y; + } + return x; +}; +P.toNumber = function() { + return +this; +}; +P.toOctal = function(sd, rm) { + return toStringBinary(this, 8, sd, rm); +}; +P.toPower = P.pow = function(y) { + var e, k, pr, r, rm, s, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y)); + if (!x.d || !y.d || !x.d[0] || !y.d[0]) + return new Ctor(mathpow(+x, yn)); + x = new Ctor(x); + if (x.eq(1)) + return x; + pr = Ctor.precision; + rm = Ctor.rounding; + if (y.eq(1)) + return finalise(x, pr, rm); + e = mathfloor(y.e / LOG_BASE); + if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) { + r = intPow(Ctor, x, k, pr); + return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm); + } + s = x.s; + if (s < 0) { + if (e < y.d.length - 1) + return new Ctor(NaN); + if ((y.d[e] & 1) == 0) + s = 1; + if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) { + x.s = s; + return x; + } + } + k = mathpow(+x, yn); + e = k == 0 || !isFinite(k) ? mathfloor(yn * (Math.log("0." + digitsToString(x.d)) / Math.LN10 + x.e + 1)) : new Ctor(k + "").e; + if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) + return new Ctor(e > 0 ? s / 0 : 0); + external = false; + Ctor.rounding = x.s = 1; + k = Math.min(12, (e + "").length); + r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr); + if (r.d) { + r = finalise(r, pr + 5, 1); + if (checkRoundingDigits(r.d, pr, rm)) { + e = pr + 10; + r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1); + if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) { + r = finalise(r, pr + 1, 0); + } + } + } + r.s = s; + external = true; + Ctor.rounding = rm; + return finalise(r, pr, rm); +}; +P.toPrecision = function(sd, rm) { + var str, x = this, Ctor = x.constructor; + if (sd === void 0) { + str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + } else { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + x = finalise(new Ctor(x), sd, rm); + str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; +}; +P.toSignificantDigits = P.toSD = function(sd, rm) { + var x = this, Ctor = x.constructor; + if (sd === void 0) { + sd = Ctor.precision; + rm = Ctor.rounding; + } else { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + } + return finalise(new Ctor(x), sd, rm); +}; +P.toString = function() { + var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + return x.isNeg() && !x.isZero() ? "-" + str : str; +}; +P.truncated = P.trunc = function() { + return finalise(new this.constructor(this), this.e + 1, 1); +}; +P.valueOf = P.toJSON = function() { + var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + return x.isNeg() ? "-" + str : str; +}; +function digitsToString(d) { + var i, k, ws, indexOfLastWord = d.length - 1, str = "", w = d[0]; + if (indexOfLastWord > 0) { + str += w; + for (i = 1; i < indexOfLastWord; i++) { + ws = d[i] + ""; + k = LOG_BASE - ws.length; + if (k) + str += getZeroString(k); + str += ws; + } + w = d[i]; + ws = w + ""; + k = LOG_BASE - ws.length; + if (k) + str += getZeroString(k); + } else if (w === 0) { + return "0"; + } + for (; w % 10 === 0; ) + w /= 10; + return str + w; +} +function checkInt32(i, min2, max2) { + if (i !== ~~i || i < min2 || i > max2) { + throw Error(invalidArgument + i); + } +} +function checkRoundingDigits(d, i, rm, repeating) { + var di, k, r, rd; + for (k = d[0]; k >= 10; k /= 10) + --i; + if (--i < 0) { + i += LOG_BASE; + di = 0; + } else { + di = Math.ceil((i + 1) / LOG_BASE); + i %= LOG_BASE; + } + k = mathpow(10, LOG_BASE - i); + rd = d[di] % k | 0; + if (repeating == null) { + if (i < 3) { + if (i == 0) + rd = rd / 100 | 0; + else if (i == 1) + rd = rd / 10 | 0; + r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 5e4 || rd == 0; + } else { + r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) && (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 || (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0; + } + } else { + if (i < 4) { + if (i == 0) + rd = rd / 1e3 | 0; + else if (i == 1) + rd = rd / 100 | 0; + else if (i == 2) + rd = rd / 10 | 0; + r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999; + } else { + r = ((repeating || rm < 4) && rd + 1 == k || !repeating && rm > 3 && rd + 1 == k / 2) && (d[di + 1] / k / 1e3 | 0) == mathpow(10, i - 3) - 1; + } + } + return r; +} +function convertBase(str, baseIn, baseOut) { + var j, arr = [0], arrL, i = 0, strL = str.length; + for (; i < strL; ) { + for (arrL = arr.length; arrL--; ) + arr[arrL] *= baseIn; + arr[0] += NUMERALS.indexOf(str.charAt(i++)); + for (j = 0; j < arr.length; j++) { + if (arr[j] > baseOut - 1) { + if (arr[j + 1] === void 0) + arr[j + 1] = 0; + arr[j + 1] += arr[j] / baseOut | 0; + arr[j] %= baseOut; + } + } + } + return arr.reverse(); +} +function cosine(Ctor, x) { + var k, len, y; + if (x.isZero()) + return x; + len = x.d.length; + if (len < 32) { + k = Math.ceil(len / 3); + y = (1 / tinyPow(4, k)).toString(); + } else { + k = 16; + y = "2.3283064365386962890625e-10"; + } + Ctor.precision += k; + x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1)); + for (var i = k; i--; ) { + var cos2x = x.times(x); + x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1); + } + Ctor.precision -= k; + return x; +} +var divide = function() { + function multiplyInteger(x, k, base) { + var temp, carry = 0, i = x.length; + for (x = x.slice(); i--; ) { + temp = x[i] * k + carry; + x[i] = temp % base | 0; + carry = temp / base | 0; + } + if (carry) + x.unshift(carry); + return x; + } + function compare(a, b, aL, bL) { + var i, r; + if (aL != bL) { + r = aL > bL ? 1 : -1; + } else { + for (i = r = 0; i < aL; i++) { + if (a[i] != b[i]) { + r = a[i] > b[i] ? 1 : -1; + break; + } + } + } + return r; + } + function subtract2(a, b, aL, base) { + var i = 0; + for (; aL--; ) { + a[aL] -= i; + i = a[aL] < b[aL] ? 1 : 0; + a[aL] = i * base + a[aL] - b[aL]; + } + for (; !a[0] && a.length > 1; ) + a.shift(); + } + return function(x, y, pr, rm, dp, base) { + var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz, Ctor = x.constructor, sign2 = x.s == y.s ? 1 : -1, xd = x.d, yd = y.d; + if (!xd || !xd[0] || !yd || !yd[0]) { + return new Ctor( + // Return NaN if either NaN, or both Infinity or 0. + !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN : ( + // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0. + xd && xd[0] == 0 || !yd ? sign2 * 0 : sign2 / 0 + ) + ); + } + if (base) { + logBase = 1; + e = x.e - y.e; + } else { + base = BASE; + logBase = LOG_BASE; + e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase); + } + yL = yd.length; + xL = xd.length; + q = new Ctor(sign2); + qd = q.d = []; + for (i = 0; yd[i] == (xd[i] || 0); i++) + ; + if (yd[i] > (xd[i] || 0)) + e--; + if (pr == null) { + sd = pr = Ctor.precision; + rm = Ctor.rounding; + } else if (dp) { + sd = pr + (x.e - y.e) + 1; + } else { + sd = pr; + } + if (sd < 0) { + qd.push(1); + more = true; + } else { + sd = sd / logBase + 2 | 0; + i = 0; + if (yL == 1) { + k = 0; + yd = yd[0]; + sd++; + for (; (i < xL || k) && sd--; i++) { + t = k * base + (xd[i] || 0); + qd[i] = t / yd | 0; + k = t % yd | 0; + } + more = k || i < xL; + } else { + k = base / (yd[0] + 1) | 0; + if (k > 1) { + yd = multiplyInteger(yd, k, base); + xd = multiplyInteger(xd, k, base); + yL = yd.length; + xL = xd.length; + } + xi = yL; + rem = xd.slice(0, yL); + remL = rem.length; + for (; remL < yL; ) + rem[remL++] = 0; + yz = yd.slice(); + yz.unshift(0); + yd0 = yd[0]; + if (yd[1] >= base / 2) + ++yd0; + do { + k = 0; + cmp = compare(yd, rem, yL, remL); + if (cmp < 0) { + rem0 = rem[0]; + if (yL != remL) + rem0 = rem0 * base + (rem[1] || 0); + k = rem0 / yd0 | 0; + if (k > 1) { + if (k >= base) + k = base - 1; + prod = multiplyInteger(yd, k, base); + prodL = prod.length; + remL = rem.length; + cmp = compare(prod, rem, prodL, remL); + if (cmp == 1) { + k--; + subtract2(prod, yL < prodL ? yz : yd, prodL, base); + } + } else { + if (k == 0) + cmp = k = 1; + prod = yd.slice(); + } + prodL = prod.length; + if (prodL < remL) + prod.unshift(0); + subtract2(rem, prod, remL, base); + if (cmp == -1) { + remL = rem.length; + cmp = compare(yd, rem, yL, remL); + if (cmp < 1) { + k++; + subtract2(rem, yL < remL ? yz : yd, remL, base); + } + } + remL = rem.length; + } else if (cmp === 0) { + k++; + rem = [0]; + } + qd[i++] = k; + if (cmp && rem[0]) { + rem[remL++] = xd[xi] || 0; + } else { + rem = [xd[xi]]; + remL = 1; + } + } while ((xi++ < xL || rem[0] !== void 0) && sd--); + more = rem[0] !== void 0; + } + if (!qd[0]) + qd.shift(); + } + if (logBase == 1) { + q.e = e; + inexact = more; + } else { + for (i = 1, k = qd[0]; k >= 10; k /= 10) + i++; + q.e = i + e * logBase - 1; + finalise(q, dp ? pr + q.e + 1 : pr, rm, more); + } + return q; + }; +}(); +function finalise(x, sd, rm, isTruncated) { + var digits, i, j, k, rd, roundUp, w, xd, xdi, Ctor = x.constructor; + out: + if (sd != null) { + xd = x.d; + if (!xd) + return x; + for (digits = 1, k = xd[0]; k >= 10; k /= 10) + digits++; + i = sd - digits; + if (i < 0) { + i += LOG_BASE; + j = sd; + w = xd[xdi = 0]; + rd = w / mathpow(10, digits - j - 1) % 10 | 0; + } else { + xdi = Math.ceil((i + 1) / LOG_BASE); + k = xd.length; + if (xdi >= k) { + if (isTruncated) { + for (; k++ <= xdi; ) + xd.push(0); + w = rd = 0; + digits = 1; + i %= LOG_BASE; + j = i - LOG_BASE + 1; + } else { + break out; + } + } else { + w = k = xd[xdi]; + for (digits = 1; k >= 10; k /= 10) + digits++; + i %= LOG_BASE; + j = i - LOG_BASE + digits; + rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0; + } + } + isTruncated = isTruncated || sd < 0 || xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1)); + roundUp = rm < 4 ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 && // Check whether the digit to the left of the rounding digit is odd. + (i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7)); + if (sd < 1 || !xd[0]) { + xd.length = 0; + if (roundUp) { + sd -= x.e + 1; + xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE); + x.e = -sd || 0; + } else { + xd[0] = x.e = 0; + } + return x; + } + if (i == 0) { + xd.length = xdi; + k = 1; + xdi--; + } else { + xd.length = xdi + 1; + k = mathpow(10, LOG_BASE - i); + xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0; + } + if (roundUp) { + for (; ; ) { + if (xdi == 0) { + for (i = 1, j = xd[0]; j >= 10; j /= 10) + i++; + j = xd[0] += k; + for (k = 1; j >= 10; j /= 10) + k++; + if (i != k) { + x.e++; + if (xd[0] == BASE) + xd[0] = 1; + } + break; + } else { + xd[xdi] += k; + if (xd[xdi] != BASE) + break; + xd[xdi--] = 0; + k = 1; + } + } + } + for (i = xd.length; xd[--i] === 0; ) + xd.pop(); + } + if (external) { + if (x.e > Ctor.maxE) { + x.d = null; + x.e = NaN; + } else if (x.e < Ctor.minE) { + x.e = 0; + x.d = [0]; + } + } + return x; +} +function finiteToString(x, isExp, sd) { + if (!x.isFinite()) + return nonFiniteToString(x); + var k, e = x.e, str = digitsToString(x.d), len = str.length; + if (isExp) { + if (sd && (k = sd - len) > 0) { + str = str.charAt(0) + "." + str.slice(1) + getZeroString(k); + } else if (len > 1) { + str = str.charAt(0) + "." + str.slice(1); + } + str = str + (x.e < 0 ? "e" : "e+") + x.e; + } else if (e < 0) { + str = "0." + getZeroString(-e - 1) + str; + if (sd && (k = sd - len) > 0) + str += getZeroString(k); + } else if (e >= len) { + str += getZeroString(e + 1 - len); + if (sd && (k = sd - e - 1) > 0) + str = str + "." + getZeroString(k); + } else { + if ((k = e + 1) < len) + str = str.slice(0, k) + "." + str.slice(k); + if (sd && (k = sd - len) > 0) { + if (e + 1 === len) + str += "."; + str += getZeroString(k); + } + } + return str; +} +function getBase10Exponent(digits, e) { + var w = digits[0]; + for (e *= LOG_BASE; w >= 10; w /= 10) + e++; + return e; +} +function getLn10(Ctor, sd, pr) { + if (sd > LN10_PRECISION) { + external = true; + if (pr) + Ctor.precision = pr; + throw Error(precisionLimitExceeded); + } + return finalise(new Ctor(LN10), sd, 1, true); +} +function getPi(Ctor, sd, rm) { + if (sd > PI_PRECISION) + throw Error(precisionLimitExceeded); + return finalise(new Ctor(PI), sd, rm, true); +} +function getPrecision(digits) { + var w = digits.length - 1, len = w * LOG_BASE + 1; + w = digits[w]; + if (w) { + for (; w % 10 == 0; w /= 10) + len--; + for (w = digits[0]; w >= 10; w /= 10) + len++; + } + return len; +} +function getZeroString(k) { + var zs = ""; + for (; k--; ) + zs += "0"; + return zs; +} +function intPow(Ctor, x, n, pr) { + var isTruncated, r = new Ctor(1), k = Math.ceil(pr / LOG_BASE + 4); + external = false; + for (; ; ) { + if (n % 2) { + r = r.times(x); + if (truncate(r.d, k)) + isTruncated = true; + } + n = mathfloor(n / 2); + if (n === 0) { + n = r.d.length - 1; + if (isTruncated && r.d[n] === 0) + ++r.d[n]; + break; + } + x = x.times(x); + truncate(x.d, k); + } + external = true; + return r; +} +function isOdd(n) { + return n.d[n.d.length - 1] & 1; +} +function maxOrMin(Ctor, args, ltgt) { + var y, x = new Ctor(args[0]), i = 0; + for (; ++i < args.length; ) { + y = new Ctor(args[i]); + if (!y.s) { + x = y; + break; + } else if (x[ltgt](y)) { + x = y; + } + } + return x; +} +function naturalExponential(x, sd) { + var denominator, guard, j, pow3, sum2, t, wpr, rep = 0, i = 0, k = 0, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision; + if (!x.d || !x.d[0] || x.e > 17) { + return new Ctor(x.d ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 : x.s ? x.s < 0 ? 0 : x : 0 / 0); + } + if (sd == null) { + external = false; + wpr = pr; + } else { + wpr = sd; + } + t = new Ctor(0.03125); + while (x.e > -2) { + x = x.times(t); + k += 5; + } + guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0; + wpr += guard; + denominator = pow3 = sum2 = new Ctor(1); + Ctor.precision = wpr; + for (; ; ) { + pow3 = finalise(pow3.times(x), wpr, 1); + denominator = denominator.times(++i); + t = sum2.plus(divide(pow3, denominator, wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + j = k; + while (j--) + sum2 = finalise(sum2.times(sum2), wpr, 1); + if (sd == null) { + if (rep < 3 && checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) { + Ctor.precision = wpr += 10; + denominator = pow3 = t = new Ctor(1); + i = 0; + rep++; + } else { + return finalise(sum2, Ctor.precision = pr, rm, external = true); + } + } else { + Ctor.precision = pr; + return sum2; + } + } + sum2 = t; + } +} +function naturalLogarithm(y, sd) { + var c, c0, denominator, e, numerator, rep, sum2, t, wpr, x1, x2, n = 1, guard = 10, x = y, xd = x.d, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision; + if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) { + return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x); + } + if (sd == null) { + external = false; + wpr = pr; + } else { + wpr = sd; + } + Ctor.precision = wpr += guard; + c = digitsToString(xd); + c0 = c.charAt(0); + if (Math.abs(e = x.e) < 15e14) { + while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) { + x = x.times(y); + c = digitsToString(x.d); + c0 = c.charAt(0); + n++; + } + e = x.e; + if (c0 > 1) { + x = new Ctor("0." + c); + e++; + } else { + x = new Ctor(c0 + "." + c.slice(1)); + } + } else { + t = getLn10(Ctor, wpr + 2, pr).times(e + ""); + x = naturalLogarithm(new Ctor(c0 + "." + c.slice(1)), wpr - guard).plus(t); + Ctor.precision = pr; + return sd == null ? finalise(x, pr, rm, external = true) : x; + } + x1 = x; + sum2 = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1); + x2 = finalise(x.times(x), wpr, 1); + denominator = 3; + for (; ; ) { + numerator = finalise(numerator.times(x2), wpr, 1); + t = sum2.plus(divide(numerator, new Ctor(denominator), wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + sum2 = sum2.times(2); + if (e !== 0) + sum2 = sum2.plus(getLn10(Ctor, wpr + 2, pr).times(e + "")); + sum2 = divide(sum2, new Ctor(n), wpr, 1); + if (sd == null) { + if (checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) { + Ctor.precision = wpr += guard; + t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1); + x2 = finalise(x.times(x), wpr, 1); + denominator = rep = 1; + } else { + return finalise(sum2, Ctor.precision = pr, rm, external = true); + } + } else { + Ctor.precision = pr; + return sum2; + } + } + sum2 = t; + denominator += 2; + } +} +function nonFiniteToString(x) { + return String(x.s * x.s / 0); +} +function parseDecimal(x, str) { + var e, i, len; + if ((e = str.indexOf(".")) > -1) + str = str.replace(".", ""); + if ((i = str.search(/e/i)) > 0) { + if (e < 0) + e = i; + e += +str.slice(i + 1); + str = str.substring(0, i); + } else if (e < 0) { + e = str.length; + } + for (i = 0; str.charCodeAt(i) === 48; i++) + ; + for (len = str.length; str.charCodeAt(len - 1) === 48; --len) + ; + str = str.slice(i, len); + if (str) { + len -= i; + x.e = e = e - i - 1; + x.d = []; + i = (e + 1) % LOG_BASE; + if (e < 0) + i += LOG_BASE; + if (i < len) { + if (i) + x.d.push(+str.slice(0, i)); + for (len -= LOG_BASE; i < len; ) + x.d.push(+str.slice(i, i += LOG_BASE)); + str = str.slice(i); + i = LOG_BASE - str.length; + } else { + i -= len; + } + for (; i--; ) + str += "0"; + x.d.push(+str); + if (external) { + if (x.e > x.constructor.maxE) { + x.d = null; + x.e = NaN; + } else if (x.e < x.constructor.minE) { + x.e = 0; + x.d = [0]; + } + } + } else { + x.e = 0; + x.d = [0]; + } + return x; +} +function parseOther(x, str) { + var base, Ctor, divisor, i, isFloat, len, p, xd, xe; + if (str.indexOf("_") > -1) { + str = str.replace(/(\d)_(?=\d)/g, "$1"); + if (isDecimal.test(str)) + return parseDecimal(x, str); + } else if (str === "Infinity" || str === "NaN") { + if (!+str) + x.s = NaN; + x.e = NaN; + x.d = null; + return x; + } + if (isHex.test(str)) { + base = 16; + str = str.toLowerCase(); + } else if (isBinary.test(str)) { + base = 2; + } else if (isOctal.test(str)) { + base = 8; + } else { + throw Error(invalidArgument + str); + } + i = str.search(/p/i); + if (i > 0) { + p = +str.slice(i + 1); + str = str.substring(2, i); + } else { + str = str.slice(2); + } + i = str.indexOf("."); + isFloat = i >= 0; + Ctor = x.constructor; + if (isFloat) { + str = str.replace(".", ""); + len = str.length; + i = len - i; + divisor = intPow(Ctor, new Ctor(base), i, i * 2); + } + xd = convertBase(str, base, BASE); + xe = xd.length - 1; + for (i = xe; xd[i] === 0; --i) + xd.pop(); + if (i < 0) + return new Ctor(x.s * 0); + x.e = getBase10Exponent(xd, xe); + x.d = xd; + external = false; + if (isFloat) + x = divide(x, divisor, len * 4); + if (p) + x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p)); + external = true; + return x; +} +function sine(Ctor, x) { + var k, len = x.d.length; + if (len < 3) { + return x.isZero() ? x : taylorSeries(Ctor, 2, x, x); + } + k = 1.4 * Math.sqrt(len); + k = k > 16 ? 16 : k | 0; + x = x.times(1 / tinyPow(5, k)); + x = taylorSeries(Ctor, 2, x, x); + var sin2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k--; ) { + sin2_x = x.times(x); + x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20)))); + } + return x; +} +function taylorSeries(Ctor, n, x, y, isHyperbolic) { + var j, t, u, x2, i = 1, pr = Ctor.precision, k = Math.ceil(pr / LOG_BASE); + external = false; + x2 = x.times(x); + u = new Ctor(y); + for (; ; ) { + t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1); + u = isHyperbolic ? y.plus(t) : y.minus(t); + y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1); + t = u.plus(y); + if (t.d[k] !== void 0) { + for (j = k; t.d[j] === u.d[j] && j--; ) + ; + if (j == -1) + break; + } + j = u; + u = y; + y = t; + t = j; + i++; + } + external = true; + t.d.length = k + 1; + return t; +} +function tinyPow(b, e) { + var n = b; + while (--e) + n *= b; + return n; +} +function toLessThanHalfPi(Ctor, x) { + var t, isNeg2 = x.s < 0, pi = getPi(Ctor, Ctor.precision, 1), halfPi = pi.times(0.5); + x = x.abs(); + if (x.lte(halfPi)) { + quadrant = isNeg2 ? 4 : 1; + return x; + } + t = x.divToInt(pi); + if (t.isZero()) { + quadrant = isNeg2 ? 3 : 2; + } else { + x = x.minus(t.times(pi)); + if (x.lte(halfPi)) { + quadrant = isOdd(t) ? isNeg2 ? 2 : 3 : isNeg2 ? 4 : 1; + return x; + } + quadrant = isOdd(t) ? isNeg2 ? 1 : 4 : isNeg2 ? 3 : 2; + } + return x.minus(pi).abs(); +} +function toStringBinary(x, baseOut, sd, rm) { + var base, e, i, k, len, roundUp, str, xd, y, Ctor = x.constructor, isExp = sd !== void 0; + if (isExp) { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) + rm = Ctor.rounding; + else + checkInt32(rm, 0, 8); + } else { + sd = Ctor.precision; + rm = Ctor.rounding; + } + if (!x.isFinite()) { + str = nonFiniteToString(x); + } else { + str = finiteToString(x); + i = str.indexOf("."); + if (isExp) { + base = 2; + if (baseOut == 16) { + sd = sd * 4 - 3; + } else if (baseOut == 8) { + sd = sd * 3 - 2; + } + } else { + base = baseOut; + } + if (i >= 0) { + str = str.replace(".", ""); + y = new Ctor(1); + y.e = str.length - i; + y.d = convertBase(finiteToString(y), 10, base); + y.e = y.d.length; + } + xd = convertBase(str, 10, base); + e = len = xd.length; + for (; xd[--len] == 0; ) + xd.pop(); + if (!xd[0]) { + str = isExp ? "0p+0" : "0"; + } else { + if (i < 0) { + e--; + } else { + x = new Ctor(x); + x.d = xd; + x.e = e; + x = divide(x, y, sd, rm, 0, base); + xd = x.d; + e = x.e; + roundUp = inexact; + } + i = xd[sd]; + k = base / 2; + roundUp = roundUp || xd[sd + 1] !== void 0; + roundUp = rm < 4 ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 || rm === (x.s < 0 ? 8 : 7)); + xd.length = sd; + if (roundUp) { + for (; ++xd[--sd] > base - 1; ) { + xd[sd] = 0; + if (!sd) { + ++e; + xd.unshift(1); + } + } + } + for (len = xd.length; !xd[len - 1]; --len) + ; + for (i = 0, str = ""; i < len; i++) + str += NUMERALS.charAt(xd[i]); + if (isExp) { + if (len > 1) { + if (baseOut == 16 || baseOut == 8) { + i = baseOut == 16 ? 4 : 3; + for (--len; len % i; len++) + str += "0"; + xd = convertBase(str, base, baseOut); + for (len = xd.length; !xd[len - 1]; --len) + ; + for (i = 1, str = "1."; i < len; i++) + str += NUMERALS.charAt(xd[i]); + } else { + str = str.charAt(0) + "." + str.slice(1); + } + } + str = str + (e < 0 ? "p" : "p+") + e; + } else if (e < 0) { + for (; ++e; ) + str = "0" + str; + str = "0." + str; + } else { + if (++e > len) + for (e -= len; e--; ) + str += "0"; + else if (e < len) + str = str.slice(0, e) + "." + str.slice(e); + } + } + str = (baseOut == 16 ? "0x" : baseOut == 2 ? "0b" : baseOut == 8 ? "0o" : "") + str; + } + return x.s < 0 ? "-" + str : str; +} +function truncate(arr, len) { + if (arr.length > len) { + arr.length = len; + return true; + } +} +function abs(x) { + return new this(x).abs(); +} +function acos(x) { + return new this(x).acos(); +} +function acosh(x) { + return new this(x).acosh(); +} +function add(x, y) { + return new this(x).plus(y); +} +function asin(x) { + return new this(x).asin(); +} +function asinh(x) { + return new this(x).asinh(); +} +function atan(x) { + return new this(x).atan(); +} +function atanh(x) { + return new this(x).atanh(); +} +function atan2(y, x) { + y = new this(y); + x = new this(x); + var r, pr = this.precision, rm = this.rounding, wpr = pr + 4; + if (!y.s || !x.s) { + r = new this(NaN); + } else if (!y.d && !x.d) { + r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75); + r.s = y.s; + } else if (!x.d || y.isZero()) { + r = x.s < 0 ? getPi(this, pr, rm) : new this(0); + r.s = y.s; + } else if (!y.d || x.isZero()) { + r = getPi(this, wpr, 1).times(0.5); + r.s = y.s; + } else if (x.s < 0) { + this.precision = wpr; + this.rounding = 1; + r = this.atan(divide(y, x, wpr, 1)); + x = getPi(this, wpr, 1); + this.precision = pr; + this.rounding = rm; + r = y.s < 0 ? r.minus(x) : r.plus(x); + } else { + r = this.atan(divide(y, x, wpr, 1)); + } + return r; +} +function cbrt(x) { + return new this(x).cbrt(); +} +function ceil(x) { + return finalise(x = new this(x), x.e + 1, 2); +} +function clamp(x, min2, max2) { + return new this(x).clamp(min2, max2); +} +function config(obj) { + if (!obj || typeof obj !== "object") + throw Error(decimalError + "Object expected"); + var i, p, v, useDefaults = obj.defaults === true, ps = [ + "precision", + 1, + MAX_DIGITS, + "rounding", + 0, + 8, + "toExpNeg", + -EXP_LIMIT, + 0, + "toExpPos", + 0, + EXP_LIMIT, + "maxE", + 0, + EXP_LIMIT, + "minE", + -EXP_LIMIT, + 0, + "modulo", + 0, + 9 + ]; + for (i = 0; i < ps.length; i += 3) { + if (p = ps[i], useDefaults) + this[p] = DEFAULTS[p]; + if ((v = obj[p]) !== void 0) { + if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) + this[p] = v; + else + throw Error(invalidArgument + p + ": " + v); + } + } + if (p = "crypto", useDefaults) + this[p] = DEFAULTS[p]; + if ((v = obj[p]) !== void 0) { + if (v === true || v === false || v === 0 || v === 1) { + if (v) { + if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) { + this[p] = true; + } else { + throw Error(cryptoUnavailable); + } + } else { + this[p] = false; + } + } else { + throw Error(invalidArgument + p + ": " + v); + } + } + return this; +} +function cos(x) { + return new this(x).cos(); +} +function cosh(x) { + return new this(x).cosh(); +} +function clone(obj) { + var i, p, ps; + function Decimal2(v) { + var e, i2, t, x = this; + if (!(x instanceof Decimal2)) + return new Decimal2(v); + x.constructor = Decimal2; + if (isDecimalInstance(v)) { + x.s = v.s; + if (external) { + if (!v.d || v.e > Decimal2.maxE) { + x.e = NaN; + x.d = null; + } else if (v.e < Decimal2.minE) { + x.e = 0; + x.d = [0]; + } else { + x.e = v.e; + x.d = v.d.slice(); + } + } else { + x.e = v.e; + x.d = v.d ? v.d.slice() : v.d; + } + return; + } + t = typeof v; + if (t === "number") { + if (v === 0) { + x.s = 1 / v < 0 ? -1 : 1; + x.e = 0; + x.d = [0]; + return; + } + if (v < 0) { + v = -v; + x.s = -1; + } else { + x.s = 1; + } + if (v === ~~v && v < 1e7) { + for (e = 0, i2 = v; i2 >= 10; i2 /= 10) + e++; + if (external) { + if (e > Decimal2.maxE) { + x.e = NaN; + x.d = null; + } else if (e < Decimal2.minE) { + x.e = 0; + x.d = [0]; + } else { + x.e = e; + x.d = [v]; + } + } else { + x.e = e; + x.d = [v]; + } + return; + } else if (v * 0 !== 0) { + if (!v) + x.s = NaN; + x.e = NaN; + x.d = null; + return; + } + return parseDecimal(x, v.toString()); + } else if (t !== "string") { + throw Error(invalidArgument + v); + } + if ((i2 = v.charCodeAt(0)) === 45) { + v = v.slice(1); + x.s = -1; + } else { + if (i2 === 43) + v = v.slice(1); + x.s = 1; + } + return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v); + } + Decimal2.prototype = P; + Decimal2.ROUND_UP = 0; + Decimal2.ROUND_DOWN = 1; + Decimal2.ROUND_CEIL = 2; + Decimal2.ROUND_FLOOR = 3; + Decimal2.ROUND_HALF_UP = 4; + Decimal2.ROUND_HALF_DOWN = 5; + Decimal2.ROUND_HALF_EVEN = 6; + Decimal2.ROUND_HALF_CEIL = 7; + Decimal2.ROUND_HALF_FLOOR = 8; + Decimal2.EUCLID = 9; + Decimal2.config = Decimal2.set = config; + Decimal2.clone = clone; + Decimal2.isDecimal = isDecimalInstance; + Decimal2.abs = abs; + Decimal2.acos = acos; + Decimal2.acosh = acosh; + Decimal2.add = add; + Decimal2.asin = asin; + Decimal2.asinh = asinh; + Decimal2.atan = atan; + Decimal2.atanh = atanh; + Decimal2.atan2 = atan2; + Decimal2.cbrt = cbrt; + Decimal2.ceil = ceil; + Decimal2.clamp = clamp; + Decimal2.cos = cos; + Decimal2.cosh = cosh; + Decimal2.div = div; + Decimal2.exp = exp; + Decimal2.floor = floor; + Decimal2.hypot = hypot; + Decimal2.ln = ln; + Decimal2.log = log; + Decimal2.log10 = log10; + Decimal2.log2 = log2; + Decimal2.max = max; + Decimal2.min = min; + Decimal2.mod = mod; + Decimal2.mul = mul; + Decimal2.pow = pow; + Decimal2.random = random; + Decimal2.round = round; + Decimal2.sign = sign; + Decimal2.sin = sin; + Decimal2.sinh = sinh; + Decimal2.sqrt = sqrt; + Decimal2.sub = sub; + Decimal2.sum = sum; + Decimal2.tan = tan; + Decimal2.tanh = tanh; + Decimal2.trunc = trunc; + if (obj === void 0) + obj = {}; + if (obj) { + if (obj.defaults !== true) { + ps = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"]; + for (i = 0; i < ps.length; ) + if (!obj.hasOwnProperty(p = ps[i++])) + obj[p] = this[p]; + } + } + Decimal2.config(obj); + return Decimal2; +} +function div(x, y) { + return new this(x).div(y); +} +function exp(x) { + return new this(x).exp(); +} +function floor(x) { + return finalise(x = new this(x), x.e + 1, 3); +} +function hypot() { + var i, n, t = new this(0); + external = false; + for (i = 0; i < arguments.length; ) { + n = new this(arguments[i++]); + if (!n.d) { + if (n.s) { + external = true; + return new this(1 / 0); + } + t = n; + } else if (t.d) { + t = t.plus(n.times(n)); + } + } + external = true; + return t.sqrt(); +} +function isDecimalInstance(obj) { + return obj instanceof Decimal || obj && obj.toStringTag === tag || false; +} +function ln(x) { + return new this(x).ln(); +} +function log(x, y) { + return new this(x).log(y); +} +function log2(x) { + return new this(x).log(2); +} +function log10(x) { + return new this(x).log(10); +} +function max() { + return maxOrMin(this, arguments, "lt"); +} +function min() { + return maxOrMin(this, arguments, "gt"); +} +function mod(x, y) { + return new this(x).mod(y); +} +function mul(x, y) { + return new this(x).mul(y); +} +function pow(x, y) { + return new this(x).pow(y); +} +function random(sd) { + var d, e, k, n, i = 0, r = new this(1), rd = []; + if (sd === void 0) + sd = this.precision; + else + checkInt32(sd, 1, MAX_DIGITS); + k = Math.ceil(sd / LOG_BASE); + if (!this.crypto) { + for (; i < k; ) + rd[i++] = Math.random() * 1e7 | 0; + } else if (crypto.getRandomValues) { + d = crypto.getRandomValues(new Uint32Array(k)); + for (; i < k; ) { + n = d[i]; + if (n >= 429e7) { + d[i] = crypto.getRandomValues(new Uint32Array(1))[0]; + } else { + rd[i++] = n % 1e7; + } + } + } else if (crypto.randomBytes) { + d = crypto.randomBytes(k *= 4); + for (; i < k; ) { + n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 127) << 24); + if (n >= 214e7) { + crypto.randomBytes(4).copy(d, i); + } else { + rd.push(n % 1e7); + i += 4; + } + } + i = k / 4; + } else { + throw Error(cryptoUnavailable); + } + k = rd[--i]; + sd %= LOG_BASE; + if (k && sd) { + n = mathpow(10, LOG_BASE - sd); + rd[i] = (k / n | 0) * n; + } + for (; rd[i] === 0; i--) + rd.pop(); + if (i < 0) { + e = 0; + rd = [0]; + } else { + e = -1; + for (; rd[0] === 0; e -= LOG_BASE) + rd.shift(); + for (k = 1, n = rd[0]; n >= 10; n /= 10) + k++; + if (k < LOG_BASE) + e -= LOG_BASE - k; + } + r.e = e; + r.d = rd; + return r; +} +function round(x) { + return finalise(x = new this(x), x.e + 1, this.rounding); +} +function sign(x) { + x = new this(x); + return x.d ? x.d[0] ? x.s : 0 * x.s : x.s || NaN; +} +function sin(x) { + return new this(x).sin(); +} +function sinh(x) { + return new this(x).sinh(); +} +function sqrt(x) { + return new this(x).sqrt(); +} +function sub(x, y) { + return new this(x).sub(y); +} +function sum() { + var i = 0, args = arguments, x = new this(args[i]); + external = false; + for (; x.s && ++i < args.length; ) + x = x.plus(args[i]); + external = true; + return finalise(x, this.precision, this.rounding); +} +function tan(x) { + return new this(x).tan(); +} +function tanh(x) { + return new this(x).tanh(); +} +function trunc(x) { + return finalise(x = new this(x), x.e + 1, 1); +} +P[Symbol.for("nodejs.util.inspect.custom")] = P.toString; +P[Symbol.toStringTag] = "Decimal"; +var Decimal = P.constructor = clone(DEFAULTS); +LN10 = new Decimal(LN10); +PI = new Decimal(PI); +var decimal_default = Decimal; +var import_complex20 = __toESM(require_complex()); +function stringToCodepoints(string) { + const result = []; + for (let i = 0; i < string.length; i++) { + let code = string.charCodeAt(i); + if (code >= 55296 && code <= 56319) { + const nextCode = string.charCodeAt(i + 1); + if (nextCode >= 56320 && nextCode <= 57343) { + const lead = code - 55296; + const trail = nextCode - 56320; + code = 2 ** 16 + lead * 2 ** 10 + trail; + i++; + } + } + result.push(code); + } + return result; +} +var ZWJ = 8205; +var REGIONAL_INDICATOR = [127462, 127487]; +function isEmojiCombinator(code) { + if (code === ZWJ) + return true; + if (code === 65038 || code === 65039) + return true; + if (code >= 127995 && code <= 127995 + 5) + return true; + if (code >= 129456 && code <= 129456 + 4) + return true; + if (code >= 917536 && code <= 917536 + 96) + return true; + return false; +} +function isRegionalIndicator(code) { + return code >= REGIONAL_INDICATOR[0] && code <= REGIONAL_INDICATOR[1]; +} +function splitGraphemes(string) { + if (/^[\u0020-\u00FF]*$/.test(string)) + return string; + const result = []; + const codePoints = stringToCodepoints(string); + let index = 0; + while (index < codePoints.length) { + const code = codePoints[index++]; + const next = codePoints[index]; + if (next === ZWJ) { + const baseIndex = index - 1; + index += 2; + while (codePoints[index] === ZWJ) { + index += 2; + } + result.push( + String.fromCodePoint( + ...codePoints.slice(baseIndex, 2 * index - baseIndex + 1) + ) + ); + } else if (isEmojiCombinator(next)) { + const baseIndex = index - 1; + while (isEmojiCombinator(codePoints[index])) { + index += codePoints[index] === ZWJ ? 2 : 1; + } + result.push( + String.fromCodePoint( + ...codePoints.slice(baseIndex, 2 * index - baseIndex - 1) + ) + ); + } else if (isRegionalIndicator(code)) { + index += 1; + result.push(String.fromCodePoint(...codePoints.slice(index - 2, 2))); + } else { + result.push(String.fromCodePoint(code)); + } + } + return result; +} +var Tokenizer = class { + constructor(s) { + this.obeyspaces = false; + s = s.replace(/[\u200E\u200F\u2066-\u2069\u202A-\u202E]/g, ""); + this.s = splitGraphemes(s); + this.pos = 0; + } + /** + * @return True if we reached the end of the stream + */ + end() { + return this.pos >= this.s.length; + } + /** + * Return the next char and advance + */ + get() { + return this.pos < this.s.length ? this.s[this.pos++] : ""; + } + /** + * Return the next char, but do not advance + */ + peek() { + return this.s[this.pos]; + } + /** + * Return the next substring matching regEx and advance. + */ + match(regEx) { + let execResult; + if (typeof this.s === "string") { + execResult = regEx.exec(this.s.slice(this.pos)); + } else { + execResult = regEx.exec(this.s.slice(this.pos).join("")); + } + if (execResult == null ? void 0 : execResult[0]) { + this.pos += execResult[0].length; + return execResult[0]; + } + return null; + } + /** + * Return the next token, or null. + */ + next() { + if (this.end()) + return null; + if (!this.obeyspaces && this.match(/^[ \f\n\r\t\v\xA0\u2028\u2029]+/)) { + return ""; + } else if (this.obeyspaces && this.match(/^[ \f\n\r\t\v\xA0\u2028\u2029]/)) { + return ""; + } + const next = this.get(); + if (next === "\\") { + if (!this.end()) { + let command = this.match(/^[a-zA-Z*]+/); + if (command) { + this.match(/^[ \f\n\r\t\v\xA0\u2028\u2029]*/); + } else { + command = this.get(); + if (command === " ") { + return ""; + } + } + return "\\" + command; + } + } else if (next === "{") { + return "<{>"; + } else if (next === "}") { + return "<}>"; + } else if (next === "^") { + if (this.peek() === "^") { + this.get(); + const hex = this.match( + /^(\^(\^(\^(\^[0-9a-f])?[0-9a-f])?[0-9a-f])?[0-9a-f])?[0-9a-f][0-9a-f]/ + ); + if (hex) { + return String.fromCodePoint( + parseInt(hex.slice(hex.lastIndexOf("^") + 1), 16) + ); + } + } + return next; + } else if (next === "#") { + if (!this.end()) { + let isParam = false; + if (/[0-9?]/.test(this.peek())) { + isParam = true; + if (this.pos + 1 < this.s.length) { + const after = this.s[this.pos + 1]; + isParam = /[^0-9A-Za-z]/.test(after); + } + } + if (isParam) { + return "#" + this.get(); + } + return "#"; + } + } else if (next === "$") { + if (this.peek() === "$") { + this.get(); + return "<$$>"; + } + return "<$>"; + } + return next; + } +}; +function expand(lex2, args) { + var _a, _b, _c, _d; + let token = lex2.next(); + if (!token) + return []; + let result = []; + if (token === "\\relax") { + } else if (token === "\\noexpand") { + token = lex2.next(); + if (token) { + result.push(token); + } + } else if (token === "\\obeyspaces") { + lex2.obeyspaces = true; + } else if (token === "\\space" || token === "~") { + result.push(""); + } else if (token === "\\bgroup") { + result.push("<{>"); + } else if (token === "\\egroup") { + result.push("<}>"); + } else if (token === "\\string") { + token = lex2.next(); + if (token) { + if (token[0] === "\\") { + Array.from(token).forEach( + (x) => result.push(x === "\\" ? "\\backslash" : x) + ); + } else if (token === "<{>") { + result.push("\\{"); + } else if (token === "") { + result.push("~"); + } else if (token === "<}>") { + result.push("\\}"); + } + } + } else if (token === "\\csname") { + while (lex2.peek() === "") { + lex2.next(); + } + let command = ""; + let done = false; + let tokens = []; + do { + if (tokens.length === 0) { + if (/^#[0-9?]$/.test(lex2.peek())) { + const param = lex2.get().slice(1); + tokens = tokenize( + (_b = (_a = args == null ? void 0 : args[param]) != null ? _a : args == null ? void 0 : args["?"]) != null ? _b : "\\placeholder{}", + args + ); + token = tokens[0]; + } else { + token = lex2.next(); + tokens = token ? [token] : []; + } + } + done = tokens.length === 0; + if (!done && token === "\\endcsname") { + done = true; + tokens.shift(); + } + if (!done) { + done = token === "<$>" || token === "<$$>" || token === "<{>" || token === "<}>" || !!token && token.length > 1 && token[0] === "\\"; + } + if (!done) { + command += tokens.shift(); + } + } while (!done); + if (command) { + result.push("\\" + command); + } + result = result.concat(tokens); + } else if (token === "\\endcsname") { + } else if (token.length > 1 && token[0] === "#") { + const param = token.slice(1); + result = result.concat( + tokenize((_d = (_c = args == null ? void 0 : args[param]) != null ? _c : args == null ? void 0 : args["?"]) != null ? _d : "\\placeholder{}", args) + ); + } else { + result.push(token); + } + return result; +} +function tokenize(s, args) { + const lines = s.toString().split(/\r?\n/); + let stream = ""; + let sep = ""; + for (const line of lines) { + stream += sep; + sep = " "; + const m = line.match(/((?:\\%)|[^%])*/); + if (m !== null) + stream += m[0]; + } + const tokenizer = new Tokenizer(stream); + const result = []; + do + result.push(...expand(tokenizer, args)); + while (!tokenizer.end()); + return result; +} +function countTokens(s) { + return tokenize(s, []).length; +} +function joinLatex(segments) { + let sep = ""; + let result = ""; + for (const segment of segments) { + if (segment) { + if (/[a-zA-Z*]/.test(segment[0])) { + result += sep; + } + if (/\\[a-zA-Z]+\*?$/.test(segment)) { + sep = " "; + } else { + sep = ""; + } + result += segment; + } + } + return result; +} +function tokensToString(tokens) { + let flat = []; + if (Array.isArray(tokens)) { + for (const item of tokens) { + if (Array.isArray(item)) { + flat = [...flat, ...item]; + } else { + flat.push(item); + } + } + } else { + flat = [tokens]; + } + const result = joinLatex( + flat.map((token) => { + var _a; + return (_a = { + "": " ", + "<$$>": "$$", + "<$>": "$", + "<{>": "{", + "<}>": "}" + }[token]) != null ? _a : token; + }) + ); + return result; +} +var DEFINITIONS_ALGEBRA = [ + { + name: "To", + latexTrigger: ["\\to"], + kind: "infix", + precedence: 270 + // MathML rightwards arrow + } +]; +var MISSING = ["Error", "'missing'"]; +function isNumberExpression(expr) { + if (expr === null) + return false; + if (typeof expr === "number" || isNumberObject(expr)) + return true; + if (typeof expr === "string" && /^[+-]?[0-9\.]/.test(expr)) + return true; + return false; +} +function isNumberObject(expr) { + return expr !== null && typeof expr === "object" && "num" in expr; +} +function isSymbolObject(expr) { + return expr !== null && typeof expr === "object" && "sym" in expr; +} +function isStringObject(expr) { + return expr !== null && typeof expr === "object" && "str" in expr; +} +function isFunctionObject(expr) { + return expr !== null && typeof expr === "object" && "fn" in expr; +} +var recommendedScriptsRegex; +function isRecommendedScripts(text) { + if (!recommendedScriptsRegex) { + const recommendedScripts = [ + "Zyyy", + "Zinh", + "Arab", + "Armn", + "Beng", + "Bopo", + "Cyrl", + "Deva", + "Ethi", + "Geor", + "Grek", + "Gujr", + "Guru", + "Hang", + "Hani", + "Hebr", + "Hira", + "Kana", + "Knda", + "Khmr", + "Laoo", + "Latn", + "Mlym", + "Mymr", + "Orya", + "Sinh", + "Taml", + "Telu", + "Thaa", + "Thai", + "Tibt" + ]; + const regexPattern = `^[${recommendedScripts.map((x) => `\\p{Script=${x}}`).join("")}]*$`; + recommendedScriptsRegex = new RegExp(regexPattern, "u"); + } + return recommendedScriptsRegex.test(text); +} +function isValidIdentifier(s) { + if (/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s)) + return true; + if (ONLY_EMOJIS.test(s)) + return true; + if (!isRecommendedScripts(s)) + return false; + return /^[\p{XIDS}_]\p{XIDC}*$/u.test(s); +} +var VS16 = "\\u{FE0F}"; +var KEYCAP = "\\u{20E3}"; +var ZWJ2 = "\\u{200D}"; +var FLAG_SEQUENCE = "\\p{RI}\\p{RI}"; +var TAG_MOD = `(?:[\\u{E0020}-\\u{E007E}]+\\u{E007F})`; +var EMOJI_MOD = `(?:\\p{EMod}|${VS16}${KEYCAP}?|${TAG_MOD})`; +var EMOJI_NOT_IDENTIFIER = `(?:(?=\\P{XIDC})\\p{Emoji})`; +var ZWJ_ELEMENT = `(?:${EMOJI_NOT_IDENTIFIER}${EMOJI_MOD}*|\\p{Emoji}${EMOJI_MOD}+|${FLAG_SEQUENCE})`; +var POSSIBLE_EMOJI = `(?:${ZWJ_ELEMENT})(${ZWJ2}${ZWJ_ELEMENT})*`; +var SOME_EMOJI = new RegExp(`(?:${POSSIBLE_EMOJI})+`, "u"); +var ONLY_EMOJIS = new RegExp(`^(?:${POSSIBLE_EMOJI})+$`, "u"); +function validateIdentifier(s) { + if (typeof s !== "string") + return "not-a-string"; + if (s === "") + return "empty-string"; + if (s.normalize() !== s) + return "expected-nfc"; + if (/[\u200E\u200F\u2066-\u2069\u202A-\u202E]/.test(s)) + return "unexpected-bidi-marker"; + if (ONLY_EMOJIS.test(s)) + return "valid"; + if (/\p{XIDC}/u.test(s) && SOME_EMOJI.test(s)) + return "unexpected-mixed-emoji"; + if (!isRecommendedScripts(s)) + return "unexpected-script"; + if (!isValidIdentifier(s)) { + if (!isValidIdentifier(s[0])) + return "invalid-first-char"; + return "invalid-char"; + } + return "valid"; +} +function stringValue(expr) { + if (expr === null || expr === void 0) + return null; + if (typeof expr === "object" && "str" in expr) + return expr.str; + if (typeof expr !== "string") + return null; + if (expr.length < 2) + return null; + if (expr[0] !== "'" || expr[expr.length - 1] !== "'") + return null; + return expr.substring(1, expr.length - 1); +} +function stripText(expr) { + var _a; + if (expr === null || expr === void 0 || stringValue(expr) !== null) + return null; + const h = head(expr); + if (h !== null) { + return [ + h, + ...((_a = ops(expr)) != null ? _a : []).map((x) => stripText(x)).filter((x) => x !== null) + ]; + } + return expr; +} +function head(expr) { + if (expr === null || expr === void 0) + return null; + if (Array.isArray(expr)) { + if (typeof expr[0] === "string" && !isValidIdentifier(expr[0])) { + console.error( + `Invalid identifier "${expr[0]}": ${validateIdentifier(expr[0])}` + ); + return null; + } + return expr[0]; + } + if (isFunctionObject(expr)) + return expr.fn[0]; + return null; +} +function headName(expr) { + const h = head(expr); + return typeof h === "string" ? h : ""; +} +function ops(expr) { + if (expr === null || expr === void 0) + return null; + if (Array.isArray(expr)) + return expr.slice(1); + if (isFunctionObject(expr)) + return expr.fn.slice(1); + return null; +} +function op(expr, n) { + var _a, _b; + if (expr === null || expr === void 0) + return null; + if (Array.isArray(expr)) + return (_a = expr[n]) != null ? _a : null; + if (isFunctionObject(expr)) + return (_b = expr.fn[n]) != null ? _b : null; + return null; +} +function op1(expr) { + return op(expr, 1); +} +function op2(expr) { + return op(expr, 2); +} +function nops(expr) { + if (expr === null || expr === void 0) + return 0; + if (Array.isArray(expr)) + return Math.max(0, expr.length - 1); + if (isFunctionObject(expr)) + return Math.max(0, expr.fn.length - 1); + return 0; +} +function symbol(expr) { + if (expr === null || expr === void 0) + return null; + if (typeof expr === "string") { + if (/^[+\-\.0-9]/.test(expr)) + return null; + if (expr.length >= 2 && expr[0] === "'" && expr[expr.length - 1] === "'") + return null; + } + const s = isSymbolObject(expr) ? expr.sym : expr; + if (typeof s !== "string") + return null; + return s; +} +function isListLike(expr) { + if (expr === null) + return false; + const h = head(expr); + if (!h || typeof h !== "string") + return false; + return /^(List|Sequence|Tuple|Single|Pair|Triple)$/.test(h); +} +function keyValuePair(expr) { + var _a; + const h = head(expr); + if (h === "KeyValuePair" || h === "Tuple" || h === "Pair") { + const key = stringValue(op1(expr)); + if (!key) + return null; + return [key, (_a = op2(expr)) != null ? _a : "Nothing"]; + } + return null; +} +function dictionary(expr) { + if (expr === null) + return null; + if (typeof expr === "object" && "dict" in expr) + return expr.dict; + const kv = keyValuePair(expr); + if (kv) + return { [kv[0]]: kv[1] }; + const h = head(expr); + if (h === "Dictionary") { + const result = {}; + for (let i = 1; i < nops(expr); i++) { + const kv2 = keyValuePair(op(expr, i)); + if (kv2) + result[kv2[0]] = kv2[1]; + } + return result; + } + return null; +} +function machineValueOfString(s) { + var _a; + s = s.toLowerCase().replace(/[nd]$/g, "").replace(/[\u0009-\u000d\u0020\u00a0]/g, ""); + if (s === "nan") + return NaN; + if (s === "+infinity") + return Infinity; + if (s === "-infinity") + return -Infinity; + if (/\([0-9]+\)/.test(s)) { + const [_, body, repeat, trail] = (_a = s.match(/(.+)\(([0-9]+)\)(.*)$/)) != null ? _a : []; + s = body + repeat.repeat(Math.ceil(16 / repeat.length)) + (trail != null ? trail : ""); + } + return parseFloat(s); +} +function machineValue(expr) { + if (expr === null || expr === void 0) + return null; + if (typeof expr === "number") + return expr; + if (typeof expr === "string") + return machineValueOfString(expr); + if (isNumberObject(expr)) + return machineValue(expr.num); + return null; +} +function rationalValue(expr) { + var _a, _b; + if (expr === void 0 || expr === null) + return null; + if (symbol(expr) === "Half") + return [1, 2]; + const h = head(expr); + if (!h) + return null; + let numer = null; + let denom = null; + if (h === "Negate") { + const r = rationalValue(op1(expr)); + if (r) + return [-r[0], r[1]]; + } + if (h === "Rational" || h === "Divide") { + numer = (_a = machineValue(op1(expr))) != null ? _a : NaN; + denom = (_b = machineValue(op2(expr))) != null ? _b : NaN; + } + if (h === "Power") { + const exponent = machineValue(op2(expr)); + if (exponent === 1) { + numer = machineValue(op1(expr)); + denom = 1; + } else if (exponent === -1) { + numer = 1; + denom = machineValue(op1(expr)); + } + } + if (h === "Multiply" && head(op2(expr)) === "Power" && machineValue(op2(op2(expr))) === -1) { + numer = machineValue(op1(expr)); + denom = machineValue(op1(op2(expr))); + } + if (numer === null || denom === null) + return null; + if (Number.isInteger(numer) && Number.isInteger(denom)) + return [numer, denom]; + return null; +} +function subs(expr, s) { + var _a; + const h = head(expr); + if (h !== null) + return [subs(h, s), ...((_a = ops(expr)) != null ? _a : []).map((x) => subs(x, s))]; + const dict = dictionary(expr); + if (dict !== null) { + const keys = Object.keys(dict); + const result = {}; + for (const key of keys) + result[key] = subs(dict[key], s); + return { dict: result }; + } + const sym = symbol(expr); + if (sym && s[sym]) + return s[sym]; + return expr; +} +function mapArgs(expr, fn) { + let args = null; + if (Array.isArray(expr)) + args = expr; + if (isFunctionObject(expr)) + args = expr.fn; + if (args === null) + return []; + let i = 1; + const result = []; + while (i < args.length) { + result.push(fn(args[i])); + i += 1; + } + return result; +} +function applyAssociativeOperator(op3, lhs, rhs, associativity = "both") { + var _a, _b, _c, _d, _e, _f; + if (associativity === "non") + return [op3, lhs, rhs]; + const lhsName = head(lhs); + const rhsName = head(rhs); + if (associativity === "left") { + if (lhsName === op3) + return [op3, ...(_a = ops(lhs)) != null ? _a : [], rhs]; + return [op3, lhs, rhs]; + } + if (associativity === "right") { + if (rhsName === op3) + return [op3, lhs, ...(_b = ops(rhs)) != null ? _b : []]; + return [op3, lhs, rhs]; + } + if (lhsName === op3 && rhsName === op3) { + return [op3, ...(_c = ops(lhs)) != null ? _c : [], ...(_d = ops(rhs)) != null ? _d : []]; + } + if (lhsName === op3) + return [op3, ...(_e = ops(lhs)) != null ? _e : [], rhs]; + if (rhsName === op3) + return [op3, lhs, ...(_f = ops(rhs)) != null ? _f : []]; + return [op3, lhs, rhs]; +} +function getSequence(expr) { + var _a; + if (expr === null) + return null; + let h = head(expr); + if (h === "Delimiter") { + expr = op(expr, 1); + if (expr === null) + return []; + if (head(expr) !== "Sequence") + return [expr]; + } + h = head(expr); + if (h !== "Sequence") + return null; + return (_a = ops(expr)) != null ? _a : []; +} +function isEmptySequence(expr) { + return expr !== null && head(expr) === "Sequence" && nops(expr) === 0; +} +function missingIfEmpty(expr) { + if (expr === null || isEmptySequence(expr)) + return MISSING; + return expr; +} +function countFunctionLeaves(xs) { + if (xs[0] === "Square") { + return countFunctionLeaves(xs.slice(1)) + 2; + } + return xs.reduce((acc, x) => acc + countLeaves(x), 0); +} +function countLeaves(expr) { + if (expr === null) + return 0; + if (typeof expr === "number" || typeof expr === "string") + return 1; + if (isNumberExpression(expr) || isSymbolObject(expr) || isStringObject(expr)) + return 1; + if (Array.isArray(expr)) + return countFunctionLeaves(expr); + if ("fn" in expr) + return countFunctionLeaves(expr.fn); + const dict = dictionary(expr); + if (dict) { + const keys = Object.keys(dict); + return 1 + keys.length + keys.reduce((acc, x) => acc + countLeaves(dict[x]), 0); + } + return 0; +} +function getApplyFunctionStyle(_expr, _level) { + return "paren"; +} +function getGroupStyle(_expr, _level) { + return "paren"; +} +function getRootStyle(_expr, level) { + return level > 2 ? "solidus" : "radical"; +} +function getFractionStyle(expr, level) { + if (level > 3) + return "inline-solidus"; + if (head(expr) === "Divide") { + const [n, d] = [countLeaves(op1(expr)), countLeaves(op2(expr))]; + if (d <= 2 && n > 5) + return "factor"; + if (n <= 2 && d > 5) + return "reciprocal"; + } + return "quotient"; +} +function getLogicStyle(_expr, _level) { + return "boolean"; +} +function getPowerStyle(_expr, _level) { + return "solidus"; +} +function getNumericSetStyle(_expr, _level) { + return "compact"; +} +function numeratorDenominator(expr) { + var _a, _b; + if (head(expr) !== "Multiply") + return [[], []]; + const numerator = []; + const denominator = []; + const args = (_a = ops(expr)) != null ? _a : []; + for (const arg of args) { + if (head(arg) === "Power") { + const op12 = op(arg, 1); + const op22 = op(arg, 2); + if (head(op22) === "Negate") { + const b = op(op22, 1); + if (op12 && b) + denominator.push(["Power", op12, b]); + } else { + const exponentVal = (_b = machineValue(op22)) != null ? _b : NaN; + if (exponentVal === -1) { + if (op12) + denominator.push(op12); + } else if (exponentVal < 0) { + if (op12) + denominator.push(["Power", op12, -exponentVal]); + } else { + numerator.push(arg); + } + } + } else if (head(arg) === "Rational" && nops(arg) === 2) { + const op12 = op(arg, 1); + const op22 = op(arg, 2); + if (machineValue(op12) !== 1) + numerator.push(op12); + if (machineValue(op22) !== 1) + denominator.push(op22); + } else { + const r = rationalValue(arg); + if (r !== null) { + if (r[0] !== 1) + numerator.push(r[0]); + denominator.push(r[1]); + } else + numerator.push(arg); + } + } + return [numerator, denominator]; +} +function parseRoot(parser) { + var _a; + const degree = parser.parseOptionalGroup(); + const base = (_a = parser.parseGroup()) != null ? _a : parser.parseToken(); + if (base === null || isEmptySequence(base)) { + if (degree !== null) + return ["Root", MISSING, missingIfEmpty(degree)]; + return ["Sqrt", MISSING]; + } + if (degree !== null) + return ["Root", base, degree]; + return ["Sqrt", base]; +} +function serializeRoot(serializer, style, base, degree) { + if (base === null) + return "\\sqrt{}"; + degree = degree != null ? degree : 2; + if (style === "solidus") { + return serializer.wrapShort(base) + "^{1\\/" + serializer.serialize(degree) + "}"; + } else if (style === "quotient") { + return serializer.wrapShort(base) + "^{\\frac{1}{" + serializer.serialize(degree) + "}}"; + } + const degreeValue = machineValue(degree); + if (degreeValue === 2) + return "\\sqrt{" + serializer.serialize(base) + "}"; + return "\\sqrt[" + serializer.serialize(degree) + "]{" + serializer.serialize(base) + "}"; +} +function serializeAdd(serializer, expr) { + var _a, _b; + serializer.level -= 1; + const name = head(expr); + let result = ""; + let arg = op(expr, 1); + if (name === "Negate") { + result = "-" + serializer.wrap(arg, 276); + } else if (name === "Add") { + if (serializer.canonical && nops(expr) === 2 && serializer.options.invisiblePlus !== "+") { + const [op12, op22] = [op(expr, 1), op(expr, 2)]; + let [lhs, rhs] = [op12, op22]; + let lhsValue = machineValue(lhs); + let rhsValue = rationalValue(rhs); + if (lhsValue === null || rhsValue === null) { + [lhs, rhs] = [op22, op12]; + lhsValue = machineValue(lhs); + rhsValue = rationalValue(rhs); + } + if (lhsValue !== null && rhsValue !== null) { + if (isFinite(lhsValue) && Number.isInteger(lhsValue) && lhsValue >= 0 && lhsValue <= 1e3 && isFinite(rhsValue[0]) && isFinite(rhsValue[1]) && rhsValue[0] > 0 && rhsValue[0] <= 100 && rhsValue[1] <= 100) { + result = joinLatex([ + serializer.serialize(lhs), + serializer.options.invisiblePlus, + serializer.serialize(rhs) + ]); + serializer.level += 1; + return result; + } + } + } + let val = (_a = machineValue(arg)) != null ? _a : NaN; + result = serializer.serialize(arg); + const last = nops(expr) + 1; + for (let i = 2; i < last; i++) { + arg = op(expr, i); + val = (_b = machineValue(arg)) != null ? _b : NaN; + if (val < 0) { + result += serializer.serialize(arg); + } else if (head(arg) === "Negate") { + result += serializer.wrap(arg, 275); + } else { + const term = serializer.wrap(arg, 275); + if (term[0] === "-" || term[0] === "+") + result += term; + else + result += "+" + term; + } + } + } else if (name === "Subtract") { + result = serializer.wrap(arg, 275); + const arg2 = op(expr, 2); + if (arg2 !== null) { + const term = serializer.wrap(arg2, 275); + if (term[0] === "-") + result += "+" + term.slice(1); + else if (term[0] === "+") + result += "-" + term.slice(1); + else + result = result + "-" + term; + } + } + serializer.level += 1; + return result; +} +function serializeMultiply(serializer, expr) { + var _a; + if (expr === null) + return ""; + serializer.level -= 1; + let result = ""; + if (serializer.canonical === true) { + const [numer, denom] = numeratorDenominator(expr); + if (denom.length > 0) { + if (denom.length === 1 && denom[0] === 1) { + if (numer.length === 0) + result = "1"; + else if (numer.length === 1) + result = serializer.serialize(numer[0]); + else + result = serializeMultiply(serializer, ["Multiply", ...numer]); + } else { + result = serializer.serialize([ + "Divide", + numer.length === 1 ? numer[0] : ["Multiply", ...numer], + denom.length === 1 ? denom[0] : ["Multiply", ...denom] + ]); + } + } + } + if (result) { + serializer.level += 1; + return result; + } + let isNegative = false; + let arg = null; + const count = nops(expr) + 1; + let prevWasNumber = false; + for (let i = 1; i < count; i++) { + arg = op(expr, i); + if (arg === null) + continue; + let term; + if (isNumberExpression(arg)) { + term = serializer.serialize(arg); + if (term === "-1" && !result) { + result = ""; + isNegative = !isNegative; + } else { + if (term[0] === "-") { + term = term.slice(1); + isNegative = !isNegative; + } + result = !result ? term : joinLatex([result, serializer.options.multiply, term]); + } + prevWasNumber = true; + continue; + } + if (head(arg) === "Power") { + const r = rationalValue(op(arg, 2)); + if (r) { + const [n, d] = r; + if (n === 1 && d !== null) { + result += serializeRoot( + serializer, + getRootStyle(arg, serializer.level), + op(arg, 1), + d + ); + prevWasNumber = false; + continue; + } + } + } + if (head(arg) === "Power" && !isNaN((_a = machineValue(op(arg, 1))) != null ? _a : NaN)) { + term = serializer.serialize(arg); + result = !result ? term : joinLatex([result, serializer.options.multiply, term]); + prevWasNumber = true; + continue; + } + if (head(arg) === "Negate") { + arg = op(arg, 1); + isNegative = !isNegative; + } + term = serializer.wrap(arg, 390); + if (!result) { + result = term; + } else { + const h = head(arg); + if (prevWasNumber && (h === "Divide" || h === "Rational")) { + result = joinLatex([result, serializer.options.multiply, term]); + } else if (!serializer.options.invisibleMultiply) { + result = joinLatex([result, term]); + } else { + result = joinLatex([ + result, + serializer.options.invisibleMultiply, + term + ]); + } + } + prevWasNumber = false; + } + serializer.level += 1; + return isNegative ? "-" + result : result; +} +function parseFraction(parser) { + var _a, _b; + let numer = parser.parseGroup(); + let denom = null; + if (numer === null) { + numer = parser.parseToken(); + denom = parser.parseToken(); + } else { + denom = parser.parseGroup(); + } + numer = missingIfEmpty(numer); + denom = missingIfEmpty(denom); + if (head(numer) === "PartialDerivative" && (head(denom) === "PartialDerivative" || head(denom) === "Multiply" && head(op(denom, 1)) === "PartialDerivative")) { + const degree = (_a = op(numer, 3)) != null ? _a : null; + let fn = op(numer, 1); + if (fn === null) + fn = missingIfEmpty(parser.parseExpression()); + let vars = []; + if (head(denom) === "Multiply") { + for (const arg of (_b = ops(denom)) != null ? _b : []) { + if (head(arg) === "PartialDerivative") { + const v = op(arg, 2); + if (v) + vars.push(v); + } + } + } else { + const v = op(denom, 2); + if (v) + vars.push(v); + } + if (vars.length > 1) { + vars = ["List", ...vars]; + } + return ["PartialDerivative", fn, ...vars, degree === null ? 1 : degree]; + } + return ["Divide", numer, denom]; +} +function serializeFraction(serializer, expr) { + if (expr === null) + return ""; + const numer = missingIfEmpty(op(expr, 1)); + const denom = missingIfEmpty(op(expr, 2)); + const style = serializer.canonical ? getFractionStyle(expr, serializer.level) : "quotient"; + if (style === "inline-solidus" || style === "nice-solidus") { + const numerStr = serializer.wrapShort(numer); + const denomStr = serializer.wrapShort(denom); + if (style === "inline-solidus") + return `${numerStr}\\/${denomStr}`; + return `{}^{${numerStr}}\\!\\!/\\!{}_{${denomStr}}`; + } else if (style === "reciprocal") { + if (machineValue(numer) === 1) + return serializer.wrap(denom) + "^{-1}"; + return serializer.wrap(numer) + serializer.wrap(denom) + "^{-1}"; + } else if (style === "factor") { + if (machineValue(denom) === 1) + return serializer.wrap(numer); + return "\\frac{1}{" + serializer.serialize(denom) + "}{" + serializer.wrap(numer) + "}"; + } + const numerLatex = serializer.serialize(numer); + const denomLatex = serializer.serialize(denom); + return `\\frac{${numerLatex}}{${denomLatex}}`; +} +function serializePower(serializer, expr) { + var _a; + const name = head(expr); + const base = missingIfEmpty(op(expr, 1)); + if (name === "Sqrt") { + return serializeRoot( + serializer, + getRootStyle(expr, serializer.level - 1), + base, + 2 + ); + } + const exp2 = missingIfEmpty(op(expr, 2)); + if (name === "Root") + return serializeRoot( + serializer, + getRootStyle(expr, serializer.level - 1), + base, + exp2 + ); + if (serializer.canonical) { + const val2 = (_a = machineValue(exp2)) != null ? _a : 1; + if (val2 === -1) { + return serializer.serialize(["Divide", "1", base]); + } else if (val2 < 0) { + return serializer.serialize(["Divide", "1", ["Power", base, -val2]]); + } else if (head(exp2) === "Divide" || head(exp2) === "Rational") { + if (machineValue(op(exp2, 1)) === 1) { + const style = getRootStyle(expr, serializer.level); + return serializeRoot(serializer, style, base, op(exp2, 2)); + } + if (machineValue(op(exp2, 2)) === 2) { + return `${serializer.serialize(["Sqrt", base])}^{${serializer.serialize( + op(exp2, 1) + )}}`; + } + } else if (head(exp2) === "Power") { + if (machineValue(op(exp2, 2)) === -1) { + const style = getRootStyle(expr, serializer.level); + return serializeRoot(serializer, style, base, op(exp2, 1)); + } + } + } + return serializer.wrapShort(base) + "^{" + serializer.serialize(exp2) + "}"; +} +var DEFINITIONS_ARITHMETIC = [ + // Constants + { name: "CatalanConstant", serialize: "G" }, + { name: "GoldenRatio", serialize: "\\varphi" }, + { name: "EulerGamma", serialize: "\\gamma" }, + { + name: "Degrees", + latexTrigger: ["\\degree"], + kind: "postfix", + precedence: 880, + parse: (_parser, lhs) => ["Degrees", lhs], + serialize: (serializer, expr) => { + return joinLatex([serializer.serialize(op(expr, 1)), "\\degree"]); + } + }, + { + latexTrigger: ["\\degree"], + kind: "postfix", + precedence: 880, + parse: (_parser, lhs) => ["Degrees", lhs] + }, + { + latexTrigger: ["^", "<{>", "\\circ", "<}>"], + kind: "postfix", + parse: (_parser, lhs) => ["Degrees", lhs] + }, + { + latexTrigger: ["^", "\\circ"], + kind: "postfix", + parse: (_parser, lhs) => ["Degrees", lhs] + }, + { + latexTrigger: ["\xB0"], + kind: "postfix", + precedence: 880, + parse: (_parser, lhs) => ["Degrees", lhs] + }, + { + latexTrigger: ["\\ang"], + parse: (parser) => { + const arg = parser.parseGroup(); + return arg === null ? ["Degrees"] : ["Degrees", arg]; + } + }, + { + latexTrigger: ["\\infty"], + parse: { num: "+Infinity" } + }, + { + name: "ComplexInfinity", + latexTrigger: ["\\tilde", "\\infty"], + serialize: "\\tilde\\infty" + }, + { + latexTrigger: ["\\tilde", "<{>", "\\infty", "<}>"], + parse: "ComplexInfinity" + }, + { name: "Pi", kind: "symbol", latexTrigger: ["\\pi"] }, + { latexTrigger: ["\u03C0"], parse: "Pi" }, + { + name: "ExponentialE", + latexTrigger: ["\\exponentialE"], + parse: "ExponentialE", + serialize: "\\exponentialE" + }, + { + latexTrigger: "\\operatorname{e}", + parse: "ExponentialE" + }, + { + latexTrigger: "\\mathrm{e}", + parse: "ExponentialE" + }, + { + kind: "function", + identifierTrigger: "exp", + parse: "Exp" + }, + { + latexTrigger: "\\exp", + parse: "Exp" + }, + { + name: "ImaginaryUnit", + latexTrigger: ["\\imaginaryI"] + }, + { + latexTrigger: "\\operatorname{i}", + parse: "ImaginaryUnit" + }, + { + latexTrigger: "\\mathrm{i}", + parse: "ImaginaryUnit" + }, + // Operations + { + /** Could be the determinant if the argument is a matrix */ + /** @todo: domain check */ + /** If a literal matrix, the `serialize` should be custom, the parens are + * replaced with bars */ + name: "Abs", + kind: "matchfix", + openTrigger: "|", + closeTrigger: "|", + parse: (_parser, body) => isEmptySequence(body) ? null : ["Abs", body] + }, + { + identifierTrigger: "abs", + kind: "function", + parse: "Abs" + }, + { + name: "Add", + latexTrigger: ["+"], + kind: "infix", + associativity: "both", + precedence: 275, + parse: (parser, lhs, until) => { + if (until && 275 < until.minPrec) + return null; + const rhs = parser.parseExpression({ ...until, minPrec: 275 }); + if (rhs === null) + return null; + return applyAssociativeOperator("Add", lhs, rhs); + }, + serialize: serializeAdd + }, + { + kind: "prefix", + latexTrigger: ["+"], + precedence: 275, + parse: (parser, until) => { + if (until && 275 < until.minPrec) + return null; + return parser.parseExpression({ ...until, minPrec: 400 }); + } + }, + { + name: "Ceil", + kind: "matchfix", + openTrigger: "\\lceil", + closeTrigger: "\\rceil", + parse: (_parser, body) => isEmptySequence(body) ? null : ["Ceil", body] + }, + { + kind: "matchfix", + openTrigger: ["\u2308"], + closeTrigger: ["\u2309"], + parse: (_parser, body) => isEmptySequence(body) ? null : ["Ceil", body] + }, + { + identifierTrigger: "ceil", + kind: "function", + parse: "Ceil" + }, + { name: "Chop", identifierTrigger: "chop", kind: "function", parse: "Chop" }, + { + name: "Complex", + precedence: 274, + // One less than precedence of `Add`: used for correct wrapping + serialize: (serializer, expr) => { + const re = machineValue(op(expr, 1)); + const im = machineValue(op(expr, 2)); + if (im === 0) + return serializer.serialize(op(expr, 1)); + const imPart = im === 1 ? "\\imaginaryI" : im === -1 ? "-\\imaginaryI" : joinLatex([serializer.serialize(op(expr, 2)), "\\imaginaryI"]); + if (re === 0) + return imPart; + if (im !== null && im < 0) + return joinLatex([serializer.serialize(op(expr, 1)), imPart]); + return joinLatex([serializer.serialize(op(expr, 1)), "+", imPart]); + } + }, + { + name: "Divide", + latexTrigger: "\\frac", + precedence: 660, + // For \frac specifically, not for \div, etc.. + // handles Leibnitz notation for partial derivatives + parse: parseFraction, + serialize: serializeFraction + }, + { + kind: "infix", + latexTrigger: "\\over", + precedence: 660, + parse: "Divide" + }, + { + latexTrigger: ["\\/"], + kind: "infix", + associativity: "non", + precedence: 660, + // ??? MathML has 265, but it's wrong. + // It has to be at least higher than multiply + // e.g. `1/2+3*x` -> `1/2 + 3*x` , not `1/(2+3*x)` + parse: "Divide" + }, + { + latexTrigger: ["/"], + kind: "infix", + associativity: "non", + precedence: 660, + parse: "Divide" + }, + { + latexTrigger: ["\\div"], + kind: "infix", + associativity: "non", + precedence: 660, + // ??? according to MathML + parse: "Divide" + }, + { + name: "Exp", + serialize: (serializer, expr) => { + const op12 = op(expr, 1); + if (symbol(op12) || machineValue(op12) !== null) + return joinLatex(["\\exponentialE^{", serializer.serialize(op12)]); + return joinLatex(["\\exp", serializer.wrap(missingIfEmpty(op12))]); + } + }, + { + name: "Factorial", + latexTrigger: ["!"], + kind: "postfix", + precedence: 810 + }, + { + name: "Factorial2", + latexTrigger: ["!", "!"], + kind: "postfix", + precedence: 810 + }, + { + name: "Floor", + kind: "matchfix", + openTrigger: "\\lfloor", + closeTrigger: "\\rfloor", + parse: (_parser, body) => isEmptySequence(body) ? null : ["Floor", body] + }, + { + kind: "matchfix", + openTrigger: ["\u230A"], + closeTrigger: ["\u230B"], + parse: (_parser, body) => isEmptySequence(body) ? null : ["Floor", body] + }, + { + identifierTrigger: "floor", + kind: "function", + parse: "Floor" + }, + { + latexTrigger: ["\\Gamma"], + parse: "Gamma" + }, + { + name: "Gcd", + identifierTrigger: "gcd", + kind: "function" + }, + { + name: "Half", + serialize: "\\frac12" + }, + { + name: "Lg", + latexTrigger: ["\\lg"], + serialize: (serializer, expr) => "\\log_{10}" + serializer.wrapArguments(expr), + parse: (parser) => { + const args = parser.parseArguments("implicit"); + if (args === null) + return "Lg"; + return ["Log", ...args, 10]; + } + }, + { + name: "Lb", + latexTrigger: "\\lb", + parse: (parser) => { + const args = parser.parseArguments("implicit"); + if (args === null) + return "Log"; + return ["Log", ...args, 2]; + } + }, + { + name: "Ln", + latexTrigger: ["\\ln"], + serialize: (serializer, expr) => "\\ln" + serializer.wrapArguments(expr), + parse: (parser) => parseLog("Ln", parser) + }, + { + name: "Log", + latexTrigger: ["\\log"], + parse: (parser) => parseLog("Log", parser), + serialize: (serializer, expr) => { + const base = op2(expr); + if (base) + return joinLatex([ + "\\log_{", + base.toString(), + "}", + serializer.wrap(op1(expr)) + ]); + return "\\log" + serializer.wrapArguments(expr); + } + }, + { + name: "Lcm", + identifierTrigger: "lcm", + kind: "function" + }, + { name: "Max", identifierTrigger: "max", kind: "function" }, + { name: "Min", identifierTrigger: "min", kind: "function" }, + { + name: "MinusPlus", + latexTrigger: ["\\mp"], + kind: "infix", + associativity: "both", + precedence: 270 + }, + { + name: "Multiply", + latexTrigger: ["\\times"], + kind: "infix", + associativity: "both", + precedence: 390, + serialize: serializeMultiply + }, + { + latexTrigger: ["\\cdot"], + kind: "infix", + associativity: "both", + precedence: 390, + parse: (parser, lhs, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 392 }); + if (rhs === null) + return ["Multiply", lhs, MISSING]; + return applyAssociativeOperator("Multiply", lhs, rhs); + } + }, + { + latexTrigger: ["*"], + kind: "infix", + associativity: "both", + precedence: 390, + parse: (parser, lhs, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 392 }); + if (rhs === null) + return ["Multiply", lhs, MISSING]; + return applyAssociativeOperator("Multiply", lhs, rhs); + } + }, + { + name: "Negate", + latexTrigger: ["-"], + kind: "prefix", + parse: (parser, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 400 }); + return ["Negate", missingIfEmpty(rhs)]; + }, + precedence: 275 + }, + // { + // /** If the argument is a vector */ + // /** @todo: domain check */ + // name: 'Norm', + // kind: 'matchfix', + // openDelimiter: '|', + // closeDelimiter: '|', + // }, + // { + // /** If the argument is a set */ + // /** @todo: domain check */ + // name: 'Cardinality', + // kind: 'matchfix', + // openDelimiter: '|', + // closeDelimiter: '|', + // }, + { + // /** If the argument is a vector */ + /** @todo: domain check */ + kind: "matchfix", + openTrigger: "||", + closeTrigger: "||", + parse: (_parser, expr) => isEmptySequence(expr) ? null : ["Norm", expr] + }, + { + // /** If the argument is a vector */ + /** @todo: domain check */ + name: "Norm", + kind: "matchfix", + openTrigger: ["\\left", "\\Vert"], + closeTrigger: ["\\right", "\\Vert"], + parse: (_parser, expr) => isEmptySequence(expr) ? null : ["Norm", expr] + }, + { + name: "PlusMinus", + latexTrigger: ["\\pm"], + kind: "infix", + associativity: "both", + precedence: 270, + serialize: (serializer, expr) => { + const op12 = op(expr, 1); + if (op12 === null) + return "\\pm"; + if (nops(expr) === 1) + return joinLatex(["\\pm", serializer.serialize(op12)]); + const op22 = op(expr, 2); + return joinLatex([ + serializer.serialize(op12), + "\\pm", + serializer.serialize(op22) + ]); + } + }, + { + latexTrigger: ["\\pm"], + kind: "prefix", + precedence: 270, + parse: (parser, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 400 }); + return ["PlusMinus", missingIfEmpty(rhs)]; + } + }, + { + latexTrigger: ["\\plusmn"], + kind: "infix", + associativity: "both", + precedence: 270, + parse: (parser, lhs, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 400 }); + return ["PlusMinus", lhs, missingIfEmpty(rhs)]; + } + }, + { + latexTrigger: ["\\plusmn"], + kind: "prefix", + precedence: 270, + parse: (parser, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 400 }); + return ["PlusMinus", missingIfEmpty(rhs)]; + } + }, + { + name: "Power", + latexTrigger: ["^"], + kind: "infix", + serialize: serializePower + }, + { + latexTrigger: "\\prod", + precedence: 390, + name: "Product", + parse: parseBigOp("Product", 390), + serialize: serializeBigOp("\\prod") + }, + // { + // trigger: ['*', '*'], + // kind: 'infix', + // associativity: 'non', + // precedence: 720, + // }, + { + name: "Rational", + precedence: 660, + serialize: (serializer, expr) => { + if (expr && nops(expr) === 1) + return "\\operatorname{Rational}" + serializer.wrapArguments(expr); + return serializeFraction(serializer, expr); + } + }, + { + name: "Root", + serialize: serializePower + }, + { + name: "Round", + identifierTrigger: "round", + kind: "function" + }, + { + name: "Square", + precedence: 720, + serialize: (serializer, expr) => serializer.wrapShort(op(expr, 1)) + "^2" + }, + { + latexTrigger: ["\\sum"], + precedence: 275, + name: "Sum", + parse: parseBigOp("Sum", 275), + serialize: serializeBigOp("\\sum") + }, + { + name: "Sign", + // As per ISO 80000-2, "signum" is 'sgn' + identifierTrigger: "sgn", + kind: "function" + }, + { + name: "Sqrt", + latexTrigger: ["\\sqrt"], + parse: parseRoot, + serialize: serializePower + }, + { + name: "Subtract", + latexTrigger: ["-"], + kind: "infix", + associativity: "both", + precedence: 275, + parse: (parser, lhs, terminator) => { + const rhs = parser.parseExpression({ ...terminator, minPrec: 277 }); + return ["Subtract", lhs, missingIfEmpty(rhs)]; + } + } +]; +function parseBigOp(name, prec) { + return (parser) => { + var _a, _b, _c, _d; + parser.skipSpace(); + let sup = null; + let sub2 = null; + while (!(sub2 && sup) && (parser.peek === "_" || parser.peek === "^")) { + if (parser.match("_")) + sub2 = (_a = parser.parseGroup()) != null ? _a : parser.parseToken(); + else if (parser.match("^")) + sup = (_b = parser.parseGroup()) != null ? _b : parser.parseToken(); + parser.skipSpace(); + } + if (sub2 === "Nothing" || isEmptySequence(sub2)) + sub2 = null; + if (sup === "Nothing" || isEmptySequence(sup)) + sup = null; + let index = null; + let lower = null; + if (head(sub2) === "Equal") { + index = op(sub2, 1); + lower = op(sub2, 2); + } else { + index = sub2; + } + const sym = symbol(index); + if (sym) + (_c = parser.computeEngine) == null ? void 0 : _c.pushScope({ [sym]: { domain: "Integer" } }); + const fn = parser.parseExpression({ minPrec: prec + 1 }); + if (sym) + (_d = parser.computeEngine) == null ? void 0 : _d.popScope(); + if (!fn) + return [name]; + if (sup) + return [ + name, + fn, + ["Tuple", index ? ["Hold", index] : "Nothing", lower != null ? lower : 1, sup] + ]; + if (lower) + return [name, fn, ["Tuple", index ? ["Hold", index] : "Nothing", lower]]; + if (index) + return [name, fn, ["Tuple", ["Hold", index]]]; + return [name, fn]; + }; +} +function serializeBigOp(command) { + return (serializer, expr) => { + if (!op(expr, 1)) + return command; + let arg = op(expr, 2); + const h = head(arg); + if (h !== "Tuple" && h !== "Triple" && h !== "Pair" && h !== "Single") + arg = null; + let index = op(arg, 1); + if (index && head(index) === "Hold") + index = op(index, 1); + const fn = op(expr, 1); + if (!arg) { + if (!op(expr, 2)) + return joinLatex([command, "_n", serializer.serialize(fn)]); + return joinLatex([ + command, + "_{", + serializer.serialize(op(expr, 2)), + "}", + serializer.serialize(fn) + ]); + } + const lower = op(arg, 2); + let sub2 = []; + if (index && symbol(index) !== "Nothing" && lower) + sub2 = [serializer.serialize(index), "=", serializer.serialize(lower)]; + else if (index && symbol(index) !== "Nothing") + sub2 = [serializer.serialize(index)]; + else if (lower) + sub2 = [serializer.serialize(lower)]; + if (sub2.length > 0) + sub2 = ["_{", ...sub2, "}"]; + let sup = []; + if (op(arg, 3)) + sup = ["^{", serializer.serialize(op(arg, 3)), "}"]; + return joinLatex([command, ...sup, ...sub2, serializer.serialize(fn)]); + }; +} +function parseLog(command, parser) { + var _a, _b; + let sub2 = null; + let base = null; + if (parser.match("_")) { + sub2 = (_b = (_a = parser.parseStringGroup()) == null ? void 0 : _a.trim()) != null ? _b : parser.nextToken(); + base = Number.parseFloat(sub2 != null ? sub2 : "10"); + } + const args = parser.parseArguments("implicit"); + if (args === null) + return [command]; + if (base === 10) + return ["Log", args[0]]; + if (base === 2) + return ["Lb", ...args]; + if (sub2 === null) + return [command, ...args]; + return ["Log", ...args, sub2]; +} +function parseSequence(parser, terminator, lhs, prec, sep) { + /* @__PURE__ */ console.assert(lhs !== null); + if (terminator.minPrec >= prec) + return null; + const result = [lhs]; + let done = false; + while (!done) { + done = true; + parser.skipSpace(); + while (parser.match(sep)) { + result.push("Nothing"); + parser.skipSpace(); + } + if (parser.atTerminator(terminator)) { + result.push("Nothing"); + } else { + const rhs = parser.parseExpression({ ...terminator, minPrec: prec }); + result.push(rhs != null ? rhs : "Nothing"); + done = rhs === null; + } + if (!done) { + parser.skipSpace(); + done = !parser.match(sep); + } + } + return result; +} +function serializeOps(sep = "") { + return (serializer, expr) => { + var _a; + return ((_a = ops(expr)) != null ? _a : []).map((x) => serializer.serialize(x)).join(sep); + }; +} +var DEFINITIONS_CORE = [ + // + // Constants + // + { + latexTrigger: ["\\placeholder"], + kind: "symbol", + parse: (parser) => { + while (parser.match("")) { + } + if (parser.match("[")) + while (!parser.match("]") && !parser.atBoundary) + parser.nextToken(); + while (parser.match("")) { + } + if (parser.match("<{>")) + while (!parser.match("<}>") && !parser.atBoundary) + parser.nextToken(); + return "Nothing"; + } + }, + // + // Functions + // + { + name: "Apply", + kind: "function", + identifierTrigger: "apply", + serialize: (serializer, expr) => serializer.serializeFunction(ops(expr)) + }, + { + latexTrigger: "\\rhd", + kind: "infix", + precedence: 20, + parse: "Apply" + }, + { + latexTrigger: "\\lhd", + kind: "infix", + precedence: 20, + parse: (parser, lhs) => { + var _a; + const rhs = (_a = parser.parseExpression({ minPrec: 20 })) != null ? _a : "Nothing"; + return ["Apply", rhs, lhs]; + } + }, + { + name: "BaseForm", + serialize: (serializer, expr) => { + var _a, _b; + const radix = (_a = machineValue(op(expr, 2))) != null ? _a : NaN; + if (isFinite(radix) && radix >= 2 && radix <= 36) { + const num = (_b = machineValue(op(expr, 1))) != null ? _b : NaN; + if (isFinite(num) && Number.isInteger(num)) { + let digits = Number(num).toString(radix); + let groupLength = 0; + if (radix === 2) { + groupLength = 4; + } else if (radix === 10) { + groupLength = 4; + } else if (radix === 16) { + groupLength = 2; + } else if (radix > 16) { + groupLength = 4; + } + if (groupLength > 0) { + const oldDigits = digits; + digits = ""; + for (let i = 0; i < oldDigits.length; i++) { + if (i > 0 && i % groupLength === 0) + digits = "\\, " + digits; + digits = oldDigits[oldDigits.length - i - 1] + digits; + } + } + return `(\\text{${digits}}_{${radix}}`; + } + } + return "\\operatorname{BaseForm}(" + serializer.serialize(op(expr, 1)) + ", " + serializer.serialize(op(expr, 2)) + ")"; + } + }, + { + name: "Delimiter", + serialize: (serializer, expr) => { + var _a, _b, _c, _d, _e, _f, _g, _h; + const argCount = nops(expr); + if (argCount === 0) + return ""; + const style = serializer.options.groupStyle(expr, serializer.level + 1); + const arg1 = op(expr, 1); + const h1 = head(arg1); + const defaultFence = (_a = { List: "[],", Sequence: "" }[typeof h1 === "string" ? h1 : ""]) != null ? _a : "(),"; + let open = (_b = defaultFence[0]) != null ? _b : ""; + let close = (_c = defaultFence[1]) != null ? _c : ""; + let sep = (_d = defaultFence[2]) != null ? _d : ""; + if (argCount > 1) { + const op22 = (_e = stringValue(op(expr, 2))) != null ? _e : ""; + open = (_f = op22[0]) != null ? _f : defaultFence[0]; + close = (_g = op22[1]) != null ? _g : defaultFence[1]; + sep = (_h = op22[2]) != null ? _h : defaultFence[2]; + } + const body = isListLike(arg1) ? serializeOps(sep)(serializer, arg1) : serializer.serialize(arg1); + return serializer.wrapString(body, style, open + close); + } + }, + { + name: "Domain", + serialize: (serializer, expr) => { + if (head(expr) === "Error") + return serializer.serialize(expr); + return `\\mathbf{${serializer.serialize(op(expr, 1))}}`; + } + }, + { + latexTrigger: ["\\mathtip"], + parse: (parser) => { + const op12 = parser.parseGroup(); + const op22 = parser.parseGroup(); + return op12; + } + }, + { + latexTrigger: ["\\texttip"], + parse: (parser) => { + const op12 = parser.parseGroup(); + const op22 = parser.parseGroup(); + return op12; + } + }, + { + latexTrigger: ["\\error"], + parse: (parser) => ["Error", parser.parseGroup()] + }, + { + name: "Error", + serialize: (serializer, expr) => { + var _a; + if (stringValue(op(expr, 1)) === "missing") + return `\\error{${(_a = serializer.options.missingSymbol) != null ? _a : "\\placeholder{}"}}`; + const where = errorContextAsLatex(serializer, expr) || "\\blacksquare"; + const op12 = op(expr, 1); + const code = head(op12) === "ErrorCode" ? stringValue(op(op12, 1)) : stringValue(op12); + if (code === "incompatible-domain") { + return `\\mathtip{\\error{${where}}}{\\in ${serializer.serialize( + op(op12, 3) + )}\\notin ${serializer.serialize(op(op12, 2))}}`; + } + if (typeof code === "string") + return `\\error{${where}}`; + return `\\error{${where}}`; + } + }, + { + name: "ErrorCode", + serialize: (serializer, expr) => { + var _a; + const code = stringValue(op(expr, 1)); + if (code === "missing") + return (_a = serializer.options.missingSymbol) != null ? _a : "\\placeholder{}"; + if (code === "unexpected-command" || code === "unexpected-operator" || code === "unexpected-token" || code === "invalid-identifier" || code === "unknown-environment" || code === "unexpected-base" || code === "incompatible-domain" || code === "invalid-domain") { + return ""; + } + return `\\texttip{\\error{\\blacksquare}}{\\mathtt{${code}}}`; + } + }, + { + name: "FromLatex", + serialize: (_serializer, expr) => { + return `\\texttt{${sanitizeLatex(stringValue(op(expr, 1)))}}`; + } + }, + { + name: "Latex", + serialize: (serializer, expr) => { + if (expr === null) + return ""; + return joinLatex( + mapArgs(expr, (x) => { + var _a; + return (_a = stringValue(x)) != null ? _a : serializer.serialize(x); + }) + ); + } + }, + { + name: "LatexString", + serialize: (serializer, expr) => { + if (expr === null) + return ""; + return joinLatex(mapArgs(expr, (x) => serializer.serialize(x))); + } + }, + { name: "LatexTokens", serialize: serializeLatexTokens }, + { + name: "List", + kind: "matchfix", + openTrigger: "\\lbrack", + closeTrigger: "\\rbrack", + parse: parseList, + serialize: (serializer, expr) => { + return joinLatex([ + "\\lbrack", + serializeOps(", ")(serializer, expr), + "\\rbrack" + ]); + } + }, + // Synonyms for List + { + kind: "matchfix", + openTrigger: "[", + closeTrigger: "]", + parse: parseList + }, + { + kind: "matchfix", + openTrigger: "\\[", + closeTrigger: "\\]", + parse: parseList + }, + // Synonyms for Delimiter + { + kind: "matchfix", + openTrigger: "(", + closeTrigger: ")", + parse: parseDelimiter + }, + { + kind: "matchfix", + openTrigger: "\\lparen", + closeTrigger: "\\rparen", + parse: parseDelimiter + }, + { + latexTrigger: [","], + kind: "infix", + precedence: 20, + // Unlike the matchfix version of List, + // when the comma operator is used, the lhs and rhs are flattened, + // i.e. `1,2,3` -> `["Delimiter", ["List", 1, 2, 3], ","]`, + // and `1, (2, 3)` -> `["Delimiter", + // ["Sequence", 1, ["Delimiter", ["List", 2, 3], "()", ","]]], + parse: (parser, lhs, terminator) => { + const seq = parseSequence(parser, terminator, lhs, 20, ","); + if (seq === null) + return null; + return ["Sequence", ...seq]; + } + }, + { + name: "Sequence", + serialize: serializeOps("") + }, + { + latexTrigger: [";"], + kind: "infix", + precedence: 19, + parse: (parser, lhs, terminator) => { + const seq = parseSequence(parser, terminator, lhs, 19, ";"); + if (seq === null) + return null; + return [ + "Sequence", + ...seq.map( + (x) => { + var _a; + return head(x) === "Sequence" ? ["List", ...(_a = ops(x)) != null ? _a : []] : x; + } + ) + ]; + } + }, + { + name: "String", + latexTrigger: ["\\text"], + parse: (scanner) => parseTextRun(scanner), + serialize: (serializer, expr) => { + const args = ops(expr); + if (args === null || args.length === 0) + return "\\text{}"; + return joinLatex([ + "\\text{", + args.map((x) => serializer.serialize(x)).join(""), + "}" + ]); + } + }, + { + name: "Subscript", + latexTrigger: ["_"], + kind: "infix", + serialize: (serializer, expr) => { + if (nops(expr) === 2) { + return serializer.serialize(op(expr, 1)) + "_{" + serializer.serialize(op(expr, 2)) + "}"; + } + return "_{" + serializer.serialize(op(expr, 1)) + "}"; + } + }, + { name: "Superplus", latexTrigger: ["^", "+"], kind: "postfix" }, + { name: "Subplus", latexTrigger: ["_", "+"], kind: "postfix" }, + { name: "Superminus", latexTrigger: ["^", "-"], kind: "postfix" }, + { name: "Subminus", latexTrigger: ["_", "-"], kind: "postfix" }, + { + latexTrigger: ["^", "*"], + kind: "postfix", + parse: (_parser, lhs) => ["Superstar", lhs] + }, + // { name: 'Superstar', latexTrigger: ['^', '\\star'], kind: 'postfix' }, + { + latexTrigger: ["_", "*"], + kind: "postfix", + parse: (_parser, lhs) => ["Substar", lhs] + }, + { name: "Substar", latexTrigger: ["_", "\\star"], kind: "postfix" }, + { name: "Superdagger", latexTrigger: ["^", "\\dagger"], kind: "postfix" }, + { + latexTrigger: ["^", "\\dag"], + kind: "postfix", + parse: (_parser, lhs) => ["Superdagger", lhs] + }, + { + name: "Prime", + latexTrigger: ["^", "\\prime"], + // Note: we don't need a precedence because the trigger is '^' + // and '^' (and '_') are treated specially by the parser. + kind: "postfix", + parse: (parser, lhs) => parsePrime(parser, lhs, 1), + serialize: (serializer, expr) => { + var _a; + const n2 = (_a = machineValue(op(expr, 2))) != null ? _a : 1; + const base = serializer.serialize(op(expr, 1)); + if (n2 === 1) + return base + "^\\prime"; + if (n2 === 2) + return base + "^\\doubleprime"; + if (n2 === 3) + return base + "^\\tripleprime"; + return base + "^{(" + serializer.serialize(op(expr, 2)) + ")}"; + } + }, + { + latexTrigger: "^{\\prime\\prime}", + kind: "postfix", + parse: (parser, lhs) => parsePrime(parser, lhs, 2) + }, + { + latexTrigger: "^{\\prime\\prime\\prime}", + kind: "postfix", + parse: (parser, lhs) => parsePrime(parser, lhs, 3) + }, + { + latexTrigger: ["^", "\\doubleprime"], + kind: "postfix", + parse: (parser, lhs) => parsePrime(parser, lhs, 2) + }, + { + latexTrigger: ["^", "\\tripleprime"], + kind: "postfix", + parse: (parser, lhs) => parsePrime(parser, lhs, 3) + }, + { + latexTrigger: "'", + kind: "postfix", + precedence: 810, + parse: (parser, lhs) => parsePrime(parser, lhs, 1) + }, + { + latexTrigger: "\\prime", + kind: "postfix", + precedence: 810, + parse: (parser, lhs) => parsePrime(parser, lhs, 1) + }, + { + latexTrigger: "\\doubleprime", + kind: "postfix", + precedence: 810, + parse: (parser, lhs) => parsePrime(parser, lhs, 2) + }, + { + latexTrigger: "\\tripleprime", + kind: "postfix", + precedence: 810, + parse: (parser, lhs) => parsePrime(parser, lhs, 3) + }, + { + latexTrigger: ["^", "<{>", "("], + kind: "postfix", + parse: (parser, lhs) => { + var _a, _b; + if (!((_b = (_a = parser.computeEngine) == null ? void 0 : _a.box(lhs)) == null ? void 0 : _b.domain.isFunction)) + return null; + const start = parser.index; + parser.addBoundary([")"]); + const expr = parser.parseExpression(); + if (!parser.matchBoundary()) { + parser.index = start; + return null; + } + if (!parser.match("<}>")) { + parser.index = start; + return null; + } + return ["Derivative", lhs, expr]; + } + }, + { + name: "InverseFunction", + latexTrigger: "^{-1}", + kind: "postfix", + parse: (parser, lhs) => { + var _a, _b; + if ((_b = (_a = parser.computeEngine) == null ? void 0 : _a.box(lhs)) == null ? void 0 : _b.domain.isFunction) + return ["InverseFunction", lhs]; + return ["Power", missingIfEmpty(lhs), -1]; + }, + serialize: (serializer, expr) => serializer.serialize(op(expr, 1)) + "^{-1}" + }, + { + name: "Derivative", + serialize: (serializer, expr) => { + var _a; + const degree = (_a = machineValue(op(expr, 2))) != null ? _a : 1; + const base = serializer.serialize(op(expr, 1)); + if (degree === 1) + return base + "^{\\prime}"; + if (degree === 2) + return base + "^{\\doubleprime}"; + if (degree === 3) + return base + "^{\\tripleprime}"; + return base + "^{(" + serializer.serialize(op(expr, 2)) + ")}"; + } + }, + { + kind: "environment", + name: "Which", + identifierTrigger: "cases", + parse: (parser) => { + var _a; + const tabular = parser.parseTabular(); + if (!tabular) + return ["Which"]; + const result = ["Which"]; + for (const row of tabular) { + if (row.length === 1) { + result.push("True"); + result.push(row[0]); + } else if (row.length === 2) { + const s = stringValue(row[1]); + result.push(s ? "True" : (_a = stripText(row[1])) != null ? _a : "True"); + result.push(row[0]); + } + } + return result; + }, + serialize: (serialize2, expr) => { + const rows = []; + const args = ops(expr); + if (args) { + for (let i = 0; i <= args.length - 2; i += 2) { + const row = []; + row.push(serialize2.serialize(args[i + 1])); + row.push(serialize2.serialize(args[i])); + rows.push(row.join("&")); + } + } + return joinLatex(["\\begin{cases}", rows.join("\\\\"), "\\end{cases}"]); + } + } +]; +function parseTextRun(parser, style) { + var _a, _b, _c; + if (!parser.match("<{>")) + return "''"; + const runs = []; + let text = ""; + let runinStyle = null; + while (!parser.atEnd && !parser.match("<}>")) { + if (parser.peek === "<{>") { + runs.push(parseTextRun(parser)); + } else if (parser.match("\\textbf") && parser.match("<{>")) { + runs.push(parseTextRun(parser, { "font-weight": "bold" })); + } else if (parser.match("\\color")) { + const color = parser.parseStringGroup(); + if (color !== null) { + if (runinStyle !== null && text) { + runs.push(["Style", text, { dict: runinStyle }]); + } else if (text) { + runs.push(["String", text]); + } + text = ""; + runinStyle = { color }; + } + } else if (parser.match("")) { + text += " "; + } else if (parser.match("<$>")) { + const index = parser.index; + const expr = (_a = parser.parseExpression()) != null ? _a : ["Sequence"]; + parser.skipSpace(); + if (parser.match("<$>")) { + runs.push(expr); + } else { + text += "$"; + parser.index = index; + } + } else if (parser.match("<$$>")) { + const index = parser.index; + const expr = (_b = parser.parseExpression()) != null ? _b : ["Sequence"]; + parser.skipSpace(); + if (parser.match("<$$>")) { + runs.push(expr); + } else { + text += "$$"; + parser.index = index; + } + } else + text += (_c = parser.matchChar()) != null ? _c : parser.nextToken(); + } + if (runinStyle !== null && text) { + runs.push(["Style", `'${text}'`, { dict: runinStyle }]); + } else if (text) { + runs.push(`'${text}'`); + } + let body; + if (runs.length === 1) + body = runs[0]; + else { + if (runs.every((x) => stringValue(x) !== null)) + body = "'" + runs.map((x) => stringValue(x)).join() + "'"; + else + body = ["String", ...runs]; + } + return style ? ["Style", body, { dict: style }] : body; +} +function serializeLatexTokens(serializer, expr) { + if (expr === null) + return ""; + return joinLatex( + mapArgs(expr, (x) => { + const s = stringValue(x); + if (s === null) + return serializer.serialize(x); + if (s === "<{>") + return "{"; + if (s === "<}>") + return "}"; + if (s === "<$>") + return "$"; + if (s === "<$$>") + return "$$"; + if (s === "") + return " "; + return s; + }) + ); +} +function sanitizeLatex(s) { + if (s === null) + return ""; + return s.replace( + /[{}\[\]\\:\-\$%]/g, + (c) => { + var _a; + return (_a = { + "{": "\\lbrace ", + "}": "\\rbrace ", + "[": "\\lbrack ", + "]": "\\rbrack ", + ":": "\\colon ", + "\\": "\\backslash " + }[c]) != null ? _a : "\\" + c; + } + ); +} +function errorContextAsLatex(serializer, error) { + var _a; + const arg = op(error, 2); + if (!arg) + return ""; + if (head(arg) === "Latex") + return `\\texttt{${sanitizeLatex((_a = stringValue(op(arg, 1))) != null ? _a : "")}}`; + if (head(arg) === "Hold") + return serializer.serialize(op(arg, 1)); + return serializer.serialize(arg); +} +function parsePrime(parser, lhs, order2) { + var _a, _b, _c; + const lhsh = head(lhs); + if (lhsh === "Derivative" || lhsh === "Prime") { + const n = (_a = machineValue(op(lhs, 2))) != null ? _a : 1; + return [lhsh, missingIfEmpty(op(lhs, 1)), n + order2]; + } + if ((_c = (_b = parser.computeEngine) == null ? void 0 : _b.box(lhs)) == null ? void 0 : _c.domain.isFunction) { + if (order2 === 1) + return ["Derivative", lhs]; + return ["Derivative", lhs, order2]; + } + if (order2 === 1) + return ["Prime", missingIfEmpty(lhs)]; + return ["Prime", missingIfEmpty(lhs), order2]; +} +function parseDelimiter(parser, body) { + var _a; + if (body === null || isEmptySequence(body)) + return ["Sequence"]; + if (head(body) === "Sequence") { + if (nops(body) === 0) + return ["Delimiter"]; + return ["Delimiter", ["Sequence", ...(_a = ops(body)) != null ? _a : []]]; + } + return ["Delimiter", body]; +} +function parseList(_parser, body) { + var _a; + if (body === null || isEmptySequence(body)) + return ["List"]; + if (head(body) !== "Sequence" && head(body) !== "List") + return ["List", body]; + return ["List", ...(_a = ops(body)) != null ? _a : []]; +} +var DEFINITIONS_INEQUALITIES = [ + { + latexTrigger: ["\\not", "<"], + kind: "infix", + associativity: "right", + precedence: 246, + parse: "NotLess" + }, + { + name: "NotLess", + latexTrigger: ["\\nless"], + kind: "infix", + associativity: "right", + precedence: 246 + }, + { + latexTrigger: ["<"], + kind: "infix", + associativity: "right", + precedence: 245, + parse: "Less" + }, + { + name: "Less", + latexTrigger: ["\\lt"], + kind: "infix", + associativity: "right", + precedence: 245 + }, + { + latexTrigger: ["<", "="], + kind: "infix", + associativity: "right", + precedence: 241, + parse: "LessEqual" + }, + { + name: "LessEqual", + latexTrigger: ["\\le"], + kind: "infix", + associativity: "right", + precedence: 241 + }, + { + latexTrigger: ["\\leq"], + kind: "infix", + associativity: "right", + precedence: 241, + parse: "LessEqual" + }, + { + latexTrigger: ["\\leqslant"], + kind: "infix", + associativity: "right", + precedence: 265, + // Note different precedence than `<=` as per MathML + parse: "LessEqual" + }, + { + name: "LessNotEqual", + latexTrigger: ["\\lneqq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotLessNotEqual", + latexTrigger: ["\\nleqq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "LessOverEqual", + latexTrigger: ["\\leqq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "GreaterOverEqual", + latexTrigger: ["\\geqq"], + kind: "infix", + associativity: "right", + precedence: 265, + parse: "GreaterEqual" + }, + { + name: "Equal", + latexTrigger: ["="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + latexTrigger: ["*", "="], + kind: "infix", + associativity: "right", + precedence: 260, + parse: "StarEqual" + }, + { + name: "StarEqual", + latexTrigger: ["\\star", "="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "PlusEqual", + latexTrigger: ["+", "="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "MinusEqual", + latexTrigger: ["-", "="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "SlashEqual", + latexTrigger: ["/", "="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "EqualEqual", + latexTrigger: ["=", "="], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "EqualEqualEqual", + latexTrigger: ["=", "=", "="], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "TildeFullEqual", + // MathML: approximately equal to + latexTrigger: ["\\cong"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotTildeFullEqual", + // MathML: approximately but not actually equal to + latexTrigger: ["\\ncong"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + latexTrigger: [":", "="], + kind: "infix", + associativity: "right", + precedence: 260, + parse: "Assign" + }, + { + name: "Assign", + latexTrigger: ["\\coloneq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "Approx", + // Note: Mathematica TildeTilde + latexTrigger: ["\\approx"], + kind: "infix", + associativity: "right", + precedence: 247 + }, + { + name: "NotApprox", + // Note: Mathematica TildeTilde + latexTrigger: ["\\not", "\\approx"], + kind: "infix", + associativity: "right", + precedence: 247 + }, + { + name: "ApproxEqual", + // Note: Mathematica TildeEqual, MathML: `asymptotically equal to` + latexTrigger: ["\\approxeq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotApproxEqual", + // Note: Mathematica NotTildeEqual + latexTrigger: ["\\not", "\\approxeq"], + kind: "infix", + // Note: no LaTeX symbol for char U+2249 + associativity: "right", + precedence: 250 + }, + { + name: "NotEqual", + latexTrigger: ["\\ne"], + kind: "infix", + associativity: "right", + precedence: 255 + }, + { + name: "Unequal", + latexTrigger: ["!", "="], + kind: "infix", + associativity: "right", + precedence: 260 + // Note different precendence than \\ne per MathML + }, + { + name: "GreaterEqual", + latexTrigger: ["\\ge"], + kind: "infix", + associativity: "right", + precedence: 242 + // Note: different precendence than `>=` as per MathML + }, + { + latexTrigger: ["\\geq"], + kind: "infix", + associativity: "right", + precedence: 242, + // Note: different precendence than `>=` as per MathML + parse: "GreaterEqual" + }, + { + latexTrigger: [">", "="], + kind: "infix", + associativity: "right", + precedence: 243, + parse: "GreaterEqual" + }, + { + latexTrigger: ["\\geqslant"], + kind: "infix", + associativity: "right", + precedence: 265, + // Note: different precendence than `>=` as per MathML + parse: "GreaterEqual" + }, + { + name: "GreaterNotEqual", + latexTrigger: ["\\gneqq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotGreaterNotEqual", + latexTrigger: ["\\ngeqq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + latexTrigger: [">"], + kind: "infix", + associativity: "right", + precedence: 245, + parse: "Greater" + }, + { + name: "Greater", + latexTrigger: ["\\gt"], + kind: "infix", + associativity: "right", + precedence: 245 + }, + { + name: "NotGreater", + latexTrigger: ["\\ngtr"], + kind: "infix", + associativity: "right", + precedence: 244 + }, + { + latexTrigger: ["\\not", ">"], + kind: "infix", + associativity: "right", + precedence: 244, + parse: "NotGreater" + }, + { + name: "RingEqual", + latexTrigger: ["\\circeq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "TriangleEqual", + // MathML: delta equal to + latexTrigger: ["\\triangleq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "DotEqual", + // MathML: approaches the limit + latexTrigger: ["\\doteq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "DotEqualDot", + // MathML: Geometrically equal + latexTrigger: ["\\doteqdot"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "FallingDotEqual", + // MathML: approximately equal to or the image of + latexTrigger: ["\\fallingdotseq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "RisingDotEqual", + // MathML: image of or approximately equal to + latexTrigger: ["\\fallingdotseq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "QuestionEqual", + latexTrigger: ["\\questeq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "MuchLess", + latexTrigger: ["\\ll"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "MuchGreater", + latexTrigger: ["\\gg"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "Precedes", + latexTrigger: ["\\prec"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "Succeeds", + latexTrigger: ["\\succ"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "PrecedesEqual", + latexTrigger: ["\\preccurlyeq"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "SucceedsEqual", + latexTrigger: ["\\curlyeqprec"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotPrecedes", + latexTrigger: ["\\nprec"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "NotSucceeds", + latexTrigger: ["\\nsucc"], + kind: "infix", + associativity: "right", + precedence: 260 + }, + { + name: "Between", + latexTrigger: ["\\between"], + kind: "infix", + associativity: "right", + precedence: 265 + } +]; +var DEFINITIONS_LOGIC = [ + // Constants + { + name: "True", + kind: "symbol", + latexTrigger: ["\\top"] + // ⊤ U+22A4 + }, + { + kind: "symbol", + latexTrigger: "\\mathrm{True}", + parse: "True" + }, + { + kind: "symbol", + latexTrigger: "\\operator{True}", + parse: "True" + }, + { + kind: "symbol", + latexTrigger: "\\mathsf{T}", + parse: "True" + }, + { + name: "False", + kind: "symbol", + latexTrigger: ["\\bot"] + // ⊥ U+22A5 + }, + { + kind: "symbol", + latexTrigger: "\\operator{False}", + parse: "True" + }, + { + kind: "symbol", + latexTrigger: "\\mathsf{F}", + parse: "True" + }, + { + name: "Maybe", + kind: "symbol", + latexTrigger: "\\operatorname{Maybe}", + serialize: "\\operatorname{Maybe}" + }, + { + kind: "symbol", + latexTrigger: "\\mathrm{Maybe}", + parse: "Maybe" + }, + // Operators + { + name: "And", + kind: "infix", + latexTrigger: ["\\land"], + precedence: 317 + // serialize: '\\land', + }, + { kind: "infix", latexTrigger: ["\\wedge"], parse: "And", precedence: 317 }, + { kind: "infix", latexTrigger: "\\&", parse: "And", precedence: 317 }, + { + kind: "infix", + latexTrigger: "\\operatorname{and}", + parse: "And", + precedence: 317 + }, + { + name: "Or", + kind: "infix", + latexTrigger: ["\\lor"], + precedence: 310 + }, + { kind: "infix", latexTrigger: ["\\vee"], parse: "Or", precedence: 310 }, + { kind: "infix", latexTrigger: "\\parallel", parse: "Or", precedence: 310 }, + { + kind: "infix", + latexTrigger: "\\operatorname{or}", + parse: "And", + precedence: 310 + }, + { + name: "Xor", + kind: "infix", + latexTrigger: ["\\veebar"], + precedence: 315 + }, + // Possible alt: \oplus ⊕ U+2295 + { + name: "Not", + kind: "prefix", + latexTrigger: ["\\lnot"], + precedence: 880 + }, + { + name: "Nand", + kind: "infix", + latexTrigger: ["\\barwedge"], + precedence: 315 + // serialize: '\\mid', + }, + { + name: "Nor", + kind: "infix", + latexTrigger: ["\u22BD"], + // bar vee + precedence: 315 + // serialize: '\\downarrow', + }, + // Functions + { + kind: "function", + identifierTrigger: "and", + parse: "And" + }, + { + kind: "function", + identifierTrigger: "or", + parse: "Or" + }, + { + kind: "function", + identifierTrigger: "not", + parse: "Not" + }, + // Relations + { + name: "Implies", + kind: "infix", + precedence: 220, + associativity: "right", + latexTrigger: ["\\implies"], + serialize: "\\implies" + }, + { + latexTrigger: ["\\Rightarrow"], + kind: "infix", + precedence: 220, + associativity: "right", + parse: "Implies" + }, + { + name: "Equivalent", + // MathML: identical to, Mathematica: Congruent + latexTrigger: ["\\iff"], + kind: "infix", + associativity: "right", + precedence: 219 + }, + { + latexTrigger: ["\\Leftrightarrow"], + kind: "infix", + associativity: "right", + precedence: 219, + parse: "Equivalent" + }, + { + latexTrigger: ["\\equiv"], + kind: "infix", + associativity: "right", + precedence: 219, + parse: "Equivalent" + }, + { + name: "Proves", + kind: "infix", + latexTrigger: ["\\vdash"], + precedence: 220, + associativity: "right", + serialize: "\\vdash" + }, + { + name: "Entails", + kind: "infix", + latexTrigger: ["\\vDash"], + precedence: 220, + associativity: "right", + serialize: "\\vDash" + }, + { + name: "Satisfies", + kind: "infix", + latexTrigger: ["\\models"], + precedence: 220, + associativity: "right", + serialize: "\\models" + } +]; +function parseSingleArg(cmd) { + return (parser) => { + const arg = parser.parseGroup(); + return arg === null ? [cmd] : [cmd, arg]; + }; +} +var DEFINITIONS_OTHERS = [ + { + name: "Overscript", + latexTrigger: ["\\overset"], + kind: "infix", + precedence: 700 + // @todo: not in MathML + }, + { + name: "Underscript", + latexTrigger: ["\\underset"], + kind: "infix", + precedence: 700 + // @todo: not in MathML + }, + { + name: "Increment", + latexTrigger: ["+", "+"], + kind: "postfix", + precedence: 880 + }, + { + name: "Decrement", + latexTrigger: ["-", "-"], + kind: "postfix", + precedence: 880 + }, + { + name: "PreIncrement", + latexTrigger: ["+", "+"], + kind: "prefix", + precedence: 880 + }, + { + name: "PreDecrement", + latexTrigger: ["-", "-"], + kind: "prefix", + precedence: 880 + }, + { + name: "Ring", + // Aka 'Composition', i.e. function composition + latexTrigger: ["\\circ"], + kind: "infix", + precedence: 265 + // @todo: MathML is 950 + // @todo: check lhs and rhs are functions + }, + { + name: "Transpose", + latexTrigger: ["^", "T"], + kind: "postfix" + // @todo: if lhs is a list/tensor + }, + { + // @todo: if lhs is a list/tensor + name: "ConjugateTranspose", + latexTrigger: ["^", "H"], + kind: "postfix" + }, + { + name: "StringJoin", + // @todo From Mathematica...? + latexTrigger: ["\\lt", "\\gt"], + kind: "infix", + precedence: 780 + }, + { + name: "Starstar", + latexTrigger: ["\\star", "\\star"], + kind: "infix", + precedence: 780 + }, + { + // Partial derivative using a variation of the Euler notation: `∂_xf(x)` + // (the Euler notation uses `D_1f(x)` where "1" is for the first variable + // For the Leibniz notation see 'Divide' that handles `∂f/∂x` + name: "PartialDerivative", + // PartialDerivative(expr, {lists of vars}, degree) + latexTrigger: ["\\partial"], + kind: "prefix", + parse: (parser) => { + var _a, _b, _c, _d; + let done = false; + let sup = "Nothing"; + let sub2 = "Nothing"; + while (!done) { + parser.skipSpace(); + if (parser.match("_")) { + sub2 = (_a = parser.parseGroup()) != null ? _a : parser.parseToken(); + } else if (parser.match("^")) { + sup = (_b = parser.parseGroup()) != null ? _b : parser.parseToken(); + } else { + done = true; + } + } + const seq = getSequence(sub2); + if (seq) + sub2 = ["List", ...seq]; + if (sub2 === null || sup === null) + return null; + let rhs = (_c = parser.parseGroup()) != null ? _c : "Nothing"; + if (rhs !== "Nothing" && !isEmptySequence(rhs)) { + const args = (_d = parser.parseArguments()) != null ? _d : ["Nothing"]; + rhs = [rhs, ...args]; + } + return ["PartialDerivative", rhs, sub2, sup]; + }, + serialize: (serializer, expr) => { + var _a; + let result = "\\partial"; + const fn = op(expr, 1); + const vars = op(expr, 2); + const degree = op(expr, 3); + if (vars !== null && vars !== "Nothing") { + if (head(vars) === "List") { + result += "_{" + serializer.serialize(["Sequence", ...(_a = ops(vars)) != null ? _a : []]) + "}"; + } else { + result += "_{" + serializer.serialize(vars) + "}"; + } + } + if (degree !== null && degree !== "Nothing") + result += "^{" + serializer.serialize(degree) + "}"; + if (fn !== null && fn !== "Nothing") + result += serializer.serialize(fn); + return result; + }, + precedence: 740 + }, + { + name: "OverBar", + latexTrigger: ["\\overline"], + parse: parseSingleArg("OverBar") + }, + { + name: "UnderBar", + latexTrigger: ["\\underline"], + parse: parseSingleArg("UnderBar") + }, + { + name: "OverVector", + latexTrigger: ["\\vec"], + parse: parseSingleArg("OverVector") + }, + { + name: "OverTilde", + latexTrigger: ["\\tilde"], + parse: parseSingleArg("OverTilde") + }, + { + name: "OverHat", + latexTrigger: ["\\hat"], + parse: parseSingleArg("OverHat") + }, + { + name: "OverRightArrow", + latexTrigger: ["\\overrightarrow"], + parse: parseSingleArg("OverRightArrow") + }, + { + name: "OverLeftArrow", + latexTrigger: ["\\overleftarrow"], + parse: parseSingleArg("OverLeftArrow") + }, + { + name: "OverRightDoubleArrow", + latexTrigger: ["\\Overrightarrow"], + parse: parseSingleArg("OverRightDoubleArrow") + }, + { + name: "OverLeftHarpoon", + latexTrigger: ["\\overleftharpoon"], + parse: parseSingleArg("OverLeftHarpoon") + }, + { + name: "OverRightHarpoon", + latexTrigger: ["\\overrightharpoon"], + parse: parseSingleArg("OverRightHarpoon") + }, + { + name: "OverLeftRightArrow", + latexTrigger: ["\\overleftrightarrow"], + parse: parseSingleArg("OverLeftRightArrow") + }, + { + name: "OverBrace", + latexTrigger: ["\\overbrace"], + parse: parseSingleArg("OverBrace") + }, + { + name: "OverLineSegment", + latexTrigger: ["\\overlinesegment"], + parse: parseSingleArg("OverLineSegment") + }, + { + name: "OverGroup", + latexTrigger: ["\\overgroup"], + parse: parseSingleArg("OverGroup") + }, + { + latexTrigger: ["\\displaystyle"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\textstyle"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\scriptstyle"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\scriptscriptstyle"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\tiny"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\scriptsize"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\footnotesize"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\small"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\normalsize"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\large"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\Large"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\LARGE"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\huge"], + parse: () => ["Sequence"] + }, + { + latexTrigger: ["\\Huge"], + parse: () => ["Sequence"] + }, + { + name: "Style", + serialize: (serializer, expr) => { + let result = serializer.serialize(op(expr, 1)); + const dict = dictionary(op(expr, 2)); + if (dict === null) + return result; + if (stringValue(dict.display) === "block") + result = joinLatex(["{\\displaystyle", result, "}"]); + else if (stringValue(dict.display) === "inline") + result = joinLatex(["{\\textstyle", result, "}"]); + else if (stringValue(dict.display) === "script") + result = joinLatex(["{\\scriptstyle", result, "}"]); + else if (stringValue(dict.display) === "scriptscript") + result = joinLatex(["{\\scriptscriptstyle", result, "}"]); + const v = machineValue(dict.size); + if (v !== null && v >= 1 && v <= 10) { + result = joinLatex([ + "{", + { + 1: "\\tiny", + 2: "\\scriptsize", + 3: "\\footnotesize", + 4: "\\small", + 5: "\\normalsize", + 6: "\\large", + 7: "\\Large", + 8: "\\LARGE", + 9: "\\huge", + 10: "\\Huge" + }[v], + result, + "}" + ]); + } + return result; + } + }, + { + latexTrigger: ["\\!"], + parse: () => ["HorizontalSpacing", -3] + }, + { + latexTrigger: ["\\ "], + parse: () => ["HorizontalSpacing", 6] + }, + { + latexTrigger: ["\\:"], + parse: () => ["HorizontalSpacing", 4] + }, + { + latexTrigger: ["\\enskip"], + parse: () => ["HorizontalSpacing", 9] + }, + { + latexTrigger: ["\\quad"], + parse: () => ["HorizontalSpacing", 18] + }, + { + latexTrigger: ["\\qquad"], + parse: () => ["HorizontalSpacing", 36] + }, + { + latexTrigger: ["\\,"], + parse: () => ["HorizontalSpacing", 3] + }, + { + latexTrigger: ["\\;"], + parse: () => ["HorizontalSpacing", 5] + }, + { + latexTrigger: ["\\enspace"], + parse: () => ["HorizontalSpacing", 9] + }, + { + name: "HorizontalSpacing", + // The `HorizontalSpacing` function has two forms + // `["HorizontalSpacing", number]` -> indicate a space of mu units + // `["HorizontalSpacing", expr, 'op'|'bin'|rel]` -> indicate a spacing around and expression, i.e. `\mathbin{x}`, etc... + serialize: (serializer, expr) => { + var _a; + if (op(expr, 2)) { + return serializer.serialize(op(expr, 1)); + } + const v = machineValue(op(expr, 1)); + if (v === null) + return ""; + return (_a = { + "-3": "\\!", + 6: "\\ ", + 3: "\\,", + 4: "\\:", + 5: "\\;", + 9: "\\enspace", + 18: "\\quad", + 36: "\\qquad" + }[v]) != null ? _a : ""; + } + } + // if ( + // [ + // '\\!', + // '\\:', + // '\\enskip', + // '\\quad', + // '\\,', + // '\\;', + // '\\enspace', + // '\\qquad', + // '\\selectfont', + // ].includes(token) + // ) { + // return 'skip'; + // } + // { + // name: '', + // trigger: '\\mathring', + // }, + // { + // name: '', + // trigger: '\\check', + // }, +]; +function parseTrig(op3) { + return (parser, until) => { + var _a, _b; + const head2 = (_b = (_a = { + "\\arcsin": "Arcsin", + "\\arccos": "Arccos", + "\\arctan": "Arctan", + "\\arctg": "Arctan", + "\\arcctg": "Arctan", + "\\arcsec": "Arcsec", + "\\arccsc": " Arccsc", + "\\arsinh": "Arsinh", + "\\arcosh": "Arcosh", + "\\artanh": "Artanh", + "\\arcsech": "Arcsech", + "\\arccsch": "Arcsch", + // '\\arg', + "\\ch": "Cosh", + "\\cos": "Cos", + "\\cosec": "Csc", + "\\cosh": "Csch", + "\\cot": "Cot", + "\\cotg": "Cot", + "\\coth": "Coth", + "\\csc": "Csc", + "\\ctg": "Cot", + "\\cth": "Coth", + "\\sec": "Sec", + "\\sin": "Sin", + "\\sinh": "Sinh", + "\\sh": "Sinh", + "\\tan": "Tan", + "\\tanh": "Tanh", + "\\tg": "Tan", + "\\th": "Tanh" + }[op3 != null ? op3 : ""]) != null ? _a : op3) != null ? _b : ""; + if (parser.atTerminator(until)) + return head2; + const fn = parser.parsePostfixOperator(head2, until); + if (fn !== null) + return fn; + const args = parser.parseArguments("implicit", until); + return args === null ? head2 : [head2, ...args]; + }; +} +var DEFINITIONS_TRIGONOMETRY = [ + { + name: "Arcsin", + latexTrigger: ["\\arcsin"], + parse: parseTrig("Arcsin") + }, + { + name: "Arccos", + latexTrigger: ["\\arccos"], + parse: parseTrig("Arccos") + }, + { + name: "Arctan", + latexTrigger: ["\\arctan"], + parse: parseTrig("Arctan") + }, + { + latexTrigger: ["\\arctg"], + parse: parseTrig("Arctan") + }, + { + name: "Arccot", + latexTrigger: ["\\arcctg"], + parse: parseTrig("Arccot") + }, + { + name: "Arcsec", + latexTrigger: "arcsec", + parse: parseTrig("Arcsec") + }, + { + name: "Arccsc", + latexTrigger: ["\\arccsc"], + parse: parseTrig("Arccsc") + }, + { + name: "Arsinh", + latexTrigger: ["\\arsinh"], + parse: parseTrig("Arsinh") + }, + { + name: "Arcosh", + latexTrigger: ["\\arcosh"], + parse: parseTrig("Arcosh") + }, + { + name: "Artanh", + latexTrigger: ["\\artanh"], + parse: parseTrig("Artanh") + }, + { + name: "Arsech", + latexTrigger: ["\\arsech"], + parse: parseTrig("Arsech") + }, + { + name: "Arcsch", + latexTrigger: ["\\arcsch"], + parse: parseTrig("Arcsch") + }, + { + // Rusian hyperbolic cosine + latexTrigger: ["\\ch"], + parse: parseTrig("Cosh") + }, + { + name: "Cosec", + latexTrigger: ["\\cosec"], + parse: parseTrig("Cosec") + }, + { + name: "Cosh", + latexTrigger: ["\\cosh"], + parse: parseTrig("Cosh") + }, + { + name: "Cot", + latexTrigger: ["\\cot"], + parse: parseTrig("Cot") + }, + { + latexTrigger: ["\\cotg"], + parse: parseTrig("Cot") + }, + { + name: "Coth", + latexTrigger: ["\\coth"], + parse: parseTrig("Coth") + }, + { + name: "Csc", + latexTrigger: ["\\csc"], + parse: parseTrig("Csc") + }, + { + // Rusian cotangent + latexTrigger: ["\\ctg"], + parse: parseTrig("Cot") + }, + { + latexTrigger: ["\\cth"], + parse: parseTrig("Cotanh") + }, + { + name: "Sec", + latexTrigger: ["\\sec"], + parse: parseTrig("Sec") + }, + { + name: "Sinh", + latexTrigger: ["\\sinh"], + parse: parseTrig("Sinh") + }, + { + latexTrigger: ["\\sh"], + parse: parseTrig("Sinh") + }, + { + name: "Tan", + latexTrigger: ["\\tan"], + parse: parseTrig("Tan") + }, + { + latexTrigger: ["\\tg"], + parse: parseTrig("Tan") + }, + { + name: "Tanh", + latexTrigger: ["\\tanh"], + parse: parseTrig("Tanh") + }, + { + latexTrigger: ["\\th"], + parse: parseTrig("Tanh") + }, + { + name: "Cos", + latexTrigger: ["\\cos"], + parse: parseTrig("Cos") + }, + { + name: "Sin", + latexTrigger: ["\\sin"], + parse: parseTrig("Sin") + } +]; +var DEFINITIONS_SETS = [ + // Constants + { name: "AlgebraicNumber", latexTrigger: "\\bar\\Q" }, + { name: "ComplexNumber", latexTrigger: ["\\C"] }, + { latexTrigger: "\\mathbb{C}", parse: "ComplexNumber" }, + { name: "ImaginaryNumber", latexTrigger: ["\\imaginaryI", "\\R"] }, + { name: "ExtendedComplexNumber", latexTrigger: ["\\bar", "\\C"] }, + { name: "EmptySet", latexTrigger: ["\\emptyset"] }, + { latexTrigger: ["\\varnothing"], parse: "EmptySet" }, + // Parsing only + { name: "Integer", latexTrigger: ["\\Z"] }, + { latexTrigger: "\\mathbb{Z}", parse: "Integer" }, + { name: "RationalNumber", latexTrigger: ["\\Q"] }, + { name: "RealNumber", latexTrigger: ["\\R"] }, + { latexTrigger: "\\mathbb{R}", parse: "RealNumber" }, + { name: "ExtendedRealNumber", latexTrigger: ["\\bar", "\\R"] }, + { name: "TranscendentalNumber", latexTrigger: "\\R-\\bar\\Q" }, + { latexTrigger: "\\R\\backslash\\bar\\Q", parse: "TranscendentalNumber" }, + // Real numbers < 0 + { name: "NegativeNumber", latexTrigger: "\\R^-" }, + { latexTrigger: "\\R^{-}", parse: "NegativeNumber" }, + { latexTrigger: "\\R_-", parse: "NegativeNumber" }, + { latexTrigger: "\\R_{-}", parse: "NegativeNumber" }, + { latexTrigger: "\\R^{\\lt}", parse: "NegativeNumber" }, + // Real numbers > 0 + { name: "PositiveNumber", latexTrigger: "\\R^+" }, + { latexTrigger: "\\R^{+}", parse: "PositiveNumber" }, + { latexTrigger: "\\R_+", parse: "PositiveNumber" }, + { latexTrigger: "\\R_{+}", parse: "PositiveNumber" }, + { latexTrigger: "\\R^{\\gt}", parse: "PositiveNumber" }, + // Real numbers <= 0 + { name: "NonPositiveNumber", latexTrigger: "\\R^{0-}" }, + { latexTrigger: "\\R^{-0}", parse: "NonPositiveNumber" }, + { latexTrigger: "\\R^{\\leq}", parse: "NonPositiveNumber" }, + // Integers < 0 + { name: "NegativeInteger", latexTrigger: "\\Z^-" }, + { latexTrigger: "\\Z^-", parse: "NegativeInteger" }, + { latexTrigger: "\\Z^{-}", parse: "NegativeInteger" }, + { latexTrigger: "\\Z_-", parse: "NegativeInteger" }, + { latexTrigger: "\\Z_{-}", parse: "NegativeInteger" }, + { latexTrigger: "\\Z^{\\lt}", parse: "NegativeInteger" }, + // Integers > 0 + { name: "PositiveInteger", latexTrigger: "\\Z^+" }, + { latexTrigger: "\\Z^{+}", parse: "PositiveInteger" }, + { latexTrigger: "\\Z_+", parse: "PositiveInteger" }, + { latexTrigger: "\\Z_{+}", parse: "PositiveInteger" }, + { latexTrigger: "\\Z^{\\gt}", parse: "PositiveInteger" }, + { latexTrigger: "\\Z^{\\gt0}", parse: "PositiveInteger" }, + { latexTrigger: "\\N^+", parse: "PositiveInteger" }, + { latexTrigger: "\\N^{+}", parse: "PositiveInteger" }, + { latexTrigger: "\\N^*", parse: "PositiveInteger" }, + { latexTrigger: "\\N^{*}", parse: "PositiveInteger" }, + { latexTrigger: "\\N^\\star", parse: "PositiveInteger" }, + { latexTrigger: "\\N^{\\star}", parse: "PositiveInteger" }, + { latexTrigger: "\\N_1", parse: "PositiveInteger" }, + { latexTrigger: "\\N_{1}", parse: "PositiveInteger" }, + // https://mathvault.ca/hub/higher-math/math-symbols/algebra-symbols/ + // Integers >= 0 + { name: "NonNegativeInteger", latexTrigger: ["\\N"] }, + { latexTrigger: "\\Z^{+0}", parse: "NonNegativeInteger" }, + { latexTrigger: "\\Z^{\\geq}", parse: "NonNegativeInteger" }, + { latexTrigger: "\\Z^{\\geq0}", parse: "NonNegativeInteger" }, + { latexTrigger: "\\Z^{0+}", parse: "NonNegativeInteger" }, + { latexTrigger: "\\mathbb{N}", parse: "NonNegativeInteger" }, + { latexTrigger: "\\N_0", parse: "NonNegativeInteger" }, + { latexTrigger: "\\N_{0}", parse: "NonNegativeInteger" }, + // + // Set Expressions + // + // @todo: could also have a `CartesianPower` function with a number `rhs` + { + name: "CartesianProduct", + latexTrigger: ["\\times"], + kind: "infix", + associativity: "right", + // Caution: cartesian product is not associative + precedence: 390, + // Same as Multiply? + parse: (parser, lhs, until) => { + if (390 < until.minPrec) + return null; + const ce = parser.computeEngine; + if (!ce || !ce.box(lhs).domain.isCompatible("Set")) + return null; + const index = parser.index; + const rhs = parser.parseExpression({ ...until, minPrec: 390 }); + if (rhs === null || ce.box(lhs).domain.isCompatible("Set") !== true) { + parser.index = index; + return null; + } + return ["CartesianProduct", lhs, rhs]; + } + }, + { + latexTrigger: ["^", "\\complement"], + kind: "postfix", + parse: (_parser, lhs) => { + return ["Complement", lhs]; + } + // precedence: 240, + // @todo: serialize for the multiple argument case + }, + { + name: "Complement", + latexTrigger: ["^", "<{>", "\\complement", "<}>"], + kind: "postfix" + // precedence: 240, + // @todo: serialize for the multiple argument case + }, + { + name: "Intersection", + latexTrigger: ["\\cap"], + kind: "infix", + precedence: 350 + }, + { + name: "Interval", + // @todo: parse opening '[' or ']' or '(' + serialize: serializeSet + }, + { + name: "Multiple", + // @todo: parse + serialize: serializeSet + }, + { + name: "Union", + latexTrigger: ["\\cup"], + kind: "infix", + precedence: 350 + }, + { + name: "Range", + // @todo: parse opening '[' or ']' or '(' + serialize: serializeSet + }, + // { + // name: 'Set', + // kind: 'matchfix', + // openDelimiter: '{', + // closeDelimiter: '}', + // precedence: 20, + // // @todo: the set syntax can also include conditions... + // }, + { + name: "SetMinus", + latexTrigger: ["\\setminus"], + kind: "infix", + precedence: 650 + }, + { + name: "SymmetricDifference", + latexTrigger: ["\\triangle"], + // or \\ominus + kind: "infix", + // @todo: parser could check that lhs and rhs are sets + precedence: 260 + }, + // Predicates/Relations + { + latexTrigger: ["\\ni"], + kind: "infix", + associativity: "right", + precedence: 160, + // As per MathML, lower precedence + parse: (parser, lhs, terminator) => { + const rhs = parser.parseExpression(terminator); + return rhs === null ? null : ["Element", rhs, lhs]; + } + }, + { + name: "Element", + latexTrigger: ["\\in"], + kind: "infix", + precedence: 240 + }, + { + name: "NotElement", + latexTrigger: ["\\notin"], + kind: "infix", + precedence: 240 + }, + { + name: "NotSubset", + latexTrigger: ["\\nsubset"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + name: "NotSuperset", + latexTrigger: ["\\nsupset"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + name: "NotSubsetNotEqual", + latexTrigger: ["\\nsubseteq"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + name: "NotSupersetNotEqual", + latexTrigger: ["\\nsupseteq"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + name: "SquareSubset", + // MathML: square image of + latexTrigger: ["\\sqsubset"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "SquareSubsetEqual", + // MathML: square image of or equal to + latexTrigger: ["\\sqsubseteq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "SquareSuperset", + // MathML: square original of + latexTrigger: ["\\sqsupset"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "SquareSupersetEqual", + // MathML: square original of or equal + latexTrigger: ["\\sqsupseteq"], + kind: "infix", + associativity: "right", + precedence: 265 + }, + { + name: "Subset", + latexTrigger: ["\\subset"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + latexTrigger: ["\\subsetneq"], + kind: "infix", + associativity: "right", + precedence: 240, + parse: "Subset" + }, + { + latexTrigger: ["\\varsubsetneqq"], + kind: "infix", + associativity: "right", + precedence: 240, + parse: "Subset" + }, + { + name: "SubsetEqual", + latexTrigger: ["\\subseteq"], + kind: "infix", + precedence: 240 + }, + { + name: "Superset", + latexTrigger: ["\\supset"], + kind: "infix", + associativity: "right", + precedence: 240 + }, + { + latexTrigger: ["\\supsetneq"], + kind: "infix", + associativity: "right", + precedence: 240, + parse: "Superset" + }, + { + latexTrigger: ["\\varsupsetneq"], + kind: "infix", + associativity: "right", + precedence: 240, + parse: "Superset" + }, + { + name: "SupersetEqual", + latexTrigger: ["\\supseteq"], + kind: "infix", + associativity: "right", + precedence: 240 + } +]; +function serializeSet(serializer, expr) { + var _a; + if (expr === null) + return ""; + const h = head(expr); + if (h === null) + return ""; + if (h === "Set") { + if (nops(expr) === 0) + return "\\emptyset"; + if (nops(expr) === 2 && head(op(expr, 2)) === "Condition") { + return joinLatex([ + "\\left\\lbrace", + serializer.serialize(op(expr, 1)), + "\\middle\\mid", + serializer.serialize(op(expr, 2)), + "\\right\\rbrace" + ]); + } + return joinLatex([ + "\\left\\lbrace", + ...((_a = ops(expr)) != null ? _a : []).map((x) => serializer.serialize(x) + " ,"), + "\\right\\rbrace" + ]); + } + if (h === "Multiple") { + } + if (h === "Range") { + return joinLatex([ + "\\mathopen\\lbrack", + serializer.serialize(op(expr, 1)), + ", ", + serializer.serialize(op(expr, 2)), + "\\mathclose\\rbrack" + ]); + } + if (h === "Interval") { + let op12 = op(expr, 1); + let op22 = op(expr, 2); + let openLeft = false; + let openRight = false; + if (head(op12) === "Open") { + op12 = op(op12, 1); + openLeft = true; + } + if (head(op22) === "Open") { + op22 = op(op22, 1); + openRight = true; + } + return joinLatex([ + `\\mathopen${openLeft ? "\\rbrack" : "\\lbrack"}`, + serializer.serialize(op12), + ", ", + serializer.serialize(op22), + `\\mathclose${openRight ? "\\lbrack" : "\\rbrack"}` + ]); + } + const style = serializer.numericSetStyle(expr, serializer.level); + if (style === "compact") { + } else if (style === "interval") { + } else if (style === "regular") { + } else if (style === "set-builder") { + } + return ""; +} +function parseIntegral(command, n = 1) { + return (parser) => { + var _a, _b, _c; + parser.skipSpace(); + let sup = null; + let sub2 = null; + while (!(sub2 !== null && sup !== null) && (parser.peek === "_" || parser.peek === "^")) { + if (parser.match("_")) + sub2 = (_a = parser.parseGroup()) != null ? _a : parser.parseToken(); + else if (parser.match("^")) { + sup = (_b = parser.parseGroup()) != null ? _b : parser.parseToken(); + } + parser.skipSpace(); + } + if (sub2 === "Nothing" || isEmptySequence(sub2)) + sub2 = null; + if (sup === "Nothing" || isEmptySequence(sup)) + sup = null; + let [fn, index] = parseIntegralBody(parser, n); + if (fn && !index) { + if (head(fn) === "Add" || head(fn) === "Subtract") { + const newOp = []; + const rest = []; + for (const op3 of (_c = ops(fn)) != null ? _c : []) { + if (index) + rest.push(op3); + else { + let op22; + [op22, index] = parseIntegralBodyExpression(op3); + newOp.push(op22 != null ? op22 : op3); + } + } + if (index !== null && rest.length > 0) { + return [ + "Add", + makeIntegral( + parser, + command, + ["Add", ...newOp], + [{ index, sub: sub2, sup }] + ), + ...rest + ]; + } + } else if (head(fn) === "Divide") { + let altNumerator; + [altNumerator, index] = parseIntegralBodyExpression(op(fn, 1)); + if (altNumerator !== null && index !== null) { + fn = ["Divide", altNumerator, op(fn, 2)]; + } + } + } + return makeIntegral(parser, command, fn, [{ index, sub: sub2, sup }]); + }; +} +function makeIntegral(parser, command, fn, ranges) { + if (fn && ranges.length === 0) + return [command, fn]; + fn != null ? fn : fn = "Nothing"; + if (parser.computeEngine) { + const ce = parser.computeEngine; + let hasIndex = false; + const idTable = {}; + for (const r of ranges) + if (r.index) { + hasIndex = true; + idTable[r.index] = { domain: "ExtendedRealNumber" }; + } + if (hasIndex) + ce.pushScope(idTable); + fn = ce.box(fn).json; + if (hasIndex) + ce.popScope(); + } + return [command, fn, ...ranges.map((r) => makeRange(r))]; +} +function makeRange(range) { + var _a; + const heldIndex = range.index ? ["Hold", range.index] : "Nothing"; + if (range.sup !== null) + return ["Tuple", heldIndex, (_a = range.sub) != null ? _a : "Nothing", range.sup]; + if (range.sub !== null) + return ["Tuple", heldIndex, range.sub]; + return heldIndex; +} +function parseIntegralBody(parser, n = 1) { + var _a; + const start = parser.index; + let found = false; + let fn = parser.parseExpression({ + minPrec: 266, + condition: () => { + if (parser.matchAll(["\\mathrm", "<{>", "d", "<}>"])) + found = true; + else if (parser.matchAll(["\\operatorname", "<{>", "d", "<}>"])) + found = true; + return found; + } + }); + if (!found) { + parser.index = start; + fn = parser.parseExpression({ + minPrec: 266, + condition: () => { + if (parser.match("d")) + found = true; + return found; + } + }); + } + if (fn && !found) + return parseIntegralBodyExpression(fn); + const indexes = parseIndexes(parser, n); + return [fn, (_a = indexes[0]) != null ? _a : null]; +} +function parseIndexes(parser, n = 1) { + parser.skipSpace(); + const result = []; + const index = symbol(parser.parseSymbol()); + if (index === null) + return []; + result.push(index); + return result; +} +function parseIntegralBodyExpression(expr) { + const h = head(expr); + const op12 = op(expr, 1); + if (!op12) + return [expr, null]; + if (h === "Multiply") { + const args = ops(expr); + if (args && args.length > 1) { + const sym = symbol(args[args.length - 2]); + if (sym === "d" || sym === "d_upright") { + if (args.length === 2) + return [null, symbol(args[1])]; + if (args.length === 3) + return [args[0], symbol(args[2])]; + return [ + ["Multiply", ...args.slice(0, -2)], + symbol(args[args.length - 1]) + ]; + } + const [fn2, index] = parseIntegralBodyExpression(args[args.length - 1]); + if (fn2) + return [["Multiply", ...args.slice(0, -1), fn2], index]; + } + } else if (h === "Delimiter") { + const [fn2, index] = parseIntegralBodyExpression(op12); + if (index) { + if (!fn2) + return [null, index]; + return [["Delimiter", fn2, ...ops(expr).slice(1)], index]; + } + } else if (h === "Add") { + const args = ops(expr); + if (args && args.length > 0) { + const [fn2, index] = parseIntegralBodyExpression(args[args.length - 1]); + if (index) { + if (fn2) + return [["Add", ...args.slice(0, -1), fn2], index]; + if (args.length > 2) + return [["Add", ...args.slice(0, -1)], index]; + if (args.length > 2) + return [args[0], index]; + } + } + } else if (h === "Negate") { + const [fn2, index] = parseIntegralBodyExpression(op12); + if (index) + return [fn2 ? ["Negate", fn2] : null, index]; + } else if (h === "Divide") { + const [fn2, index] = parseIntegralBodyExpression(op12); + if (index) + return [["Divide", fn2 != null ? fn2 : 1, op(expr, 2)], index]; + } else { + const args = ops(expr); + if ((args == null ? void 0 : args.length) === 1) { + const [arg2, index] = parseIntegralBodyExpression(args[0]); + if (index) + return [[head(expr), arg2], index]; + } + } + return [expr, null]; +} +function serializeIntegral(command) { + return (serializer, expr) => { + var _a; + if (!op(expr, 1)) + return command; + let arg = op(expr, 2); + const h = head(arg); + let indexExpr = null; + if (h === "Tuple" || h === "Triple" || h === "Pair" || h === "Single") { + indexExpr = op(arg, 1); + } else if (h === "Hold") { + indexExpr = op(arg, 1); + } else { + indexExpr = (_a = op(arg, 1)) != null ? _a : "x"; + arg = null; + } + if (head(indexExpr) === "Hold") + indexExpr = op(indexExpr, 1); + const index = indexExpr !== null ? symbol(indexExpr) : null; + let fn = op(expr, 1); + if (head(fn) === "Lambda" && op(fn, 1)) + fn = subs(op(fn, 1), { _: index != null ? index : "x", _1: index != null ? index : "x" }); + if (!arg) { + if (!index || index === "Nothing") + return joinLatex([command, "\\!", serializer.serialize(fn)]); + return joinLatex([ + command, + "\\!", + serializer.serialize(fn), + "\\,\\operatorname{d}", + serializer.serialize(index) + ]); + } + const subSymbol = op(arg, 2) ? symbol(op(arg, 2)) : null; + let sub2 = arg && subSymbol !== "Nothing" ? serializer.serialize(op(arg, 2)) : ""; + if (sub2.length > 0) + sub2 = `_{${sub2}}`; + let sup = ""; + const supSymbol = op(arg, 3) ? symbol(op(arg, 3)) : null; + if (op(arg, 3) && supSymbol !== "Nothing") + sup = `^{${serializer.serialize(op(arg, 3))}}`; + return joinLatex([ + command, + sup, + sub2, + "\\!", + serializer.serialize(fn), + ...index && symbol(index) !== "Nothing" ? ["\\,\\operatorname{d}", serializer.serialize(index)] : [] + ]); + }; +} +var DEFINITIONS_CALCULUS = [ + { + kind: "expression", + name: "Integrate", + latexTrigger: ["\\int"], + parse: parseIntegral("Integrate"), + serialize: serializeIntegral("\\int") + }, + { + kind: "expression", + latexTrigger: ["\\iint"], + parse: parseIntegral("Integrate", 2) + }, + { + kind: "expression", + latexTrigger: ["\\iiint"], + parse: parseIntegral("Integrate", 3) + }, + { + kind: "expression", + name: "CircularIntegrate", + latexTrigger: ["\\oint"], + parse: parseIntegral("CircularIntegrate"), + serialize: serializeIntegral("\\oint") + }, + { + kind: "expression", + latexTrigger: ["\\oiint"], + parse: parseIntegral("CircularIntegrate", 2) + }, + { + kind: "expression", + latexTrigger: ["\\oiiint"], + parse: parseIntegral("CircularIntegrate", 3) + } +]; +var SYMBOLS = [ + // Greek + ["alpha", "\\alpha", 945], + ["beta", "\\beta", 946], + ["gamma", "\\gamma", 947], + ["delta", "\\delta", 948], + ["epsilon", "\\epsilon", 949], + ["epsilonSymbol", "\\varepsilon", 1013], + // GREEK LUNATE EPSILON SYMBOL + ["zeta", "\\zeta", 950], + ["eta", "\\eta", 951], + ["theta", "\\theta", 952], + ["thetaSymbol", "\\vartheta", 977], + // Unicode GREEK THETA SYMBOL + ["iota", "\\iota", 953], + ["kappa", "\\kappa", 954], + ["kappaSymbol", "\\varkappa", 1008], + // GREEK KAPPA SYMBOL + ["lambda", "\\lambda", 955], + ["mu", "\\mu", 956], + ["nu", "\\nu", 957], + ["xi", "\\xi", 958], + ["omicron", "\\omicron", 959], + ["pi", "\\pi", 960], + ["piSymbol", "\\varpi", 982], + // GREEK PI SYMBOL + ["rho", "\\rho", 961], + ["rhoSymbol", "\\varrho", 1009], + // GREEK RHO SYMBOL + ["sigma", "\\sigma", 963], + ["finalSigma", "\\varsigma", 962], + //GREEK SMALL LETTER FINAL SIGMA + ["tau", "\\tau", 964], + ["phi", "\\phi", 981], + // Note GREEK PHI SYMBOL, but common usage in math + ["phiLetter", "\\varphi", 966], + ["upsilon", "\\upsilon", 965], + ["chi", "\\chi", 967], + ["psi", "\\psi", 968], + ["omega", "\\omega", 969], + ["Alpha", "\\Alpha", 913], + ["Beta", "\\Beta", 914], + ["Gamma", "\\Gamma", 915], + ["Delta", "\\Delta", 916], + ["Epsilon", "\\Epsilon", 917], + ["Zeta", "\\Zeta", 918], + ["Eta", "\\Eta", 919], + ["Theta", "\\Theta", 920], + ["Iota", "\\Iota", 921], + ["Kappa", "\\Kappa", 922], + ["Lambda", "\\Lambda", 923], + ["Mu", "\\Mu", 924], + ["Nu", "\\Nu", 925], + ["Xi", "\\Xi", 926], + ["Omicron", "\\Omicron", 927], + // ['Pi', '\\Pi', 0x03a0], + ["Rho", "\\Rho", 929], + ["Sigma", "\\Sigma", 931], + ["Tau", "\\Tau", 932], + ["Phi", "\\Phi", 934], + ["Upsilon", "\\Upsilon", 933], + ["Chi", "\\Chi", 935], + ["Psi", "\\Psi", 936], + ["Omega", "\\Omega", 937], + ["digamma", "\\digamma", 989], + // Hebrew + ["aleph", "\\aleph", 8501], + // Unicode ALEF SYMBOL + ["bet", "\\beth", 8502], + ["gimel", "\\gimel", 8503], + ["dalet", "\\daleth", 8504], + // Letter-like + ["ell", "\\ell", 8499], + // Unicode SCRIPT SMALL L + ["turnedCapitalF", "\\Finv", 8498], + // Unicode TURNED CAPITAL F' + ["turnedCapitalG", "\\Game", 8513], + // TURNED SANS-SERIF CAPITAL G + ["weierstrass", "\\wp", 8472], + // Unicode SCRIPT CAPITAL P + ["eth", "\\eth", 240], + ["invertedOhm", "\\mho", 8487], + // Unicode INVERTED OHM SIGN + ["hBar", "\\hbar", 295], + // Unicode LATIN SMALL LETTER H WITH STROKE + ["hSlash", "\\hslash", 8463], + // Unicode PLANCK CONSTANT OVER TWO PI + // Symbols + ["blackClubSuit", "\\clubsuit", 9827], + ["whiteHeartSuit", "\\heartsuit", 9825], + ["blackSpadeSuit", "\\spadesuit", 9824], + ["whiteDiamondSuit", "\\diamondsuit", 9826], + ["sharp", "\\sharp", 9839], + ["flat", "\\flat", 9837], + ["natural", "\\natural", 9838] +]; +var DEFINITIONS_SYMBOLS = [ + ...SYMBOLS.map(([symbol2, latex, _codepoint]) => { + return { + kind: "symbol", + name: symbol2, + latexTrigger: [latex], + parse: symbol2 + }; + }), + ...SYMBOLS.map(([symbol2, _latex, codepoint]) => { + return { + kind: "symbol", + latexTrigger: [String.fromCodePoint(codepoint)], + parse: symbol2 + }; + }) +]; +var DEFINITIONS_COMPLEX = [ + { + name: "Real", + kind: "function", + latexTrigger: ["\\Re"] + }, + { + name: "Imaginary", + kind: "function", + latexTrigger: ["\\Im"] + }, + { + name: "Argument", + kind: "function", + latexTrigger: ["\\arg"] + }, + { + name: "Conjugate", + latexTrigger: ["^", "\\star"], + kind: "postfix" + } +]; +var DEFINITIONS_STATISTICS = [ + { + name: "Mean", + kind: "function", + identifierTrigger: "mean" + }, + { + name: "Median", + kind: "function", + identifierTrigger: "median" + }, + { + name: "StandarDeviation", + kind: "function", + identifierTrigger: "stddev" + }, + { + latexTrigger: ["\\bar"], + kind: "expression", + parse: (parser, _until) => { + var _a; + const expr = (_a = parser.parseGroup()) != null ? _a : parser.parseToken(); + if (!expr || !symbol(expr)) + return null; + return ["Mean", expr]; + } + } +]; +var DEFAULT_DELIMITER = { + "(": "(", + ")": ")", + "[": "\\lbrack", + "]": "\\rbrack", + "{": "\\lbrace", + "}": "\\rbrace", + "<": "\\langle", + ">": "\\rangle", + "|": "\\vert", + "||": "\\Vert", + "\\lceil": "\\lceil", + "\\lfloor": "\\lfloor", + "\\rceil": "\\rceil", + "\\rfloor": "\\rfloor" +}; +function addEntry(result, entry, onError) { + const indexedEntry = makeIndexedEntry(entry, onError); + if (indexedEntry === null) + return; + const kind = "kind" in entry ? entry.kind : "expression"; + const latexTrigger = indexedEntry.latexTrigger; + if (typeof latexTrigger === "string") + result.lookahead = Math.max(result.lookahead, countTokens(latexTrigger)); + const tokensTrigger = tokenize(latexTrigger != null ? latexTrigger : "", []); + if ((latexTrigger == null ? void 0 : latexTrigger[1]) === "\\prime") + ; + if (tokensTrigger.length === 2 && /[_^]/.test(tokensTrigger[0]) && tokensTrigger[1] !== "<{>" && kind !== "function" && kind !== "environment" && kind !== "matchfix") { + let parse = entry.parse; + if (!parse && entry.name) { + if (kind === "postfix" || kind === "prefix") + parse = (_parser, expr) => [entry.name, expr]; + else + parse = entry.name; + } + addEntry( + result, + { + ...entry, + kind, + name: void 0, + serialize: void 0, + parse, + latexTrigger: [tokensTrigger[0], "<{>", tokensTrigger[1], "<}>"] + }, + onError + ); + } + result.defs.push(indexedEntry); + if (indexedEntry.name !== void 0) { + if (result.ids.has(indexedEntry.name)) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + indexedEntry.name, + "Duplicate definition. The name (MathJSON identifier) must be unique, but triggers can be shared by multiple definitions." + ] + }); + } + result.ids.set(indexedEntry.name, indexedEntry); + } +} +function indexLatexDictionary(dic, onError) { + const result = { + lookahead: 1, + ids: /* @__PURE__ */ new Map(), + defs: [] + }; + for (const entry of dic) + addEntry(result, entry, onError); + return result; +} +function makeIndexedEntry(entry, onError) { + var _a, _b, _c, _d; + if (!isValidEntry(entry, onError)) + return null; + const result = { + kind: "kind" in entry ? entry.kind : "expression" + }; + let tokensTrigger = null; + if ("latexTrigger" in entry) { + if (typeof entry.latexTrigger === "string") + tokensTrigger = tokenize(entry.latexTrigger, []); + else + tokensTrigger = entry.latexTrigger; + } + let idTrigger = null; + if ("identifierTrigger" in entry) { + idTrigger = entry.identifierTrigger; + } + if (tokensTrigger !== null) + result.latexTrigger = tokensToString(tokensTrigger); + if (idTrigger !== null) + result.identifierTrigger = idTrigger; + if (entry.name) { + result.name = entry.name; + result.serialize = makeSerializeHandler(entry, tokensTrigger, idTrigger); + } + if (result.kind === "matchfix" && isMatchfixEntry(entry)) { + result.openDelimiter = entry.openTrigger; + result.closeDelimiter = entry.closeTrigger; + } + if (result.kind === "symbol" && isSymbolEntry(entry)) { + result.precedence = (_a = entry.precedence) != null ? _a : 1e4; + } + if ((result.kind === "prefix" || result.kind === "postfix") && (isPrefixEntry(entry) || isPostfixEntry(entry))) { + if (tokensTrigger && (tokensTrigger[0] === "^" || tokensTrigger[0] === "_")) { + result.precedence = 720; + /* @__PURE__ */ console.assert( + entry.precedence === void 0, + "'precedence' is fixed and cannot be modified with ^ and _ triggers" + ); + } else + result.precedence = (_b = entry.precedence) != null ? _b : 1e4; + } + if (result.kind === "infix" && isInfixEntry(entry)) { + /* @__PURE__ */ console.assert( + !tokensTrigger || tokensTrigger[0] !== "^" && tokensTrigger[0] !== "_" || !entry.associativity || entry.associativity === "non" + ); + result.associativity = (_c = entry.associativity) != null ? _c : "non"; + result.precedence = (_d = entry.precedence) != null ? _d : 1e4; + } + const parse = makeParseHandler(entry, tokensTrigger, idTrigger); + if (parse) + result.parse = parse; + return result; +} +function makeSerializeHandler(entry, latexTrigger, idTrigger) { + var _a, _b, _c, _d; + if (typeof entry.serialize === "function") + return entry.serialize; + const kind = (_a = entry["kind"]) != null ? _a : "expression"; + if (kind === "environment") { + const envName = (_c = (_b = entry["identifierTrigger"]) != null ? _b : entry.name) != null ? _c : "unknown"; + return (serializer, expr) => joinLatex([ + `\\begin{${envName}}`, + serializer.serialize(op(expr, 1)), + `\\end{${envName}}` + ]); + } + if (isMatchfixEntry(entry)) { + const openDelim = typeof entry.openTrigger === "string" ? DEFAULT_DELIMITER[entry.openTrigger] : tokensToString(entry["openDelimiter"]); + const closeDelim = typeof entry.closeTrigger === "string" ? DEFAULT_DELIMITER[entry.closeTrigger] : tokensToString(entry["closeDelimiter"]); + return (serializer, expr) => joinLatex([openDelim, serializer.serialize(op(expr, 1)), closeDelim]); + } + let latex = entry.serialize; + if (latex === void 0 && latexTrigger) + latex = tokensToString(latexTrigger); + if (latex) { + if (kind === "postfix") + return (serializer, expr) => joinLatex([serializer.serialize(op(expr, 1)), latex]); + if (kind === "prefix") + return (serializer, expr) => joinLatex([latex, serializer.serialize(op(expr, 1))]); + if (kind === "infix") { + return (serializer, expr) => { + var _a2; + return joinLatex( + ((_a2 = ops(expr)) != null ? _a2 : []).flatMap( + (val, i) => i < nops(expr) - 1 ? [serializer.serialize(val), latex] : [serializer.serialize(val)] + ) + ); + }; + } + return (serializer, expr) => head(expr) ? joinLatex([latex, serializer.wrapArguments(expr)]) : latex; + } + const id = (_d = idTrigger != null ? idTrigger : entry.name) != null ? _d : "unknown"; + if (kind === "postfix") + return (serializer, expr) => joinLatex([ + serializer.serialize(op(expr, 1)), + serializer.serializeSymbol(id) + ]); + if (kind === "prefix") + return (serializer, expr) => joinLatex([ + serializer.serializeSymbol(id), + serializer.serialize(op(expr, 1)) + ]); + if (kind === "infix") + return (serializer, expr) => joinLatex([ + serializer.serialize(op(expr, 1)), + serializer.serializeSymbol(id), + serializer.serialize(op(expr, 2)) + ]); + return (serializer, expr) => head(expr) ? joinLatex([ + serializer.serializeSymbol(id), + serializer.wrapArguments(expr) + ]) : serializer.serializeSymbol(id); +} +function makeParseHandler(entry, latexTrigger, idTrigger) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s; + if ("parse" in entry && typeof entry.parse === "function") + return entry.parse; + const kind = "kind" in entry ? entry.kind : "expression"; + if (kind === "environment") { + const envName = (_b = (_a = entry.parse) != null ? _a : entry.name) != null ? _b : idTrigger; + if (envName) + return (parser, _until) => { + const array = parser.parseTabular(); + if (array === null) + return null; + return [envName, ["List", array.map((row) => ["List", ...row])]]; + }; + } + if (kind === "function") { + const fnName = (_d = (_c = entry.parse) != null ? _c : entry.name) != null ? _d : idTrigger; + if (fnName) + return (parser, until) => { + const args = parser.parseArguments("enclosure", until); + return args === null ? fnName : [fnName, ...args]; + }; + } + if (kind === "symbol") { + const symName = (_f = (_e = entry.parse) != null ? _e : entry.name) != null ? _f : idTrigger; + if (symName) + return (_parser, _terminator) => symName; + } + if (kind === "prefix") { + const h = (_h = (_g = entry.parse) != null ? _g : entry.name) != null ? _h : idTrigger; + if (h) { + const prec = (_i = entry["precedence"]) != null ? _i : 1e4; + return (parser, until) => { + const rhs = parser.parseExpression({ + ...until != null ? until : [], + minPrec: prec + }); + return rhs === null ? null : [h, rhs]; + }; + } + } + if (kind === "postfix") { + const h = (_j = entry.parse) != null ? _j : entry.name; + if (h) + return (_parser, lhs) => lhs === null ? null : [h, lhs]; + } + if (kind === "infix") { + if (/[_^]/.test((_k = latexTrigger == null ? void 0 : latexTrigger[0]) != null ? _k : "")) { + const h2 = (_l = entry.name) != null ? _l : entry.parse; + return (_parser, arg) => [ + h2, + missingIfEmpty(op(arg, 1)), + missingIfEmpty(op(arg, 2)) + ]; + } + const h = (_n = (_m = entry.parse) != null ? _m : entry.name) != null ? _n : idTrigger; + const prec = (_o = entry["precedence"]) != null ? _o : 1e4; + const associativity = (_p = entry["associativity"]) != null ? _p : "non"; + if (h) + return (parser, lhs, until) => { + if (lhs === null) + return null; + if (prec < until.minPrec) + return null; + const rhs = missingIfEmpty( + parser.parseExpression({ ...until, minPrec: prec }) + ); + return typeof h === "string" ? applyAssociativeOperator(h, lhs, rhs, associativity) : [h, lhs, rhs]; + }; + } + if (kind === "matchfix") { + const h = (_q = entry.parse) != null ? _q : entry.name; + if (h) + return (_parser, body) => { + if (body === null || isEmptySequence(body)) + return null; + return [h, body]; + }; + } + if (kind === "expression") { + const parseResult = (_s = (_r = entry.parse) != null ? _r : entry.name) != null ? _s : idTrigger; + if (parseResult) + return () => parseResult; + } + if ("parse" in entry) { + const parseResult = entry.parse; + return () => parseResult; + } + return void 0; +} +function isValidEntry(entry, onError) { + var _a, _b, _c; + let subject = (_c = (_b = (_a = entry.name) != null ? _a : entry["latexTrigger"]) != null ? _b : entry["identifierTrigger"]) != null ? _c : entry["openDelimiter"]; + if (!subject) { + try { + subject = JSON.stringify(entry); + } catch (e) { + subject = "???"; + } + } + if (Array.isArray(subject)) + subject = tokensToString(subject); + if ("trigger" in entry) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `The 'trigger' property is deprecated. Use 'latexTrigger' or 'identifierTrigger' instead` + ] + }); + } + if ("kind" in entry && ![ + "expression", + "symbol", + "function", + "infix", + "postfix", + "prefix", + "matchfix", + "environment" + ].includes(entry.kind)) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `The 'kind' property must be one of 'expression', 'symbol', 'function', 'infix', 'postfix', 'prefix', 'matchfix', 'environment'` + ] + }); + } + if (entry.serialize !== void 0 && !entry.name) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `A 'name' property must be provided if a 'serialize' handler is provided` + ] + }); + return false; + } + if ("identifierTrigger" in entry) { + if (typeof entry.identifierTrigger !== "string" || !isValidIdentifier(entry.identifierTrigger)) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `The 'identifierTrigger' property must be a valid identifier` + ] + }); + } + } + if ("name" in entry) { + if (typeof entry.name !== "string") { + if (entry.name !== void 0) + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `The 'name' property must be a string` + ] + }); + } else if (!isValidIdentifier(entry.name)) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + entry.name, + `The 'name' property must be a valid identifier` + ] + }); + } + } + if (isMatchfixEntry(entry)) { + if ("latexTrigger" in entry || "identifierTrigger" in isPrefixEntry) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `'matchfix' operators use a 'openDelimiter' and 'closeDelimiter' instead of a 'latexTrigger' or 'identifierTrigger'. ` + ] + }); + return false; + } + if (!entry.openTrigger || !entry.closeTrigger) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + "Expected `openDelimiter` and a `closeDelimiter` for matchfix operator" + ] + }); + return false; + } + if (typeof entry.openTrigger !== typeof entry.closeTrigger) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + "Expected `openDelimiter` and `closeDelimiter` to both be strings or array of LatexToken" + ] + }); + return false; + } + } + if (isInfixEntry(entry) || isPostfixEntry(entry) || isPrefixEntry(entry)) { + if (Array.isArray(entry.latexTrigger) && (entry.latexTrigger[0] === "_" || entry.latexTrigger[0] === "^") || typeof entry.latexTrigger === "string" && (entry.latexTrigger.startsWith("^") || entry.latexTrigger.startsWith("_"))) { + if (entry.precedence !== void 0 || entry["associativity"] !== void 0) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `Unexpected "precedence" or "associativity" for superscript/subscript operator` + ] + }); + return false; + } + } else if (entry.precedence === void 0) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `Expected a "precedence" for ${entry.kind} operator` + ] + }); + return false; + } + } else { + if (entry["associativity"] !== void 0) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + 'Unexpected "associativity" operator' + ] + }); + return false; + } + } + if (!isMatchfixEntry(entry) && !isEnvironmentEntry(entry)) { + if (!entry.latexTrigger && !entry.identifierTrigger && !entry.name) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `Expected a 'name', a 'latexTrigger' or a 'identifierTrigger'` + ] + }); + return false; + } + } + if (entry["parse"] === void 0 && entry.name === void 0) { + onError({ + severity: "warning", + message: [ + "invalid-dictionary-entry", + subject, + `Expected a 'parse' or 'name'` + ] + }); + return false; + } + return true; +} +var DEFAULT_LATEX_DICTIONARY = { + algebra: DEFINITIONS_ALGEBRA, + arithmetic: DEFINITIONS_ARITHMETIC, + calculus: DEFINITIONS_CALCULUS, + complex: DEFINITIONS_COMPLEX, + core: DEFINITIONS_CORE, + logic: DEFINITIONS_LOGIC, + relop: DEFINITIONS_INEQUALITIES, + other: DEFINITIONS_OTHERS, + physics: [ + { + name: "mu0", + kind: "symbol", + latexTrigger: "\\mu_0" + } + ], + sets: DEFINITIONS_SETS, + statistics: DEFINITIONS_STATISTICS, + symbols: DEFINITIONS_SYMBOLS, + trigonometry: DEFINITIONS_TRIGONOMETRY +}; +var IDENTIFIER_PREFIX = { + // Those are "grouping" prefix that also specify spacing + // around the symbol. We ignore the spacing, though. + "\\mathord": "", + "\\mathop": "", + "\\mathbin": "", + "\\mathrel": "", + "\\mathopen": "", + "\\mathclose": "", + "\\mathpunct": "", + "\\mathinner": "", + // This is the preferred way to specify an identifier + // it defines both spacing and font. By default, identifiers + // are wrapper with `\\operatorname{}`. + "\\operatorname": "", + // These styling commands are used to change the font of an identifier + // They may be problematic, as adjacent identifiers may be merged + // into a single identifier when used in editors, such a MathLive. + // For example `\mathrm{speed}\mathrm{sound}` can be confused with `\mathrm{speedsound}` + "\\mathrm": "_upright", + "\\mathit": "_italic", + "\\mathbf": "_bold", + "\\mathscr": "_script", + "\\mathcal": "_calligraphic", + "\\mathfrak": "_fraktur", + "\\mathsf": "_sansserif", + "\\mathtt": "_monospace", + "\\mathbb": "_doublestruck" +}; +var IDENTIFIER_MODIFIER = { + "\\mathring": "_ring", + "\\hat": "_hat", + "\\tilde": "_tilde", + "\\vec": "_vec", + "\\overline": "_bar", + "\\underline": "_underbar", + "\\dot": "_dot", + "\\ddot": "_ddot", + "\\dddot": "_dddot", + "\\ddddot": "_ddddot", + "\\acute": "_acute", + "\\grave": "_grave", + "\\breve": "_breve", + "\\check": "_check" +}; +function parseIdentifierToken(parser, options) { + var _a; + if (parser.atEnd) + return null; + const token = parser.peek; + let special = { + "\\_": "_", + "\\#": "hash" + }[token]; + if (!special && !options.toplevel) { + special = { + "+": "plus", + "-": "minus", + "\\plusmn": "pm", + "\\pm": "pm", + "\\ast": "ast", + "\\dag": "dag", + "\\ddag": "ddag", + "\\bot": "bottom", + "\\top": "top", + "\\bullet": "bullet", + "\\cir": "circle", + "\\diamond": "diamond", + "\\times": "times", + "\\square": "square", + "\\star": "star" + }[token]; + } + if (special) { + parser.nextToken(); + return special; + } + const i = SYMBOLS.findIndex((x) => x[1] === token); + if (i >= 0) { + parser.nextToken(); + return SYMBOLS[i][0]; + } + return (_a = parser.matchChar()) != null ? _a : parser.nextToken(); +} +function parseIdentifierBody(parser) { + var _a; + let id = matchPrefixedIdentifier(parser); + const start = parser.index; + const prefix = (_a = IDENTIFIER_MODIFIER[parser.peek]) != null ? _a : null; + if (prefix) { + parser.nextToken(); + if (!parser.match("<{>")) { + parser.index = start; + return null; + } + const body = parseIdentifierBody(parser); + if (body === null || !parser.match("<}>")) { + parser.index = start; + return null; + } + id = `${body}${prefix}`; + } + if (id === null) { + id = ""; + while (!parser.atEnd) { + const token = parser.peek; + if (token === "<}>" || token === "_" || token === "^") + break; + const next = parseIdentifierToken(parser, { toplevel: false }); + if (next === null) { + parser.index = start; + return null; + } + id += next; + } + while (!parser.atEnd && /\d/.test(parser.peek)) + id += parser.nextToken(); + } + while (!parser.atEnd) { + if (parser.match("\\degree")) + id += "_deg"; + else if (parser.matchAll(["^", "\\prime"])) + id += "_prime"; + else if (parser.matchAll(["^", "<{>", "\\prime", "<}>"])) + id += "_prime"; + else if (parser.matchAll(["^", "<{>", "\\doubleprime", "<}>"])) + id += "_dprime"; + else if (parser.matchAll(["^", "<{>", "\\prime", "\\prime", "<}>"])) + id += "_dprime"; + else + break; + } + const sups = []; + const subs2 = []; + while (!parser.atEnd) { + if (parser.match("_")) { + const hasBrace = parser.match("<{>"); + const sub2 = parseIdentifierBody(parser); + if (hasBrace && !parser.match("<}>") || sub2 === null) { + parser.index = start; + return null; + } + subs2.push(sub2); + } else if (parser.match("^")) { + const hasBrace = parser.match("<{>"); + const sup = parseIdentifierBody(parser); + if (hasBrace && !parser.match("<}>") || sup === null) { + parser.index = start; + return null; + } + sups.push(sup); + } else + break; + } + if (sups.length > 0) + id += "__" + sups.join(""); + if (subs2.length > 0) + id += "_" + subs2.join(""); + return id; +} +function matchPrefixedIdentifier(parser) { + var _a, _b; + const start = parser.index; + const prefix = (_a = IDENTIFIER_PREFIX[parser.peek]) != null ? _a : null; + if (prefix === null) + return null; + parser.nextToken(); + if (parser.match("<{>")) { + let body = ""; + const digit = (_b = { + 0: "zero", + 1: "one", + 2: "two", + 3: "three", + 4: "four", + 5: "five", + 6: "six", + 7: "seven", + 8: "eight", + 9: "nine" + }[parser.peek]) != null ? _b : ""; + if (digit) { + body = digit; + parser.nextToken(); + } + body += parseIdentifierBody(parser); + if (body === null || !parser.match("<}>")) { + parser.index = start; + return null; + } + if (prefix === "_upright" && body.length > 1) + return body; + return body + prefix; + } + parser.index = start; + return null; +} +function parseInvalidIdentifier(parser) { + const start = parser.index; + const id = matchPrefixedIdentifier(parser); + if (id === null || isValidIdentifier(id)) { + parser.index = start; + return null; + } + return parser.error( + ["invalid-identifier", { str: validateIdentifier(id) }], + start + ); +} +function parseIdentifier(parser) { + if (/^[a-zA-Z]$/.test(parser.peek) || /^\p{XIDS}$/u.test(parser.peek)) + return parser.nextToken(); + const start = parser.index; + let id = matchPrefixedIdentifier(parser); + if (!id) { + id = ""; + while (!parser.atEnd && ONLY_EMOJIS.test(id + parser.peek)) + id += parser.nextToken(); + if (!id) + id = null; + } + id != null ? id : id = parseIdentifierToken(parser, { toplevel: true }); + if (id) { + id = id.normalize(); + if (isValidIdentifier(id)) + return id; + } + parser.index = start; + return null; +} +var DELIMITER_SHORTHAND = { + "(": ["\\lparen", "("], + ")": ["\\rparen", ")"], + "[": ["\\lbrack"], + "]": ["\\rbrack"], + "<": ["<", "\\langle"], + ">": [">", "\\rangle"], + "{": ["\\{", "\\lbrace"], + "}": ["\\}", "\\rbrace"], + ":": [":", "\\colon"], + "|": ["|", "\\|", "\\lvert", "\\rvert"], + //special: '\lvert` when open, `\rvert` when close + "||": ["||", "\\Vert", "\\lVert", "\\rVert"], + // special: `\lVert` when open, `\rVert` when close + "\\lfloor": ["\\lfloor"], + "\\rfloor": ["\\rfloor"], + "\\lceil": ["\\lceil"], + "\\rceil": ["\\rceil"], + "\\ulcorner": ["\\ulcorner"], + "\\urcorner": ["\\urcorner"], + "\\llcorner": ["\\llcorner"], + "\\lrcorner": ["\\lrcorner"], + "\\lgroup": ["\\lgroup"], + "\\rgroup": ["\\rgroup"], + "\\lmoustache": ["\\lmoustache"], + "\\rmoustache": ["\\rmoustache"] +}; +var OPEN_DELIMITER_PREFIX = { + "\\left": "\\right", + "\\bigl": "\\bigr", + "\\Bigl": "\\Bigr", + "\\biggl": "\\biggr", + "\\Biggl": "\\Biggr", + "\\big": "\\big", + "\\Big": "\\Big", + "\\bigg": "\\bigg", + "\\Bigg": "\\Bigg" +}; +var CLOSE_DELIMITER = { + "(": ")", + "[": "]", + "\\{": "\\}", + "\\lbrace": "\\rbrace", + "\\lparen": "\\rparen", + "\\langle": "\\rangle", + "\\lfloor": "\\rfloor", + "\\lceil": "\\rceil", + "\\vert": "\\vert", + "\\lvert": "\\rvert", + "\\Vert": "\\Vert", + "\\lVert": "\\rVert", + "\\lbrack": "\\rbrack", + "\\ulcorner": "\\urcorner", + "\\llcorner": "\\lrcorner", + "\\lgroup": "\\rgroup", + "\\lmoustache": "\\rmoustache" +}; +var DEFAULT_LATEX_NUMBER_OPTIONS = { + precision: 6, + // with machine numbers, up to 15 assuming 2^53 bits floating points + positiveInfinity: "\\infty", + negativeInfinity: "-\\infty", + notANumber: "\\operatorname{NaN}", + decimalMarker: ".", + // Use `{,}` for comma as a decimal marker + groupSeparator: "\\,", + // for thousands, etc... + exponentProduct: "\\cdot", + beginExponentMarker: "10^{", + // could be 'e' + endExponentMarker: "}", + notation: "auto", + truncationMarker: "\\ldots", + beginRepeatingDigits: "\\overline{", + endRepeatingDigits: "}", + imaginaryUnit: "\\imaginaryI", + avoidExponentsInRange: [-7, 20] +}; +var DEFAULT_PARSE_LATEX_OPTIONS = { + applyInvisibleOperator: "auto", + skipSpace: true, + parseArgumentsOfUnknownLatexCommands: true, + parseNumbers: true, + parseUnknownIdentifier: (id, parser) => { + var _a; + return ((_a = parser.computeEngine) == null ? void 0 : _a.lookupFunction(id)) !== void 0 ? "function" : "symbol"; + }, + preserveLatex: false +}; +var _Parser = class { + constructor(tokens, options, dictionary2, computeEngine) { + this.index = 0; + this._boundaries = []; + this._lastPeek = ""; + this._peekCounter = 0; + this._tokens = tokens; + this.options = { + ...DEFAULT_LATEX_NUMBER_OPTIONS, + ...DEFAULT_PARSE_LATEX_OPTIONS, + ...options + }; + this._dictionary = dictionary2; + this.computeEngine = computeEngine; + this._positiveInfinityTokens = tokenize(this.options.positiveInfinity, []); + this._negativeInfinityTokens = tokenize(this.options.negativeInfinity, []); + this._notANumberTokens = tokenize(this.options.notANumber, []); + this._decimalMarkerTokens = tokenize(this.options.decimalMarker, []); + this._groupSeparatorTokens = tokenize(this.options.groupSeparator, []); + this._exponentProductTokens = tokenize(this.options.exponentProduct, []); + this._beginExponentMarkerTokens = tokenize( + this.options.beginExponentMarker, + [] + ); + this._endExponentMarkerTokens = tokenize( + this.options.endExponentMarker, + [] + ); + this._truncationMarkerTokens = tokenize(this.options.truncationMarker, []); + this._beginRepeatingDigitsTokens = tokenize( + this.options.beginRepeatingDigits, + [] + ); + this._endRepeatingDigitsTokens = tokenize( + this.options.endRepeatingDigits, + [] + ); + this._imaginaryNumberTokens = tokenize(this.options.imaginaryUnit, []); + } + updateOptions(opt) { + for (const [k, v] of Object.entries(opt)) + if (k in this.options) { + this.options[k] = v; + if (typeof v === "string") { + if (k === "positiveInfinity") + this._positiveInfinityTokens = tokenize(v, []); + if (k === "negativeInfinity") + this._negativeInfinityTokens = tokenize(v, []); + if (k === "notANumber") + this._notANumberTokens = tokenize(v, []); + if (k === "decimalMarker") + this._decimalMarkerTokens = tokenize(v, []); + if (k === "groupSeparator") + this._groupSeparatorTokens = tokenize(v, []); + if (k === "exponentProduct") + this._exponentProductTokens = tokenize(v, []); + if (k === "beginExponentMarker") + this._beginExponentMarkerTokens = tokenize(v, []); + if (k === "endExponentMarker") + this._endExponentMarkerTokens = tokenize(v, []); + if (k === "truncationMarker") + this._truncationMarkerTokens = tokenize(v, []); + if (k === "beginRepeatingDigits") + this._beginRepeatingDigitsTokens = tokenize(v, []); + if (k === "endRepeatingDigits") + this._endRepeatingDigitsTokens = tokenize(v, []); + if (k === "imaginaryNumber") + this._imaginaryNumberTokens = tokenize(v, []); + } + } else + throw Error(`Unexpected option "${k}"`); + } + get atEnd() { + return this.index >= this._tokens.length; + } + get peek() { + const peek = this._tokens[this.index]; + if (peek === this._lastPeek) + this._peekCounter += 1; + else + this._peekCounter = 0; + if (this._peekCounter >= 1024) { + console.error( + `Infinite loop detected while parsing "${this.latex(0)}" at "${this._lastPeek}" (index ${this.index})` + ); + throw new Error( + `Infinite loop detected while parsing "${this.latex(0)}" at ${this._lastPeek} (index ${this.index})` + ); + } + this._lastPeek = peek; + return peek; + } + nextToken() { + return this._tokens[this.index++]; + } + /** + * Return true if + * - at end of the token stream + * - the `t.condition` function returns true + * Note: the `minPrec` condition is not checked. It should be checked separately. + */ + atTerminator(t) { + var _a; + return this.atBoundary || ((_a = (t == null ? void 0 : t.condition) && t.condition(this)) != null ? _a : false); + } + /** + * True if the current token matches any of the boundaries we are + * waiting for. + */ + get atBoundary() { + if (this.atEnd) + return true; + const start = this.index; + for (const boundary of this._boundaries) { + if (this.matchAll(boundary.tokens)) { + this.index = start; + return true; + } + } + return false; + } + addBoundary(boundary) { + this._boundaries.push({ index: this.index, tokens: boundary }); + } + removeBoundary() { + this._boundaries.pop(); + } + matchBoundary() { + const currentBoundary = this._boundaries[this._boundaries.length - 1]; + const match2 = currentBoundary && this.matchAll(currentBoundary.tokens); + if (match2) + this._boundaries.pop(); + return match2; + } + boundaryError(msg) { + const currentBoundary = this._boundaries[this._boundaries.length - 1]; + this._boundaries.pop(); + return this.error(msg, currentBoundary.index); + } + latex(start, end) { + return tokensToString(this._tokens.slice(start, end)); + } + latexAhead(n) { + return this.latex(this.index, this.index + n); + } + // latexBefore(): string { + // return this.latex(0, this.index); + // } + // latexAfter(): string { + // return this.latex(this.index); + // } + /** + * Return at most `this._dictionary.lookahead` LaTeX tokens. + * + * The index in the returned array correspond to the number of tokens. + * Note that since a token can be longer than one char ('\\pi', but also + * some astral plane unicode characters), the length of the string + * does not match that index. However, knowing the index is important + * to know by how many tokens to advance. + * + * For example: + * + * `[empty, '\\sqrt', '\\sqrt{', '\\sqrt{2', '\\sqrt{2}']` + * + */ + lookAhead() { + let n = Math.min( + this._dictionary.lookahead, + this._tokens.length - this.index + ); + if (n <= 0) + return []; + const result = []; + while (n > 0) + result.push([n, this.latexAhead(n--)]); + return result; + } + peekDefinitions(kind) { + const result = []; + const defs = [...this.getDefs(kind)]; + for (const def of defs) + if (def.latexTrigger === "") + result.push([def, 0]); + for (const [n, tokens] of this.lookAhead()) { + for (const def of defs) + if (def.latexTrigger === tokens) + result.push([def, n]); + } + for (const def of defs) { + if (def.identifierTrigger) { + const n = parseComplexId(this, def.identifierTrigger); + if (n > 0) + result.push([def, n]); + } + } + return result; + } + /** Skip strictly `` tokens. + * To also skip `{}` see `skipSpace()`. + * To skip visual space (e.g. `\,`) see `skipVisualSpace()`. + */ + skipSpaceTokens() { + while (this.match("")) { + } + } + /** While parsing in math mode, skip applicable spaces, which includes `{}`. + * Do not use to skip spaces while parsing a string. See `skipSpaceTokens()` + * instead. + */ + skipSpace() { + if (!this.atEnd && this.peek === "<{>") { + const index = this.index; + this.nextToken(); + while (this.match("")) { + } + if (this.nextToken() === "<}>") { + this.skipSpace(); + return true; + } + this.index = index; + } + if (!this.options.skipSpace) + return false; + let result = false; + while (this.match("")) + result = true; + if (result) + this.skipSpace(); + return result; + } + skipVisualSpace() { + if (!this.options.skipSpace) + return; + this.skipSpace(); + if ([ + "\\!", + "\\,", + "\\:", + "\\;", + "\\enskip", + "\\enspace", + "\\space", + "\\quad", + "\\qquad" + ].includes(this.peek)) { + this.nextToken(); + this.skipVisualSpace(); + } + this.skipSpace(); + } + match(token) { + if (this._tokens[this.index] === token) { + this.index++; + return true; + } + return false; + } + matchAll(tokens) { + /* @__PURE__ */ console.assert(Array.isArray(tokens)); + if (tokens.length === 0) + return false; + let matched = true; + let i = 0; + do { + matched = this._tokens[this.index + i] === tokens[i++]; + } while (matched && i < tokens.length); + if (matched) + this.index += i; + return matched; + } + matchAny(tokens) { + if (tokens.includes(this._tokens[this.index])) + return this._tokens[this.index++]; + return ""; + } + matchChar() { + var _a; + const index = this.index; + let caretCount = 0; + while (this.match("^")) + caretCount += 1; + if (caretCount < 2) + this.index = index; + if (caretCount >= 2) { + let digits = ""; + let n = 0; + while (n != caretCount) { + const digit = this.matchAny([ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "a", + "b", + "c", + "d", + "e", + "f" + ]); + if (!digit) + break; + digits += digit; + n += 1; + } + if (digits.length === caretCount) + return String.fromCodePoint(Number.parseInt(digits, 16)); + } else if (this.match("\\char")) { + let codepoint = Math.floor((_a = this.matchLatexNumber()) != null ? _a : Number.NaN); + if (!Number.isFinite(codepoint) || codepoint < 0 || codepoint > 1114111) { + codepoint = 10067; + } + return String.fromCodePoint(codepoint); + } else if (this.match("\\unicode")) { + this.skipSpaceTokens(); + if (this.match("<{>")) { + const codepoint = this.matchLatexNumber(); + if (this.match("<}>") && codepoint !== null && codepoint >= 0 && codepoint <= 1114111) { + return String.fromCodePoint(codepoint); + } + } else { + const codepoint = this.matchLatexNumber(); + if (codepoint !== null && codepoint >= 0 && codepoint <= 1114111) + return String.fromCodePoint(codepoint); + } + } + this.index = index; + return null; + } + /** If the next token matches the open delimiter, set a boundary with + * the close token and return true. + * + * Note this method handles generic delimiters, i.e. '(' will math both + * '(', '\left(', '\bigl(', etc... + * + * Note that the definitions for matchfix may need to include synonyms + * for example: + * + * { + * openDelimiter: '(', + * closeDelimiter: ')' + * } + * + * and + * + * { + * openDelimiter: '\\lparen', + * closeDelimiter: '\\rparen' + * } + * + * For: + * - '[': '\\lbrack' and '\\[' + * - ']': '\\rbrack' and '\\]' + * - '{': '\\lbrace' and '\\}' + * - '}': '\\rbrace' and '\\}' + * - '<': '\\langle' + * - '>': '\\rangle' + * - '|': '\\vert' + * - '||': '\\Vert' + * - '|': '\\lvert' and '\\rvert' + * - '||': '\\lVert' and '\\rVert' + */ + matchDelimiter(open, close) { + if (this.peek === "[") + return false; + if (Array.isArray(open)) { + /* @__PURE__ */ console.assert(Array.isArray(close)); + if (this.matchAll(open)) { + this.addBoundary(close); + return true; + } + return false; + } + const start = this.index; + const closePrefix = OPEN_DELIMITER_PREFIX[this.peek]; + if (closePrefix) + this.nextToken(); + if (open === "||" && this.matchAll(["|", "|"])) { + this.addBoundary(["|", "|"]); + return true; + } + if (!this.match(open)) { + this.index = start; + return false; + } + this.addBoundary(closePrefix ? [closePrefix, close] : [close]); + return true; + } + parseGroup() { + const start = this.index; + this.skipSpaceTokens(); + if (this.match("<{>")) { + this.addBoundary(["<}>"]); + const expr = this.parseExpression(); + this.skipSpace(); + if (this.matchBoundary()) + return expr != null ? expr : ["Sequence"]; + const from = this.index; + while (!this.matchBoundary() && !this.atEnd) + this.nextToken(); + const err = this.error("syntax-error", from); + return expr ? ["Sequence", expr, err] : err; + } + this.index = start; + return null; + } + // Some LaTeX commands (but not all) can accept an argument without braces, + // for example `^` , `\sqrt` or `\frac`. + // This argument will usually be a single token, but can be a sequence of + // tokens (e.g. `\sqrt\frac12` or `\sqrt\operatorname{speed}`). + parseToken() { + var _a; + const excluding = [ + ...'!"#$%&(),/;:?@[]\\`|~'.split(""), + "\\left", + "\\bigl" + ]; + if (excluding.includes(this.peek)) + return null; + if (/^[0-9]$/.test(this.peek)) + return parseInt(this.nextToken()); + const result = (_a = this.parseGenericExpression()) != null ? _a : this.parseSymbol(); + if (!result) + return null; + return result; + } + parseOptionalGroup() { + const index = this.index; + this.skipSpaceTokens(); + if (this.match("[")) { + this.addBoundary(["]"]); + const expr = this.parseExpression(); + this.skipSpace(); + if (this.matchBoundary()) + return expr; + return this.boundaryError("expected-closing-delimiter"); + } + this.index = index; + return null; + } + /** + * Parse an expression in a tabular format, where rows are separated by `\\` + * and columns by `&`. + * + * Return rows of sparse columns: empty rows are indicated with `Nothing`, + * and empty cells are also indicated with `Nothing`. + */ + parseTabular() { + var _a; + const result = []; + let row = []; + let expr = null; + while (!this.atBoundary) { + this.skipSpace(); + if (this.match("&")) { + row.push(expr != null ? expr : "Nothing"); + expr = null; + } else if (this.match("\\\\") || this.match("\\cr")) { + this.skipSpace(); + this.parseOptionalGroup(); + if (expr !== null) + row.push(expr); + result.push(row); + row = []; + expr = null; + } else { + const cell = []; + let peek = this.peek; + while (peek !== "&" && peek !== "\\\\" && peek !== "\\cr" && !this.atBoundary) { + expr = this.parseExpression({ + minPrec: 0, + condition: (p) => { + const peek2 = p.peek; + return peek2 === "&" || peek2 === "\\\\" || peek2 === "\\cr"; + } + }); + if (expr) + cell.push(expr); + else { + cell.push(["Error", ["'unexpected-token'", peek]]); + this.nextToken(); + } + this.skipSpace(); + peek = this.peek; + } + if (cell.length > 1) + expr = ["Sequence", ...cell]; + else + expr = (_a = cell[0]) != null ? _a : "Nothing"; + } + } + if (expr !== null) + row.push(expr); + if (row.length > 0) + result.push(row); + return result; + } + /** Parse a group as a a string, for example for `\operatorname` or `\begin` */ + parseStringGroup() { + const start = this.index; + while (this.match("")) { + } + if (this.match("<{>")) { + this.addBoundary(["<}>"]); + const arg = this.parseStringGroupContent(); + if (this.matchBoundary()) + return arg; + this.removeBoundary(); + } + this.index = start; + return null; + } + /** Parse an environment: `\begin{env}...\end{end}` + */ + parseEnvironment(until) { + var _a; + const index = this.index; + if (!this.match("\\begin")) + return null; + const name = (_a = this.parseStringGroup()) == null ? void 0 : _a.trim(); + if (!name) + return this.error("expected-environment-name", index); + this.addBoundary(["\\end", "<{>", ...name.split(""), "<}>"]); + for (const def of this.getDefs("environment")) + if (def.identifierTrigger === name) { + const expr = def.parse(this, until); + this.skipSpace(); + if (!this.matchBoundary()) + return this.boundaryError("unbalanced-environment"); + if (expr !== null) + return this.decorate(expr, index); + this.index = index; + return null; + } + this.parseTabular(); + this.skipSpace(); + if (!this.matchBoundary()) + return this.boundaryError("unbalanced-environment"); + return this.error(["unknown-environment", { str: name }], index); + } + /** If the next token matches a `+` or `-` sign, return it and advance the index. + * Otherwise return `''` and do not advance */ + parseOptionalSign() { + let isNegative = !!this.matchAny(["-", "\u2212"]); + while (this.matchAny(["+", "\uFE62"]) || this.skipSpace()) + if (this.matchAny(["-", "\u2212"])) + isNegative = !isNegative; + return isNegative ? "-" : "+"; + } + parseDecimalDigits(options) { + var _a; + options != null ? options : options = {}; + (_a = options.withGrouping) != null ? _a : options.withGrouping = false; + const result = []; + let done = false; + while (!done) { + while (/^[0-9]$/.test(this.peek)) { + result.push(this.nextToken()); + this.skipVisualSpace(); + } + done = true; + if (options.withGrouping && this.options.groupSeparator) { + const savedIndex = this.index; + this.skipVisualSpace(); + if (this.matchAll(this._groupSeparatorTokens)) { + this.skipVisualSpace(); + if (/^[0-9]$/.test(this.peek)) + done = false; + else + this.index = savedIndex; + } + } + } + return result.join(""); + } + parseSignedInteger(options) { + var _a; + options != null ? options : options = {}; + (_a = options.withGrouping) != null ? _a : options.withGrouping = false; + const start = this.index; + const sign2 = this.parseOptionalSign(); + const result = this.parseDecimalDigits(options); + if (result) + return sign2 === "-" ? "-" + result : result; + this.index = start; + return ""; + } + parseExponent() { + const start = this.index; + if (this.matchAny(["e", "E"])) { + const exponent = this.parseSignedInteger({ withGrouping: false }); + if (exponent) + return "e" + exponent; + } + this.index = start; + if (this.match("\\times")) { + this.skipSpaceTokens(); + if (this.match("1") && this.match("0") && this.match("^")) { + if (/^[0-9]$/.test(this.peek)) + return "e" + this.nextToken(); + if (this.match("<{>")) { + this.skipSpaceTokens(); + const exponent = this.parseSignedInteger(); + this.skipSpaceTokens(); + if (this.match("<}>") && exponent) + return "e" + exponent; + } + } + } + this.index = start; + this.skipSpaceTokens(); + if (this.match("\\%")) + return `e-2`; + this.index = start; + if (this.matchAll(this._exponentProductTokens)) { + this.skipSpaceTokens(); + if (this.matchAll(this._beginExponentMarkerTokens)) { + this.skipSpaceTokens(); + const exponent = this.parseSignedInteger(); + this.skipSpaceTokens(); + if (this.matchAll(this._endExponentMarkerTokens) && exponent) + return "e" + exponent; + } + } + this.index = start; + return ""; + } + parseRepeatingDecimal() { + const start = this.index; + let repeatingDecimals2 = ""; + if (this.match("(")) { + repeatingDecimals2 = this.parseDecimalDigits(); + if (repeatingDecimals2 && this.match(")")) + return "(" + repeatingDecimals2 + ")"; + this.index = start; + return ""; + } + this.index = start; + if (this.matchAll([`\\left`, "("])) { + repeatingDecimals2 = this.parseDecimalDigits(); + if (repeatingDecimals2 && this.matchAll([`\\right`, ")"])) + return "(" + repeatingDecimals2 + ")"; + this.index = start; + return ""; + } + this.index = start; + if (this.matchAll([`\\overline`, "<{>"])) { + repeatingDecimals2 = this.parseDecimalDigits(); + if (repeatingDecimals2 && this.match("<}>")) + return "(" + repeatingDecimals2 + ")"; + this.index = start; + return ""; + } + this.index = start; + if (this.matchAll(this._beginRepeatingDigitsTokens)) { + repeatingDecimals2 = this.parseDecimalDigits(); + if (repeatingDecimals2 && this.matchAll(this._endRepeatingDigitsTokens)) + return "(" + repeatingDecimals2 + ")"; + this.index = start; + return ""; + } + this.index = start; + return ""; + } + /** + * Parse a number, with an optional sign, exponent, decimal marker, + * repeating decimals, etc... + */ + parseNumber() { + if (!this.options.parseNumbers) + return null; + const start = this.index; + this.skipVisualSpace(); + this.match("+"); + let result = ""; + let dotPrefix = false; + if (this.match(".") || this.matchAll(this._decimalMarkerTokens)) { + const peek = this.peek; + if (peek !== "\\overline" && peek !== this._beginRepeatingDigitsTokens[0] && !/[0-9\(]/.test(peek)) { + this.index = start; + return null; + } + dotPrefix = true; + } else { + result = this.parseDecimalDigits({ withGrouping: true }); + if (!result) { + this.index = start; + return null; + } + } + let hasDecimal = true; + if (!dotPrefix && (this.match(".") || this.matchAll(this._decimalMarkerTokens))) + result += "." + this.parseDecimalDigits({ withGrouping: true }); + else if (dotPrefix) + result = "0." + this.parseDecimalDigits({ withGrouping: true }); + else + hasDecimal = false; + if (hasDecimal) { + const repeat = this.parseRepeatingDecimal(); + if (repeat) + result += repeat; + else if (this.match("\\ldots") || this.matchAll(this._truncationMarkerTokens)) { + } + } + this.skipVisualSpace(); + return result + this.parseExponent(); + } + /** + * A Latex number can be a decimal, hex or octal number. + * It is used in some Latex commands, such as `\char` + * + * From TeX:8695 (scan_int): + * > An integer number can be preceded by any number of spaces and `+' or + * > `-' signs. Then comes either a decimal constant (i.e., radix 10), an + * > octal constant (i.e., radix 8, preceded by '), a hexadecimal constant + * > (radix 16, preceded by "), an alphabetic constant (preceded by `), or + * > an internal variable. + */ + matchLatexNumber(isInteger = true) { + var _a, _b; + let negative = false; + let token = this.peek; + while (token === "" || token === "+" || token === "-") { + if (token === "-") + negative = !negative; + this.nextToken(); + token = this.peek; + } + let radix = 10; + let digits = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + if (this.match("'")) { + radix = 8; + digits = ["0", "1", "2", "3", "4", "5", "6", "7"]; + isInteger = true; + } else if (this.match('"') || this.match("x")) { + radix = 16; + digits = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F" + ]; + isInteger = true; + } else if (this.match("`")) { + token = this.nextToken(); + if (token) { + if (token.startsWith("\\") && token.length === 2) { + return (negative ? -1 : 1) * ((_a = token.codePointAt(1)) != null ? _a : 0); + } + return (negative ? -1 : 1) * ((_b = token.codePointAt(0)) != null ? _b : 0); + } + return null; + } + let value = ""; + while (digits.includes(this.peek)) { + value += this.nextToken(); + } + if (!isInteger && this.match(".")) { + value += "."; + while (digits.includes(this.peek)) { + value += this.nextToken(); + } + } + const result = isInteger ? Number.parseInt(value, radix) : Number.parseFloat(value); + if (Number.isNaN(result)) + return null; + return negative ? -result : result; + } + parsePrefixOperator(until) { + if (!until) + until = { minPrec: 0 }; + if (!until.minPrec) + until = { ...until, minPrec: 0 }; + const start = this.index; + for (const [def, n] of this.peekDefinitions("prefix")) { + this.index = start + n; + const rhs = def.parse(this, until); + if (rhs) + return rhs; + } + this.index = start; + return null; + } + parseInfixOperator(lhs, until) { + until != null ? until : until = { minPrec: 0 }; + /* @__PURE__ */ console.assert(until.minPrec !== void 0); + if (until.minPrec === void 0) + until = { ...until, minPrec: 0 }; + const start = this.index; + for (const [def, n] of this.peekDefinitions("infix")) { + if (def.precedence >= until.minPrec) { + this.index = start + n; + const rhs = def.parse(this, lhs, until); + if (rhs) + return rhs; + } + } + this.index = start; + return null; + } + /** + * This returns an array of arguments (as in a function application), + * or null if there is no match. + * + * - 'enclosure' : will look for an argument inside an enclosure + * (open/close fence) + * - 'implicit': either an expression inside a pair of `()`, or just a product + * (i.e. we interpret `\cos 2x + 1` as `\cos(2x) + 1`) + * + */ + parseArguments(kind = "enclosure", until) { + var _a, _b; + if (this.atTerminator(until)) + return null; + const savedIndex = this.index; + const group = this.parseEnclosure(); + if (kind === "enclosure") { + if (group === null) + return null; + return (_a = getSequence(group)) != null ? _a : []; + } + if (kind === "implicit") { + if (head(group) === "Delimiter") + return (_b = getSequence(group)) != null ? _b : []; + if (group !== null) + return [group]; + const primary = this.parseExpression({ ...until, minPrec: 390 }); + return primary === null ? null : [primary]; + } + this.index = savedIndex; + return null; + } + /** If matches the normalized open delimiter, return the + * expected closing delimiter. + * + * For example, if `delimiter` is `(`, it would match `\left\lparen` and + * return `['\right', '\rparen']`, which can be matched with `matchAll()` + * + * If you need to match several tokens, use `matchAll()` + * + * @internal + */ + matchOpenDelimiter(openDelim, closeDelim) { + var _a; + const index = this.index; + const closePrefix = OPEN_DELIMITER_PREFIX[this.peek]; + if (closePrefix) + this.nextToken(); + const alternatives = (_a = DELIMITER_SHORTHAND[openDelim]) != null ? _a : [openDelim]; + const result = closePrefix ? [closePrefix] : []; + if (alternatives.includes("||") && this.matchAll(["|", "|"])) { + result.push("|"); + result.push("|"); + return result; + } + if (!alternatives.includes(this.peek)) { + this.index = index; + return null; + } + if (CLOSE_DELIMITER[openDelim] === closeDelim) { + result.push(CLOSE_DELIMITER[this.peek]); + } else { + result.push(closeDelim); + } + this.nextToken(); + return result; + } + // matchMiddleDelimiter(delimiter: '|' | ':' | LatexToken): boolean { + // const delimiters = MIDDLE_DELIMITER[delimiter] ?? [delimiter]; + // if (MIDDLE_DELIMITER_PREFIX.includes(this.peek)) { + // const index = this.index; + // this.nextToken(); + // if (delimiters.includes(this.peek)) { + // this.nextToken(); + // return true; + // } + // this.index = index; + // return false; + // } else if (delimiters.include(this.peek)) { + // this.nextToken(); + // return true; + // } + // return false; + // } + /** For error handling, when there is potentially a mismatched delimiter. + * Return a LaTeX fragment of the expected closing delimiter + * + * @internal + */ + matchEnclosureOpen() { + const defs = this.getDefs("matchfix"); + const start = this.index; + for (const def of defs) { + this.index = start; + if (Array.isArray(def.openDelimiter)) { + if (this.matchAll(def.openDelimiter)) + return tokensToString(def.closeDelimiter); + continue; + } + const closeDelimiter = this.matchOpenDelimiter( + def.openDelimiter, + def.closeDelimiter + ); + if (closeDelimiter !== null) + return tokensToString(closeDelimiter); + } + this.index = start; + return null; + } + /** + * Used for error handling + * @internal */ + matchEnclosureClose() { + const defs = this.getDefs("matchfix"); + const start = this.index; + for (const def of defs) { + this.index = start; + if (Array.isArray(def.closeDelimiter)) { + if (this.matchAll(def.closeDelimiter)) + return tokensToString(def.openDelimiter); + continue; + } + this.index = start; + let peek = this.peek; + const prefix = Object.keys(OPEN_DELIMITER_PREFIX).find( + (x) => OPEN_DELIMITER_PREFIX[x] === peek + ); + if (prefix) + this.nextToken(); + let openDelimiter = []; + peek = this.peek; + const matchingDelim = Object.keys(CLOSE_DELIMITER).find( + (x) => CLOSE_DELIMITER[x] === peek + ); + if (matchingDelim) + openDelimiter = [matchingDelim]; + if (prefix) + openDelimiter = [prefix, ...openDelimiter]; + if (openDelimiter.length > 0) { + this.nextToken(); + return tokensToString(openDelimiter); + } + } + this.index = start; + return null; + } + /** + * An enclosure is an opening matchfix operator, an optional expression, + * optionally followed multiple times by a separator and another expression, + * and finally a closing matching operator. + */ + parseEnclosure() { + const defs = this.getDefs("matchfix"); + const start = this.index; + for (const def of defs) { + this.index = start; + if (!this.matchDelimiter(def.openDelimiter, def.closeDelimiter)) + continue; + const bodyStart = this.index; + this.skipSpace(); + let body = this.parseExpression(); + this.skipSpace(); + if (!this.matchBoundary()) { + const boundary = this._boundaries[this._boundaries.length - 1].tokens; + this.removeBoundary(); + this.index = bodyStart; + this.skipSpace(); + body = this.parseExpression(); + this.skipSpace(); + if (!this.matchAll(boundary)) { + if (!this.atEnd) + continue; + this.index = start; + return null; + } + } + const result = def.parse(this, body != null ? body : ["Sequence"]); + if (result !== null) + return result; + } + this.index = start; + return null; + } + /** + * A generic expression is used for dictionary entries that take do + * some complex (non-standard) parsing. This includes trig functions (to + * parse implicit arguments), and integrals (to parse the integrand and + * limits and the "dx" terminator). + */ + parseGenericExpression(until) { + var _a; + if (this.atTerminator(until)) + return null; + const start = this.index; + let expr = null; + const fnDefs = (_a = this.peekDefinitions("expression")) != null ? _a : []; + for (const [def, tokenCount] of fnDefs) { + this.index = start + tokenCount; + if (typeof def.parse === "function") { + expr = def.parse(this, until); + if (expr !== null) + return expr; + } else { + return def.name; + } + } + this.index = start; + return null; + } + /** + * A function is an identifier followed by postfix operators + * (`\prime`...) and some arguments. + */ + parseFunction(until) { + if (this.atTerminator(until)) + return null; + const start = this.index; + let fn = null; + for (const [def, tokenCount] of this.peekDefinitions("function")) { + this.index = start + tokenCount; + if (typeof def.parse === "function") { + fn = def.parse(this, until); + if (fn !== null) + break; + } else { + fn = def.name; + break; + } + } + if (fn === null) { + this.index = start; + fn = parseIdentifier(this); + if (!this.isFunctionHead(fn)) { + this.index = start; + return null; + } + } + do { + const pf = this.parsePostfixOperator(fn); + if (pf === null) + break; + fn = pf; + } while (true); + const seq = this.isFunctionHead(fn) ? this.parseArguments() : null; + return seq ? [fn, ...seq] : fn; + } + parseSymbol(until) { + var _a, _b; + if (this.atTerminator(until)) + return null; + const start = this.index; + for (const [def, tokenCount] of this.peekDefinitions("symbol")) { + this.index = start + tokenCount; + if (typeof def.parse === "function") { + const result = def.parse(this, until); + if (result) + return result; + } else + return def.name; + } + this.index = start; + const id = parseIdentifier(this); + if (id === null) + return null; + if (((_b = (_a = this.options).parseUnknownIdentifier) == null ? void 0 : _b.call(_a, id, this)) === "symbol") + return id; + this.index = start; + return null; + } + /** + * Parse a sequence superfix/subfix operator, e.g. `^{*}` + * + * Superfix and subfix need special handling: + * + * - they act mostly like an infix operator, but they are commutative, i.e. + * `x_a^b` should be parsed identically to `x^b_a`. + * + * - furthermore, in LaTeX `x^a^b` parses the same as `x^a{}^b`. + * + */ + parseSupsub(lhs) { + var _a, _b, _c; + /* @__PURE__ */ console.assert(lhs !== null); + const index = this.index; + this.skipSpace(); + const superscripts = []; + const subscripts = []; + let subIndex = index; + while (this.peek === "_" || this.peek === "^") { + if (this.match("_")) { + subIndex = this.index; + if (this.match("_") || this.match("^")) + subscripts.push(this.error("syntax-error", subIndex)); + else { + const sub2 = (_b = (_a = this.parseGroup()) != null ? _a : this.parseToken()) != null ? _b : this.parseStringGroup(); + if (sub2 === null) + return this.error("missing", index); + subscripts.push(sub2); + } + } else if (this.match("^")) { + subIndex = this.index; + if (this.match("_") || this.match("^")) + superscripts.push(this.error("syntax-error", subIndex)); + else { + const sup = (_c = this.parseGroup()) != null ? _c : this.parseToken(); + if (sup === null) + return this.error("missing", index); + superscripts.push(sup); + } + } + subIndex = this.index; + this.skipSpace(); + } + if (superscripts.length === 0 && subscripts.length === 0) { + this.index = index; + return lhs; + } + let result = lhs; + if (subscripts.length > 0) { + const defs = [...this.getDefs("infix")].filter( + (x) => x.latexTrigger === "_" + ); + if (defs) { + const arg = [ + "Subscript", + result, + subscripts.length === 1 ? subscripts[0] : ["List", ...subscripts] + ]; + for (const def of defs) { + if (typeof def.parse === "function") + result = def.parse(this, arg, { minPrec: 0 }); + else + result = arg; + if (result) + break; + } + } + } + if (superscripts.length > 0) { + const defs = [...this.getDefs("infix")].filter( + (x) => x.latexTrigger === "^" + ); + if (defs) { + const arg = [ + "Superscript", + result, + superscripts.length === 1 ? superscripts[0] : ["List", ...superscripts] + ]; + for (const def of defs) { + if (typeof def.parse === "function") + result = def.parse(this, arg, { minPrec: 0 }); + else + result = arg; + if (result) + break; + } + } + } + if (result === null) + this.index = index; + return result; + } + parsePostfixOperator(lhs, until) { + /* @__PURE__ */ console.assert(lhs !== null); + if (lhs === null) + return null; + const start = this.index; + for (const [def, n] of this.peekDefinitions("postfix")) { + this.index = start + n; + const result = def.parse(this, lhs, until); + if (result !== null) + return result; + } + this.index = start; + return null; + } + /** Match a string used as a LaTeX identifier, for example an environment + * name. + * Not suitable for general purpose text, e.g. argument of a `\text{} + * command. See `matchChar()` instead. + */ + parseStringGroupContent() { + const start = this.index; + let result = ""; + let level = 0; + while (!this.atBoundary || level > 0) { + const token = this.nextToken(); + if (token === "<$>" || token === "<$$>") { + this.index = start; + return ""; + } + if (token === "<{>") { + level += 1; + result += "\\{"; + } else if (token === "<}>") { + level -= 1; + result += "\\}"; + } else if (token === "") { + result += " "; + } else if (token[0] === "\\") { + result += token; + } else { + result += token; + } + } + return result; + } + /** + * Apply an invisible operator between two expressions. + * + * If the `lhs` is an literal integer and the `rhs` is a literal rational + * -> 'invisible plus' + * + * That is '2 3/4' -> ['Add', 2, ['Rational', 3, 4]] + * + * If `lhs` is a number and `rhs` is a number but not a literal -> 'invisible multiply'. + * - 2x + * - 2(x+1) + * - x(x+1) + * - f(x)g(y) + * - 2 sin(x) + * - 2 f(x) + * - x f(x) + * - (x-1)(x+1) + * - (x+1)2 -> no + * - x2 -> no + * => lhs is a number, rhs is a number, but not a literal + */ + applyInvisibleOperator(until, lhs) { + var _a; + if (lhs === null || this.options.applyInvisibleOperator === null || head(lhs) === "Error" || symbol(lhs) === "Nothing" || isEmptySequence(lhs) || this.atTerminator(until)) + return null; + if (this.peekDefinitions("operator").length > 0) + return null; + if (this.isFunctionHead(lhs)) { + const args = this.parseArguments("enclosure", { ...until, minPrec: 0 }); + if (args === null) + return null; + return [lhs, ...args]; + } + const start = this.index; + const rhs = this.parseExpression({ ...until, minPrec: 390 }); + if (rhs === null || symbol(rhs) === "Nothing" || isEmptySequence(rhs)) { + this.index = start; + return null; + } + if (head(rhs) === "Error") + return applyAssociativeOperator("Sequence", lhs, rhs); + if (typeof this.options.applyInvisibleOperator === "function") + return this.options.applyInvisibleOperator(this, lhs, rhs); + if (this.isFunctionHead(lhs)) { + const seq = getSequence(rhs); + return seq ? [lhs, ...seq] : lhs; + } + const lhsNumber = machineValue(lhs); + if (lhsNumber !== null && Number.isInteger(lhsNumber)) { + const rhsHead = head(rhs); + if (rhsHead === "Divide" || rhsHead === "Rational") { + const [n, d] = [machineValue(op(rhs, 1)), machineValue(op(rhs, 2))]; + if (n !== null && d !== null && n > 0 && n <= 1e3 && d > 1 && d <= 1e3 && Number.isInteger(n) && Number.isInteger(d)) + return ["Add", lhs, rhs]; + } + } + if (head(rhs) === "Delimiter") { + if (head(op(rhs, 1)) === "Sequence") + return [lhs, ...(_a = ops(op(rhs, 1))) != null ? _a : []]; + if (!op(rhs, 1) || symbol(op(rhs, 1)) === "Nothing") + return applyAssociativeOperator( + "Sequence", + lhs, + this.error("expected-expression", start) + ); + } + if (head(rhs) === "Sequence" || head(lhs) === "Sequence" || stringValue(lhs) !== null || stringValue(rhs) !== null || dictionary(lhs) !== null || dictionary(rhs) !== null) + return applyAssociativeOperator("Sequence", lhs, rhs); + return applyAssociativeOperator("Multiply", lhs, rhs); + } + /** + * This is an error handling method. We've encountered a LaTeX command + * but were not able to match it to any entry in the LaTeX dictionary, + * or ran into it in an unexpected context (postfix operator lacking an + * argument, for example) + */ + parseUnexpectedLatexCommand() { + var _a, _b; + const start = this.index; + let opDefs = this.peekDefinitions("operator"); + if (opDefs.length > 0) { + opDefs = this.peekDefinitions("postfix"); + if (opDefs.length > 0) { + const [def, n] = opDefs[0]; + this.index += n; + if (typeof def.parse === "function") { + const result = def.parse(this, this.error("missing", start)); + if (result) + return result; + } + if (def.name) + return [def.name, this.error("missing", start)]; + return this.error("unexpected-operator", start); + } + opDefs = this.peekDefinitions("prefix"); + if (opDefs.length > 0) { + const [def, n] = opDefs[0]; + this.index += n; + if (typeof def.parse === "function") { + const result = def.parse(this, { minPrec: 0 }); + if (result) + return result; + } + if (def.name) + return [ + def.name, + // @todo: pass a precedence? + (_a = this.parseExpression()) != null ? _a : this.error("missing", start) + ]; + return this.error("unexpected-operator", start); + } + opDefs = this.peekDefinitions("infix"); + if (opDefs.length > 0) { + const [def, n] = opDefs[0]; + this.index += n; + if (typeof def.parse === "function") { + const result = def.parse(this, this.error("missing", start), { + minPrec: 0 + }); + if (result) + return result; + } + if (def.name) + return [ + def.name, + this.error("missing", start), + (_b = this.parseExpression()) != null ? _b : this.error("missing", start) + ]; + return this.error("unexpected-operator", start); + } + } + const command = this.peek; + if (!command || command[0] !== "\\") + return null; + this.nextToken(); + this.skipSpaceTokens(); + if (command === "\\end") { + const name = this.parseStringGroup(); + if (name === null) + return this.error("expected-environment-name", start); + return this.error(["unbalanced-environment", { str: name }], start); + } + while (this.match("[")) { + let level = 0; + while (!this.atEnd && level === 0 && this.peek !== "]") { + if (this.peek === "[") + level += 1; + if (this.peek === "]") + level -= 1; + this.nextToken(); + } + this.match("]"); + } + const index = this.index; + this.index = start; + const closeDelimiter = this.matchEnclosureOpen(); + if (closeDelimiter) + return this.error( + ["expected-close-delimiter", { str: closeDelimiter }], + index + ); + const openDelimiter = this.matchEnclosureClose(); + if (openDelimiter) + return this.error( + ["expected-open-delimiter", { str: openDelimiter }], + start + ); + this.index = index; + while (this.match("<{>")) { + let level = 0; + while (!this.atEnd && level === 0 && this.peek !== "<}>") { + if (this.peek === "<{>") + level += 1; + if (this.peek === "<}>") + level -= 1; + this.nextToken(); + } + this.match("<}>"); + } + return this.error(["unexpected-command", { str: command }], start); + } + /** + * := + * ( | | | ) + * * * + * + * ::= + * ( | ()) + * + * := + * + * + * ( )* + * + * + */ + parsePrimary(until) { + var _a, _b, _c; + if (this.atBoundary) + return null; + if (this.atTerminator(until)) + return null; + let result = null; + const start = this.index; + if (this.match("<}>")) + return this.error("unexpected-closing-delimiter", start); + if (this.match("<{>")) { + result = this.parseExpression({ + minPrec: 0, + condition: (p) => p.peek === "<}>" + }); + if (result === null) + return this.error("expected-expression", start); + if (!this.match("<}>")) { + return this.decorate( + ["Sequence", result, this.error("expected-closing-delimiter", start)], + start + ); + } + } + if (result === null) { + const num = this.parseNumber(); + if (num !== null) + result = { num }; + } + result != null ? result : result = this.parseEnclosure(); + result != null ? result : result = this.parseEnvironment(until); + if (result === null && this.matchAll(this._positiveInfinityTokens)) + result = { num: "+Infinity" }; + if (result === null && this.matchAll(this._negativeInfinityTokens)) + result = { num: "-Infinity" }; + if (result === null && this.matchAll(this._notANumberTokens)) + result = { num: "NaN" }; + result != null ? result : result = (_c = (_b = (_a = this.parseGenericExpression(until)) != null ? _a : this.parseFunction(until)) != null ? _b : this.parseSymbol(until)) != null ? _c : parseInvalidIdentifier(this); + if (result !== null) { + result = this.decorate(result, start); + let postfix = null; + let index = this.index; + do { + postfix = this.parsePostfixOperator(result, until); + result = postfix != null ? postfix : result; + if (this.index === index && postfix !== null) { + /* @__PURE__ */ console.assert(this.index !== index, "No token consumed"); + break; + } + index = this.index; + } while (postfix !== null); + } + if (result !== null) + result = this.parseSupsub(result); + return this.decorate(result, start); + } + /** + * Parse an expression: + * + * ::= + * | + * | + * | + * + * Stop when an operator of precedence less than `until.minPrec` + * is encountered + */ + parseExpression(until) { + const start = this.index; + this.skipSpace(); + if (this.atBoundary) { + this.index = start; + return null; + } + until != null ? until : until = { minPrec: 0 }; + /* @__PURE__ */ console.assert(until.minPrec !== void 0); + if (until.minPrec === void 0) + until = { ...until, minPrec: 0 }; + let lhs = this.parsePrefixOperator({ ...until, minPrec: 0 }); + if (lhs === null) { + lhs = this.parsePrimary(until); + if (head(lhs) === "Sequence" && nops(lhs) === 0) + lhs = null; + } + if (lhs) { + let done = false; + while (!done && !this.atTerminator(until)) { + this.skipSpace(); + let result = this.parseInfixOperator(lhs, until); + if (result === null) { + result = this.applyInvisibleOperator(until, lhs); + } + if (result !== null) { + lhs = result; + } else { + done = true; + } + } + } + lhs != null ? lhs : lhs = this.parseUnexpectedLatexCommand(); + return this.decorate(lhs, start); + } + /** + * Add LaTeX or other requested metadata to the expression + */ + decorate(expr, start) { + if (expr === null) + return null; + if (!this.options.preserveLatex) + return expr; + const latex = this.latex(start, this.index); + if (Array.isArray(expr)) { + expr = { latex, fn: expr }; + } else if (typeof expr === "number") { + expr = { latex, num: Number(expr).toString() }; + } else if (typeof expr === "string") { + expr = { latex, sym: expr }; + } else if (typeof expr === "object" && expr !== null) { + expr.latex = latex; + } + return expr; + } + error(code, fromToken) { + let msg; + if (typeof code === "string") { + /* @__PURE__ */ console.assert(!code.startsWith("'")); + msg = { str: code }; + } else { + /* @__PURE__ */ console.assert(!code[0].startsWith("'")); + msg = ["ErrorCode", { str: code[0] }, ...code.slice(1)]; + } + const latex = this.latex(fromToken, this.index); + return latex ? ["Error", msg, ["Latex", { str: latex }]] : ["Error", msg]; + } + isFunctionHead(expr) { + var _a, _b; + if (expr === null) + return false; + const s = symbol(expr); + if (!s) + return this.computeEngine.box(expr).domain.isFunction; + if (this.computeEngine && this.computeEngine.lookupFunction(s) !== void 0) + return true; + if (((_b = (_a = this.options).parseUnknownIdentifier) == null ? void 0 : _b.call(_a, s, this)) === "function") + return true; + return false; + } + /** Return all defs of the specified kind */ + *getDefs(kind) { + if (kind === "operator") { + for (const def of this._dictionary.defs) + if (/^prefix|infix|postfix/.test(def.kind)) + yield def; + } else { + for (const def of this._dictionary.defs) + if (def.kind === kind) + yield def; + } + } +}; +function parseComplexId(parser, id) { + var _a; + const start = parser.index; + const candidate = (_a = parseIdentifier(parser)) == null ? void 0 : _a.trim(); + if (candidate === null) + return 0; + const result = candidate !== id ? 0 : parser.index - start; + parser.index = start; + return result; +} +function formatFractionalPart(m, options) { + const originalLength = m.length; + const originalM = m; + if (options.beginRepeatingDigits && options.endRepeatingDigits) { + m = m.slice(0, -1); + for (let i = 0; i < m.length - 16; i++) { + const offset = m.substring(0, i); + for (let j = 0; j < 17; j++) { + const cycle = m.substring(i, i + j + 1); + const times = Math.floor((m.length - offset.length) / cycle.length); + if (times <= 3) + break; + if ((offset + cycle.repeat(times + 1)).startsWith(m)) { + if (cycle === "0") { + return offset.replace(/(\d{3})/g, "$1" + options.groupSeparator); + } + return offset.replace(/(\d{3})/g, "$1" + options.groupSeparator) + options.beginRepeatingDigits + cycle + options.endRepeatingDigits; + } + } + } + } + const extraDigits = originalLength > options.precision - 1; + m = originalM; + if (extraDigits) + m = m.substring(0, options.precision - 1); + if (options.groupSeparator) { + m = m.replace(/(\d{3})/g, "$1" + options.groupSeparator); + if (m.endsWith(options.groupSeparator)) { + m = m.slice(0, -options.groupSeparator.length); + } + } + if (extraDigits) + return m + options.truncationMarker; + return m; +} +function formatExponent(exp2, options) { + var _a; + if (!exp2) + return ""; + if (options.beginExponentMarker) { + return options.beginExponentMarker + exp2 + ((_a = options.endExponentMarker) != null ? _a : ""); + } + return "10^{" + exp2 + "}"; +} +function serializeNumber(expr, options) { + var _a; + if (expr === null) + return ""; + let num; + if (typeof expr === "number" || typeof expr === "string") { + num = expr; + } else if (typeof expr === "object" && "num" in expr) { + num = expr.num; + } else + return ""; + if (typeof num === "number") { + if (num === Infinity) + return options.positiveInfinity; + else if (num === -Infinity) + return options.negativeInfinity; + else if (Number.isNaN(num)) + return options.notANumber; + let result2 = void 0; + if (options.notation === "engineering") + result2 = serializeScientificNotationNumber( + num.toExponential(), + options, + 3 + ); + else if (options.notation === "scientific") + result2 = serializeScientificNotationNumber(num.toExponential(), options); + return result2 != null ? result2 : serializeAutoNotationNumber(num.toString(), options); + } + num = num.toLowerCase().replace(/[\u0009-\u000d\u0020\u00a0]/g, ""); + if (num === "infinity" || num === "+infinity") + return options.positiveInfinity; + else if (num === "-infinity") + return options.negativeInfinity; + else if (num === "nan") + return options.notANumber; + if (!/^[-+\.]?[0-9]/.test(num)) + return ""; + num = num.replace(/[nd]$/, ""); + if (/\([0-9]+\)/.test(num)) { + const [_, body, repeat, trail] = (_a = num.match(/(.+)\(([0-9]+)\)(.*)$/)) != null ? _a : []; + num = body + repeat.repeat(Math.ceil(options.precision / repeat.length)) + trail; + } + let sign2 = ""; + if (num[0] === "-") { + sign2 = "-"; + num = num.substring(1); + } else if (num[0] === "+") { + num = num.substring(1); + } + while (num[0] === "0") + num = num.substring(1); + if (num.length === 0) + num = "0"; + else if (num[0] === ".") + num = "0" + num; + let result = void 0; + if (options.notation === "engineering") + result = serializeScientificNotationNumber(num, options, 3); + else if (options.notation === "scientific") + result = serializeScientificNotationNumber(num, options); + return sign2 + (result != null ? result : serializeAutoNotationNumber(num, options)); +} +function serializeScientificNotationNumber(valString, options, expMultiple = 1) { + var _a; + let m = valString.match(/^(.*)[e|E]([-+]?[0-9]+)$/); + if (!m) { + let sign2 = ""; + if (valString[0] === "-") { + sign2 = "-"; + valString = valString.substring(1); + } else if (valString[0] === "+") { + valString = valString.substring(1); + } + if (valString.indexOf(".") < 0) { + if (valString.length === 1) { + valString = sign2 + valString + "e+0"; + } else { + valString = sign2 + valString[0] + "." + valString.slice(1) + "e+" + (valString.length - 1).toString(); + } + } else { + let [_, whole, fraction] = valString.match(/^(.*)\.(.*)$/); + if (!fraction) + fraction = ""; + while (whole.startsWith("0")) + whole = whole.substring(1); + if (!whole) { + valString = sign2 + "0." + fraction + "e+0"; + } else { + valString = sign2 + whole[0] + "." + whole.slice(1) + fraction + "e+" + (whole.length - 1).toString(); + } + } + m = valString.match(/^(.*)[e|E]([-+]?[0-9]+)$/); + } + /* @__PURE__ */ console.assert(m); + if (!m) + return serializeAutoNotationNumber(valString, options); + let exponent = parseInt(m[2]); + let mantissa = m[1]; + if (Math.abs(exponent) % expMultiple !== 0) { + const adjust = exponent > 0 ? exponent % expMultiple : -((expMultiple + exponent) % expMultiple); + exponent = exponent >= 0 ? exponent - adjust : exponent + adjust; + let [_, whole, fraction] = (_a = mantissa.match(/^(.*)\.(.*)$/)) != null ? _a : [ + "", + mantissa, + "" + ]; + mantissa = whole + (fraction + "00000000000000000").slice(0, Math.abs(adjust)) + "." + fraction.slice(Math.abs(adjust)); + } + const avoid = options.avoidExponentsInRange; + if (avoid && exponent >= avoid[0] && exponent <= avoid[1]) + return void 0; + let fractionalPart = ""; + let wholePart = mantissa; + m = wholePart.match(/^(.*)\.(.*)$/); + if (m) { + wholePart = m[1]; + fractionalPart = m[2]; + } + const expString = exponent !== 0 ? formatExponent(Number(exponent).toString(), options) : ""; + if (options.groupSeparator) { + wholePart = wholePart.replace( + /\B(?=(\d{3})+(?!\d))/g, + options.groupSeparator + ); + fractionalPart = formatFractionalPart(fractionalPart, options); + } + if (fractionalPart) + fractionalPart = options.decimalMarker + fractionalPart; + if (!expString) + return wholePart + fractionalPart; + if (wholePart === "1" && !fractionalPart) + return expString; + return wholePart + fractionalPart + options.exponentProduct + expString; +} +function serializeAutoNotationNumber(valString, options) { + var _a; + let m = valString.match(/^(.*)[e|E]([-+]?[0-9]+)$/i); + let exponent = void 0; + if ((m == null ? void 0 : m[1]) && m[2]) { + exponent = formatExponent(m[2], options); + } + let wholePart = (_a = m == null ? void 0 : m[1]) != null ? _a : valString; + let fractionalPart = ""; + m = (exponent ? m[1] : valString).match(/^(.*)\.(.*)$/); + if ((m == null ? void 0 : m[1]) && m[2]) { + wholePart = m[1]; + fractionalPart = m[2]; + } + if (options.groupSeparator) { + wholePart = wholePart.replace( + /\B(?=(\d{3})+(?!\d))/g, + options.groupSeparator + ); + fractionalPart = formatFractionalPart(fractionalPart, options); + } + if (fractionalPart) + fractionalPart = options.decimalMarker + fractionalPart; + if (!exponent) + return wholePart + fractionalPart; + if (wholePart === "1" && !fractionalPart) + return exponent; + return wholePart + fractionalPart + options.exponentProduct + exponent; +} +var ACCENT_MODIFIERS = { + deg: (s) => `${s}\\degree`, + prime: (s) => `${s}^{\\prime}`, + dprime: (s) => `${s}^{\\doubleprime}`, + ring: (s) => `\\mathring{${s}}`, + hat: (s) => `\\hat{${s}}`, + tilde: (s) => `\\tilde{${s}}`, + vec: (s) => `\\vec{${s}}`, + bar: (s) => `\\overline{${s}}`, + underbar: (s) => `\\underline{${s}}`, + dot: (s) => `\\dot{${s}}`, + ddot: (s) => `\\ddot{${s}}`, + tdot: (s) => `\\dddot{${s}}`, + qdot: (s) => `\\ddddot{${s}}`, + // Supplemental + acute: (s) => `\\acute{${s}}`, + grave: (s) => `\\grave{${s}}`, + breve: (s) => `\\breve{${s}}`, + check: (s) => `\\check{${s}}` +}; +var STYLE_MODIFIERS = { + upright: (s) => `\\mathrm{${s}}`, + italic: (s) => `\\mathit{${s}}`, + bold: (s) => `\\mathbf{${s}}`, + script: (s) => `\\mathscr{${s}}`, + fraktur: (s) => `\\mathfrak{${s}}`, + // Note Unicode uses 'fraktur' for 'gothic' + doublestruck: (s) => `\\mathbb{${s}}`, + // Unicode uses 'double-struck' for 'blackboard' + // Supplemental + blackboard: (s) => `\\mathbb{${s}}`, + calligraphic: (s) => `\\mathcal{${s}}`, + gothic: (s) => `\\mathfrak{${s}}`, + sansserif: (s) => `\\mathsf{${s}}`, + monospace: (s) => `\\mathtt{${s}}` +}; +var Serializer = class { + constructor(options, dictionary2, onError) { + this.level = -1; + this.options = options; + if (options.invisibleMultiply) { + if (!/#1/.test(options.invisibleMultiply) || !/#2/.test(options.invisibleMultiply)) { + onError([ + { + severity: "warning", + message: ["expected-argument", "invisibleMultiply"] + } + ]); + } + } + this.onError = onError; + this.dictionary = dictionary2; + this.canonical = void 0; + } + updateOptions(opt) { + for (const k of Object.keys(this.options)) + if (k in opt) + this.options[k] = opt[k]; + } + /** + * Serialize the expression, and if the expression is an operator + * of precedence less than or equal to prec, wrap it in some paren. + * @todo: don't wrap Abs, Floor, Ceil, Delimiter + */ + wrap(expr, prec) { + if (expr === null) + return ""; + if (prec === void 0) { + return this.wrapString( + this.serialize(expr), + this.options.groupStyle(expr, this.level + 1) + ); + } + if (typeof expr === "number" || isNumberObject(expr) || typeof expr === "string" || isSymbolObject(expr)) { + return this.serialize(expr); + } + const name = head(expr); + if (typeof name === "string" && name !== "Delimiter" && name !== "Subscript") { + const def = this.dictionary.ids.get(name); + if (def && (def.kind === "symbol" || def.kind === "prefix" || def.kind === "infix" || def.kind === "postfix") && def.precedence < prec) + return this.wrapString( + this.serialize(expr), + this.options.applyFunctionStyle(expr, this.level) + ); + } + return this.serialize(expr); + } + /** + * If this is a "short" expression, wrap it. + * Do not wrap identifiers, positive numbers or functions. + * + * This is called by the serializer for power and division (i.e. "(a+1)/b") + * + */ + wrapShort(expr) { + if (expr === null) + return ""; + const exprStr = this.serialize(expr); + if (symbol(expr) !== null) + return exprStr; + if (head(expr) === "Delimiter" && nops(expr) === 1) + return exprStr; + const isNum = isNumberExpression(expr); + if (isNum && !/^(-|\.)/.test(exprStr)) + return exprStr; + const h = head(expr); + if (h !== "Add" && h !== "Negate" && h !== "Subtract" && h !== "PlusMinus" && h !== "Multiply") + return exprStr; + return this.wrapString( + exprStr, + this.options.groupStyle(expr, this.level + 1) + ); + } + wrapString(s, style, fence) { + var _a, _b; + if (style === "none") + return s; + if (fence === void 0) + fence = "()"; + const openFence = (_a = fence == null ? void 0 : fence[0]) != null ? _a : "."; + const closeFence = (_b = fence == null ? void 0 : fence[1]) != null ? _b : "."; + if ((openFence === "." || closeFence === ".") && style === "paren") + style = "leftright"; + if (style === "leftright") + return `\\left${openFence}${s}\\right${closeFence}}`; + if (style === "big") + return `${openFence === "." ? "" : `\\Bigl${openFence}`}${s}${closeFence === "." ? "" : `\\Bigr${closeFence}`})`; + return openFence + s + closeFence; + } + wrapArguments(expr) { + var _a; + return this.wrapString( + ((_a = ops(expr)) != null ? _a : []).map((x) => this.serialize(x)).join(", "), + this.options.applyFunctionStyle(expr, this.level) + ); + } + serializeSymbol(expr, def) { + var _a, _b, _c, _d, _e; + /* @__PURE__ */ console.assert(typeof expr === "string" || isSymbolObject(expr)); + if ((def == null ? void 0 : def.kind) === "function") { + return (_b = serializeIdentifier((_a = symbol(expr)) != null ? _a : "")) != null ? _b : ""; + } + return (_e = (_d = (_c = def == null ? void 0 : def.serialize) == null ? void 0 : _c.call(def, this, expr)) != null ? _d : serializeIdentifier(symbol(expr))) != null ? _e : ""; + } + serializeFunction(expr, def) { + var _a; + if (def == null ? void 0 : def.serialize) + return def.serialize(this, expr); + const h = head(expr); + if (typeof h === "string") + return serializeIdentifier(h, "auto") + this.wrapArguments(expr); + const args = (_a = ops(expr)) != null ? _a : []; + if (args.length === 1) { + return joinLatex([ + this.serialize(args[0]), + "\\rhd", + this.wrapString( + this.serialize(h), + this.options.applyFunctionStyle(expr, this.level) + ) + ]); + } + const style = this.options.applyFunctionStyle(expr, this.level); + return joinLatex([ + "\\operatorname{apply}", + this.wrapString( + this.serialize(h) + ", " + this.serialize(["List", ...args]), + style + ) + ]); + } + serializeDictionary(dict) { + return `\\left\\lbrack\\begin{array}{lll}${Object.keys(dict).map((x) => { + return `\\textbf{${x}} & \\rightarrow & ${this.serialize(dict[x])}`; + }).join("\\\\")}\\end{array}\\right\\rbrack`; + } + serialize(expr, options) { + if (expr === null || expr === void 0) + return ""; + options != null ? options : options = {}; + options = { ...options }; + if (!("canonical" in options)) + options.canonical = true; + const savedCanonical = this.canonical; + if (this.canonical === void 0) + this.canonical = options.canonical; + this.level += 1; + try { + const result = (() => { + const numericValue = serializeNumber(expr, this.options); + if (numericValue) + return numericValue; + const s = stringValue(expr); + if (s !== null) + return `\\text{${s}}`; + const dict = dictionary(expr); + if (dict !== null) + return this.serializeDictionary(dict); + const symbolName = symbol(expr); + if (symbolName !== null) { + return this.serializeSymbol( + expr, + this.dictionary.ids.get(symbolName) + ); + } + const fnName = headName(expr); + if (fnName) { + return this.serializeFunction(expr, this.dictionary.ids.get(fnName)); + } + if (head(expr) !== null) + return this.serializeFunction(expr); + this.onError([ + { + severity: "warning", + message: [ + "syntax-error", + expr ? JSON.stringify(expr) : "undefined" + ] + } + ]); + })(); + this.level -= 1; + this.canonical = savedCanonical; + return result != null ? result : ""; + } catch (e) { + } + this.level -= 1; + this.canonical = savedCanonical; + return ""; + } + applyFunctionStyle(expr, level) { + return this.options.applyFunctionStyle(expr, level); + } + groupStyle(expr, level) { + return this.options.groupStyle(expr, level); + } + rootStyle(expr, level) { + return this.options.rootStyle(expr, level); + } + fractionStyle(expr, level) { + return this.options.fractionStyle(expr, level); + } + logicStyle(expr, level) { + return this.options.logicStyle(expr, level); + } + powerStyle(expr, level) { + return this.options.powerStyle(expr, level); + } + numericSetStyle(expr, level) { + return this.options.numericSetStyle(expr, level); + } +}; +function specialName(s) { + var _a, _b; + const prefix = (_b = (_a = s.match(/^([^_]+)/)) == null ? void 0 : _a[1]) != null ? _b : ""; + let i = SYMBOLS.findIndex((x) => prefix === x[0]); + if (i >= 0) + return [SYMBOLS[i][1], s.substring(SYMBOLS[i][0].length)]; + const DIGITS = { + zero: "0", + one: "1", + two: "2", + three: "3", + four: "4", + five: "5", + six: "6", + seven: "7", + eight: "8", + nine: "9", + ten: "10" + }; + i = Object.keys(DIGITS).findIndex((x) => s.startsWith(x)); + if (i >= 0) { + const key = Object.keys(DIGITS)[i]; + return [DIGITS[key], s.substring(key.length)]; + } + const code = s.codePointAt(0); + i = SYMBOLS.findIndex((x) => x[2] === code); + if (i >= 0) + return [SYMBOLS[i][1], s.substring(1)]; + const EXTRA_SYMBOLS = { + plus: "+", + minus: "-", + pm: "\\pm", + ast: "\\ast", + dag: "\\dag", + ddag: "\\ddag", + hash: "\\#", + bottom: "\\bot", + top: "\\top", + bullet: "\\bullet", + circle: "\\circ", + diamond: "\\diamond", + times: "\\times", + square: "\\square", + star: "\\star" + }; + i = Object.keys(EXTRA_SYMBOLS).findIndex((x) => prefix === x); + if (i >= 0) { + const key = Object.keys(EXTRA_SYMBOLS)[i]; + return [EXTRA_SYMBOLS[key], s.substring(key.length)]; + } + return [prefix, s.substring(prefix.length)]; +} +function parseModifiers(s) { + let [body, rest] = specialName(s); + const accent = []; + while (rest.length > 0) { + const m = rest.match(/^_([a-zA-Z]+)(.*)/); + if (!m) + break; + if (!ACCENT_MODIFIERS[m[1]]) + break; + accent.push(m[1]); + rest = m[2]; + } + const styles = []; + while (rest.length > 0) { + const m = rest.match(/^_([a-zA-Z]+)(.*)/); + if (!m) + break; + if (!STYLE_MODIFIERS[m[1]]) + break; + styles.push(m[1]); + rest = m[2]; + } + return [body, accent, styles, rest]; +} +function parseIdentifierBody2(s, topLevel = true, style = "auto") { + let [body, accents, styles, rest] = parseModifiers(s); + for (const accent of accents) { + if (ACCENT_MODIFIERS[accent]) + body = ACCENT_MODIFIERS[accent](body); + } + if (topLevel) { + const sups = []; + const subs2 = []; + const m = body.match(/^([^\d].*?)(\d+)$/); + if (m) { + subs2.push(m[2]); + body = m[1]; + } + while (rest.length > 0) { + if (rest.startsWith("__")) { + const [sup, rest2] = parseIdentifierBody2( + rest.substring(2), + false, + "none" + ); + sups.push(sup); + rest = rest2; + } else if (rest.startsWith("_")) { + const [sub2, rest2] = parseIdentifierBody2( + rest.substring(1), + false, + "none" + ); + subs2.push(sub2); + rest = rest2; + } else { + break; + } + } + if (sups.length > 0) + body = `${body}^{${sups.join(",")}}`; + if (subs2.length > 0) + body = `${body}_{${subs2.join(",")}}`; + } + for (const style2 of styles) { + if (STYLE_MODIFIERS[style2]) + body = STYLE_MODIFIERS[style2](body); + } + if (styles.length === 0 && style !== "none") { + switch (style) { + case "auto": + if (countTokens(body) > 1) + body = `\\mathrm{${body}}`; + break; + case "operator": + body = `\\operatorname{${body}}`; + break; + case "italic": + body = `\\mathit{${body}}`; + break; + case "upright": + body = `\\mathrm{${body}}`; + break; + } + } + return [body, rest]; +} +function serializeIdentifier(s, style = "auto") { + if (s === null) + return null; + if (ONLY_EMOJIS.test(s)) + return s; + const m = s.match(/^(_+)(.*)/); + if (m) { + const [body2, rest2] = parseIdentifierBody2(m[2], true, "none"); + return `\\operatorname{${"\\_".repeat(m[1].length) + body2 + rest2}}`; + } + const [body, rest] = parseIdentifierBody2(s, true, style); + if (rest.length > 0) + return `\\operatorname{${s}}`; + return body; +} +var DEFAULT_SERIALIZE_LATEX_OPTIONS = { + invisibleMultiply: "", + // '\\cdot', + invisiblePlus: "", + // '+', + // invisibleApply: '', + multiply: "\\times", + missingSymbol: "\\blacksquare", + // openGroup: '(', + // closeGroup: ')', + // divide: '\\frac{#1}{#2}', + // subtract: '#1-#2', + // add: '#1+#2', + // negate: '-#1', + // squareRoot: '\\sqrt{#1}', + // nthRoot: '\\sqrt[#2]{#1}', + applyFunctionStyle: getApplyFunctionStyle, + groupStyle: getGroupStyle, + rootStyle: getRootStyle, + fractionStyle: getFractionStyle, + logicStyle: getLogicStyle, + powerStyle: getPowerStyle, + numericSetStyle: getNumericSetStyle +}; +var LatexSyntax = class _LatexSyntax { + constructor(options) { + var _a, _b; + const onError = (warnings) => { + if (typeof window !== "undefined") { + for (const warning of warnings) + console.warn(warning.message); + } + return; + }; + this.onError = (_a = options.onError) != null ? _a : onError; + this.computeEngine = options.computeEngine; + const opts = { ...options }; + delete opts.dictionary; + delete opts.onError; + this.options = { + ...DEFAULT_LATEX_NUMBER_OPTIONS, + ...DEFAULT_PARSE_LATEX_OPTIONS, + ...DEFAULT_SERIALIZE_LATEX_OPTIONS, + ...opts + }; + this._dictionaryInput = (_b = options.dictionary) != null ? _b : _LatexSyntax.getDictionary(); + this._dictionary = indexLatexDictionary( + this._dictionaryInput, + (sig) => this.onError([sig]) + ); + } + get dictionary() { + return this._dictionaryInput; + } + set dictionary(val) { + this._dictionaryInput = val; + this._dictionary = indexLatexDictionary(val, (sig) => this.onError([sig])); + } + updateOptions(opt) { + for (const k of Object.keys(this.options)) + if (k in opt) + this.options[k] = opt[k]; + this.serializer.updateOptions(opt); + } + static getDictionary(category = "all") { + if (category === "all") { + const result = []; + for (const domain of Object.keys(DEFAULT_LATEX_DICTIONARY)) + if (DEFAULT_LATEX_DICTIONARY[domain]) + result.push(...DEFAULT_LATEX_DICTIONARY[domain]); + return result; + } + if (!DEFAULT_LATEX_DICTIONARY[category]) + return []; + return Object.freeze([...DEFAULT_LATEX_DICTIONARY[category]]); + } + parse(latex) { + const parser = new _Parser( + tokenize(latex, []), + this.options, + this._dictionary, + this.computeEngine + ); + let expr = parser.parseExpression(); + if (!parser.atEnd) { + const opDefs = parser.peekDefinitions("infix"); + if (opDefs.length > 0) { + const start = parser.index; + const [def, n] = opDefs[0]; + parser.index += n; + const result = def.parse( + parser, + expr != null ? expr : parser.error("missing", start), + { minPrec: 0 } + ); + if (result) + return result; + if (def.name) { + return [ + def.name, + expr != null ? expr : parser.error("missing", start), + parser.error("missing", start) + ]; + } + parser.index = start; + } + const index = parser.index; + const id = parseIdentifier(parser); + if (id) { + const idError = parser.error(["unexpected-identifier", id], index); + return expr ? ["Sequence", expr, idError] : idError; + } + let openDelimiter = parser.peek; + const closeDelimiter = parser.matchEnclosureOpen(); + if (closeDelimiter) { + parser.parseExpression(); + parser.match(closeDelimiter); + const enclosureError = parser.error( + ["unexpected-open-delimiter", { str: openDelimiter }], + index + ); + return expr ? ["Sequence", expr, enclosureError] : enclosureError; + } + openDelimiter = parser.matchEnclosureClose(); + if (openDelimiter) { + const enclosureError = parser.error( + ["expected-open-delimiter", { str: openDelimiter }], + index + ); + return expr ? ["Sequence", expr, enclosureError] : enclosureError; + } + const rest = parser.index; + const token = parser.nextToken(); + while (!parser.atEnd) + parser.nextToken(); + if (!token) + return parser.error("syntax-error", rest); + const error = parser.error( + [ + token.length > 1 && token.startsWith("\\") ? "unexpected-command" : "unexpected-token", + { str: tokensToString([token]) } + ], + rest + ); + expr = expr ? ["Sequence", expr, error] : error; + } + expr != null ? expr : expr = ["Sequence"]; + if (this.options.preserveLatex) { + if (Array.isArray(expr)) + expr = { latex, fn: expr }; + else if (typeof expr === "number") + expr = { latex, num: Number(expr).toString() }; + else if (typeof expr === "string") + expr = { latex, sym: expr }; + else if (typeof expr === "object" && expr !== null) + expr.latex = latex; + } + return expr != null ? expr : ["Sequence"]; + } + serialize(expr, options) { + return this.serializer.serialize(expr, options); + } + get serializer() { + if (this._serializer) + return this._serializer; + this._serializer = new Serializer( + this.options, + this._dictionary, + this.onError + ); + return this._serializer; + } +}; +var import_complex2 = __toESM(require_complex()); +var import_complex = __toESM(require_complex()); +var MACHINE_PRECISION_BITS = 53; +var MACHINE_PRECISION = Math.log10( + Math.pow(2, MACHINE_PRECISION_BITS) +); +var MACHINE_TOLERANCE_BITS = 7; +var MACHINE_TOLERANCE = Math.pow( + 2, + -(MACHINE_PRECISION_BITS - MACHINE_TOLERANCE_BITS) +); +var NUMERIC_TOLERANCE = Math.pow(10, -10); +var SMALL_INTEGER = 1e6; +var MAX_ITERATION = 1e6; +var MAX_SYMBOLIC_TERMS = 200; +var SMALL_PRIMES = /* @__PURE__ */ new Set([ + 2, + 3, + 5, + 7, + 11, + 13, + 17, + 19, + 23, + 29, + 31, + 37, + 41, + 43, + 47, + 53, + 59, + 61, + 67, + 71, + 73, + 79, + 83, + 89, + 97, + 101, + 103, + 107, + 109, + 113, + 127, + 131, + 137, + 139, + 149, + 151, + 157, + 163, + 167, + 173, + 179, + 181, + 191, + 193, + 197, + 199, + 211, + 223, + 227, + 229, + 233, + 239, + 241, + 251, + 257, + 263, + 269, + 271, + 277, + 281, + 283, + 293, + 307, + 311, + 313, + 317, + 331, + 337, + 347, + 349, + 353, + 359, + 367, + 373, + 379, + 383, + 389, + 397, + 401, + 409, + 419, + 421, + 431, + 433, + 439, + 443, + 449, + 457, + 461, + 463, + 467, + 479, + 487, + 491, + 499, + 503, + 509, + 521, + 523, + 541, + 547, + 557, + 563, + 569, + 571, + 577, + 587, + 593, + 599, + 601, + 607, + 613, + 617, + 619, + 631, + 641, + 643, + 647, + 653, + 659, + 661, + 673, + 677, + 683, + 691, + 701, + 709, + 719, + 727, + 733, + 739, + 743, + 751, + 757, + 761, + 769, + 773, + 787, + 797, + 809, + 811, + 821, + 823, + 827, + 829, + 839, + 853, + 857, + 859, + 863, + 877, + 881, + 883, + 887, + 907, + 911, + 919, + 929, + 937, + 941, + 947, + 953, + 967, + 971, + 977, + 983, + 991, + 997, + 1009, + 1013, + 1019, + 1021, + 1031, + 1033, + 1039, + 1049, + 1051, + 1061, + 1063, + 1069, + 1087, + 1091, + 1093, + 1097, + 1103, + 1109, + 1117, + 1123, + 1129, + 1151, + 1153, + 1163, + 1171, + 1181, + 1187, + 1193, + 1201, + 1213, + 1217, + 1223, + 1229, + 1231, + 1237, + 1249, + 1259, + 1277, + 1279, + 1283, + 1289, + 1291, + 1297, + 1301, + 1303, + 1307, + 1319, + 1321, + 1327, + 1361, + 1367, + 1373, + 1381, + 1399, + 1409, + 1423, + 1427, + 1429, + 1433, + 1439, + 1447, + 1451, + 1453, + 1459, + 1471, + 1481, + 1483, + 1487, + 1489, + 1493, + 1499, + 1511, + 1523, + 1531, + 1543, + 1549, + 1553, + 1559, + 1567, + 1571, + 1579, + 1583, + 1597, + 1601, + 1607, + 1609, + 1613, + 1619, + 1621, + 1627, + 1637, + 1657, + 1663, + 1667, + 1669, + 1693, + 1697, + 1699, + 1709, + 1721, + 1723, + 1733, + 1741, + 1747, + 1753, + 1759, + 1777, + 1783, + 1787, + 1789, + 1801, + 1811, + 1823, + 1831, + 1847, + 1861, + 1867, + 1871, + 1873, + 1877, + 1879, + 1889, + 1901, + 1907, + 1913, + 1931, + 1933, + 1949, + 1951, + 1973, + 1979, + 1987, + 1993, + 1997, + 1999, + 2003, + 2011, + 2017, + 2027, + 2029, + 2039, + 2053, + 2063, + 2069, + 2081, + 2083, + 2087, + 2089, + 2099, + 2111, + 2113, + 2129, + 2131, + 2137, + 2141, + 2143, + 2153, + 2161, + 2179, + 2203, + 2207, + 2213, + 2221, + 2237, + 2239, + 2243, + 2251, + 2267, + 2269, + 2273, + 2281, + 2287, + 2293, + 2297, + 2309, + 2311, + 2333, + 2339, + 2341, + 2347, + 2351, + 2357, + 2371, + 2377, + 2381, + 2383, + 2389, + 2393, + 2399, + 2411, + 2417, + 2423, + 2437, + 2441, + 2447, + 2459, + 2467, + 2473, + 2477, + 2503, + 2521, + 2531, + 2539, + 2543, + 2549, + 2551, + 2557, + 2579, + 2591, + 2593, + 2609, + 2617, + 2621, + 2633, + 2647, + 2657, + 2659, + 2663, + 2671, + 2677, + 2683, + 2687, + 2689, + 2693, + 2699, + 2707, + 2711, + 2713, + 2719, + 2729, + 2731, + 2741, + 2749, + 2753, + 2767, + 2777, + 2789, + 2791, + 2797, + 2801, + 2803, + 2819, + 2833, + 2837, + 2843, + 2851, + 2857, + 2861, + 2879, + 2887, + 2897, + 2903, + 2909, + 2917, + 2927, + 2939, + 2953, + 2957, + 2963, + 2969, + 2971, + 2999, + 3001, + 3011, + 3019, + 3023, + 3037, + 3041, + 3049, + 3061, + 3067, + 3079, + 3083, + 3089, + 3109, + 3119, + 3121, + 3137, + 3163, + 3167, + 3169, + 3181, + 3187, + 3191, + 3203, + 3209, + 3217, + 3221, + 3229, + 3251, + 3253, + 3257, + 3259, + 3271, + 3299, + 3301, + 3307, + 3313, + 3319, + 3323, + 3329, + 3331, + 3343, + 3347, + 3359, + 3361, + 3371, + 3373, + 3389, + 3391, + 3407, + 3413, + 3433, + 3449, + 3457, + 3461, + 3463, + 3467, + 3469, + 3491, + 3499, + 3511, + 3517, + 3527, + 3529, + 3533, + 3539, + 3541, + 3547, + 3557, + 3559, + 3571, + 3581, + 3583, + 3593, + 3607, + 3613, + 3617, + 3623, + 3631, + 3637, + 3643, + 3659, + 3671, + 3673, + 3677, + 3691, + 3697, + 3701, + 3709, + 3719, + 3727, + 3733, + 3739, + 3761, + 3767, + 3769, + 3779, + 3793, + 3797, + 3803, + 3821, + 3823, + 3833, + 3847, + 3851, + 3853, + 3863, + 3877, + 3881, + 3889, + 3907, + 3911, + 3917, + 3919, + 3923, + 3929, + 3931, + 3943, + 3947, + 3967, + 3989, + 4001, + 4003, + 4007, + 4013, + 4019, + 4021, + 4027, + 4049, + 4051, + 4057, + 4073, + 4079, + 4091, + 4093, + 4099, + 4111, + 4127, + 4129, + 4133, + 4139, + 4153, + 4157, + 4159, + 4177, + 4201, + 4211, + 4217, + 4219, + 4229, + 4231, + 4241, + 4243, + 4253, + 4259, + 4261, + 4271, + 4273, + 4283, + 4289, + 4297, + 4327, + 4337, + 4339, + 4349, + 4357, + 4363, + 4373, + 4391, + 4397, + 4409, + 4421, + 4423, + 4441, + 4447, + 4451, + 4457, + 4463, + 4481, + 4483, + 4493, + 4507, + 4513, + 4517, + 4519, + 4523, + 4547, + 4549, + 4561, + 4567, + 4583, + 4591, + 4597, + 4603, + 4621, + 4637, + 4639, + 4643, + 4649, + 4651, + 4657, + 4663, + 4673, + 4679, + 4691, + 4703, + 4721, + 4723, + 4729, + 4733, + 4751, + 4759, + 4783, + 4787, + 4789, + 4793, + 4799, + 4801, + 4813, + 4817, + 4831, + 4861, + 4871, + 4877, + 4889, + 4903, + 4909, + 4919, + 4931, + 4933, + 4937, + 4943, + 4951, + 4957, + 4967, + 4969, + 4973, + 4987, + 4993, + 4999, + 5003, + 5009, + 5011, + 5021, + 5023, + 5039, + 5051, + 5059, + 5077, + 5081, + 5087, + 5099, + 5101, + 5107, + 5113, + 5119, + 5147, + 5153, + 5167, + 5171, + 5179, + 5189, + 5197, + 5209, + 5227, + 5231, + 5233, + 5237, + 5261, + 5273, + 5279, + 5281, + 5297, + 5303, + 5309, + 5323, + 5333, + 5347, + 5351, + 5381, + 5387, + 5393, + 5399, + 5407, + 5413, + 5417, + 5419, + 5431, + 5437, + 5441, + 5443, + 5449, + 5471, + 5477, + 5479, + 5483, + 5501, + 5503, + 5507, + 5519, + 5521, + 5527, + 5531, + 5557, + 5563, + 5569, + 5573, + 5581, + 5591, + 5623, + 5639, + 5641, + 5647, + 5651, + 5653, + 5657, + 5659, + 5669, + 5683, + 5689, + 5693, + 5701, + 5711, + 5717, + 5737, + 5741, + 5743, + 5749, + 5779, + 5783, + 5791, + 5801, + 5807, + 5813, + 5821, + 5827, + 5839, + 5843, + 5849, + 5851, + 5857, + 5861, + 5867, + 5869, + 5879, + 5881, + 5897, + 5903, + 5923, + 5927, + 5939, + 5953, + 5981, + 5987, + 6007, + 6011, + 6029, + 6037, + 6043, + 6047, + 6053, + 6067, + 6073, + 6079, + 6089, + 6091, + 6101, + 6113, + 6121, + 6131, + 6133, + 6143, + 6151, + 6163, + 6173, + 6197, + 6199, + 6203, + 6211, + 6217, + 6221, + 6229, + 6247, + 6257, + 6263, + 6269, + 6271, + 6277, + 6287, + 6299, + 6301, + 6311, + 6317, + 6323, + 6329, + 6337, + 6343, + 6353, + 6359, + 6361, + 6367, + 6373, + 6379, + 6389, + 6397, + 6421, + 6427, + 6449, + 6451, + 6469, + 6473, + 6481, + 6491, + 6521, + 6529, + 6547, + 6551, + 6553, + 6563, + 6569, + 6571, + 6577, + 6581, + 6599, + 6607, + 6619, + 6637, + 6653, + 6659, + 6661, + 6673, + 6679, + 6689, + 6691, + 6701, + 6703, + 6709, + 6719, + 6733, + 6737, + 6761, + 6763, + 6779, + 6781, + 6791, + 6793, + 6803, + 6823, + 6827, + 6829, + 6833, + 6841, + 6857, + 6863, + 6869, + 6871, + 6883, + 6899, + 6907, + 6911, + 6917, + 6947, + 6949, + 6959, + 6961, + 6967, + 6971, + 6977, + 6983, + 6991, + 6997, + 7001, + 7013, + 7019, + 7027, + 7039, + 7043, + 7057, + 7069, + 7079, + 7103, + 7109, + 7121, + 7127, + 7129, + 7151, + 7159, + 7177, + 7187, + 7193, + 7207, + 7211, + 7213, + 7219, + 7229, + 7237, + 7243, + 7247, + 7253, + 7283, + 7297, + 7307, + 7309, + 7321, + 7331, + 7333, + 7349, + 7351, + 7369, + 7393, + 7411, + 7417, + 7433, + 7451, + 7457, + 7459, + 7477, + 7481, + 7487, + 7489, + 7499, + 7507, + 7517, + 7523, + 7529, + 7537, + 7541, + 7547, + 7549, + 7559, + 7561, + 7573, + 7577, + 7583, + 7589, + 7591, + 7603, + 7607, + 7621, + 7639, + 7643, + 7649, + 7669, + 7673, + 7681, + 7687, + 7691, + 7699, + 7703, + 7717, + 7723, + 7727, + 7741, + 7753, + 7757, + 7759, + 7789, + 7793, + 7817, + 7823, + 7829, + 7841, + 7853, + 7867, + 7873, + 7877, + 7879, + 7883, + 7901, + 7907, + 7919 +]); +var LARGEST_SMALL_PRIME = 7919; +function primeFactors(n) { + var _a, _b; + /* @__PURE__ */ console.assert( + Number.isInteger(n) && n >= 0 && n < Number.MAX_SAFE_INTEGER, + n + ); + if (n <= 3) + return { [n]: 1 }; + const result = {}; + let count = 0; + while (n % 2 === 0) { + count += 1; + n /= 2; + } + if (count > 0) + result[2] = count; + count = 0; + while (n % 3 === 0) { + count += 1; + n /= 3; + } + if (count > 0) + result[3] = count; + let done = false; + while (!done) { + if (n === 1) + return result; + const sr = Math.sqrt(n); + done = true; + for (let i = 6; i <= sr + 6; i += 6) { + if (n % (i - 1) === 0) { + result[i - 1] = ((_a = result[i - 1]) != null ? _a : 0) + 1; + n /= i - 1; + done = false; + break; + } + if (n % (i + 1) === 0) { + result[i + 1] = ((_b = result[i + 1]) != null ? _b : 0) + 1; + n /= i + 1; + done = false; + break; + } + } + } + if (result[n] !== void 0) + result[n] += 1; + else + result[n] = 1; + return result; +} +function factorPower(n, exponent) { + if (n >= Number.MAX_SAFE_INTEGER) + return [1, n]; + /* @__PURE__ */ console.assert(Number.isInteger(n) && n > 0 && n < Number.MAX_SAFE_INTEGER); + const factors = primeFactors(n); + let f = 1; + let r = 1; + for (const k of Object.keys(factors)) { + const v = parseInt(k); + f = f * Math.pow(v, Math.floor(factors[k] / exponent)); + r = r * Math.pow(v, factors[k] % exponent); + } + return [f, r]; +} +function gcd(a, b) { + if (a === 0) + return b; + if (b === 0) + return a; + if (a === b) + return a; + if (!Number.isInteger(a) || !Number.isInteger(b)) + return NaN; + while (b !== 0) + [a, b] = [b, a % b]; + return a < 0 ? -a : a; +} +function lcm(a, b) { + return a * b / gcd(a, b); +} +function factorial(n) { + if (!Number.isInteger(n) || n < 0) + return NaN; + let val = 1; + for (let i = 2; i <= n; i++) + val = val * i; + return val; +} +var gammaG = 7; +var lanczos_7_c = [ + 0.9999999999998099, + 676.5203681218851, + -1259.1392167224028, + 771.3234287776531, + -176.6150291621406, + 12.507343278686905, + -0.13857109526572012, + 9984369578019572e-21, + 15056327351493116e-23 +]; +var gammaGLn = 607 / 128; +var gammaPLn = [ + 0.999999999999997, + 57.15623566586292, + -59.59796035547549, + 14.13609797474174, + -0.4919138160976202, + 3399464998481188e-20, + 4652362892704857e-20, + -9837447530487956e-20, + 1580887032249125e-19, + -21026444172410488e-20, + 2174396181152126e-19, + -1643181065367639e-19, + 8441822398385274e-20, + -261908384015814e-19, + 3689918265953162e-21 +]; +function lngamma(z) { + if (z < 0) + return NaN; + let x = gammaPLn[0]; + for (let i = gammaPLn.length - 1; i > 0; --i) + x += gammaPLn[i] / (z + i); + const t = z + gammaGLn + 0.5; + return 0.5 * Math.log(2 * Math.PI) + (z + 0.5) * Math.log(t) - t + Math.log(x) - Math.log(z); +} +function gamma(z) { + if (z < 0.5) + return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z)); + if (z > 100) + return Math.exp(lngamma(z)); + z -= 1; + let x = lanczos_7_c[0]; + for (let i = 1; i < gammaG + 2; i++) + x += lanczos_7_c[i] / (z + i); + const t = z + gammaG + 0.5; + return Math.sqrt(2 * Math.PI) * Math.pow(t, z + 0.5) * Math.exp(-t) * x; +} +function fromDigits(s, base = 10) { + let value = 0; + for (let i = 0; i < s.length; i++) { + const k = { + " ": -1, + "\xA0": -1, + // NBS + "\u2000": -1, + // EN QUAD + "\u2001": -1, + // EM QUAD + "\u2002": -1, + // EN SPACE + "\u2003": -1, + // EM SPACE + "\u2004": -1, + // THREE-PER-EM SPACE + "\u2005": -1, + // FOUR-PER-EM SPACE + "\u2006": -1, + // SIX-PER-EM SPACE + "\u2007": -1, + // FIGURE SPACE + "\u2008": -1, + // PUNCTUATION SPACE + "\u2009": -1, + // THIN SPACE + "\u200A": -1, + // HAIR SPACE + "\u200B": -1, + // ZWS + "\u202F": -1, + // NARROW NBS + "\u205F": -1, + // MEDIUM MATHEMATICAL SPACE + "_": -1, + ",": -1, + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "a": 10, + "b": 11, + "c": 12, + "d": 13, + "e": 14, + "f": 15, + "g": 16, + "h": 17, + "i": 18, + "j": 19, + "k": 20, + "l": 21, + "m": 22, + "n": 23, + "o": 24, + "p": 25, + "q": 26, + "r": 27, + "s": 28, + "t": 29, + "u": 30, + "v": 31, + "w": 32, + "x": 33, + "y": 34, + "z": 35 + }[s[i]]; + if (k !== -1) { + if (k === void 0) + return [value, s.substring(i)]; + if (k >= base) + return [value, s.substring(i)]; + value = value * base + k; + } + } + return [value, ""]; +} +function asFloat(expr) { + const num = expr.numericValue; + if (num === null) + return null; + if (typeof num === "number") + return num; + if (num instanceof decimal_default) + return num.toNumber(); + if (Array.isArray(num)) { + const [n, d] = num; + if (typeof n === "number" && typeof d === "number") + return n / d; + return Number(n) / Number(d); + } + /* @__PURE__ */ console.assert(!(num instanceof import_complex.default) || num.im !== 0); + return null; +} +function asBignum(expr) { + const num = expr.numericValue; + if (num === null) + return null; + if (num instanceof decimal_default) + return num; + if (typeof num === "number") + return expr.engine.bignum(num); + if (Array.isArray(num)) { + const [n, d] = num; + if (typeof n === "number" && typeof d === "number") + return expr.engine.bignum(n / d); + return expr.engine.bignum(n).div(d.toString()); + } + /* @__PURE__ */ console.assert(!(num instanceof import_complex.default) || num.im !== 0); + return null; +} +function asSmallInteger(expr) { + const num = expr.numericValue; + if (num === null) + return null; + if (typeof num === "number") { + if (Number.isInteger(num) && num >= -SMALL_INTEGER && num <= SMALL_INTEGER) + return num; + return null; + } + if (num instanceof decimal_default) { + if (num.isInteger()) { + const n = num.toNumber(); + if (n >= -SMALL_INTEGER && n <= SMALL_INTEGER) + return n; + } + return null; + } + if (expr.isCanonical) + return null; + const r = num; + if (Array.isArray(r)) { + const [n, d] = r; + let v; + if (typeof n === "number" && typeof d === "number") + v = n / d; + else + v = Number(n) / Number(d); + if (Number.isInteger(v) && v >= -SMALL_INTEGER && v <= SMALL_INTEGER) + return v; + return null; + } + return null; +} +function chop(n, tolerance) { + if (typeof n === "number" && Math.abs(n) <= tolerance) + return 0; + if (n instanceof decimal_default && n.abs().lte(tolerance)) + return 0; + if (n instanceof import_complex.default && Math.abs(n.re) <= tolerance && Math.abs(n.im) <= tolerance) + return 0; + return n; +} +function erf(x) { + const a1 = 0.254829592; + const a2 = -0.284496736; + const a3 = 1.421413741; + const a4 = -1.453152027; + const a5 = 1.061405429; + const p = 0.3275911; + const sign2 = x < 0 ? -1 : 1; + x = Math.abs(x); + const t = 1 / (1 + p * x); + const y = ((((a5 * t + a4) * t + a3) * t + a2) * t + a1) * t; + return sign2 * (1 - y * Math.exp(-x * x)); +} +function bigint(a) { + var _a; + if (typeof a === "bigint") + return a; + if (a instanceof decimal_default) + return bigint(a.toString()); + let s = a.toString(); + const m = s.match(/([^\.]+)(?:\.([0-9]+))?e(.+)$/); + if (m) { + s = m[1] + ((_a = m[2]) != null ? _a : "") + "0".repeat(parseInt(m[3]) - (m[2] ? m[2].length : 0)); + } + return BigInt(s); +} +function gcd2(a, b) { + while (b !== BigInt(0)) + [a, b] = [b, a % b]; + return a < 0 ? -a : a; +} +var PRIME_WHEEL_INC = [ + BigInt(4), + BigInt(2), + BigInt(4), + BigInt(2), + BigInt(4), + BigInt(6), + BigInt(2), + BigInt(6) +]; +function primeFactors2(d) { + var _a, _b; + if (d < Number.MAX_SAFE_INTEGER) { + const factors = primeFactors(Number(d)); + const result2 = /* @__PURE__ */ new Map(); + for (const f of Object.keys(factors)) + result2.set(bigint(f), factors[f]); + return result2; + } + let n = d; + const result = /* @__PURE__ */ new Map(); + let count2 = 0; + let count3 = 0; + let count5 = 0; + let k = BigInt(10); + while (n % k === BigInt(0)) { + count2 += 1; + count5 += 1; + n = n / k; + } + k = BigInt(5); + while (n % k === BigInt(0)) { + count5 += 1; + n = n / k; + } + k = BigInt(3); + while (n % k === BigInt(0)) { + count3 += 1; + n = n / k; + } + k = BigInt(2); + while (n % k === BigInt(0)) { + count2 += 1; + n = n / k; + } + if (count2 > 0) + result.set("2", count2); + if (count3 > 0) + result.set("3", count3); + if (count5 > 0) + result.set("5", count5); + k = BigInt(7); + let kIndex = ""; + let i = 0; + while (k * k < n) { + if (n % k === BigInt(0)) { + if (!kIndex) + kIndex = k.toString(); + result.set(kIndex, ((_a = result.get(kIndex)) != null ? _a : 0) + 1); + n = n / k; + } else { + k = k + PRIME_WHEEL_INC[i]; + kIndex = ""; + i = i < 7 ? i + 1 : 0; + } + } + if (n !== BigInt(1)) + result.set(n.toString(), ((_b = result.get(n.toString())) != null ? _b : 0) + 1); + const r = /* @__PURE__ */ new Map(); + for (const [k2, v] of result) + r.set(bigint(k2), v); + return r; +} +function factorPower2(n, exponent) { + const factors = primeFactors2(n); + let f = BigInt(1); + let r = BigInt(1); + const exp2 = bigint(exponent); + for (const [k, v] of factors) { + const v2 = bigint(v); + f = f * k ** (v2 / exp2); + r = r * k ** (v2 % exp2); + } + return [f, r]; +} +function isLatexString(s) { + if (typeof s === "string") + return s.startsWith("$") && s.endsWith("$"); + return false; +} +function latexString(s) { + if (typeof s === "string" && s.startsWith("$") && s.endsWith("$")) + return s.slice(1, -1); + return null; +} +function getImaginaryCoef(expr) { + if (expr.symbol === "ImaginaryUnit") + return 1; + const z = expr.numericValue; + if (z !== null && z instanceof import_complex2.default && z.re === 0) + return z.im; + if (expr.head === "Negate") { + const v = getImaginaryCoef(expr.op1); + if (v === null) + return null; + return -v; + } + if (expr.head === "Multiply" && expr.nops === 2) { + if (expr.op1.symbol === "ImaginaryUnit") + return asFloat(expr.op2); + if (expr.op2.symbol === "ImaginaryUnit") + return asFloat(expr.op1); + } + return 0; +} +function getFreeVars(expr, set) { + if (expr.symbol) { + const def = expr.engine.lookupSymbol(expr.symbol); + if ((def == null ? void 0 : def.value) === void 0) + set.add(expr.symbol); + return; + } + if (!expr.ops && !expr.keys) + return; + if (expr.ops) + for (const op3 of expr.ops) + getFreeVars(op3, set); + if (expr.keys) + for (const key of expr.keys) + getFreeVars(expr.getKey(key), set); + return; +} +function getSymbols(expr, set) { + if (expr.symbol) { + set.add(expr.symbol); + return; + } + if (!expr.ops && !expr.keys) + return; + if (expr.ops) + for (const op3 of expr.ops) + getSymbols(op3, set); + if (expr.keys) + for (const key of expr.keys) + getSymbols(expr.getKey(key), set); + return; +} +function getSubexpressions(expr, head2) { + const result = !head2 || expr.head === head2 ? [expr] : []; + if (expr.ops) { + for (const op3 of expr.ops) + result.push(...getSubexpressions(op3, head2)); + } else if (expr.keys) { + for (const op3 of expr.keys) + result.push(...getSubexpressions(expr.getKey(op3), head2)); + } + return result; +} +function bignumPreferred(ce) { + return ce.numericMode === "bignum" || ce.numericMode === "auto"; +} +function complexAllowed(ce) { + return ce.numericMode === "auto" || ce.numericMode === "complex"; +} +function hashCode(s) { + let hash2 = 0; + for (let i = 0; i < s.length; i++) + hash2 = Math.imul(31, hash2) + s.charCodeAt(i) | 0; + return Math.abs(hash2); +} +function bigintValue(ce, expr) { + var _a; + if (expr === null || expr === void 0) + return null; + if (typeof expr === "number") + return Number.isInteger(expr) ? bigint(expr) : null; + if (isNumberExpression(expr)) { + const num = isNumberObject(expr) ? expr.num.toString() : expr; + let s = num.toLowerCase().replace(/[nd]$/g, "").replace(/[\u0009-\u000d\u0020\u00a0]/g, ""); + if (/\([0-9]+\)/.test(s)) { + const [_, body, repeat, trail] = (_a = s.match(/(.+)\(([0-9]+)\)(.*)$/)) != null ? _a : []; + s = body + repeat.repeat(Math.ceil(ce.precision / repeat.length)) + (trail != null ? trail : ""); + } + if (s === "nan") + return null; + if (s === "infinity" || s === "+infinity") + return null; + if (s === "-infinity") + return null; + if (s.includes(".")) + return null; + return bigint(s); + } + return null; +} +function asBigint(expr) { + const num = expr.numericValue; + if (num === null) + return null; + if (typeof num === "number" && Number.isInteger(num)) + return bigint(num); + if (num instanceof decimal_default && num.isInteger()) + return bigint(num); + return null; +} +function matchRules(expr, rules, sub2) { + const result = []; + for (const rule of rules) { + const r = applyRule(rule, expr, sub2); + if (r !== null) + result.push(r); + } + return result; +} +function boxRules(ce, rs) { + var _a; + const result = /* @__PURE__ */ new Set(); + for (const [rawLhs, rawRhs, options] of rs) { + let cond; + const latex = latexString(options == null ? void 0 : options.condition); + if (latex) { + const condPattern = ce.pattern(latex); + cond = (x) => { + var _a2; + return ((_a2 = condPattern.subs(x).value) == null ? void 0 : _a2.symbol) === "True"; + }; + } else + cond = options == null ? void 0 : options.condition; + result.add([ + ce.pattern(rawLhs), + ce.pattern(rawRhs), + (_a = options == null ? void 0 : options.priority) != null ? _a : 0, + cond + ]); + } + return result; +} +function applyRule([lhs, rhs, _priority, condition], expr, substitution, options) { + const sub2 = lhs.match(expr, { substitution, ...options }); + if (sub2 === null) + return null; + if (typeof condition === "function" && !condition(sub2)) + return null; + return rhs.subs(sub2, { canonical: true }); +} +function replace(expr, ruleSet, options) { + var _a, _b; + const iterationLimit = (_a = options == null ? void 0 : options.iterationLimit) != null ? _a : 1; + let iterationCount = 0; + const once = (_b = options == null ? void 0 : options.once) != null ? _b : false; + let done = false; + let atLeastOneRule = false; + try { + while (!done && iterationCount < iterationLimit) { + done = true; + for (const rule of ruleSet) { + const result = applyRule(rule, expr, {}, options); + if (result !== null && result !== expr) { + if (once) + return result; + done = false; + atLeastOneRule = true; + expr = result; + } + } + iterationCount += 1; + } + } catch (e) { + console.error(e); + } + return atLeastOneRule ? expr : null; +} +function getWildcardName(s) { + const m = s.match(/^(__?_?[a-zA-Z0-9]+)/); + if (m === null) + return ""; + return m[1]; +} +var import_complex3 = __toESM(require_complex()); +function totalDegree(expr) { + if (expr.head === "Power" && expr.op2.numericValue !== null) { + const deg = asSmallInteger(expr.op2); + if (deg !== null && deg > 0) + return deg; + return 1; + } + if (expr.head === "Multiply") { + let deg = 1; + for (const arg of expr.ops) { + const t = totalDegree(arg); + if (t > 1) + deg = deg + t; + } + return deg; + } + return 1; +} +function maxDegree(expr) { + if (expr.head === "Power" && expr.op2.numericValue !== null) { + const deg = asSmallInteger(expr.op2); + if (deg !== null && deg > 0) + return deg; + return 1; + } + if (expr.head === "Multiply") { + let deg = 1; + for (const arg of expr.ops) + deg = Math.max(deg, totalDegree(arg)); + return deg; + } + return 1; +} +function lex(expr) { + if (expr.symbol) + return expr.symbol; + if (expr.ops) { + const h = typeof expr.head === "string" ? expr.head : lex(expr.head); + return h + '"' + expr.ops.map((x) => lex(x)).filter((x) => x.length > 0).join('"'); + } + return ""; +} +var DEFAULT_COMPLEXITY = 1e5; +function sortAdd(ce, ops2) { + return ops2.sort((a, b) => { + const aLex = lex(a); + const bLex = lex(b); + if (!aLex && !bLex) + return order(a, b); + if (!aLex) + return 1; + if (!bLex) + return -1; + if (aLex < bLex) + return -1; + if (aLex > bLex) + return 1; + const aTotalDeg = totalDegree(a); + const bTotalDeg = totalDegree(b); + if (aTotalDeg !== bTotalDeg) + return bTotalDeg - aTotalDeg; + const aMaxDeg = maxDegree(a); + const bMaxDeg = maxDegree(b); + if (aMaxDeg !== bMaxDeg) + return aMaxDeg - bMaxDeg; + return order(a, b); + }); +} +function order(a, b) { + var _a, _b, _c, _d, _e, _f, _g, _h; + if (a === b) + return 0; + if (a.numericValue !== null && a.numericValue === b.numericValue) + return 0; + const af = asFloat(a); + if (af !== null) { + const bf = asFloat(b); + if (bf !== null) + return af - bf; + return -1; + } + if (a.numericValue instanceof import_complex3.default) { + if (b.numericValue instanceof import_complex3.default) { + if (a.numericValue.re === b.numericValue.re) { + if (Math.abs(a.numericValue.im) === Math.abs(b.numericValue.im)) { + return a.numericValue.im - b.numericValue.im; + } + return Math.abs(a.numericValue.im) - Math.abs(b.numericValue.im); + } + return a.numericValue.re - b.numericValue.re; + } + if (b.numericValue !== null) + return 1; + return -1; + } + if (a.numericValue) { + if (b.numericValue) { + return 1; + } + return -1; + } + if (a.head === "Sqrt" && a.op1.numericValue) { + if (b.head === "Sqrt" && b.op1.numericValue) + return order(a.op1, b.op1); + return -1; + } + if (a.symbol) { + if (b.symbol) { + if (a.symbol === b.symbol) + return 0; + return a.symbol > b.symbol ? 1 : -1; + } + if (b.numericValue !== null) + return 1; + return -1; + } + if (a.ops) { + if (b.ops) { + const aComplexity = (_b = (_a = a.functionDefinition) == null ? void 0 : _a.complexity) != null ? _b : DEFAULT_COMPLEXITY; + const bComplexity = (_d = (_c = b.functionDefinition) == null ? void 0 : _c.complexity) != null ? _d : DEFAULT_COMPLEXITY; + if (aComplexity === bComplexity) { + if (typeof a.head === "string" && typeof b.head === "string") { + if (a.head === b.head) { + return getLeafCount(a) - getLeafCount(b); + } + if (a.head < b.head) + return 1; + return -1; + } + return getLeafCount(a) - getLeafCount(b); + } + return aComplexity - bComplexity; + } + if (b.numericValue !== null || b.symbol) + return 1; + return -1; + } + if (a.string) { + if (b.string) { + if (a.string.length !== b.string.length) + return b.string.length - a.string.length; + if (b.string < a.string) + return -1; + if (a.string > b.string) + return 1; + return 0; + } + if (b.keys) + return -1; + return 1; + } + if (a.keys && b.keys) { + if (a.keysCount !== b.keysCount) + return b.keysCount - a.keysCount; + let bComplexity = 0; + let aComplexity = 0; + for (const key of b.keys) + bComplexity += (_e = b.getKey(key).complexity) != null ? _e : DEFAULT_COMPLEXITY; + for (const key of a.keys) + aComplexity += (_f = a.getKey(key).complexity) != null ? _f : DEFAULT_COMPLEXITY; + return aComplexity - bComplexity; + } + return ((_g = a.complexity) != null ? _g : DEFAULT_COMPLEXITY) - ((_h = b.complexity) != null ? _h : DEFAULT_COMPLEXITY); +} +function getLeafCount(expr) { + if (expr.keys !== null) + return 1 + expr.keysCount; + if (!expr.ops) + return 1; + return (typeof expr.head === "string" ? 1 : getLeafCount(expr.head)) + [...expr.ops].reduce((acc, x) => acc + getLeafCount(x), 0); +} +function flattenOps(ops2, head2) { + if (!head2) + return ops2; + if (ops2.every((x) => !x.ops || x.head !== head2)) + return ops2; + const result = []; + for (const arg of ops2) { + if (!arg.ops || arg.head !== head2) + result.push(arg); + else { + result.push(...flattenOps(arg.ops, head2)); + } + } + /* @__PURE__ */ console.assert(result.length !== ops2.length); + if (result.length === ops2.length) + return ops2; + return result; +} +function flattenSequence(xs) { + if (xs.every((x) => x.head !== "Sequence")) + return xs; + const ys = []; + for (const x of xs) { + if (x.isValid && x.head === "Sequence") { + if (x.ops) + ys.push(...x.ops); + } else + ys.push(x); + } + return ys; +} +function canonical(xs) { + return xs.every((x) => x.isCanonical) ? xs : xs.map((x) => x.canonical); +} +var import_complex4 = __toESM(require_complex()); +function isRational(x) { + return x !== null && Array.isArray(x); +} +function isMachineRational(x) { + return x !== null && Array.isArray(x) && typeof x[0] === "number"; +} +function isBigRational(x) { + return x !== null && Array.isArray(x) && typeof x[0] === "bigint"; +} +function isRationalZero(x) { + return x[0] == 0; +} +function isRationalOne(x) { + return x[0] === x[1]; +} +function isRationalNegativeOne(x) { + return x[0] === -x[1]; +} +function machineNumerator(x) { + return Number(x[0]); +} +function machineDenominator(x) { + return Number(x[1]); +} +function isNeg(x) { + return x[0] < 0; +} +function neg(x) { + return [-x[0], x[1]]; +} +function inverse(x) { + return x[0] < 0 ? [-x[1], -x[0]] : [x[1], x[0]]; +} +function asRational(expr) { + const num = expr.numericValue; + if (num === null) + return void 0; + if (Array.isArray(num)) + return num; + if (typeof num === "number" && Number.isInteger(num)) + return [num, 1]; + if (num instanceof decimal_default && num.isInteger()) + return [bigint(num), BigInt(1)]; + return void 0; +} +function asMachineRational(r) { + return [Number(r[0]), Number(r[1])]; +} +function add2(lhs, rhs) { + /* @__PURE__ */ console.assert( + Array.isArray(rhs) || rhs.numericValue !== null && !(rhs instanceof import_complex4.default) + ); + if (typeof lhs[0] === "number" && !Number.isFinite(lhs[0])) + return lhs; + const rhsNum = Array.isArray(rhs) ? rhs : rhs.numericValue; + if (rhsNum === null) + return lhs; + if (Array.isArray(rhsNum)) { + if (isBigRational(rhsNum)) { + lhs = [bigint(lhs[0]), bigint(lhs[1])]; + return [rhsNum[1] * lhs[0] + rhsNum[0] * lhs[1], rhsNum[1] * lhs[1]]; + } + if (!Number.isFinite(rhsNum[0])) + return rhsNum; + if (isBigRational(lhs)) { + const bigRhs = [bigint(rhsNum[0]), bigint(rhsNum[1])]; + return [bigRhs[1] * lhs[0] + bigRhs[0] * lhs[1], bigRhs[1] * lhs[1]]; + } + return [rhsNum[1] * lhs[0] + rhsNum[0] * lhs[1], rhsNum[1] * lhs[1]]; + } + if (rhsNum instanceof decimal_default) { + if (rhsNum.isNaN()) + return [Number.NaN, 1]; + if (!rhsNum.isFinite()) + return [rhsNum.isNegative() ? -Infinity : Infinity, 1]; + /* @__PURE__ */ console.assert(rhsNum.isInteger()); + if (isMachineRational(lhs)) + lhs = [bigint(lhs[0]), bigint(lhs[1])]; + return [lhs[0] + lhs[1] * bigint(rhsNum.toString()), lhs[1]]; + } + if (rhsNum instanceof import_complex4.default) + return [Number.NaN, 1]; + /* @__PURE__ */ console.assert(!Number.isFinite(rhsNum) || Number.isInteger(rhsNum)); + if (!Number.isFinite(rhsNum)) + return [rhsNum, 1]; + if (isMachineRational(lhs)) + return [lhs[0] + lhs[1] * rhsNum, lhs[1]]; + return [lhs[0] + lhs[1] * bigint(rhsNum), lhs[1]]; +} +function mul2(lhs, rhs) { + /* @__PURE__ */ console.assert( + Array.isArray(rhs) || rhs.numericValue !== null && !(rhs instanceof import_complex4.default) + ); + if (Array.isArray(rhs)) { + if (isMachineRational(lhs) && isMachineRational(rhs)) + return [lhs[0] * rhs[0], lhs[1] * rhs[1]]; + if (isMachineRational(lhs)) + lhs = [bigint(lhs[0]), bigint(lhs[1])]; + if (isMachineRational(rhs)) + rhs = [bigint(rhs[0]), bigint(rhs[1])]; + return [lhs[0] * rhs[0], lhs[1] * rhs[1]]; + } + const rhsNum = rhs.numericValue; + if (rhsNum !== null && typeof rhsNum === "number") { + /* @__PURE__ */ console.assert(Number.isInteger(rhsNum)); + if (isMachineRational(lhs)) + return [lhs[0] * rhsNum, lhs[1]]; + return [lhs[0] * bigint(rhsNum), lhs[1]]; + } + if (rhsNum instanceof decimal_default) { + /* @__PURE__ */ console.assert(rhsNum.isInteger()); + if (isMachineRational(lhs)) + return [bigint(rhsNum.toString()) * bigint(lhs[0]), bigint(lhs[1])]; + return [bigint(rhsNum.toString()) * lhs[0], lhs[1]]; + } + if (Array.isArray(rhsNum)) { + if (isBigRational(rhsNum)) + return [rhsNum[0] * bigint(lhs[0]), rhsNum[1] * bigint(lhs[1])]; + else if (isMachineRational(lhs)) + return [lhs[0] * rhsNum[0], lhs[1] * rhsNum[1]]; + return [lhs[0] * bigint(rhsNum[0]), lhs[1] * bigint(rhsNum[1])]; + } + return lhs; +} +function pow2(r, exp2) { + /* @__PURE__ */ console.assert(Number.isInteger(exp2)); + if (exp2 === 0) + return [1, 1]; + if (exp2 < 0) { + r = inverse(r); + exp2 = -exp2; + } + if (exp2 === 1) + return r; + if (isMachineRational(r)) + return [Math.pow(r[0], exp2), Math.pow(r[1], exp2)]; + const bigexp = bigint(exp2); + return [r[0] ** bigexp, r[1] ** bigexp]; +} +function reducedRational(r) { + if (isMachineRational(r)) { + if (r[0] === 1 || r[1] === 1) + return r; + if (r[1] < 0) + r = [-r[0], -r[1]]; + if (!Number.isFinite(r[1])) + return [0, 1]; + const g2 = gcd(r[0], r[1]); + return g2 <= 1 ? r : [r[0] / g2, r[1] / g2]; + } + if (r[0] === BigInt(1) || r[1] === BigInt(1)) + return r; + if (r[1] < 0) + r = [-r[0], -r[1]]; + const g = gcd2(r[0], r[1]); + if (g <= 1) + return r; + return [r[0] / g, r[1] / g]; +} +function rationalize(x) { + if (!Number.isFinite(x)) + return x; + const fractional = x % 1; + if (fractional === 0) + return x; + const eps = 1e-15; + let a = Math.floor(x); + let h1 = 1; + let k1 = 0; + let h = a; + let k = 1; + while (x - a > eps * k * k) { + x = 1 / (x - a); + a = Math.floor(x); + const h2 = h1; + h1 = h; + const k2 = k1; + k1 = k; + h = h2 + a * h1; + k = k2 + a * k1; + } + return [h, k]; +} +function asCoefficient(expr) { + /* @__PURE__ */ console.assert(expr.isCanonical); + const ce = expr.engine; + if (expr.head === "Multiply") { + const rest = []; + let coef = [1, 1]; + for (const arg of expr.ops) { + const n2 = arg.numericValue; + if (n2 !== null && (typeof n2 === "number" && Number.isInteger(n2) || n2 instanceof decimal_default && n2.isInteger() || isRational(n2))) + coef = mul2(coef, arg); + else + rest.push(arg); + } + coef = reducedRational(coef); + if (isRationalOne(coef)) + return [[1, 1], expr]; + if (rest.length === 0) + return [coef, ce._ONE]; + if (rest.length === 1) + return [coef, rest[0]]; + return [coef, ce.mul(rest)]; + } + if (expr.head === "Divide") { + let [coef1, numer] = asCoefficient(expr.op1); + const [coef2, denom] = asCoefficient(expr.op2); + const coef = reducedRational(mul2(coef1, inverse(coef2))); + if (denom.isOne) + return [coef, numer]; + return [coef, ce.div(numer, denom)]; + } + if (expr.head === "Power") { + if (expr.op2.numericValue === null) + return [[1, 1], expr]; + let [coef, base] = asCoefficient(expr.op1); + if (isRationalOne(coef)) + return [[1, 1], expr]; + const exponent = expr.op2; + const e = asSmallInteger(exponent); + if (e === -1) + return [inverse(coef), ce.inv(base)]; + if (e !== null) + return [pow2(coef, e), ce.pow(base, exponent)]; + if (exponent.numericValue !== null && Array.isArray(exponent.numericValue)) { + const [en, ed] = asMachineRational(exponent.numericValue); + const [numer, denom] = asMachineRational(coef); + if (numer > 0 && Math.abs(en) === 1) { + const [nCoef, nRest] = factorPower(numer, ed); + const [dCoef, dRest] = factorPower(denom, ed); + if (nCoef === 1 && dCoef === 1) + return [[1, 1], expr]; + return [ + en === 1 ? [nCoef, dCoef] : [dCoef, nCoef], + ce.pow(ce.mul([ce.number([nRest, dRest]), base]), exponent) + ]; + } + } + return [[1, 1], expr]; + } + if (expr.head === "Add") { + } + if (expr.head === "Negate") { + const [coef, rest] = asCoefficient(expr.op1); + return [neg(coef), rest]; + } + const n = expr.numericValue; + if (n !== null) { + if (n instanceof decimal_default) { + if (n.isInteger()) + return [[bigint(n.toString()), BigInt(1)], ce._ONE]; + if (n.isNegative()) + return [[-1, 1], ce.number(n.neg())]; + } + if (typeof n === "number") { + if (Number.isInteger(n)) + return [[n, 1], ce._ONE]; + if (n < 0) + return [[-1, 1], ce.number(-n)]; + } + if (isRational(n)) + return [n, ce._ONE]; + if (n instanceof import_complex4.default && n.re < 0) + return [[-1, 1], ce.number(ce.complex(-n.re, -n.im))]; + } + return [[1, 1], expr]; +} +function signDiff(lhs, rhs, tolerance) { + if (lhs === rhs) + return 0; + const lhsN = lhs.N(); + const rhsN = rhs.N(); + const lhsNum = lhsN.numericValue; + const rhsNum = rhsN.numericValue; + if (lhsNum === null || rhsNum === null) { + const lhsS = lhs.sgn; + const rhsS = rhs.sgn; + if (typeof lhsS !== "number" || typeof rhsS !== "number") + return void 0; + if (lhsS === 0 && rhsS === 0) + return 0; + if (lhsS < 0 && rhsS > 0) + return -1; + if (lhsS > 0 && rhsS < 0) + return 1; + return void 0; + } + tolerance != null ? tolerance : tolerance = lhs.engine.tolerance; + if (lhsNum instanceof import_complex4.default && rhsNum instanceof import_complex4.default) + return chop(lhsNum.re - rhsNum.re, tolerance) === 0 && chop(lhsNum.im - rhsNum.im, tolerance) === 0 ? 0 : void 0; + if (lhsNum instanceof import_complex4.default || rhsNum instanceof import_complex4.default) + return void 0; + if (isRational(lhsNum) || isRational(rhsNum)) + return void 0; + if (typeof lhsNum === "number" && typeof rhsNum === "number") { + if (chop(rhsNum - lhsNum, tolerance) === 0) + return 0; + return lhsNum < rhsNum ? -1 : 1; + } + const ce = lhs.engine; + const delta = ce.bignum(rhsNum).sub(ce.bignum(lhsNum)); + if (chop(delta, tolerance) === 0) + return 0; + return delta.isPos() ? 1 : -1; +} +var import_complex5 = __toESM(require_complex()); +var Sum = class { + constructor(ce, xs, options) { + this._isCanonical = true; + this._imaginary = 0; + this._posInfinityCount = 0; + this._negInfinityCount = 0; + this._naNCount = 0; + this._terms = []; + options != null ? options : options = {}; + if (!("canonical" in options)) + this._isCanonical = true; + else + this._isCanonical = options.canonical; + this.engine = ce; + this._rational = bignumPreferred(ce) ? [BigInt(0), BigInt(1)] : [0, 1]; + this._bignum = ce._BIGNUM_ZERO; + this._number = 0; + if (xs) + for (const x of xs) + this.addTerm(x); + } + get isEmpty() { + if (!this._isCanonical) + return this._terms.length === 0; + return this._terms.length === 0 && isRationalZero(this._rational) && this._imaginary === 0 && this._number === 0 && this._bignum.isZero() && this._negInfinityCount === 0 && this._posInfinityCount === 0 && this._naNCount === 0; + } + /** + * Add a term to the sum. + * + * A term is a rational coefficient and an expression. + * Optionally, the term is multiplied by the constant `c` before being added. + * + * If the sum already has this term, the coefficient is added + * to the previous one. Otherwise, a new entry is added. + * + * E.g. "2x + x + 1/5 y" + * -> [['x', [3, 1]], ['y', [1, 5]]] + */ + addTerm(term, c) { + if (term.isNothing) + return; + if (term.isNaN || term.isImaginary && !complexAllowed(this.engine)) { + this._naNCount += 1; + return; + } + if (this._isCanonical) { + if (term.numericValue !== null) { + if (term.isInfinity) { + if (term.isPositive) + this._posInfinityCount += 1; + else + this._negInfinityCount += 1; + return; + } + const r = asRational(term); + if (r) { + this._rational = add2(this._rational, c === void 0 ? r : mul2(r, c)); + return; + } + const num = term.numericValue; + if (num !== null && typeof num === "number") { + /* @__PURE__ */ console.assert(!Number.isInteger(num)); + if (bignumPreferred(this.engine)) + this._bignum = this._bignum.add(num); + else + this._number += num; + return; + } + if (num !== null && num instanceof decimal_default) { + /* @__PURE__ */ console.assert(!num.isInteger()); + this._bignum = this._bignum.add(num); + return; + } + if (num !== null && num instanceof import_complex5.default) { + let re = num.re; + let im = num.im; + if (Number.isInteger(re)) { + this._rational = add2(this._rational, mul2([re, 1], c != null ? c : [1, 1])); + re = 0; + } else { + if (bignumPreferred(this.engine)) + this._bignum = this._bignum.add(re); + else + this._number += re; + re = 0; + } + if (Number.isInteger(im)) { + if (c === void 0) + this._imaginary += im; + else if (isMachineRational(c)) + this._imaginary += im * c[0] / c[1]; + else + this._imaginary += this.engine.bignum(c[0]).mul(im).div(this.engine.bignum(c[1])).toNumber(); + im = 0; + } + if (re === 0 && im === 0) + return; + term = this.engine.number(this.engine.complex(re, im)); + } + } + } + let coef; + [coef, term] = asCoefficient(term); + if (isRationalZero(coef)) + return; + if (c !== void 0) + coef = mul2(coef, c); + if (term.head === "Negate") { + this.addTerm(term.op1, neg(coef)); + return; + } + if (term.head === "Add") { + for (const x of term.ops) + this.addTerm(x, coef); + return; + } + let hasTerm = false; + if (term.numericValue === null) { + if (this._terms.length > 500) { + const h = term.hash; + for (let i = 0; i < this._terms.length; i++) { + if (this._terms[i].term.numericValue === null && h === this._terms[i].term.hash && term.isSame(this._terms[i].term)) { + this._terms[i].coef = add2(this._terms[i].coef, coef); + hasTerm = true; + break; + } + } + } else { + for (let i = 0; i < this._terms.length; i++) { + if (this._terms[i].term.numericValue === null && term.isSame(this._terms[i].term)) { + this._terms[i].coef = add2(this._terms[i].coef, coef); + hasTerm = true; + break; + } + } + } + } + if (!hasTerm) + this._terms.push({ term, coef }); + } + // For debugging + toString() { + const xs = this.terms("expression"); + if (xs.length === 0) + return "0"; + return xs.map((x) => x.toString()).join("\\n"); + } + terms(mode) { + const ce = this.engine; + if (this._naNCount > 0) + return [ce._NAN]; + if (this._imaginary !== 0 && !complexAllowed(ce)) + return [ce._NAN]; + if (this._posInfinityCount > 0 && this._negInfinityCount > 0) + return [ce._NAN]; + if (this._posInfinityCount > 0) + return [ce._POSITIVE_INFINITY]; + if (this._negInfinityCount > 0) + return [ce._NEGATIVE_INFINITY]; + const xs = []; + for (const { coef, term } of this._terms) { + if (!isRationalZero(coef)) { + if (isRationalOne(coef)) + xs.push(term); + else if (isRationalNegativeOne(coef)) + xs.push(ce.neg(term)); + else if (machineDenominator(coef) === 1) + xs.push(ce.mul([ce.number(coef[0]), term])); + else if (machineNumerator(coef) === 1) + xs.push(ce.div(term, ce.number(coef[1]))); + else + xs.push(ce.mul([ce.number(coef), term])); + } + } + if (mode === "numeric") { + if (bignumPreferred(this.engine)) { + let sum2 = this._bignum.add(this._number); + if (!isRationalZero(this._rational)) + sum2 = sum2.add( + ce.bignum(this._rational[0]).div(ce.bignum(this._rational[1])) + ); + if (this._imaginary !== 0) + xs.push(ce.number(ce.complex(sum2.toNumber(), this._imaginary))); + else if (!sum2.isZero()) + xs.push(ce.number(sum2)); + } else { + let sum2 = this._bignum.toNumber() + this._number; + if (!isRationalZero(this._rational)) + sum2 += machineNumerator(this._rational) / machineDenominator(this._rational); + if (this._imaginary !== 0) + xs.push(ce.number(ce.complex(sum2, this._imaginary))); + else if (sum2 !== 0) + xs.push(ce.number(sum2)); + } + } else { + if (!isRationalZero(this._rational)) + xs.push(ce.number(this._rational)); + if (this._imaginary !== 0) { + if (!complexAllowed(ce)) + return [ce._NAN]; + xs.push(ce.number(ce.complex(0, this._imaginary))); + } + if (bignumPreferred(this.engine)) { + const sum2 = this._bignum.add(this._number); + if (!sum2.isZero()) + xs.push(ce.number(sum2)); + } else { + if (!this._bignum.isZero()) + xs.push(ce.number(this._bignum)); + if (this._number !== 0) + xs.push(ce.number(this._number)); + } + } + return flattenOps(xs, "Add"); + } + asExpression(mode) { + const ce = this.engine; + const xs = this.terms(mode); + if (xs.length === 0) + return ce._ZERO; + if (xs.length === 1) + return xs[0]; + return ce._fn("Add", sortAdd(ce, xs)); + } +}; +var DOMAIN_CONSTRUCTORS = [ + "InvalidDomain", + "Dictionary", + "Function", + "List", + "Tuple", + "Intersection", + "Union", + "Maybe", + "Sequence", + "Interval", + "Range", + "Head", + "Symbol", + "Value" +]; +var DOMAIN_ALIAS = { + // Function: ['Function', ['Sequence', 'Anything'], 'Anything'], + NumericFunction: ["Function", ["Sequence", "Number"], "Number"], + RealFunction: [ + "Function", + ["Sequence", "ExtendedRealNumber"], + "ExtendedRealNumber" + ], + TrigonometricFunction: ["Function", "Number", "Number"], + // HyperbolicFunction: ['Function', 'Number', 'Number'], + LogicOperator: [ + "Function", + "MaybeBoolean", + ["Maybe", "MaybeBoolean"], + "MaybeBoolean" + ], + Predicate: ["Function", ["Sequence", "Anything"], "MaybeBoolean"], + RelationalOperator: ["Function", "Anything", "Anything", "MaybeBoolean"] + // PositiveInteger: ['Range', 1, +Infinity], + // NonNegativeInteger: ['Range', 0, +Infinity], + // NegativeInteger: ['Range', -Infinity, -1], + // NonPositiveInteger: ['Range', -Infinity, 0], + // PositiveNumber: ['Interval', ['Open', 0], +Infinity], + // NonNegativeNumber: ['Interval', 0, +Infinity], + // NegativeNumber: ['Interval', -Infinity, ['Open', 0]], + // NonPositiveNumber: ['Interval', -Infinity, 0], +}; +var DOMAIN_LITERAL = { + Anything: [], + Value: "Anything", + Domain: "Anything", + DomainExpression: "Domain", + Void: "Nothing", + Nothing: [ + "DomainExpression", + "Boolean", + "String", + "Symbol", + "Tuple", + "List", + "Dictionary", + "InfiniteSet", + "FiniteSet", + "ImaginaryNumber", + "TranscendentalNumber", + "PositiveInteger", + "NegativeInteger", + "NonPositiveInteger", + "NonNegativeInteger", + "PositiveNumber", + "NegativeNumber", + "NonPositiveNumber", + "NonNegativeNumber", + "Scalar", + "TrigonometricFunction", + "LogicOperator", + "RelationalOperator" + ], + MaybeBoolean: "Value", + Boolean: "MaybeBoolean", + String: "Boolean", + Symbol: "Boolean", + Collection: "Value", + List: "Collection", + Dictionary: "Collection", + Sequence: "Collection", + Tuple: "Sequence", + Set: "Collection", + InfiniteSet: "Set", + FiniteSet: "Set", + // + // Functional Domains + // + Function: "Anything", + Predicate: "Function", + LogicOperator: "Predicate", + RelationalOperator: "Predicate", + // https://en.wikipedia.org/wiki/List_of_mathematical_functions + NumericFunction: "Function", + RealFunction: "NumericFunction", + TrigonometricFunction: "RealFunction", + // + // Numeric Domains + // + // https://en.wikipedia.org/wiki/Category_of_sets + Number: "Value", + ExtendedComplexNumber: "Number", + ComplexNumber: "ExtendedComplexNumber", + ImaginaryNumber: "ComplexNumber", + ExtendedRealNumber: "ExtendedComplexNumber", + RealNumber: ["ComplexNumber", "ExtendedRealNumber"], + PositiveNumber: "NonNegativeNumber", + NonNegativeNumber: "RealNumber", + NonPositiveNumber: "NegativeNumber", + NegativeNumber: "RealNumber", + TranscendentalNumber: "RealNumber", + AlgebraicNumber: "RealNumber", + RationalNumber: "AlgebraicNumber", + // NaturalNumber: 'Integer', + Integer: "RationalNumber", + PositiveInteger: "NonNegativeInteger", + NonNegativeInteger: "Integer", + NonPositiveInteger: "NegativeInteger", + NegativeInteger: "Integer", + // + // Tensorial Domains + // + Tensor: "Value", + Matrix: "Tensor", + Scalar: ["Row", "Column"], + Row: "Vector", + Column: "Vector", + Vector: "Matrix" + // https://en.wikipedia.org/wiki/List_of_named_matrices + // ComplexTensor: 'Tensor', + // RealTensor: 'ComplexTensor', + // IntegerTensor: 'RealTensor', + // LogicalTensor: 'IntegerTensor', + // SquareMatrix: 'Matrix', + // MonomialMatrix: 'SquareMatrix', + // TriangularMatrix: 'SquareMatrix', + // UpperTriangularMatrix: 'TriangularMatrix', + // LowerTriangularMatrix: 'TriangularMatrix', + // PermutationMatrix: ['MonomialMatrix', 'LogicalTensor', 'OrthogonalMatrix'], + // OrthogonalMatrix: ['SquareMatrix', 'RealTensor'], + // DiagonalMatrix: ['UpperTriangularMatrix', 'LowerTriangularMatrix'], + // IdentityMatrix: ['DiagonalMatrix', 'SymmetricMatrix', 'PermutationMatrix'], + // ZeroMatrix: ['DiagonalMatrix', 'SymmetricMatrix', 'PermutationMatrix'], + // SymmetricMatrix: ['HermitianMatrix', 'SquareMatrix', 'RealTensor'], + // HermitianMatrix: 'ComplexTensor', + // Quaternion: ['SquareMatrix', 'ComplexTensor'], +}; +var gDomainLiterals; +function isDomainLiteral(s) { + if (!s) + return false; + return DOMAIN_LITERAL[s] !== void 0; +} +function ancestors(dom) { + if (!gDomainLiterals) { + gDomainLiterals = {}; + ancestors("Void"); + } + if (gDomainLiterals[dom]) + return Array.from(gDomainLiterals[dom]); + let result = []; + if (typeof dom !== "string" || !DOMAIN_LITERAL[dom]) { + if (!Array.isArray(dom)) + throw Error(`Unknown domain literal ${dom}`); + if (!DOMAIN_CONSTRUCTORS.includes(dom[0])) + throw Error(`Unknown domain constructor ${dom[0]}`); + if (dom[0] === "Function" || dom[0] === "Head") + return ancestors("Function"); + if (dom[0] === "Symbol") + return ancestors("Symbol"); + if (dom[0] === "Tuple") + return ancestors("Tuple"); + if (dom[0] === "List") + return ancestors("List"); + if (dom[0] === "Dictionary") + return ancestors("Dictionary"); + if (dom[0] === "Range") + return ancestors("Integer"); + if (dom[0] === "Interval") + return ancestors("RealNumberExtended"); + if (dom[0] === "Maybe" || dom[0] === "Sequence") + return ancestors(dom[1]); + if (dom[0] === "Literal") + return ["Anything"]; + if (dom[0] === "Union") + return ["Anything"]; + if (dom[0] === "Intersection") + return ["Anything"]; + return ["Anything"]; + } + if (typeof DOMAIN_LITERAL[dom] === "string") + result = [DOMAIN_LITERAL[dom], ...ancestors(DOMAIN_LITERAL[dom])]; + else if (Array.isArray(DOMAIN_LITERAL[dom])) + for (const parent of DOMAIN_LITERAL[dom]) { + result.push(parent); + result.push(...ancestors(parent)); + } + gDomainLiterals[dom] = new Set(result); + return result; +} +function domainSetsLibrary() { + const table = {}; + for (const dom of Object.keys(DOMAIN_LITERAL)) { + if (dom !== "Domain" && dom !== "Nothing" && dom !== "String" && dom !== "Symbol" && dom !== "List" && dom !== "Tuple" && dom !== "Sequence") + table[dom] = { domain: "Set" }; + } + return table; +} +var import_complex6 = __toESM(require_complex()); +function isSymbolDefinition(def) { + return !!def && typeof def === "object" && ("domain" in def || "value" in def || "constant" in def); +} +function isFunctionDefinition(def) { + if (def === void 0 || def === null) + return false; + if (typeof def !== "object") + return false; + if ("complexity" in def || "numeric" in def || "signature" in def) + return true; + if (!("domain" in def)) + return false; + if (def.domain === void 0) + return false; + if (typeof def.domain === "string") + return def.domain === "Function"; + return def.domain.isFunction; +} +function normalizeLimits(range) { + var _a, _b; + let lower = 1; + let upper = lower + MAX_ITERATION; + let index = "Nothing"; + let isFinite2 = true; + if (range.head === "Tuple" || range.head === "Triple" || range.head === "Pair" || range.head === "Single") { + index = (_a = range.op1.head === "Hold" ? range.op1.op1.symbol : range.op1.symbol) != null ? _a : "Nothing"; + lower = (_b = asSmallInteger(range.op2)) != null ? _b : 1; + if (!Number.isFinite(lower)) + isFinite2 = false; + if (range.op3.isNothing || range.op3.isInfinity) { + isFinite2 = false; + } else { + const u = asSmallInteger(range.op3); + if (u === null) + isFinite2 = false; + else { + upper = u; + if (!Number.isFinite(upper)) + isFinite2 = false; + } + } + if (!isFinite2 && Number.isFinite(lower)) + upper = lower + MAX_ITERATION; + } + return [index, lower, upper, isFinite2]; +} +var ComputeEngineFunction = class extends Function { + constructor(body) { + super("_SYS", "_", `return ${body}`); + this.sys = { + factorial, + gamma, + lngamma, + gcd, + lcm, + chop + }; + return new Proxy(this, { + apply: (target, thisArg, argumentsList) => super.apply(thisArg, [this.sys, ...argumentsList]), + get: (target, prop) => { + if (prop === "toString") + return () => body; + return target[prop]; + } + }); + } +}; +function compileToJavascript(expr) { + const js = compile(expr, expr.freeVars); + try { + return new ComputeEngineFunction(js); + } catch (e) { + console.error(`${e} +${expr.latex} +${js}`); + } + return void 0; +} +function compile(expr, freeVars = [], prec = 0) { + var _a; + const f = asFloat(expr); + if (f !== null) + return f.toString(); + const s = expr.symbol; + if (s !== null) { + const result = { + True: "true", + False: "false", + Pi: "Math.PI", + ExponentialE: "Math.E", + I: "Math.I", + NaN: "Number.NaN", + ImaginaryUnit: "NaN", + Half: "0.5", + MachineEpsilon: "Number.EPSILON", + GoldenRatio: "((1 + Math.sqrt(5)) / 2)", + CatalanConstant: "0.91596559417721901", + EulerGamma: "0.57721566490153286" + }[s]; + if (result !== void 0) + return result; + if (freeVars.includes(s)) + return `_.${s}`; + return s; + } + const str = expr.string; + if (str !== null) + return JSON.stringify(str); + const keys = expr.keys; + if (keys !== null) { + const result = []; + for (const key of keys) { + const value = expr.getKey(key); + if (value) + result.push(`${key}: ${compile(value, freeVars, 0)}`); + } + return `{${result.join(", ")}}`; + } + const h = expr.head; + if (typeof h === "string") { + if (h === "Negate") { + const arg = expr.op1; + if (arg === null) + return ""; + return `-${compile(arg, freeVars, 3)}`; + } + if (h === "Error") + throw new Error("Error"); + if (h === "Sum") + return compileLoop(expr, "+"); + if (h === "Product") + return compileLoop(expr, "*"); + if (h === "Root") { + const arg = expr.op1; + if (arg === null) + throw new Error("Root: no argument"); + const exp2 = expr.op2; + if (exp2 === null) + return `Math.sqrt(${compile(arg, freeVars, 0)})`; + return `Math.pow(${compile(arg, freeVars)}, 1/${compile(exp2, freeVars)}`; + } + if (h === "Factorial") { + const arg = expr.op1; + if (arg === null) + throw new Error("Factorial: no argument"); + return `_SYS.factorial(${compile(arg, freeVars)})`; + } + if (h === "Power") { + const arg = expr.op1; + if (arg === null) + throw new Error("Power: no argument"); + const exp2 = asFloat(expr.op2); + if (exp2 === 0.5) + return `Math.sqrt(${compile(arg, freeVars)})`; + if (exp2 === 1 / 3) + return `Math.cbrt(${compile(arg, freeVars)})`; + if (exp2 === 1) + return compile(arg, freeVars); + if (exp2 === -1) + return `1 / ${compile(arg, freeVars)}`; + if (exp2 === -0.5) + return `1 / Math.sqrt(${compile(arg, freeVars)})`; + } + if (h === "Square") { + const arg = expr.op1; + if (arg === null) + throw new Error("Square: no argument"); + return `Math.pow(${compile(arg, freeVars)}, 2)`; + } + const OPS = { + Add: ["+", 11], + Negate: ["-", 14], + // Unary operator + Subtract: ["-", 11], + Multiply: ["*", 12], + Divide: ["/", 13], + Equal: ["===", 8], + NotEqual: ["!==", 8], + LessEqual: ["<=", 9], + GreaterEqual: [">=", 9], + Less: ["<", 9], + Greater: [">", 9], + And: ["&&", 4], + Or: ["||", 3], + Not: ["!", 14] + // Unary operator + // Xor: ['^', 6], // That's bitwise XOR, not logical XOR + // Possible solution is to use `a ? !b : b` instead of `a ^ b` + }; + const op3 = OPS[h]; + if (op3 !== void 0) { + const args2 = expr.ops; + if (args2 === null) + return ""; + let resultStr; + if (args2.length === 1) { + resultStr = `${op3[0]}${compile(args2[0], freeVars, op3[1])}`; + } else { + resultStr = args2.map((arg) => compile(arg, freeVars, op3[1])).join(` ${op3[0]} `); + } + return op3[1] < prec ? `(${resultStr})` : resultStr; + } + const fn = (_a = { + Abs: "Math.abs", + Arccos: "Math.acos", + Arcosh: "Math.acosh", + Arsin: "Math.asin", + Arsinh: "Math.asinh", + Arctan: "Math.atan", + Artanh: "Math.atanh", + // Math.cbrt + Ceiling: "Math.ceil", + Chop: "_SYS.chop", + Cos: "Math.cos", + Cosh: "Math.cosh", + Exp: "Math.exp", + Floor: "Math.floor", + Gamma: "_SYS.gamma", + Gcd: "_SYS.gcd", + // Math.hypot + Lcm: "_SYS.lcm", + Ln: "Math.log", + Log: "Math.log10", + LogGamma: "_SYS.lngamma", + Lb: "Math.log2", + Max: "Math.max", + Min: "Math.min", + Power: "Math.pow", + Random: "Math.random", + Round: "Math.round", + Sgn: "Math.sign", + Sin: "Math.sin", + Sinh: "Math.sinh", + Sqrt: "Math.sqrt", + Tan: "Math.tan", + Tanh: "Math.tanh" + // Factorial: 'factorial', // TODO: implement + // Hallucinated by Copilot, but interesting ideas... + // Cot: 'Math.cot', + // Sec: 'Math.sec', + // Csc: 'Math.csc', + // ArcCot: 'Math.acot', + // ArcSec: 'Math.asec', + // ArcCsc: 'Math.acsc', + // Coth: 'Math.coth', + // Sech: 'Math.sech', + // Csch: 'Math.csch', + // ArcCoth: 'Math.acoth', + // ArcSech: 'Math.asech', + // ArcCsch: 'Math.acsch', + // Root: 'Math.root', + // Gamma: 'Math.gamma', + // Erf: 'Math.erf', + // Erfc: 'Math.erfc', + // Erfi: 'Math.erfi', + // Zeta: 'Math.zeta', + // PolyGamma: 'Math.polygamma', + // HurwitzZeta: 'Math.hurwitzZeta', $$\zeta (s,a)=\sum _{n=0}^{\infty }{\frac {1}{(n+a)^{s}}}$$ + // DirichletEta: 'Math.dirichletEta', + // Beta: 'Math.beta', + // Binomial: 'Math.binomial', + // Mod: 'Math.mod', + // Quotient: 'Math.quotient', + // GCD: 'Math.gcd', + // LCM: 'Math.lcm', + // Divisors: 'Math.divisors', + // PrimeQ: 'Math.isPrime', + // PrimePi: 'Math.primePi', + // Prime: 'Math.prime', + // NextPrime: 'Math.nextPrime', + // PreviousPrime: 'Math.prevPrime', + // PrimePowerQ: 'Math.isPrimePower', + // PrimePowerPi: 'Math.primePowerPi', + // PrimePower: 'Math.primePower', + // NextPrimePower: 'Math.nextPrimePower', + // PreviousPrimePower: 'Math.prevPrimePower', + // PrimeFactors: 'Math.primeFactors', + // DivisorSigma: 'Math.divisorSigma', + // DivisorSigma0: 'Math.divisorSigma0', + // DivisorSigma1: 'Math.divisorSigma1', + // DivisorSigma2: 'Math.divisorSigma2', + // DivisorSigma3: 'Math.divisorSigma3', + // DivisorSigma4: 'Math.divisorSigma4', + // DivisorCount: 'Math.divisorCount', + // DivisorSum: 'Math.divisorSum', + // MoebiusMu: 'Math.moebiusMu', + // LiouvilleLambda: 'Math.liouvilleLambda', + // CarmichaelLambda: 'Math.carmichaelLambda', + // EulerPhi: 'Math.eulerPhi', + // EulerPsi: 'Math.eulerPsi', + // EulerGamma: 'Math.eulerGamma', + // HarmonicNumber: 'Math.harmonicNumber', + // BernoulliB: 'Math.bernoulliB', + // StirlingS1: 'Math.stirlingS1', + // StirlingS2: 'Math.stirlingS2', + // BellB: 'Math.bellB', + // BellNumber: 'Math.bellNumber', + // LahS: 'Math.lahS', + // LahL: 'Math.lahL', + // RiemannR: 'Math.riemannR', + // RiemannZeta: 'Math.riemannZeta', + // RiemannXi: 'Math.riemannXi', + // RiemannH: 'Math.riemannH', + // RiemannZ: 'Math.riemannZ', + // RiemannS: 'Math.riemannS', + // RiemannXiZero: 'Math.riemannXiZero', + // RiemannZetaZero: 'Math.riemannZetaZero', + // RiemannHZero: 'Math.riemannHZero', + // RiemannSZero: 'Math.riemannSZero', + // RiemannPrimeCount: 'Math.riemannPrimeCount', + // RiemannRLog: 'Math.riemannRLog', + // RiemannRLogDerivative: 'Math.riemannRLogDerivative', + // RiemannRLogZero: 'Math.riemannRLogZero', + // RiemannRLogZeroDerivative: 'Math.riemannRLogZeroDerivative', + // RiemannRZero: 'Math.riemannRZero', + // RiemannRDerivative: 'Math.riemannRDerivative', + // RiemannXiZeroDerivative: 'Math.riemannXiZeroDerivative', + // RiemannZetaZeroDerivative: 'Math.riemannZetaZeroDerivative', + // RiemannHZeroDerivative: 'Math.riemannHZeroDerivative', + // RiemannSZeroDerivative: 'Math.riemannSZeroDerivative', + // RiemannSZeroDerivative2: 'Math.riemannSZeroDerivative2', + // RiemannSZeroDerivative3: 'Math.riemannSZeroDerivative3', + // RiemannSZeroDerivative4: 'Math.riemannSZeroDerivative4', + // RiemannSZeroDerivative5: 'Math.riemannSZeroDerivative5', + // RiemannSZeroDerivative6: 'Math.riemannSZeroDerivative6', + }[h]) != null ? _a : h; + const args = expr.ops; + if (args !== null) { + const result = []; + for (const arg of args) + result.push(compile(arg, freeVars)); + return `${fn}(${result.join(", ")})`; + } + } + return ""; +} +function compileLoop(expr, op3) { + const args = expr.ops; + if (args === null) + throw new Error("Sum: no arguments"); + if (!expr.op1 || !expr.op2) + throw new Error("Sum: no limits"); + const [index, lower, upper, isFinite2] = normalizeLimits(expr.op2); + const fn = compile(expr.op1, [...expr.op1.freeVars, index], 0); + return `(() => { + let acc = ${op3 === "+" ? "0" : "1"}; + const fn = (_) => ${fn}; + for (let i = ${lower}; i <= ${upper}; i++) + acc ${op3}= fn({ ..._, ${index}: i }); + return acc; +})()`; +} +var AbstractBoxedExpression = class { + constructor(ce, metadata) { + this.engine = ce; + if ((metadata == null ? void 0 : metadata.latex) !== void 0) + this._latex = metadata.latex; + if ((metadata == null ? void 0 : metadata.wikidata) !== void 0) + this._wikidata = metadata.wikidata; + } + /** `Object.valueOf()`: return a primitive value for the object + * + */ + valueOf() { + var _a, _b, _c; + if (this.symbol === "True") + return true; + if (this.symbol === "False") + return false; + return (_c = (_b = (_a = asFloat(this)) != null ? _a : this.string) != null ? _b : this.symbol) != null ? _c : JSON.stringify(this.json); + } + /** Object.toString() */ + toString() { + if (this.symbol) + return this.symbol; + if (this.string) + return this.string; + const num = this.numericValue; + if (num !== null) { + if (typeof num === "number") + return num.toString(); + if (isMachineRational(num)) + return `${num[0].toString()}/${num[1].toString()}`; + if (isBigRational(num)) + return `${num[0].toString()}/${num[1].toString()}`; + if (num instanceof import_complex6.Complex) { + const im = num.im === 1 ? "" : num.im === -1 ? "-" : num.im.toString(); + if (num.re === 0) + return im + "i"; + if (num.im < 0) + return `${num.re.toString()}${im}i`; + return `${num.re.toString()}+${im}i`; + } + } + return JSON.stringify(this.json); + } + [Symbol.toPrimitive](hint) { + if (hint === "number") { + const v = this.valueOf(); + return typeof v === "number" ? v : null; + } + return this.toString(); + } + /** Called by `JSON.stringify()` when serializing to json */ + toJSON() { + return this.json; + } + /** @internal */ + get rawJson() { + return this.json; + } + get scope() { + return null; + } + /** Object.is() */ + is(rhs) { + if (rhs === null || rhs === void 0) + return false; + return this.isSame(this.engine.box(rhs)); + } + get latex() { + var _a; + return (_a = this._latex) != null ? _a : this.engine.serialize(this); + } + set latex(val) { + this._latex = val; + } + get symbol() { + return null; + } + get isNothing() { + return false; + } + get string() { + return null; + } + getSubexpressions(head2) { + return getSubexpressions(this, head2); + } + get subexpressions() { + return this.getSubexpressions(""); + } + get symbols() { + const set = /* @__PURE__ */ new Set(); + getSymbols(this, set); + return Array.from(set); + } + get freeVars() { + const set = /* @__PURE__ */ new Set(); + getFreeVars(this, set); + return Array.from(set); + } + get errors() { + return this.getSubexpressions("Error"); + } + // Only return non-null for functions + get ops() { + return null; + } + get nops() { + return 0; + } + get op1() { + return this.engine.symbol("Nothing"); + } + get op2() { + return this.engine.symbol("Nothing"); + } + get op3() { + return this.engine.symbol("Nothing"); + } + get isValid() { + return true; + } + get isPure() { + return false; + } + get isExact() { + return true; + } + /** For a symbol, true if the symbol is a free variable (no value) */ + get isFree() { + return false; + } + /** For a symbol, true if the symbol is a constant (unchangeable value) */ + get isConstant() { + return false; + } + get canonical() { + return this; + } + apply(_fn, _head) { + return this; + } + subs(_sub, options) { + if (options == null ? void 0 : options.canonical) + return this.canonical; + return this; + } + solve(_vars) { + return null; + } + replace(_rules) { + return null; + } + has(_v) { + return false; + } + get isNaN() { + return void 0; + } + get isZero() { + return void 0; + } + get isNotZero() { + return void 0; + } + get isOne() { + return void 0; + } + get isNegativeOne() { + return void 0; + } + get isInfinity() { + return void 0; + } + // Not +- Infinity, not NaN + get isFinite() { + return void 0; + } + get isEven() { + return void 0; + } + get isOdd() { + return void 0; + } + get isPrime() { + return void 0; + } + get isComposite() { + return void 0; + } + get numericValue() { + return null; + } + get sgn() { + return null; + } + isLess(_rhs) { + return void 0; + } + isLessEqual(_rhs) { + return void 0; + } + isGreater(_rhs) { + return void 0; + } + isGreaterEqual(_rhs) { + return void 0; + } + // x > 0 + get isPositive() { + return void 0; + } + // x >= 0 + get isNonNegative() { + return void 0; + } + // x < 0 + get isNegative() { + return void 0; + } + // x <= 0 + get isNonPositive() { + return void 0; + } + // + // + // + // + // + isCompatible(_dom, _kind) { + return false; + } + get description() { + return void 0; + } + get url() { + return void 0; + } + get wikidata() { + return this._wikidata; + } + set wikidata(val) { + this._wikidata = val; + } + get complexity() { + return void 0; + } + get basedDefinition() { + return void 0; + } + get symbolDefinition() { + return void 0; + } + get functionDefinition() { + return void 0; + } + bind(_scope) { + return; + } + unbind() { + return; + } + get keys() { + return null; + } + get keysCount() { + return 0; + } + getKey(_key) { + return void 0; + } + hasKey(_key) { + return false; + } + get value() { + return void 0; + } + set value(_value) { + throw new Error(`Can't change the value of \\(${this.latex}\\)`); + } + get domain() { + return this.engine.domain("Void"); + } + set domain(_domain) { + throw new Error(`Can't change the domain of \\(${this.latex}\\)`); + } + get explicitDomain() { + return this.domain; + } + get isNumber() { + return void 0; + } + get isInteger() { + return void 0; + } + get isRational() { + return void 0; + } + get isAlgebraic() { + return false; + } + get isReal() { + return void 0; + } + // Real or +-Infinity + get isExtendedReal() { + return void 0; + } + get isComplex() { + return void 0; + } + get isImaginary() { + return void 0; + } + get isExtendedComplex() { + return void 0; + } + simplify(_options) { + return this; + } + evaluate(options) { + return this.simplify(options); + } + N(_options) { + return this.evaluate(); + } + compile(to = "javascript", options) { + if (to !== "javascript") + return void 0; + options != null ? options : options = { optimize: ["simplify", "evaluate"] }; + let expr = this; + if (options.optimize.includes("simplify")) + expr = expr.simplify(); + if (options.optimize.includes("evaluate")) + expr = expr.evaluate(); + try { + return compileToJavascript(expr); + } catch (e) { + } + return void 0; + } +}; +var import_complex8 = __toESM(require_complex()); +function factorial2(ce, n) { + if (!n.isInteger() || n.isNegative()) + return ce._BIGNUM_NAN; + if (n.lessThan(10)) + return ce.bignum( + [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800][n.toNumber()] + ); + if (n.gt(Number.MAX_SAFE_INTEGER)) { + let val2 = ce._BIGNUM_ONE; + let i = ce._BIGNUM_TWO; + while (i.lessThan(n)) { + val2 = val2.mul(i); + i = i.add(1); + } + return val2; + } + if (n.modulo(2).eq(1)) { + return n.times(factorial2(ce, n.minus(1))); + } + let loop = n.toNumber(); + let sum2 = n; + let val = n; + while (loop > 2) { + loop -= 2; + sum2 = sum2.add(loop); + val = val.mul(sum2); + } + return val; +} +var gammaG2 = 7; +function lngamma2(ce, z) { + if (z.isNegative()) + return ce._BIGNUM_NAN; + const GAMMA_P_LN = ce.cache("gamma-p-ln", () => { + return [ + "0.99999999999999709182", + "57.156235665862923517", + "-59.597960355475491248", + "14.136097974741747174", + "-0.49191381609762019978", + "0.33994649984811888699e-4", + "0.46523628927048575665e-4", + "-0.98374475304879564677e-4", + "0.15808870322491248884e-3", + "-0.21026444172410488319e-3", + "0.2174396181152126432e-3", + "-0.16431810653676389022e-3", + "0.84418223983852743293e-4", + "-0.2619083840158140867e-4", + "0.36899182659531622704e-5" + ].map((x2) => ce.bignum(x2)); + }); + let x = GAMMA_P_LN[0]; + for (let i = GAMMA_P_LN.length - 1; i > 0; --i) { + x = x.add(GAMMA_P_LN[i].div(z.add(i))); + } + const GAMMA_G_LN = ce.cache("gamma-g-ln", () => ce.bignum(607).div(128)); + const t = z.add(GAMMA_G_LN).add(ce._BIGNUM_HALF); + return ce._BIGNUM_NEGATIVE_ONE.acos().mul(ce._BIGNUM_TWO).log().mul(ce._BIGNUM_HALF).add( + t.log().mul(z.add(ce._BIGNUM_HALF)).minus(t).add(x.log()).minus(z.log()) + ); +} +function gamma2(ce, z) { + if (z.lessThan(ce._BIGNUM_HALF)) { + const pi = ce._BIGNUM_NEGATIVE_ONE.acos(); + return pi.div( + pi.mul(z).sin().mul(gamma2(ce, ce._BIGNUM_ONE.sub(z))) + ); + } + if (z.greaterThan(100)) + return lngamma2(ce, z).exp(); + z = z.sub(1); + const LANCZOS_7_C = ce.cache("lanczos-7-c", () => { + return [ + "0.99999999999980993227684700473478", + "676.520368121885098567009190444019", + "-1259.13921672240287047156078755283", + "771.3234287776530788486528258894", + "-176.61502916214059906584551354", + "12.507343278686904814458936853", + "-0.13857109526572011689554707", + "9.984369578019570859563e-6", + "1.50563273514931155834e-7" + ].map((x2) => ce.bignum(x2)); + }); + let x = LANCZOS_7_C[0]; + for (let i = 1; i < gammaG2 + 2; i++) + x = x.add(LANCZOS_7_C[i].div(z.add(i))); + const t = z.add(gammaG2).add(ce._BIGNUM_HALF); + return ce._BIGNUM_NEGATIVE_ONE.acos().times(ce._BIGNUM_TWO).sqrt().mul(x.mul(t.neg().exp()).mul(t.pow(z.add(ce._BIGNUM_HALF)))); +} +function isInMachineRange(d) { + if (!d.isFinite()) + return true; + if (d.d.length > 3 || d.d.length === 3 && d.d[0] >= 90) + return false; + /* @__PURE__ */ console.assert(d.precision() <= 16); + return d.e < 308 && d.e > -306; +} +var import_complex7 = __toESM(require_complex()); +var Product = class { + constructor(ce, xs, options) { + this.options = options; + this._terms = []; + this._hasInfinity = false; + this._hasZero = false; + this._isCanonical = true; + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + this._isCanonical = options.canonical; + this.engine = ce; + this._sign = 1; + this._rational = bignumPreferred(ce) ? [BigInt(1), BigInt(1)] : [1, 1]; + this._complex = import_complex7.default.ONE; + this._bignum = ce._BIGNUM_ONE; + this._number = 1; + if (xs) + for (const x of xs) + this.addTerm(x); + } + get isEmpty() { + if (!this._isCanonical) + return this._terms.length === 0; + return this._terms.length === 0 && this._hasInfinity === false && this._hasZero === false && this._sign === 1 && isRationalOne(this._rational) && // isRationalOne(this._squareRootRational) && + this._complex.re === 1 && this._complex.im === 0 && this._bignum.eq(this.engine._BIGNUM_ONE) && this._number === 1; + } + /** + * Add a term to the product. + * + * If `this._isCanonical` a running product of exact terms is kept. + * Otherwise, terms and their exponent are tallied. + */ + addTerm(term) { + /* @__PURE__ */ console.assert(term.isCanonical); + if (term.head === "Multiply") { + for (const t of term.ops) + this.addTerm(t); + return; + } + if (this._isCanonical) { + if (term.isNothing) + return; + if (term.numericValue !== null) { + if (term.isOne) + return; + if (term.isZero) { + this._hasZero = true; + return; + } + if (term.isNegativeOne) { + this._sign *= -1; + return; + } + if (term.isInfinity) { + this._hasInfinity = true; + if (term.isNegative) + this._sign *= -1; + return; + } + let num = term.numericValue; + if (typeof num === "number") { + if (num < 0) { + this._sign *= -1; + num = -num; + } + if (Number.isInteger(num)) + this._rational = mul2(this._rational, [num, 1]); + else if (bignumPreferred(this.engine)) + this._bignum = this._bignum.mul(num); + else + this._number *= num; + return; + } + if (num instanceof decimal_default) { + if (num.isNegative()) { + this._sign *= -1; + num = num.neg(); + } + if (num.isInteger()) + this._rational = mul2(this._rational, [bigint(num), BigInt(1)]); + else if (bignumPreferred(this.engine)) + this._bignum = this._bignum.mul(num); + else + this._number *= num.toNumber(); + return; + } + if (num instanceof import_complex7.default) { + this._complex = this._complex.mul(num); + return; + } + if (isRational(num)) { + this._rational = mul2(this._rational, num); + if (isNeg(this._rational)) { + this._sign *= -1; + this._rational = neg(this._rational); + } + return; + } + } + } + let rest = term; + if (this._isCanonical) { + let coef; + [coef, rest] = asCoefficient(term); + this._rational = mul2(this._rational, coef); + if (isNeg(this._rational)) { + this._sign *= -1; + this._rational = neg(this._rational); + } + } + if (rest.numericValue !== null && rest.isOne) + return; + let exponent = [1, 1]; + if (rest.head === "Power") { + const r = asRational(rest.op2); + if (r) { + exponent = r; + rest = rest.op1; + } + } else if (rest.head === "Divide") { + this.addTerm(rest.op1); + exponent = [-1, 1]; + rest = rest.op2; + } + let found = false; + for (const x of this._terms) { + if (x.term.isSame(rest)) { + x.exponent = add2(x.exponent, exponent); + found = true; + break; + } + } + if (!found) + this._terms.push({ term: rest, exponent }); + } + unitTerms(mode) { + const ce = this.engine; + if (mode === "numeric") { + if (!complexAllowed(ce) && this._complex.im !== 0) + return null; + if (bignumPreferred(ce)) { + let b2 = ce._BIGNUM_ONE; + if (!isRationalOne(this._rational)) { + if (isBigRational(this._rational)) + b2 = ce.bignum(this._rational[0].toString()).div(ce.bignum(this._rational[1].toString())); + else + b2 = ce.bignum(this._rational[0]).div(this._rational[1]); + } + b2 = b2.mul(this._bignum).mul(this._sign * this._number); + if (this._complex.im !== 0) { + const z = this._complex.mul(b2.toNumber()); + if (z.equals(1)) + return []; + return [{ exponent: [1, 1], terms: [ce.number(z)] }]; + } + b2 = b2.mul(this._complex.re); + if (b2.equals(1)) + return []; + return [{ exponent: [1, 1], terms: [ce.number(b2)] }]; + } + let n2 = 1; + if (!isRationalOne(this._rational)) { + if (isBigRational(this._rational)) + n2 = Number(this._rational[0]) / Number(this._rational[1]); + else + n2 = this._rational[0] / this._rational[1]; + } + n2 *= this._sign * this._number * this._bignum.toNumber(); + if (this._complex.im !== 0) { + const z = this._complex.mul(n2); + if (z.equals(1)) + return []; + return [{ exponent: [1, 1], terms: [ce.number(z)] }]; + } + n2 *= this._complex.re; + if (n2 === 1) + return []; + return [{ exponent: [1, 1], terms: [ce.number(n2)] }]; + } + const xs = []; + const unitTerms = []; + if (this._hasInfinity) + unitTerms.push(ce._POSITIVE_INFINITY); + this._rational = reducedRational(this._rational); + if (this._complex.re !== 1 || this._complex.im !== 0) { + if (this._complex.im === 0) + this._number *= Math.abs(this._complex.re); + if (this._complex.re < 0) + this._rational = neg(this._rational); + else { + unitTerms.push(ce.number(this._complex)); + } + } + let n = this._sign * this._number; + let b = this._bignum; + if (!isRationalOne(this._rational)) { + if (mode === "rational") { + if (machineNumerator(this._rational) !== 1) { + if (isBigRational(this._rational)) + b = b.mul(ce.bignum(this._rational[0])); + else + n *= this._rational[0]; + } + if (machineDenominator(this._rational) !== 1) + xs.push({ + exponent: [-1, 1], + terms: [ce.number(this._rational[1])] + }); + } else { + if (n === -1) { + unitTerms.push(ce.number(neg(this._rational))); + n = 1; + } else + unitTerms.push(ce.number(this._rational)); + } + } + if (!b.equals(ce._BIGNUM_ONE)) + unitTerms.push(ce.number(b.mul(n))); + else if (n !== 1) + unitTerms.push(ce.number(n)); + if (unitTerms.length > 0) + xs.push({ exponent: [1, 1], terms: unitTerms }); + return xs; + } + /** The terms of the product, grouped by degrees. + * + * If `mode` is `rational`, rationals are split into separate numerator and + * denominator, so that a rational expression can be created later + * If `mode` is `expression`, a regular expression is returned, without + * splitting rationals + * If `mode` is `numeric`, the literals are combined into one expression + * + */ + groupedByDegrees(options) { + var _a; + options != null ? options : options = {}; + if (!("mode" in options)) + options.mode = "expression"; + const ce = this.engine; + if (options.mode === "numeric") { + if (this._complex.im !== 0 && !complexAllowed(ce)) + return null; + if (this._hasInfinity) + return [{ exponent: [1, 1], terms: [ce._POSITIVE_INFINITY] }]; + } + const xs = this.unitTerms((_a = options.mode) != null ? _a : "expression"); + if (xs === null) + return null; + for (const t of this._terms) { + const exponent = reducedRational(t.exponent); + if (exponent[0] === 0) + continue; + let found = false; + for (const x of xs) { + if (exponent[0] === x.exponent[0] && exponent[1] === x.exponent[1]) { + x.terms.push(t.term); + found = true; + break; + } + } + if (!found) + xs.push({ exponent, terms: [t.term] }); + } + return xs; + } + asExpression(mode = "evaluate") { + const ce = this.engine; + if (this._hasInfinity) { + if (this._hasZero) + return ce._NAN; + if (this._terms.length === 0) { + if (machineNumerator(this._rational) > 0) + return ce._POSITIVE_INFINITY; + return ce._NEGATIVE_INFINITY; + } + } + if (this._hasZero) + return ce._ZERO; + const groupedTerms = this.groupedByDegrees({ + mode: mode === "N" ? "numeric" : "expression" + }); + if (groupedTerms === null) + return ce._NAN; + const terms = termsAsExpressions(ce, groupedTerms); + if (terms.length === 0) + return ce._ONE; + if (terms.length === 1) + return terms[0]; + return this.engine._fn("Multiply", terms); + } + /** The product, expressed as a numerator and denominator */ + asNumeratorDenominator() { + const xs = this.groupedByDegrees({ mode: "rational" }); + if (xs === null) + return [this.engine._NAN, this.engine._NAN]; + const xsNumerator = []; + const xsDenominator = []; + for (const x of xs) + if (x.exponent[0] >= 0) + xsNumerator.push(x); + else + xsDenominator.push({ + exponent: neg(x.exponent), + terms: x.terms + }); + const ce = this.engine; + const numeratorTerms = termsAsExpressions(ce, xsNumerator); + let numerator = ce._ONE; + if (numeratorTerms.length === 1) + numerator = numeratorTerms[0]; + else if (numeratorTerms.length > 0) + numerator = ce._fn("Multiply", numeratorTerms); + const denominatorTerms = termsAsExpressions(ce, xsDenominator); + let denominator = ce._ONE; + if (denominatorTerms.length === 1) + denominator = denominatorTerms[0]; + else if (denominatorTerms.length > 0) + denominator = ce._fn("Multiply", denominatorTerms); + return [numerator, denominator]; + } + asRationalExpression() { + const [numerator, denominator] = this.asNumeratorDenominator(); + if (denominator.numericValue !== null) { + if (denominator.isOne) + return numerator; + if (denominator.isNegativeOne) + return this.engine.neg(numerator); + } + return this.engine._fn("Divide", [numerator, denominator]); + } +}; +function degreeKey(exponent) { + if (isRationalOne(exponent)) + return 0; + const [n, d] = [machineNumerator(exponent), machineDenominator(exponent)]; + if (n > 0 && Number.isInteger(n / d)) + return 1; + if (n > 0) + return 2; + if (Number.isInteger(n / d)) + return 3; + return 4; +} +function degreeOrder(a, b) { + const keyA = degreeKey(a.exponent); + const keyB = degreeKey(b.exponent); + if (keyA !== keyB) + return keyA - keyB; + const [a_n, a_d] = [ + machineNumerator(a.exponent), + machineDenominator(a.exponent) + ]; + const [b_n, b_d] = [ + machineNumerator(b.exponent), + machineDenominator(b.exponent) + ]; + return a_n / a_d - b_n / b_d; +} +function termsAsExpressions(ce, terms) { + var _a; + const result = terms.sort(degreeOrder).map((x) => { + const t = flattenOps(x.terms, "Multiply"); + const base = t.length <= 1 ? t[0] : ce._fn("Multiply", t.sort(order)); + if (isRationalOne(x.exponent)) + return base; + return ce.pow(base, x.exponent); + }); + return (_a = flattenOps(result, "Multiply")) != null ? _a : result; +} +function subtract(ce, a, b, metadata) { + if (a.numericValue !== null) { + if (isRational(a.numericValue)) { + if (machineNumerator(a.numericValue) < 0) { + return serializeJsonFunction( + ce, + "Subtract", + [b, ce.number(neg(a.numericValue))], + metadata + ); + } + return null; + } + const t0 = asSmallInteger(a); + if (t0 !== null && t0 < 0) + return serializeJsonFunction( + ce, + "Subtract", + [b, ce.number(-t0)], + metadata + ); + } + if (a.head === "Negate") + return serializeJsonFunction(ce, "Subtract", [b, a.op1], metadata); + return null; +} +function serializeJsonCanonicalFunction(ce, head2, args, metadata) { + var _a, _b, _c; + const exclusions = ce.jsonSerializationOptions.exclude; + if (head2 === "Add" && args.length === 2 && !exclusions.includes("Subtract")) { + const sub2 = (_a = subtract(ce, args[0], args[1], metadata)) != null ? _a : subtract(ce, args[1], args[0], metadata); + if (sub2) + return sub2; + } + if (head2 === "Divide" && args.length === 2 && exclusions.includes("Divide")) { + return serializeJsonFunction( + ce, + "Multiply", + [args[0], ce._fn("Power", [args[1], ce._NEGATIVE_ONE])], + metadata + ); + } + if (head2 === "Multiply" && !exclusions.includes("Negate")) { + if (asFloat(args[0]) === -1) { + if (args.length === 2) + return serializeJsonFunction(ce, "Negate", [args[1]]); + return serializeJsonFunction( + ce, + "Negate", + [ce._fn("Multiply", args.slice(1))], + metadata + ); + } + } + if (head2 === "Multiply" && !exclusions.includes("Divide")) { + const result = new Product(ce, args, { + canonical: false + }).asRationalExpression(); + if (result.head === "Divide") + return serializeJsonFunction(ce, result.head, result.ops, metadata); + } + if (head2 === "Power") { + if (!exclusions.includes("Exp") && ((_b = args[0]) == null ? void 0 : _b.symbol) === "ExponentialE") + return serializeJsonFunction(ce, "Exp", [args[1]], metadata); + if (((_c = args[1]) == null ? void 0 : _c.numericValue) !== null) { + const exp2 = asSmallInteger(args[1]); + if (exp2 === 2 && !exclusions.includes("Square")) + return serializeJsonFunction(ce, "Square", [args[0]], metadata); + if (exp2 !== null && exp2 < 0 && !exclusions.includes("Divide")) { + return serializeJsonFunction( + ce, + "Divide", + [ce._ONE, exp2 === -1 ? args[0] : ce.pow(args[0], -exp2)], + metadata + ); + } + const r = args[1].numericValue; + if (!exclusions.includes("Sqrt") && r === 0.5) + return serializeJsonFunction(ce, "Sqrt", [args[0]], metadata); + if (!exclusions.includes("Sqrt") && r === -0.5) + return serializeJsonFunction( + ce, + "Divide", + [ce._ONE, ce._fn("Sqrt", [args[0]])], + metadata + ); + if (isRational(r)) { + const n = machineNumerator(r); + const d = machineDenominator(r); + if (n === 1) { + if (!exclusions.includes("Sqrt") && d === 2) + return serializeJsonFunction(ce, "Sqrt", [args[0]], metadata); + if (!exclusions.includes("Root")) + return serializeJsonFunction( + ce, + "Root", + [args[0], ce.number(r[1])], + metadata + ); + } + if (n === -1) { + if (!exclusions.includes("Sqrt") && d === 2) + return serializeJsonFunction( + ce, + "Divide", + [ce._ONE, ce._fn("Sqrt", [args[0]])], + metadata + ); + if (!exclusions.includes("Root")) + return serializeJsonFunction( + ce, + "Divide", + [ce._ONE, ce._fn("Root", [args[0], ce.number(r[1])])], + metadata + ); + } + } + } + } + return serializeJsonFunction(ce, head2, args, metadata); +} +function serializeJsonFunction(ce, head2, args, metadata) { + var _a; + const exclusions = ce.jsonSerializationOptions.exclude; + if ((head2 === "Rational" || head2 === "Divide") && args.length === 2 && asSmallInteger(args[0]) === 1 && asSmallInteger(args[1]) === 2 && !exclusions.includes("Half")) { + return serializeJsonSymbol(ce, "Half", { + ...metadata, + wikidata: "Q39373172" + }); + } + if (args.length === 1) { + const num0 = args[0].numericValue; + if (head2 === "Negate" && num0 !== null) { + if (typeof num0 === "number") + return serializeJsonNumber(ce, -num0); + if (num0 instanceof decimal_default) + return serializeJsonNumber(ce, num0.neg()); + if (num0 instanceof import_complex8.Complex) + return serializeJsonNumber(ce, num0.neg()); + if (isRational(num0)) + return serializeJsonNumber(ce, neg(num0)); + } + } + if (typeof head2 === "string" && exclusions.includes(head2)) { + if (head2 === "Rational" && args.length === 2) + return serializeJsonFunction(ce, "Divide", args, metadata); + if (head2 === "Complex" && args.length === 2) + return serializeJsonFunction( + ce, + "Add", + [args[0], ce._fn("Multiply", [args[1], ce.symbol("ImaginaryUnit")])], + metadata + ); + if (head2 === "Sqrt" && args.length === 1) + return serializeJsonFunction( + ce, + "Power", + [args[0], exclusions.includes("Half") ? ce.number([1, 2]) : ce._HALF], + metadata + ); + if (head2 === "Root" && args.length === 2 && args[1].numericValue !== null) { + const n = asSmallInteger(args[1]); + if (n === 2) + return serializeJsonFunction(ce, "Sqrt", [args[0]]); + if (n !== null) { + if (n < 0) + return serializeJsonFunction( + ce, + "Divide", + [ce._ONE, ce._fn("Power", [args[0], ce.number([1, -n])])], + metadata + ); + return serializeJsonFunction( + ce, + "Power", + [args[0], ce.number([1, -n])], + metadata + ); + } + } + if (head2 === "Square" && args.length === 1) + return serializeJsonFunction( + ce, + "Power", + [args[0], ce.number(2)], + metadata + ); + if (head2 === "Exp" && args.length === 1) + return serializeJsonFunction( + ce, + "Power", + [ce.symbol("ExponentialE"), args[0]], + metadata + ); + if (head2 === "Subtract" && args.length === 2) + return serializeJsonFunction( + ce, + "Add", + [args[0], ce._fn("Negate", [args[1]])], + metadata + ); + if (head2 === "Subtract" && args.length === 1) + return serializeJsonFunction(ce, "Negate", args, metadata); + } + if (head2 === "Add" && args.length === 2 && !exclusions.includes("Subtract")) { + if (args[1].numericValue !== null) { + const t1 = asSmallInteger(args[1]); + if (t1 !== null && t1 < 0) + return serializeJsonFunction( + ce, + "Subtract", + [args[0], ce.number(-t1)], + metadata + ); + } + if (args[1].head === "Negate") { + return serializeJsonFunction( + ce, + "Subtract", + [args[0], args[1].op1], + metadata + ); + } + } + if (head2 === "Tuple") { + if (args.length === 1 && !exclusions.includes("Single")) + return serializeJsonFunction(ce, "Single", args, metadata); + if (args.length === 2 && !exclusions.includes("Pair")) + return serializeJsonFunction(ce, "Pair", args, metadata); + if (args.length === 3 && !exclusions.includes("Triple")) + return serializeJsonFunction(ce, "Triple", args, metadata); + } + const jsonHead = typeof head2 === "string" ? _escapeJsonString(head2) : head2.json; + const fn = [jsonHead, ...args.map((x) => x.json)]; + const md = { ...metadata != null ? metadata : {} }; + if (ce.jsonSerializationOptions.metadata.includes("latex")) { + md.latex = _escapeJsonString((_a = md.latex) != null ? _a : ce.serialize({ fn })); + } else + md.latex = ""; + if (!ce.jsonSerializationOptions.metadata.includes("wikidata")) + md.wikidata = ""; + if (!md.latex && !md.wikidata && ce.jsonSerializationOptions.shorthands.includes("function")) + return fn; + if (md.latex && md.wikidata) + return { fn, latex: md.latex, wikidata: md.wikidata }; + if (md.latex) + return { fn, latex: md.latex }; + if (md.wikidata) + return { fn, wikidata: md.wikidata }; + return { fn }; +} +function serializeJsonString(ce, s) { + s = _escapeJsonString(s); + if (ce.jsonSerializationOptions.shorthands.includes("string")) + return `'${s}'`; + return { str: s }; +} +function serializeJsonSymbol(ce, sym, metadata) { + var _a, _b; + if (sym === "Half" && ce.jsonSerializationOptions.exclude.includes("Half")) { + return serializeJsonNumber(ce, [1, 2], metadata); + } + metadata = { ...metadata }; + if (ce.jsonSerializationOptions.metadata.includes("latex")) { + metadata.latex = (_a = metadata.latex) != null ? _a : ce.serialize({ sym }); + if (metadata.latex !== void 0) + metadata.latex = _escapeJsonString(metadata.latex); + } else + metadata.latex = void 0; + if (ce.jsonSerializationOptions.metadata.includes("wikidata")) { + if (metadata.wikidata === void 0) { + const wikidata = (_b = ce.lookupSymbol(sym)) == null ? void 0 : _b.wikidata; + if (wikidata !== void 0) + metadata.wikidata = _escapeJsonString(wikidata); + } + } else + metadata.wikidata = void 0; + sym = _escapeJsonString(sym); + if (metadata.latex === void 0 && metadata.wikidata === void 0 && ce.jsonSerializationOptions.shorthands.includes("symbol")) + return sym; + if (metadata.latex !== void 0 && metadata.wikidata !== void 0) + return { sym, latex: metadata.latex, wikidata: metadata.wikidata }; + if (metadata.latex !== void 0) + return { sym, latex: metadata.latex }; + if (metadata.wikidata !== void 0) + return { sym, wikidata: metadata.wikidata }; + return { sym }; +} +function serializeJsonNumber(ce, value, metadata) { + var _a, _b, _c; + metadata = { ...metadata }; + if (!ce.jsonSerializationOptions.metadata.includes("latex")) + metadata.latex = void 0; + const shorthandAllowed = metadata.latex === void 0 && metadata.wikidata === void 0 && !ce.jsonSerializationOptions.metadata.includes("latex") && ce.jsonSerializationOptions.shorthands.includes("number"); + const exclusions = ce.jsonSerializationOptions.exclude; + let num = ""; + if (value instanceof decimal_default) { + if (value.isNaN()) + num = "NaN"; + else if (!value.isFinite()) + num = value.isPositive() ? "+Infinity" : "-Infinity"; + else { + if (shorthandAllowed && isInMachineRange(value)) + return value.toNumber(); + if (value.isInteger() && value.e < value.precision() + 4) + num = value.toFixed(0); + else { + const precision = ce.jsonSerializationOptions.precision; + const s = precision === "max" ? value.toString() : value.toPrecision( + precision === "auto" ? ce.precision : precision + ); + num = repeatingDecimals(ce, s); + if (shorthandAllowed) { + const val = value.toNumber(); + if (val.toString() === num) + return val; + } + } + } + if (ce.jsonSerializationOptions.metadata.includes("latex")) + metadata.latex = (_a = metadata.latex) != null ? _a : ce.serialize({ num }); + return metadata.latex !== void 0 ? { num, latex: metadata.latex } : shorthandAllowed ? num : { num }; + } + if (value instanceof import_complex8.Complex) { + if (value.isInfinite()) + return serializeJsonSymbol(ce, "ComplexInfinity", metadata); + if (value.isNaN()) { + num = "NaN"; + if (ce.jsonSerializationOptions.metadata.includes("latex")) + metadata.latex = (_b = metadata.latex) != null ? _b : ce.serialize({ num }); + return metadata.latex !== void 0 ? { num, latex: metadata.latex } : { num }; + } + return serializeJsonFunction( + ce, + "Complex", + [ce.number(value.re), ce.number(value.im)], + { + ...metadata, + wikidata: "Q11567" + } + ); + } + if (isRational(value)) { + const allowRational = !exclusions.includes("Rational"); + if (shorthandAllowed && ce.jsonSerializationOptions.shorthands.includes("function") && isMachineRational(value)) { + if (value[0] === 1 && value[1] === 2 && !exclusions.includes("Half")) + return serializeJsonSymbol(ce, "Half", metadata); + return [allowRational ? "Rational" : "Divide", value[0], value[1]]; + } + return serializeJsonFunction( + ce, + allowRational ? "Rational" : "Divide", + [ce.number(value[0]), ce.number(value[1])], + { ...metadata } + ); + } + if (Number.isNaN(value)) + num = "NaN"; + else if (!Number.isFinite(value)) + num = value > 0 ? "+Infinity" : "-Infinity"; + else { + if (shorthandAllowed) + return value; + num = repeatingDecimals(ce, value.toString()); + } + if (ce.jsonSerializationOptions.metadata.includes("latex")) + metadata.latex = (_c = metadata.latex) != null ? _c : ce.serialize({ num }); + return metadata.latex !== void 0 ? { num, latex: metadata.latex } : { num }; +} +function _escapeJsonString(s) { + return s; +} +function repeatingDecimals(ce, s) { + var _a; + if (!ce.jsonSerializationOptions.repeatingDecimals) + return s; + let [_, wholepart, fractionalPart, exponent] = (_a = s.match(/^(.*)\.([0-9]+)([e|E][-+]?[0-9]+)?$/)) != null ? _a : []; + if (!fractionalPart) + return s.toLowerCase(); + const lastDigit = fractionalPart[fractionalPart.length - 1]; + fractionalPart = fractionalPart.slice(0, -1); + const MAX_REPEATING_PATTERN_LENGTH = 16; + let prefix = ""; + for (let i = 0; i < fractionalPart.length - MAX_REPEATING_PATTERN_LENGTH; i++) { + prefix = fractionalPart.substring(0, i); + for (let j = 0; j <= MAX_REPEATING_PATTERN_LENGTH; j++) { + const repetend = fractionalPart.substring(i, i + j + 1); + const times = Math.floor( + (fractionalPart.length - prefix.length) / repetend.length + ); + if (times < 3) + break; + if ((prefix + repetend.repeat(times + 1)).startsWith(fractionalPart)) { + if (repetend === "0") { + if (lastDigit === "0") + return wholepart + "." + prefix + (exponent != null ? exponent : ""); + return s; + } + return wholepart + "." + prefix + "(" + repetend + ")" + (exponent != null ? exponent : ""); + } + } + } + fractionalPart += lastDigit; + while (fractionalPart.endsWith("0")) + fractionalPart = fractionalPart.slice(0, -1); + if (exponent) + return `${wholepart}.${fractionalPart}${exponent.toLowerCase()}`; + return `${wholepart}.${fractionalPart}`; +} +var _BoxedDomain = class __BoxedDomain extends AbstractBoxedExpression { + constructor(ce, dom, metadata) { + super(ce, metadata); + this._value = makeCanonical(ce, dom); + } + get isCanonical() { + return true; + } + /** Boxed domains are always canonical. */ + get canonical() { + return this; + } + get isValid() { + return this.ctor !== "InvalidDomain"; + } + get json() { + return ["Domain", serialize(this.engine, this._value)]; + } + get literal() { + if (typeof this._value === "string") + return this._value; + return null; + } + get ctor() { + if (typeof this._value === "string") + return null; + return this._value[0]; + } + get domainArgs() { + if (typeof this._value === "string") + return null; + return this._value.slice(1); + } + get domainArg1() { + if (typeof this._value === "string") + return null; + return this._value[1]; + } + get codomain() { + if (typeof this._value === "string") + return null; + return this.engine.domain(this._value[this._value.length - 1]); + } + get hash() { + if (this._hash === void 0) + this._hash = hashCode(hash(this._value)); + return this._hash; + } + isEqual(rhs) { + return isEqual(this._value, rhs); + } + isSame(rhs) { + return isEqual(this._value, rhs); + } + is(rhs) { + return isEqual(this._value, rhs); + } + isCompatible(dom, compatibility = "covariant") { + const lhs = this._value; + const rhs = dom instanceof __BoxedDomain ? dom._value : dom; + const rhsCtor = Array.isArray(rhs) ? rhs[0] : null; + if (rhsCtor) { + const rhsParam = rhs[1]; + if (rhsCtor === "Covariant") + return isSubdomainOf1(lhs, rhsParam); + if (rhsCtor === "Contravariant") + return isSubdomainOf1(rhsParam, lhs); + if (rhsCtor === "Invariant") + return !isSubdomainOf1(rhsParam, lhs) && !isSubdomainOf1(lhs, rhsParam); + if (rhsCtor === "Bivariant") + return isSubdomainOf1(lhs, rhsParam) && isSubdomainOf1(rhsParam, lhs); + } + if (compatibility === "covariant") + return isSubdomainOf1(lhs, rhs); + if (compatibility === "contravariant") + return isSubdomainOf1(rhs, lhs); + if (compatibility === "bivariant") + return isSubdomainOf1(rhs, lhs) && isSubdomainOf1(lhs, rhs); + return !isSubdomainOf1(rhs, lhs) && !isSubdomainOf1(lhs, rhs); + } + match(rhs, _options) { + if (!(rhs instanceof __BoxedDomain)) + return null; + if (this.isSame(rhs)) + return {}; + return null; + } + get head() { + return "Domain"; + } + get domain() { + return this.engine.domain("Domain"); + } + get isNothing() { + return this._value === "Nothing"; + } + get isFunction() { + return this.ctor === "Function" || this._value === "Function"; + } + // get isPredicate(): boolean { + // if (this.domainLiteral === 'Predicate') return true; + // if (this.domainConstructor !== 'Function') return false; + // const resultDomain = this._value[this._value.length]; + // if (!(resultDomain instanceof _Domain)) return false; + // return resultDomain.isBoolean; + // } + // get isNumericFunction(): boolean { + // if (this.domainLiteral === 'NumericFunction') return true; + // if (this.domainConstructor !== 'Function') return false; + // for (const arg of this.domainParams!) + // if (!isNumericSubdomain(arg, 'Number')) return false; + // return true; + // } + // get isBoolean(): boolean { + // const dom = this.domainLiteral; + // return dom === 'Boolean' || dom === 'MaybeBoolean'; + // } + // get isRealFunction(): boolean { + // if (this.domainLiteral === 'RealFunction') return true; + // if (this.domainConstructor !== 'Function') return false; + // for (const arg of this.domainParams!) + // if (!isNumericSubdomain(arg, 'ExtendedRealNumber')) return false; + // return true; + // } + get isNumeric() { + return this.isCompatible(this.engine.domain("Number")); + } + // get isLogicOperator(): boolean { + // if (this.domainLiteral === 'LogicOperator') return true; + // if (!this.codomain?.isBoolean) return false; + // const params = this.domainParams!; + // if (params.length < 1 || params.length > 2) return false; + // if (!params[0].isBoolean) return false; + // if (params.length === 1) return true; + // if (!params[1].isBoolean) return false; + // return true; + // } + get isRelationalOperator() { + if (this._value === "RelationalOperator") + return true; + if (this.ctor !== "Function") + return false; + if (this.domainArgs.length !== 2) + return false; + if (!this.codomain.isCompatible("MaybeBoolean")) + return false; + return true; + } +}; +function boxDomain(ce, dom, metadata) { + if (Array.isArray(dom) && dom[0] === "Domain") + dom = dom[1]; + if (dom instanceof _BoxedDomain) + return dom; + if (dom instanceof AbstractBoxedExpression) + dom = dom.json; + if (typeof dom === "string") { + const expr = DOMAIN_ALIAS[dom]; + if (expr) + return boxDomain(ce, expr); + if (!isDomainLiteral(dom)) + throw Error("Expected a domain literal, got " + dom); + return new _BoxedDomain(ce, dom, metadata); + } + if (!Array.isArray(dom) || dom.length === 0) + throw Error("Expected a valid domain"); + const constructor = dom[0]; + if (!DOMAIN_CONSTRUCTORS.includes(constructor)) + throw Error("Expected domain constructor, got " + constructor); + return new _BoxedDomain(ce, dom, metadata); +} +function makeCanonical(ce, dom) { + if (dom === void 0 || typeof dom === "number") + throw Error("Expected a domain expression"); + if (dom instanceof _BoxedDomain) + return dom._value; + if (typeof dom === "string") { + if (!isDomainLiteral(dom)) + throw Error("Unknown domain literal"); + return dom; + } + if (!Array.isArray(dom) && typeof dom === "object") + throw Error("Expected a domain expression"); + if (!dom) + ; + const ctor = dom[0]; + /* @__PURE__ */ console.assert(ctor); + if (ctor === "Range") { + if (dom.length === 1) + return "Integer"; + let first = 1; + let last = Infinity; + if (dom.length === 2) { + last = dom[1]; + } else if (dom.length === 3) { + first = dom[1]; + last = dom[2]; + } + const firstNum = asRangeBound(ce, first); + const lastNum = asRangeBound(ce, last); + if (firstNum === null || lastNum === null) + throw Error(`Invalid range [${firstNum}, ${lastNum}] `); + if (lastNum < firstNum) + [first, last] = [last, first]; + if (firstNum === -Infinity && lastNum === Infinity) + return "Integer"; + if (firstNum === 1 && lastNum === Infinity) + return "PositiveInteger"; + if (firstNum === 0 && lastNum === Infinity) + return "NonNegativeInteger"; + if (firstNum === -Infinity && lastNum === -1) + return "NegativeInteger"; + if (firstNum === -Infinity && lastNum === 0) + return "NonPositiveInteger"; + return ["Range", ce.number(firstNum), ce.number(lastNum)]; + } + if (ctor === "Interval") { + if (dom.length !== 3) + throw Error("Invalid range " + dom); + let [isLeftOpen, first] = maybeOpen(ce, dom[1]); + let [isRightOpen, last] = maybeOpen(ce, dom[2]); + if (first === null || last === null) + throw Error("Invalid range " + dom); + if (last < first) { + [first, last] = [last, first]; + [isLeftOpen, isRightOpen] = [isRightOpen, isLeftOpen]; + } + if (first === 0 && last === Infinity) + return isLeftOpen ? "PositiveNumber" : "NonNegativeNumber"; + if (first === -Infinity && last === 0) + return isRightOpen ? "NegativeNumber" : "NonPositiveNumber"; + return [ + "Interval", + isLeftOpen ? ["Open", ce.number(first)] : ce.number(first), + isRightOpen ? ["Open", ce.number(last)] : ce.number(last) + ]; + } + if (ctor === "Function") { + return ["Function", ...dom.slice(1).map((x) => makeCanonical(ce, x))]; + } + if (ctor === "Dictionary") { + return ["Dictionary", makeCanonical(ce, dom[1])]; + } + if (ctor === "List") { + return ["List", makeCanonical(ce, dom[1])]; + } + if (ctor === "Tuple") { + return ["Tuple", ...dom.slice(1).map((x) => makeCanonical(ce, x))]; + } + if (ctor === "Union") { + return ["Union", ...dom.slice(1).map((x) => makeCanonical(ce, x))]; + } + if (ctor === "Intersection") { + return ["Intersection", ...dom.slice(1).map((x) => makeCanonical(ce, x))]; + } + if (ctor === "Covariant" || ctor === "Contravariant" || ctor === "Invariant") { + return [ctor, makeCanonical(ce, dom[1])]; + } + if (ctor === "Maybe") { + return ["Maybe", makeCanonical(ce, dom[1])]; + } + if (ctor === "Sequence") { + return ["Sequence", makeCanonical(ce, dom[1])]; + } + if (ctor === "Head") { + return ["Head", dom[1]]; + } + if (ctor === "Symbol") { + return ["Symbol", dom[1]]; + } + if (ctor === "Value") { + return ["Value", ce.box(dom[1])]; + } + if (ctor === "InvalidDomain") { + return ["InvalidDomain", dom[1]]; + } + throw Error("Unexpected domain constructor " + ctor); +} +function asRangeBound(ce, expr) { + if (typeof expr === "number") + return expr; + const x = ce.box(expr).evaluate(); + return x.isInfinity ? x.isPositive ? Infinity : -Infinity : asSmallInteger(x); +} +function maybeOpen(ce, expr) { + if (Array.isArray(expr) && expr[0] === "Open") + return [true, asRangeBound(ce, expr[1])]; + return [false, asRangeBound(ce, expr)]; +} +function isDomain(expr) { + if (expr instanceof _BoxedDomain) + return true; + if (expr instanceof AbstractBoxedExpression) + expr = expr.json; + if (typeof expr === "string") + return isDomainLiteral(expr); + if (Array.isArray(expr)) { + if (expr.length <= 1) + return false; + const ctor = expr[0]; + if (typeof ctor !== "string" || !DOMAIN_CONSTRUCTORS.includes(ctor)) + return false; + if (ctor === "InvalidDomain") + return false; + if (ctor === "List") + return expr.length === 2 && isValidDomain(expr[1]); + if (ctor === "Tuple" || ctor === "Function" || ctor === "Maybe" || ctor === "Sequence" || ctor === "Intersection" || ctor === "Union") + return expr.slice(1, -1).every((x) => isValidDomain(x)); + return expr.every((x) => x !== null); + } + return false; +} +function isValidDomain(expr) { + if (expr instanceof _BoxedDomain) + return expr.isValid; + if (Array.isArray(expr) && expr[0] === "InvalidDomain") + return false; + return isDomain(expr); +} +function isSubdomainOf1(lhs, rhs) { + const [result, rest] = isSubdomainOf([lhs], rhs); + if (result && rest.length === 0) + return true; + return false; +} +function isSubdomainOf(xlhs, rhs) { + let lhs = xlhs.shift(); + const rhsLiteral = typeof rhs === "string" ? rhs : null; + if (rhsLiteral === "Anything") + return [true, xlhs]; + const lhsLiteral = typeof lhs === "string" ? lhs : null; + if (lhsLiteral && rhsLiteral) { + if (lhsLiteral === rhsLiteral) + return [true, xlhs]; + return [ancestors(lhsLiteral).includes(rhsLiteral), xlhs]; + } + if (rhsLiteral) { + if (!lhs) + ; + const lhsConstructor = lhs[0]; + if (lhsConstructor === "Function") + return [rhsLiteral === "Function", xlhs]; + if (lhsConstructor === "Dictionary") + return [rhsLiteral === "Dictionary", xlhs]; + if (lhsConstructor === "List") + return [rhsLiteral === "List", xlhs]; + if (lhsConstructor === "Tuple") + return [rhsLiteral === "Tuple", xlhs]; + if (lhsConstructor === "Intersection") { + } + if (lhsConstructor === "Interval") + return [isSubdomainOf1("ExtendedRealNumber", rhsLiteral), xlhs]; + if (lhsConstructor === "Range") + return [isSubdomainOf1("Integer", rhsLiteral), xlhs]; + return [true, xlhs]; + } + const rhsConstructor = rhs[0]; + if (rhsConstructor === "Function") { + if (lhsLiteral === "Function") + return [true, xlhs]; + if (lhsLiteral) + return [false, xlhs]; + if (lhs[0] !== "Function") + return [false, xlhs]; + if (lhs.length === 1 && rhs.length === 1) + return [true, xlhs]; + if (!isSubdomainOf1( + lhs[lhs.length - 1], + rhs[rhs.length - 1] + )) + return [false, xlhs]; + const lhsParams = lhs.slice(1, -1); + let rhsParams = rhs.slice(1, -1); + for (let i = 0; i <= lhsParams.length - 1; i++) { + if (rhsParams.length === 0) { + const lhsCtor = Array.isArray(lhsParams[i]) ? lhsParams[i][0] : null; + if (lhsCtor !== "Maybe") + return [false, xlhs]; + return [true, xlhs]; + } else { + let match2 = false; + [match2, rhsParams] = isSubdomainOf(rhsParams, lhsParams[i]); + if (!match2) + return [false, xlhs]; + } + } + return [rhsParams.length === 0, xlhs]; + } + if (rhsConstructor === "Intersection") { + return [ + rhs.slice(1, -1).every( + (x) => isSubdomainOf1(lhs, x) + ), + xlhs + ]; + } + if (rhsConstructor === "Union") { + return [ + rhs.slice(1, -1).some((x) => isSubdomainOf1(lhs, x)), + xlhs + ]; + } + if (rhsConstructor === "Maybe") { + if (lhsLiteral === "Nothing") + return [true, xlhs]; + return isSubdomainOf( + [lhs, ...xlhs], + rhs[1] + ); + } + if (rhsConstructor === "Sequence") { + const seq = rhs[1]; + if (!isSubdomainOf1(lhs, seq)) + return [false, xlhs]; + lhs = xlhs.shift(); + let match2 = true; + while (xlhs.length > 0 && match2) { + [match2, xlhs] = isSubdomainOf(xlhs, seq); + lhs = xlhs.shift(); + } + return [true, xlhs]; + } + if (rhsConstructor === "Tuple") { + if (!Array.isArray(lhs) || lhs[0] !== "Tuple") + return [false, xlhs]; + if (lhs.length > rhs.length) + return [false, xlhs]; + for (let i = 1; i <= rhs.length - 1; i++) { + if (!lhs[i] || !isSubdomainOf1( + lhs[i], + rhs[i] + )) + return [false, xlhs]; + } + return [true, xlhs]; + } + if (rhsConstructor === "Range") { + if (!Array.isArray(lhs) || lhs[0] !== "Range") + return [false, xlhs]; + const lhsMin = asFloat(lhs[1]); + const lhsMax = asFloat(lhs[2]); + const rhsMin = asFloat(rhs[1]); + const rhsMax = asFloat(rhs[2]); + return [ + lhsMin !== null && lhsMax !== null && rhsMin !== null && rhsMax !== null && lhsMin >= rhsMin && lhsMax <= rhsMax, + xlhs + ]; + } + if (rhsConstructor === "Interval") { + if (!Array.isArray(lhs) || lhs[0] !== "Interval") + return [false, xlhs]; + const lhsMin = asFloat(lhs[1]); + const lhsMax = asFloat(lhs[2]); + const rhsMin = asFloat(rhs[1]); + const rhsMax = asFloat(rhs[2]); + return [ + lhsMin !== null && lhsMax !== null && rhsMin !== null && rhsMax !== null && lhsMin >= rhsMin && lhsMax <= rhsMax, + xlhs + ]; + } + console.error("Unexpected domain constructor " + rhsConstructor); + return [false, xlhs]; +} +function sharedAncestorDomain(a, b) { + const aLiteral = domainLiteralAncestor(a); + const bLiteral = domainLiteralAncestor(b); + const aAncestors = [aLiteral, ...ancestors(aLiteral)]; + const bAncestors = [bLiteral, ...ancestors(bLiteral)]; + while (!bAncestors.includes(aAncestors[0])) + aAncestors.shift(); + return a.engine.domain(aAncestors[0]); +} +function domainLiteralAncestor(dom) { + let result = dom.literal; + if (result) + return result; + result = dom.ctor; + if (result === "Maybe") + return "Anything"; + if (result === "Interval") + return "RealNumber"; + if (result === "Range") + return "Integer"; + if (result === "Head") + return "Function"; + if (result === "Union") + return "Anything"; + if (result === "Intersection") + return "Anything"; + return result; +} +function serialize(ce, dom) { + if (dom instanceof AbstractBoxedExpression) + return dom.json; + if (typeof dom === "string") + return dom; + if (dom[0] === "InvalidDomain") { + return ["InvalidDomain", serialize(ce, dom[1])]; + } + const result = [serializeJsonSymbol(ce, dom[0])]; + if (dom.length > 1) + for (let i = 1; i <= dom.length - 1; i++) + result.push(serialize(ce, dom[i])); + return result; +} +function hash(dom) { + if (typeof dom === "string") + return "domain:" + dom; + let s = "domain:" + this.ctor; + for (const arg of this.domainArgs) + s += ":" + hash(arg); + return s; +} +function isEqual(lhs, rhs) { + if (typeof rhs === "string") + return this._value === rhs; + if (rhs instanceof _BoxedDomain) + return isEqual(lhs, rhs._value); + if (typeof lhs === "string") + return lhs === rhs; + /* @__PURE__ */ console.assert(Array.isArray(lhs)); + if (!Array.isArray(rhs)) + return false; + if (lhs[0] !== rhs[0]) + return false; + if (rhs.length !== lhs.length) + return false; + for (let i = 1; i <= lhs.length - 1; i++) { + if (lhs[i] instanceof AbstractBoxedExpression) { + if (!(rhs[i] instanceof AbstractBoxedExpression)) + return false; + if (!rhs[i].isEqual(rhs[i])) + return false; + } else if (typeof lhs[i] === "string") { + if (typeof rhs[i] !== "string") + return false; + if (lhs[i] !== rhs[i]) + return false; + } else if (!isEqual(lhs[i], rhs[i])) + return false; + } + return true; +} +function validateArgumentCount(ce, ops2, count) { + if (ops2.length === count) + return ops2; + const xs = [...ops2.slice(0, count)]; + let i = Math.min(count, ops2.length); + while (i < count) { + xs.push(ce.error("missing")); + i += 1; + } + while (i < ops2.length) { + xs.push(ce.error("unexpected-argument", ops2[i])); + i += 1; + } + return xs; +} +function validateNumericArgs(ce, ops2, count) { + if (!ce.strict) + return ops2; + let xs; + if (count === void 0) + xs = ops2; + else { + xs = []; + for (let i = 0; i <= Math.max(count - 1, ops2.length - 1); i++) { + if (i > count - 1) + xs.push(ce.error("unexpected-argument", ops2[i])); + else + xs.push(ops2[i] !== void 0 ? ce.box(ops2[i]) : ce.error("missing")); + } + } + return xs.map( + (op3) => op3 && !op3.isValid || op3.isNumber ? op3 : ce.error(["incompatible-domain", "Number", op3.domain], op3) + ); +} +function validateSignature(sig, ops2, codomain) { + const ce = sig.engine; + if (!ce.strict) + return ops2; + const opsDomain = ops2.map((x) => x.domain); + const targetSig = ce.domain([ + "Function", + ...opsDomain, + codomain != null ? codomain : "Anything" + ]); + if (sig.isCompatible(targetSig)) + return null; + const expectedArgs = sig.domainArgs.slice(0, -1); + const count = Math.max(expectedArgs.length, opsDomain.length); + let newOps = []; + let rest = [...ops2]; + for (let i = 0; i <= count - 1; i++) + [newOps, rest] = validateNextArgument( + ce, + expectedArgs[i], + newOps, + rest + ); + while (newOps.length > 0 && newOps[newOps.length - 1].symbol === "Nothing") + newOps.pop(); + return newOps; +} +function validateArgument(ce, arg, dom) { + if (dom === void 0) + return ce.error("unexpected-argument", arg); + if (arg === void 0) + return ce.error("missing"); + if (!arg.isValid) + return arg; + if (arg == null ? void 0 : arg.domain.isCompatible(dom)) + return arg; + return ce.error(["incompatible-domain", dom, arg.domain], arg); +} +function validateNextArgument(ce, dom, matched, ops2) { + let next = ops2.shift(); + if (dom === void 0) + return [[...matched, ce.error("unexpected-argument", next)], ops2]; + if (!Array.isArray(dom)) { + if (!next) + return [[...matched, ce.error("missing")], ops2]; + if (!next.domain.isCompatible(dom)) { + return [ + [...matched, ce.error(["incompatible-domain", dom, next.domain], next)], + ops2 + ]; + } + return [[...matched, next], ops2]; + } + const ctor = dom[0]; + if (next === void 0) { + let valid = false; + if (ctor === "Union") { + for (let k = 1; k <= dom.length - 1; k++) { + if (dom[k] === "Nothing") { + valid = true; + break; + } + } + } else if (ctor === "Maybe") + valid = true; + if (valid) + return [[...matched, ce.symbol("Nothing")], ops2]; + return [[...matched, ce.error("missing")], ops2]; + } + if (ctor === "Union") { + let found = false; + for (let k = 1; k <= dom.length - 1; k++) { + if (next.domain.isCompatible(dom[k])) { + found = true; + break; + } + } + if (found) + return [[...matched, next], ops2]; + return [ + [...matched, ce.error(["incompatible-domain", dom, next.domain], next)], + ops2 + ]; + } + if (ctor === "Sequence") { + const seq = dom[1]; + if (!next || !next.domain.isCompatible(seq)) { + return [ + [...matched, ce.error(["incompatible-domain", seq, next.domain], next)], + ops2 + ]; + } + let done = false; + const result = [...matched, next]; + while (!done) { + next = ops2.shift(); + if (!next) + done = false; + else if (!next.domain.isCompatible(seq)) { + ops2.unshift(next); + done = false; + } else + result.push(next); + } + return [result, ops2]; + } + if (ctor === "Maybe") { + if (next === void 0 || next.symbol === "Nothing") + return [[...matched, ce.symbol("Nothing")], ops2]; + return validateNextArgument(ce, dom[1], matched, [next, ...ops2]); + } + console.error("Unhandled ctor", ctor); + return [[...matched, next], ops2]; +} +function validateArguments(ce, args, doms) { + if (args.length === doms.length && args.every((x, i) => x.domain.isCompatible(doms[i]))) + return args; + const xs = []; + for (let i = 0; i <= doms.length - 1; i++) + xs.push(validateArgument(ce, args[i], doms[i])); + for (let i = doms.length; i <= args.length - 1; i++) + xs.push(ce.error("unexpected-argument", args[i])); + return xs; +} +function canonicalAdd(ce, ops2) { + /* @__PURE__ */ console.assert(ops2.every((x) => x.isCanonical)); + ops2 = ops2.filter((x) => x.numericValue === null || !x.isZero); + if (ops2.length === 0) + return ce.number(0); + if (ops2.length === 1) + return ops2[0]; + if (ops2.length === 2) { + let im = 0; + let re = 0; + re = asFloat(ops2[0]); + if (re !== null && re !== 0) + im = getImaginaryCoef(ops2[1]); + else { + im = getImaginaryCoef(ops2[0]); + if (im !== 0 && ops2[1].numericValue !== null) + re = asFloat(ops2[1]); + } + if (re !== null && im !== null && im !== 0) + return ce.number(ce.complex(re, im)); + } + if (ops2.length > 1) + ops2 = sortAdd(ce, ops2); + return ce._fn("Add", ops2); +} +function domainAdd(_ce, args) { + let dom = null; + for (const arg of args) { + if (!arg.isNumeric) + return null; + if (!dom) + dom = arg; + else + dom = sharedAncestorDomain(dom, arg); + } + return dom; +} +function simplifyAdd(ce, args) { + /* @__PURE__ */ console.assert(args.length > 1, `simplifyAdd: not enough args`); + const sum2 = new Sum(ce); + for (let arg of args) { + arg = arg.simplify(); + if (arg.isImaginary && arg.isInfinity) + return ce.symbol("ComplexInfinity"); + if (arg.isNaN || arg.symbol === "Undefined") + return ce._NAN; + if (!arg.isZero) + sum2.addTerm(arg); + } + return sum2.asExpression("expression"); +} +function evalAddNum(ops2) { + let sum2 = 0; + for (const op3 of ops2) { + const v = op3.numericValue; + if (typeof v === "number") + sum2 += v; + else + return null; + } + return sum2; +} +function evalAdd(ce, ops2, mode = "evaluate") { + if (mode === "N" && ce.numericMode === "machine") { + ops2 = ops2.map((x) => x.N()); + const sum2 = evalAddNum(ops2); + if (sum2 !== null) + return ce.number(sum2); + } + for (const arg of ops2) { + if (arg.isImaginary && arg.isInfinity) + return ce.symbol("ComplexInfinity"); + if (arg.isNaN || arg.symbol === "Undefined") + return ce._NAN; + if (!arg.isExact) + mode = "N"; + } + if (mode === "N") + ops2 = ops2.map((x) => x.N()); + else + ops2 = ops2.map((x) => x.evaluate()); + return new Sum(ce, ops2).asExpression(mode === "N" ? "numeric" : "expression"); +} +function canonicalSummation(ce, body, range) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; + body != null ? body : body = ce.error("missing"); + let index = null; + let lower = null; + let upper = null; + if (range && range.head !== "Tuple" && range.head !== "Triple" && range.head !== "Pair" && range.head !== "Single") { + index = range; + } else if (range) { + index = (_b = (_a = range.ops) == null ? void 0 : _a[0]) != null ? _b : null; + lower = (_e = (_d = (_c = range.ops) == null ? void 0 : _c[1]) == null ? void 0 : _d.canonical) != null ? _e : null; + upper = (_h = (_g = (_f = range.ops) == null ? void 0 : _f[2]) == null ? void 0 : _g.canonical) != null ? _h : null; + } + if ((index == null ? void 0 : index.head) === "Hold") + index = index.op1; + if ((index == null ? void 0 : index.head) === "ReleaseHold") + index = (_i = index.op1) == null ? void 0 : _i.evaluate(); + index != null ? index : index = ce.symbol("Nothing"); + if (!index.symbol) + index = ce.error(["incompatible-domain", "Symbol", index.domain]); + if (index.symbol) + ce.pushScope({ [index.symbol]: { domain: "Integer" } }); + const fn = body.canonical; + if (index.symbol) { + ce.popScope(); + index = index = ce.hold(index); + } + if (lower && lower.isFinite) + lower = validateArgument(ce, lower, "Integer"); + if (upper && upper.isFinite) + upper = validateArgument(ce, upper, "Integer"); + if (lower && upper) + range = ce.tuple([index, lower, upper]); + else if (upper) + range = ce.tuple([index, ce.number(1), upper]); + else if (lower) + range = ce.tuple([index, lower]); + else + range = index; + return ce._fn("Sum", [fn, range]); +} +function evalSummation(ce, expr, range, mode) { + var _a; + const [index, lower, upper, isFinite2] = normalizeLimits(range); + const fn = expr; + if (mode !== "N" && (lower >= upper || upper - lower >= MAX_SYMBOLIC_TERMS)) + return void 0; + let result = null; + const savedContext = ce.context; + ce.context = (_a = fn.scope) != null ? _a : ce.context; + if (mode === "simplify") { + const terms = []; + if (!fn.scope) + for (let i = lower; i <= upper; i++) + terms.push(fn.simplify()); + else + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + terms.push(fn.simplify()); + } + result = ce.add(terms).simplify(); + } + if (mode === "evaluate") { + const terms = []; + if (!fn.scope) + for (let i = lower; i <= upper; i++) + terms.push(fn.evaluate()); + else + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + terms.push(fn.evaluate()); + } + result = ce.add(terms).evaluate(); + } + if (mode === "N") { + if (result === null && !fn.scope) { + const n = fn.N(); + if (!isFinite2) { + if (n.isZero) + result = ce._ZERO; + else if (n.isPositive) + result = ce._POSITIVE_INFINITY; + else + result = ce._NEGATIVE_INFINITY; + } + if (result === null && fn.isPure) + result = ce.mul([ce.number(upper - lower + 1), n]); + } + if (result === null && isFinite2) { + if (bignumPreferred(ce)) { + let sum2 = ce.bignum(0); + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asBignum(fn.N()); + if (term === null) { + result = void 0; + break; + } + if (!term.isFinite()) { + sum2 = term; + break; + } + sum2 = sum2.add(term); + } + if (result === null) + result = ce.number(sum2); + } else { + const numericMode = ce.numericMode; + ce.numericMode = "machine"; + let sum2 = 0; + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asFloat(fn.N()); + if (term === null) { + result = void 0; + break; + } + if (!Number.isFinite(term)) { + sum2 = term; + break; + } + sum2 += term; + } + ce.numericMode = numericMode; + if (result === null) + result = ce.number(sum2); + } + } else if (result === null) { + ce.set({ [index]: 1e3 }); + const nMax = fn.N(); + ce.set({ [index]: 999 }); + const nMaxMinusOne = fn.N(); + const ratio = asFloat(ce.div(nMax, nMaxMinusOne).N()); + if (ratio !== null && Number.isFinite(ratio) && Math.abs(ratio) > 1) { + result = ce._POSITIVE_INFINITY; + } else { + let sum2 = 0; + const numericMode = ce.numericMode; + ce.numericMode = "machine"; + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asFloat(fn.N()); + if (term === null) { + result = void 0; + break; + } + if (Math.abs(term) < Number.EPSILON || !Number.isFinite(term)) + break; + sum2 += term; + } + ce.numericMode = numericMode; + if (result === null) + result = ce.number(sum2); + } + } + } + ce.context = savedContext; + return result != null ? result : void 0; +} +var import_complex9 = __toESM(require_complex()); +function negateLiteral(expr, metadata) { + let n = expr.numericValue; + if (n === null) + return null; + if (typeof n === "number") + n = -n; + else if (n instanceof decimal_default) + n = n.neg(); + else if (n instanceof import_complex9.Complex) + n = n.neg(); + else if (Array.isArray(n)) + n = neg(n); + return expr.engine.number(n, { metadata }); +} +function canonicalNegate(expr, metadata) { + if (expr.head === "Negate") + return expr.op1; + if (expr.numericValue !== null) + return negateLiteral(expr, metadata); + if (expr.head === "Add") { + let ops2 = expr.ops.map((x) => canonicalNegate(x)); + ops2 = flattenOps(ops2, "Add"); + return expr.engine.add(ops2, metadata); + } + if (expr.head === "Multiply") { + return negateProduct(expr.engine, expr.ops); + } + if (expr.head === "Divide") + return expr.engine._fn("Divide", [canonicalNegate(expr.op1), expr.op2]); + /* @__PURE__ */ console.assert(expr.head !== "Subtract"); + return expr.engine._fn("Negate", [expr], metadata); +} +function negateProduct(ce, args) { + let result = []; + let done = false; + for (const arg of args) { + if (!done && arg.head === "Negate") { + done = true; + result.push(arg.op1); + } else + result.push(arg); + } + if (done) + return ce.mul(result); + result = []; + for (const arg of args) { + if (done || arg.numericValue === null || !arg.isInteger) + result.push(arg); + else { + done = true; + result.push(canonicalNegate(arg)); + } + } + if (done) + return ce.mul(result); + result = []; + for (const arg of args) { + if (done || arg.numericValue === null || !arg.isNumber) + result.push(arg); + else { + done = true; + result.push(canonicalNegate(arg)); + } + } + if (done) + return ce.mul(result); + return ce._fn("Negate", [ce._fn("Multiply", args)]); +} +function processNegate(_ce, x, _mode = "simplify") { + return canonicalNegate(x); +} +function distribute2(lhs, rhs) { + if (lhs.head === "Negate" && rhs.head === "Negate") + return distribute2(lhs.op1, rhs.op1); + if (lhs.head === "Negate") + return canonicalNegate(distribute2(lhs.op1, rhs)); + if (rhs.head === "Negate") + return canonicalNegate(distribute2(lhs, rhs.op1)); + const ce = lhs.engine; + if (lhs.head === "Divide" && rhs.head === "Divide") { + const denom = ce.mul([lhs.op2, rhs.op2]); + return ce.div(distribute2(lhs.op1, rhs.op1), denom); + } + if (lhs.head === "Divide") + return ce.div(distribute2(lhs.op1, rhs), lhs.op2); + if (rhs.head === "Divide") + return ce.div(distribute2(lhs, rhs.op1), rhs.op2); + if (lhs.head === "Add") + return ce.add(lhs.ops.map((x) => distribute2(x, rhs))); + if (rhs.head === "Add") + return ce.add(rhs.ops.map((x) => distribute2(lhs, x))); + return ce.mul([lhs, rhs]); +} +function distribute(expr) { + if (expr.length === 1) + return expr[0]; + if (expr.length === 2) + return distribute2(expr[0], expr[1]); + return distribute2(expr[0], distribute(expr.slice(1))); +} +var binomials = [ + [1], + [1, 1], + [1, 2, 1], + [1, 3, 3, 1], + [1, 4, 6, 4, 1], + [1, 5, 10, 10, 5, 1], + [1, 6, 15, 20, 15, 6, 1], + [1, 7, 21, 35, 35, 21, 7, 1], + [1, 8, 28, 56, 70, 56, 28, 8, 1] +]; +function choose(n, k) { + while (n >= binomials.length) { + const s = binomials.length; + const nextRow = [1]; + const prev = binomials[s - 1]; + for (let i = 1; i < s; i++) + nextRow[i] = prev[i - 1] + prev[i]; + nextRow[s] = 1; + binomials.push(nextRow); + } + return binomials[n][k]; +} +function multinomialCoefficient(k) { + let n = k.reduce((acc, v) => acc + v, 0); + let prod = 1; + for (let i = 0; i < k.length; i += 1) { + prod *= choose(n, k[i]); + n -= k[i]; + } + return prod; +} +function* powers(n, exp2) { + if (n === 1) { + yield [exp2]; + return; + } + for (let i = 0; i <= exp2; i += 1) + for (const p of powers(n - 1, exp2 - i)) + yield [i, ...p]; +} +function expandMultinomial(expr) { + if (expr.head !== "Power") + return null; + const exp2 = asSmallInteger(expr.op2); + if (exp2 === null || exp2 < 0) + return null; + if (exp2 === 0) + return expr.engine._ONE; + if (exp2 === 1) + return expr.op1; + const ce = expr.engine; + if (expr.op1.head === "Negate") { + const sign2 = exp2 % 2 === 0 ? 1 : -1; + const result2 = expandMultinomial(ce.pow(expr.op1.op1, expr.op2)); + if (result2 === null) + return null; + if (sign2 > 0) + return result2; + return ce.neg(result2); + } + /* @__PURE__ */ console.assert(expr.op1.head !== "Subtract"); + if (expr.op1.head !== "Add") + return null; + const terms = expr.op1.ops; + const it = powers(terms.length, exp2); + const result = []; + for (const val of it) { + const product = [ce.number(multinomialCoefficient(val))]; + for (let i = 0; i < val.length; i += 1) { + if (val[i] !== 0) { + if (val[i] === 1) + product.push(terms[i]); + else + product.push(ce.pow(terms[i], val[i])); + } + } + result.push(ce.mul(product)); + } + return ce.add(result); +} +function expandNumerator(expr) { + if (expr.head !== "Divide") + return null; + const expandedNumerator = expand2(expr.op1); + if (expandedNumerator === null) + return null; + const ce = expr.engine; + if (expandedNumerator.head === "Add") { + return ce.add(expandedNumerator.ops.map((x) => ce.div(x, expr.op2))); + } + return expr.engine.div(expandedNumerator, expr.op2); +} +function expand2(expr) { + if (!expr) + return null; + let result = expandNumerator(expr); + if (result !== null) + return result; + if (expr.head === "Multiply") { + result = distribute(expr.ops); + if (result !== null) + return result; + } + if (expr.head === "Add") { + const ops2 = expr.ops.map((x) => { + var _a; + return (_a = expand2(x)) != null ? _a : x; + }); + return simplifyAdd(expr.engine, ops2); + } + if (expr.head === "Negate") { + result = expand2(expr.op1); + if (result !== null) + return expr.engine.neg(result); + } + if (expr.head === "Power") { + result = expandMultinomial(expr); + if (result !== null) + return result; + } + return null; +} +var UNIVARIATE_ROOTS = [ + // ax = 0 + [["Multiply", "_x", "_a"], 0], + // x + a = 0 + [ + ["Add", "_a", "_x"], + ["Negate", "_a"] + ], + [["Add", ["Negate", "_x"], "_a"], "_a"], + // ax + b = 0 + [ + ["Add", ["Multiply", "_x", "_a"], "_b"], + ["Divide", ["Negate", "_b"], "_a"] + ], + // Quadratic formula (real) + // ax^2 + bx + c = 0 + [ + [ + "Add", + ["Multiply", ["Power", "_x", 2], "_a"], + ["Multiply", "_x", "_b"], + "_c" + ], + [ + "Divide", + [ + "Add", + ["Negate", "_b"], + ["Sqrt", ["Subtract", ["Square", "_b"], ["Multiply", 4, "_a", "_c"]]] + ], + ["Multiply", 2, "_a"] + ] + // (_ce, vars): boolean => vars.x.isReal === true, + ], + [ + [ + "Add", + ["Multiply", ["Power", "_x", 2], "_a"], + ["Multiply", "_x", "_b"], + "_c" + ], + [ + "Divide", + [ + "Subtract", + ["Negate", "_b"], + ["Sqrt", ["Subtract", ["Square", "_b"], ["Multiply", 4, "_a", "_c"]]] + ], + ["Multiply", 2, "_a"] + ] + // (_ce, vars): boolean => vars.x.isReal === true, + ], + // ax^2 + bx = 0 + [ + ["Add", ["Multiply", ["Power", "_x", 2], "_a"], ["Multiply", "_x", "_b"]], + 0 + // (_ce, vars): boolean => vars.x.isReal === true, + ], + [ + ["Add", ["Multiply", ["Power", "_x", 2], "_a"], ["Multiply", "_x", "_b"]], + ["Divide", ["Negate", "_b"], "_a"] + // (_ce, vars): boolean => vars.x.isReal === true, + ], + // ax^2 + b = 0 + [ + ["Add", ["Multiply", ["Power", "_x", 2], "_a"], "_b"], + ["Sqrt", ["Divide", ["Negate", "_b"], "_a"]] + // (_ce, vars): boolean => vars.x.isReal === true, + ], + [ + ["Add", ["Multiply", ["Power", "_x", 2], "_a"], "_b"], + ["Negate", ["Sqrt", ["Divide", ["Negate", "_b"], "_a"]]] + // (_ce, vars): boolean => vars.x.isReal === true, + ] + // Quadratic formula (complex) + // [ + // '$ax^2 + bx + c$', + // [ + // '$-\\frac{b}{2a} - \\imaginaryI \\frac{\\sqrt{4ac - b^2}}{2a}$', + // '$-\\frac{b}{2a} + \\imaginaryI \\frac{\\sqrt{4ac - b^2}}{2a}$', + // ], + // (_ce, vars): boolean => vars.x.isImaginary === true, + // ], +]; +function findUnivariateRoots(expr, x) { + const ce = expr.engine; + if (expr.head === "Equal") { + expr = ce.add([expr.op1.canonical, ce.neg(expr.op2.canonical)]).simplify(); + } + const rules = ce.cache( + "univariate-roots-rules", + () => boxRules(ce, UNIVARIATE_ROOTS) + ); + let result = matchRules( + expr.subs({ [x]: "_x" }, { canonical: false }), + rules, + { _x: ce.symbol("_x") } + ); + if (result.length === 0) { + const expandedExpr = expand2(expr.canonical); + if (expandedExpr === null) + return []; + result = matchRules( + expandedExpr.subs({ [x]: "_x" }, { canonical: false }), + rules, + { + _x: ce.symbol("_x") + } + ); + } + return result.map((x2) => x2.canonical.evaluate()); +} +function assume(proposition) { + if (proposition.head === "Element") + return assumeElement(proposition); + if (proposition.head === "Equal") + return assumeEquality(proposition); + if (isInequality(proposition)) + return assumeInequality(proposition); + return "not-a-predicate"; +} +function assumeEquality(proposition) { + /* @__PURE__ */ console.assert(proposition.head === "Equal"); + const freeVars = proposition.freeVars; + if (freeVars.length === 0) { + const val = proposition.evaluate(); + if (val.symbol === "True") + return "tautology"; + if (val.symbol === "False") + return "contradiction"; + /* @__PURE__ */ console.log(proposition.canonical.evaluate()); + return "not-a-predicate"; + } + const ce = proposition.engine; + const lhs = proposition.op1.symbol; + if (lhs && !hasValue(ce, lhs) && !proposition.op2.has(lhs)) { + const val = proposition.op2.evaluate(); + if (!val.isValid) + return "not-a-predicate"; + const def = ce.lookupSymbol(lhs); + if (!def) { + ce.defineSymbol(lhs, { value: val }); + return "ok"; + } + if (def.domain && !val.domain.isCompatible(def.domain)) + return "contradiction"; + def.value = val; + return "ok"; + } + if (freeVars.length === 1) { + const lhs2 = freeVars[0]; + const sols = findUnivariateRoots(proposition, lhs2); + if (sols.length === 0) { + ce.assumptions.set( + ce.fn("Equal", [ + ce.add([proposition.op1.canonical, ce.neg(proposition.op2.canonical)]).simplify(), + 0 + ]), + true + ); + } + const val = sols.length === 1 ? sols[0] : ce.fn("List", sols); + const def = ce.lookupSymbol(lhs2); + if (!def) { + ce.defineSymbol(lhs2, { value: val }); + return "ok"; + } + if (def.domain && !sols.every((sol) => val.domain.isCompatible(sol.domain))) + return "contradiction"; + def.value = val; + return "ok"; + } + ce.assumptions.set(proposition, true); + return "ok"; +} +function assumeInequality(proposition) { + const ce = proposition.engine; + if (proposition.op1.symbol && !hasDef(ce, proposition.op1.symbol)) { + if (proposition.op2.evaluate().isZero) { + if (proposition.head === "Less") { + ce.defineSymbol(proposition.op1.symbol, { + domain: ce.domain("NegativeNumber") + }); + } else if (proposition.head === "LessEqual") { + ce.defineSymbol(proposition.op1.symbol, { + domain: ce.domain("NonPositiveNumber") + }); + } else if (proposition.head === "Greater") { + ce.defineSymbol(proposition.op1.symbol, { + domain: ce.domain("PositiveNumber") + }); + } else if (proposition.head === "GreaterEqual") { + ce.defineSymbol(proposition.op1.symbol, { + domain: ce.domain("NonNegativeNumber") + }); + } + } else { + ce.defineSymbol(proposition.op1.symbol, { + domain: ce.domain("ExtendedRealNumber") + }); + ce.assumptions.set(proposition, true); + } + return "ok"; + } + let op3 = ""; + let lhs; + let rhs; + if (proposition.head === "Less") { + lhs = proposition.op1; + rhs = proposition.op2; + op3 = "<"; + } else if (proposition.head === "LessEqual") { + lhs = proposition.op1; + rhs = proposition.op2; + op3 = "<="; + } else if (proposition.head === "Greater") { + lhs = proposition.op2; + rhs = proposition.op1; + op3 = "<"; + } else if (proposition.head === "GreaterEqual") { + lhs = proposition.op2; + rhs = proposition.op1; + op3 = "<="; + } + if (!op3) + return "internal-error"; + const p = ce.add([lhs.canonical, ce.neg(rhs.canonical)]).simplify(); + const result = ce.box([op3 === "<" ? "Less" : "LessEqual", p, 0]).evaluate(); + if (result.symbol === "True") + return "tautology"; + if (result.symbol === "False") + return "contradiction"; + const freeVars = result.freeVars; + if (freeVars.length === 0) + return "not-a-predicate"; + if (freeVars.length === 1) { + if (!ce.lookupSymbol(freeVars[0])) + ce.defineSymbol(freeVars[0], { domain: "ExtendedRealNumber" }); + } + /* @__PURE__ */ console.assert(result.head === "Less" || result.head === "LessEqual"); + ce.assumptions.set(result, true); + return "ok"; +} +function assumeElement(proposition) { + var _a; + /* @__PURE__ */ console.assert(proposition.head === "Element"); + const ce = proposition.engine; + const undefs = undefinedIdentifiers(proposition.op1); + if (undefs.length === 1) { + const dom = ce.domain(proposition.op2.evaluate().json); + if (!dom.isValid) + return "not-a-predicate"; + if (dom.isCompatible("Function")) + ce.defineFunction(undefs[0], { signature: { domain: "Function" } }); + else + ce.defineSymbol(undefs[0], { domain: dom }); + return "ok"; + } + if (proposition.op1.symbol && hasDef(ce, proposition.op1.symbol)) { + const dom = ce.domain(proposition.op2.evaluate().json); + if (!dom.isValid) + return "not-a-predicate"; + const def = ce.lookupSymbol(proposition.op1.symbol); + if (def) { + if (def.domain && !dom.isCompatible(def.domain)) + return "contradiction"; + def.domain = dom; + return "ok"; + } + const fdef = ce.lookupFunction(proposition.op1.symbol); + if ((_a = fdef == null ? void 0 : fdef.signature) == null ? void 0 : _a.domain) { + if (!dom.isCompatible(fdef.signature.domain)) + return "contradiction"; + if (dom.isCompatible(fdef.signature.domain, "bivariant")) + return "tautology"; + return "not-a-predicate"; + } + return "ok"; + } + if (undefs.length > 0) { + ce.assumptions.set(proposition, true); + return "ok"; + } + const val = proposition.evaluate(); + if (val.symbol === "True") + return "tautology"; + if (val.symbol === "False") + return "contradiction"; + return "not-a-predicate"; +} +function hasDef(ce, s) { + var _a; + return ((_a = ce.lookupSymbol(s)) != null ? _a : ce.lookupFunction(s)) !== void 0; +} +function undefinedIdentifiers(expr) { + return expr.symbols.filter((x) => !hasDef(expr.engine, x)); +} +function hasValue(ce, s) { + var _a; + if (ce.lookupFunction(s)) + return false; + return ((_a = ce.lookupSymbol(s)) == null ? void 0 : _a.value) !== void 0; +} +function isInequality(expr) { + const h = expr.head; + if (typeof h !== "string") + return false; + return ["Less", "Greater", "LessEqual", "GreaterEqual"].includes(h); +} +var import_complex13 = __toESM(require_complex()); +var BoxedDictionary = class _BoxedDictionary extends AbstractBoxedExpression { + constructor(ce, dict, options) { + var _a; + options != null ? options : options = {}; + super(ce, options.metadata); + this._value = /* @__PURE__ */ new Map(); + const canonical2 = (_a = options.canonical) != null ? _a : true; + for (const key of Object.keys(dict)) + this._value.set(key, ce.box(dict[key], { canonical: canonical2 })); + ce._register(this); + } + unbind() { + for (const [_k, v] of this._value) + v.unbind(); + return void 0; + } + get hash() { + let h = hashCode("Dictionary"); + for (const [k, v] of this._value) + h ^= hashCode(k) ^ v.hash; + return h; + } + get complexity() { + return 97; + } + get head() { + return "Dictionary"; + } + get isPure() { + return false; + } + getKey(key) { + return this._value.get(key); + } + hasKey(key) { + return this._value.has(key); + } + get keys() { + return this._value.keys(); + } + get keysCount() { + return this._value.size; + } + has(x) { + for (const [_k, v] of this._value) + if (v.has(x)) + return true; + return false; + } + get domain() { + const result = ["Dictionary"]; + for (const [k, v] of this._value) + result.push(["Tuple", k, v.domain]); + return this.engine.domain(result); + } + get json() { + if (this.engine.jsonSerializationOptions.shorthands.includes("dictionary")) { + const dict = {}; + for (const key of this._value.keys()) + dict[key] = this._value.get(key).json; + return { dict }; + } + const kvs = []; + for (const key of this._value.keys()) + kvs.push( + this.engine._fn("KeyValuePair", [ + this.engine.string(key), + this._value.get(key) + ]) + ); + return serializeJsonFunction(this.engine, "Dictionary", kvs, { + latex: this._latex + }); + } + /** Structural equality */ + isSame(rhs) { + if (this === rhs) + return true; + if (!(rhs instanceof _BoxedDictionary)) + return false; + if (this._value.size !== rhs._value.size) + return false; + for (const [k, v] of this._value) { + const rhsV = rhs.getKey(k); + if (!rhsV || !v.isSame(rhsV)) + return false; + } + return true; + } + match(rhs, _options) { + if (!(rhs instanceof _BoxedDictionary)) + return null; + if (this._value.size !== rhs._value.size) + return null; + let result = {}; + for (const [k, v] of this._value) { + const rhsV = rhs.getKey(k); + if (!rhsV) + return null; + const m = v.match(rhsV); + if (m === null) + return null; + result = { ...result, ...m }; + } + return result; + } + /** Mathematical equality */ + isEqual(rhs) { + if (this === rhs) + return true; + if (!(rhs instanceof _BoxedDictionary)) + return false; + if (!rhs.keys || this._value.size !== rhs._value.size) + return false; + for (const [k, v] of this._value) { + const rhsV = rhs.getKey(k); + if (!rhsV || !v.isEqual(rhsV)) + return false; + } + return true; + } + apply(fn, head2) { + const result = {}; + for (const key of this.keys) + result[key] = this.engine.box(fn(this.getKey(key))); + if (head2) + return this.engine.fn(head2, [{ dict: result }]); + return new _BoxedDictionary(this.engine, result); + } + evaluate(options) { + return this.apply((x) => { + var _a; + return (_a = x.evaluate(options)) != null ? _a : x; + }); + } + get isCanonical() { + return this._isCanonical; + } + set isCanonical(val) { + this._isCanonical = val; + } + get canonical() { + if (this.isCanonical) + return this; + const result = this.apply((x) => x.canonical); + result.isCanonical = true; + return result; + } + simplify(options) { + var _a; + if (!((_a = options == null ? void 0 : options.recursive) != null ? _a : true)) + return this; + return this.apply((x) => { + var _a2; + return (_a2 = x.simplify(options)) != null ? _a2 : x; + }); + } + N(options) { + return this.apply((x) => x.N(options)); + } + replace(rules, options) { + let changeCount = 0; + const result = {}; + for (const key of this.keys) { + const val = this.getKey(key); + const newVal = val.replace(rules, options); + if (newVal !== null) + changeCount += 1; + result[key] = newVal != null ? newVal : val; + } + return changeCount === 0 ? null : new _BoxedDictionary(this.engine, result); + } + subs(sub2, options) { + const result = {}; + for (const key of this.keys) + result[key] = this.getKey(key).subs(sub2, options); + return new _BoxedDictionary(this.engine, result, options); + } +}; +var import_complex10 = __toESM(require_complex()); +var SIMPLIFY_RULES = []; +function cheapest(oldExpr, newExpr) { + if (newExpr === null || newExpr === void 0) + return oldExpr; + if (oldExpr === newExpr) + return oldExpr; + const ce = oldExpr.engine; + const boxedNewExpr = ce.box(newExpr); + if (ce.costFunction(boxedNewExpr) <= 1.2 * ce.costFunction(oldExpr)) { + return boxedNewExpr; + } + return oldExpr; +} +var BoxedFunction = class _BoxedFunction extends AbstractBoxedExpression { + constructor(ce, head2, ops2, options) { + var _a, _b, _c, _d, _e; + options != null ? options : options = {}; + (_a = options.canonical) != null ? _a : options.canonical = false; + super(ce, options.metadata); + this._scope = ce.context; + this._head = head2; + this._ops = ops2; + this._def = (_b = options.def) != null ? _b : null; + if (options.canonical) { + if (!this._def) + this._def = ce.lookupFunction(head2, ce.context); + this._canonical = this; + } + this._codomain = null; + if (!options.canonical) { + this._codomain = ce.domain("Anything"); + } else { + if (typeof this._head !== "string") + this._codomain = this._head.domain.codomain; + else if (this._def) { + const sig = this._def.signature; + if (typeof sig.codomain === "function") { + this._codomain = (_c = sig.codomain(ce, this._ops)) != null ? _c : null; + } else { + this._codomain = (_d = sig.codomain) != null ? _d : null; + } + } + if (!this._codomain) + this._codomain = (_e = ce.defaultDomain) != null ? _e : ce.domain("Void"); + } + ce._register(this); + } + // + // NON-CANONICAL OR CANONICAL OPERATIONS + // + // Those operations/properties can be applied to a canonical or + // non-canonical expression + // + get hash() { + if (this._hash !== void 0) + return this._hash; + let h = 0; + for (const op3 of this._ops) + h = h << 1 ^ op3.hash | 0; + if (typeof this._head === "string") + h = h ^ hashCode(this._head) | 0; + else + h = h ^ this._head.hash | 0; + this._hash = h; + return h; + } + get isCanonical() { + return this._canonical === this; + } + set isCanonical(val) { + this._canonical = val ? this : void 0; + } + get isPure() { + var _a; + if (this._isPure !== void 0) + return this._isPure; + if (!this.isCanonical) { + this._isPure = false; + return false; + } + let result = void 0; + if (((_a = this.functionDefinition) == null ? void 0 : _a.pure) !== void 0) + result = this.functionDefinition.pure; + if (result !== false) + result = this._ops.every((x) => x.isPure); + this._isPure = result; + return result; + } + get json() { + if (this.isValid && this._canonical === this) + return serializeJsonCanonicalFunction( + this.engine, + this._head, + this._ops, + { latex: this._latex, wikidata: this._wikidata } + ); + return serializeJsonFunction(this.engine, this._head, this._ops, { + latex: this._latex, + wikidata: this._wikidata + }); + } + get rawJson() { + const head2 = typeof this._head === "string" ? this._head : this._head.json; + return [head2, ...this.ops.map((x) => x.rawJson)]; + } + get scope() { + return this._scope; + } + get head() { + return this._head; + } + get ops() { + return this._ops; + } + get nops() { + return this._ops.length; + } + get op1() { + var _a; + return (_a = this._ops[0]) != null ? _a : this.engine.symbol("Nothing"); + } + get op2() { + var _a; + return (_a = this._ops[1]) != null ? _a : this.engine.symbol("Nothing"); + } + get op3() { + var _a; + return (_a = this._ops[2]) != null ? _a : this.engine.symbol("Nothing"); + } + get isValid() { + if (this._head === "Error") + return false; + if (typeof this._head !== "string" && !this._head.isValid) + return false; + return this._ops.every((x) => x.isValid); + } + get canonical() { + if (this._canonical) + return this._canonical; + this._canonical = this.isValid ? makeCanonicalFunction(this.engine, this._head, this._ops) : this; + return this._canonical; + } + *map(fn) { + let i = 0; + while (i < this._ops.length) + yield fn(this._ops[i++]); + } + subs(sub2, options) { + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + const ops2 = this._ops.map((x) => x.subs(sub2, options)); + if (options.canonical && ops2.every((x) => x.isValid)) + return makeCanonicalFunction(this.engine, this._head, ops2); + return new _BoxedFunction(this.engine, this._head, ops2, { + canonical: false + }); + } + replace(rules, options) { + return replace(this, rules, options); + } + has(x) { + if (typeof this._head === "string") { + if (typeof x === "string") { + if (this._head === x) + return true; + } else if (x.includes(this._head)) + return true; + } + for (const arg of this._ops) + if (arg.has(x)) + return true; + return false; + } + /** `isSame` is structural/symbolic equality */ + isSame(rhs) { + if (this === rhs) + return true; + if (!(rhs instanceof _BoxedFunction)) + return false; + if (this.nops !== rhs.nops) + return false; + if (typeof this.head === "string") { + if (this.head !== rhs.head) + return false; + } else { + if (typeof rhs.head === "string") + return false; + else if (!rhs.head || !this.head.isSame(rhs.head)) + return false; + } + const lhsTail = this._ops; + const rhsTail = rhs._ops; + for (let i = 0; i < lhsTail.length; i++) + if (!lhsTail[i].isSame(rhsTail[i])) + return false; + return true; + } + match(rhs, options) { + if (!(rhs instanceof _BoxedFunction)) + return null; + let result = {}; + if (typeof this.head === "string") { + if (this.head !== rhs.head) + return null; + } else { + if (typeof rhs.head === "string") + return null; + else { + if (!rhs.head) + return null; + const m = this.head.match(rhs.head, options); + if (m === null) + return null; + result = { ...result, ...m }; + } + } + const lhsTail = this._ops; + const rhsTail = rhs._ops; + for (let i = 0; i < lhsTail.length; i++) { + const m = lhsTail[i].match(rhsTail[i], options); + if (m === null) + return null; + result = { ...result, ...m }; + } + return result; + } + // + // CANONICAL OPERATIONS + // + // These operations apply only to canonical expressions + // + unbind() { + this._value = void 0; + this._numericValue = void 0; + } + get wikidata() { + var _a, _b, _c; + if (!this.isCanonical) + return void 0; + return (_c = (_b = this._wikidata) != null ? _b : (_a = this.functionDefinition) == null ? void 0 : _a.wikidata) != null ? _c : void 0; + } + get description() { + if (!this.isCanonical) + return void 0; + const def = this.functionDefinition; + if (!def) + return []; + if (!def.description) + return void 0; + if (typeof def.description === "string") + return [def.description]; + return def.description; + } + get url() { + var _a, _b; + if (!this.isCanonical) + return ""; + return (_b = (_a = this.functionDefinition) == null ? void 0 : _a.url) != null ? _b : void 0; + } + get complexity() { + var _a, _b; + if (!this.isCanonical) + return void 0; + return (_b = (_a = this.functionDefinition) == null ? void 0 : _a.complexity) != null ? _b : DEFAULT_COMPLEXITY; + } + get functionDefinition() { + if (!this.isCanonical) + return void 0; + if (this._def !== null) + return this._def; + return void 0; + } + bind(_scope) { + } + get value() { + if (!this.isCanonical || !this.isPure) + return void 0; + if (!this._value) + this._value = this.evaluate(); + return this._value; + } + /** `isEqual` is mathematical equality */ + isEqual(rhs) { + const s = signDiff(this, rhs); + if (s === 0) + return true; + if (s !== void 0) + return false; + const diff = this.engine.box(["Subtract", this, rhs]).simplify(); + if (diff.isZero) + return true; + return this.isSame(rhs); + } + isLess(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s < 0; + } + isLessEqual(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s <= 0; + } + isGreater(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s > 0; + } + isGreaterEqual(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s >= 0; + } + get isZero() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s === 0; + return void 0; + } + get isNotZero() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s !== 0; + return void 0; + } + get isOne() { + return this.isEqual(this.engine._ONE); + } + get isNegativeOne() { + return this.isEqual(this.engine._NEGATIVE_ONE); + } + // x > 0 + get isPositive() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s > 0; + return void 0; + } + // x <= 0 + get isNonPositive() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s <= 0; + return void 0; + } + // x < 0 + get isNegative() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s < 0; + return void 0; + } + // x >= 0 + get isNonNegative() { + const s = this.sgn; + if (s === null) + return false; + if (typeof s === "number") + return s >= 0; + return void 0; + } + get isNumber() { + return this.domain.isCompatible("Number"); + } + get isInteger() { + return this.domain.isCompatible("Integer"); + } + get isRational() { + return this.domain.isCompatible("RationalNumber"); + } + get isAlgebraic() { + return this.domain.isCompatible("AlgebraicNumber"); + } + get isReal() { + return this.domain.isCompatible("RealNumber"); + } + get isExtendedReal() { + return this.domain.isCompatible("ExtendedRealNumber"); + } + get isComplex() { + return this.domain.isCompatible("ComplexNumber"); + } + get isImaginary() { + return this.domain.isCompatible("ImaginaryNumber"); + } + get sgn() { + var _a, _b, _c, _d, _e, _f, _g, _h; + if (!this.isCanonical) + return void 0; + const head2 = this.head; + if (head2 === "Negate") { + const s = (_a = this._ops[0]) == null ? void 0 : _a.sgn; + if (s === void 0) + return void 0; + if (s === null) + return null; + return s === 0 ? 0 : s > 0 ? -1 : 1; + } + if (head2 === "Multiply") { + const total = this._ops.reduce((acc, x) => { + var _a2; + return acc * ((_a2 = x.sgn) != null ? _a2 : NaN); + }, 1); + if (isNaN(total)) + return null; + if (total > 0) + return 1; + if (total < 0) + return -1; + return 0; + } + if (head2 === "Add") { + let posCount = 0; + let negCount = 0; + let zeroCount = 0; + const count = this._ops.length; + for (const op3 of this._ops) { + const s = op3.sgn; + if (s === null || s === void 0) + break; + if (s === 0) + zeroCount += 1; + if (s > 0) + posCount += 1; + if (s < 0) + negCount += 1; + } + if (zeroCount === count) + return 0; + if (posCount === count) + return 1; + if (negCount === count) + return -1; + return null; + } + if (head2 === "Divide") { + const n = (_b = this._ops[0]) == null ? void 0 : _b.sgn; + const d = (_c = this._ops[1]) == null ? void 0 : _c.sgn; + if (n === null || d === null || n === void 0 || d === void 0) + return null; + if (n === 0) + return 0; + if (n > 0 && d > 0 || n < 0 && d < 0) + return 1; + return -1; + } + if (head2 === "Square") { + if ((_d = this._ops[0]) == null ? void 0 : _d.isImaginary) + return -1; + if ((_e = this._ops[0]) == null ? void 0 : _e.isZero) + return 0; + return 1; + } + if (head2 === "Abs") { + if ((_f = this._ops[0]) == null ? void 0 : _f.isZero) + return 0; + return 1; + } + if (head2 === "Sqrt") { + if ((_g = this._ops[0]) == null ? void 0 : _g.isZero) + return 0; + if ((_h = this._ops[0]) == null ? void 0 : _h.isImaginary) + return null; + return 1; + } + if (head2 === "Power") { + } + if (head2 === "Root") { + } + if (head2 === "Ln") { + } + if (head2 === "Floor") { + } + if (head2 === "Ceil") { + } + if (head2 === "Round") { + } + const v = asFloat(this.N()); + if (v === null) + return void 0; + if (v === 0) + return 0; + if (v < 0) + return -1; + return 1; + } + // + // AUTO-CANONICAL OPERATIONS + // + // The operations are automatically done on the canonical form of the + // expression + // + get domain() { + return this._codomain; + } + // simplify(options?: SimplifyOptions): BoxedExpression { + // const result = this.simplifyAll(options); + // if (result.length === 1) return result[0]; + // const ce = this.engine; + // result.sort((a, b) => { + // if (a === b) return 0; + // return ce.costFunction(a) - ce.costFunction(b); + // }); + // return result[0]; + // } + simplify(options) { + var _a, _b, _c, _d, _e; + if (!this.isValid) + return this; + if (!this.isCanonical) { + const canonical2 = this.canonical; + if (!canonical2.isCanonical || !canonical2.isValid) + return this; + return canonical2.simplify(options); + } + const recursive = (_a = options == null ? void 0 : options.recursive) != null ? _a : true; + let expr; + if (recursive) { + expr = expand2(this); + if (expr !== null) { + expr = expr.simplify({ ...options, recursive: false }); + return cheapest(this, expr); + } + } + const def = this.functionDefinition; + const tail = recursive ? holdMap( + this._ops, + (_b = def == null ? void 0 : def.hold) != null ? _b : "none", + (def == null ? void 0 : def.associative) ? def.name : "", + (x) => x.simplify(options) + ) : this._ops; + if (typeof this._head !== "string") { + const expr2 = apply(this._head, tail); + if (typeof expr2.head !== "string") + return expr2; + return expr2.simplify(options); + } + if (def) { + if (def.inert) + expr = (_d = (_c = tail[0]) == null ? void 0 : _c.canonical) != null ? _d : this; + else { + const sig = def.signature; + if (sig == null ? void 0 : sig.simplify) + expr = sig.simplify(this.engine, tail); + } + } + if (!expr) + expr = this.engine.fn(this._head, tail); + else + expr = cheapest(this.engine.fn(this._head, tail), expr); + expr = cheapest(this, expr); + const rules = (_e = options == null ? void 0 : options.rules) != null ? _e : this.engine.cache( + "standard-simplification-rules", + () => boxRules(this.engine, SIMPLIFY_RULES), + (rules2) => { + for (const [lhs, rhs, _priority, _condition] of rules2) { + lhs.unbind(); + rhs.unbind(); + } + return rules2; + } + ); + let iterationCount = 0; + let done = false; + do { + const newExpr = expr.replace(rules); + if (newExpr !== null) { + expr = cheapest(expr, newExpr); + if (expr === newExpr) + done = true; + } else + done = true; + iterationCount += 1; + } while (!done && iterationCount < this.engine.iterationLimit); + return cheapest(this, expr); + } + evaluate(options) { + var _a, _b, _c; + if (!this.isValid) + return this; + if (!this.isCanonical) { + const canonical2 = this.canonical; + if (!canonical2.isCanonical || !canonical2.isValid) + return this; + return canonical2.evaluate(options); + } + const def = this.functionDefinition; + const tail = holdMap( + this._ops, + (_a = def == null ? void 0 : def.hold) != null ? _a : "none", + (def == null ? void 0 : def.associative) ? def.name : "", + (x) => x.evaluate(options) + ); + if (typeof this._head !== "string") { + const expr = apply(this._head, tail); + if (typeof expr.head !== "string") + return expr; + return expr.evaluate(options); + } + if (!def) + return this.engine.fn(this._head, tail); + if (def.inert) + return (_b = tail[0]) != null ? _b : this; + const sig = def.signature; + if (!sig || !sig.evaluate) + return this.engine.fn(this._head, tail); + if (typeof sig.evaluate !== "function") + return apply(sig.evaluate, tail); + return (_c = sig.evaluate(this.engine, tail)) != null ? _c : this.engine.fn(this._head, tail); + } + N(options) { + var _a, _b, _c, _d; + if (this._numericValue) + return this._numericValue; + if (this.engine.strict && !this.isValid) + return this; + if (!this.isCanonical) { + const canonical2 = this.canonical; + if (!canonical2.isCanonical || !canonical2.isValid) + return this; + return canonical2.N(options); + } + const def = this.functionDefinition; + const tail = holdMap( + this._ops, + (_a = def == null ? void 0 : def.hold) != null ? _a : "none", + (def == null ? void 0 : def.associative) ? def.name : "", + (x) => x.N(options) + ); + if (typeof this._head !== "string") { + const expr = apply(this._head, tail); + if (typeof expr.head !== "string") + return expr; + return expr.N(options); + } + if (!def) + return this.engine.fn(this._head, tail); + if (def.inert) + return (_b = tail[0]) != null ? _b : this; + const sig = def.signature; + let result = (_d = (_c = sig == null ? void 0 : sig.N) == null ? void 0 : _c.call(sig, this.engine, tail)) != null ? _d : this.engine.fn(this._head, tail).evaluate(); + const num = result.numericValue; + if (num !== null) { + if (!complexAllowed(this.engine) && num instanceof import_complex10.default) + result = this.engine._NAN; + else if (!bignumPreferred(this.engine) && num instanceof decimal_default) + result = this.engine.number(num.toNumber()); + } + if (this.isPure) + this._numericValue = result; + return result; + } + solve(vars) { + if (vars.length !== 1) + return null; + const roots = findUnivariateRoots(this.simplify(), vars[0]); + return roots; + } +}; +function makeNumericFunction(ce, head2, semiOps, metadata) { + var _a; + let ops2 = []; + if (head2 === "Add" || head2 === "Multiply") + ops2 = validateNumericArgs( + ce, + flattenOps(flattenSequence(ce.canonical(semiOps)), head2) + ); + else if (head2 === "Negate" || head2 === "Square" || head2 === "Sqrt") + ops2 = validateNumericArgs(ce, flattenSequence(ce.canonical(semiOps)), 1); + else if (head2 === "Divide" || head2 === "Power") + ops2 = validateNumericArgs(ce, flattenSequence(ce.canonical(semiOps)), 2); + else + return null; + if (!ops2.every((x) => x.isValid)) + return new BoxedFunction(ce, head2, ops2, { metadata, canonical: false }); + if (head2 === "Add") + return ce.add(ops2, metadata); + if (head2 === "Negate") + return ce.neg((_a = ops2[0]) != null ? _a : ce.error("missing"), metadata); + if (head2 === "Multiply") + return ce.mul(ops2, metadata); + if (head2 === "Divide") + return ce.div(ops2[0], ops2[1], metadata); + if (head2 === "Power") + return ce.pow(ops2[0], ops2[1], metadata); + if (head2 === "Square") + return ce.pow(ops2[0], ce.number(2), metadata); + if (head2 === "Sqrt") { + const op3 = ops2[0].canonical; + if (isRational(op3.numericValue)) + return new BoxedFunction(ce, "Sqrt", [op3], { metadata, canonical: true }); + return ce.pow(op3, ce._HALF, metadata); + } + return null; +} +function makeCanonicalFunction(ce, head2, ops2, metadata) { + var _a, _b; + if (typeof head2 !== "string") + head2 = (_a = head2.evaluate().symbol) != null ? _a : head2; + if (typeof head2 === "string") { + const result = makeNumericFunction(ce, head2, ops2, metadata); + if (result) + return result; + } else { + if (!head2.isValid) + return new BoxedFunction( + ce, + head2, + ops2.map((x) => ce.box(x, { canonical: false })), + { metadata, canonical: false } + ); + } + const def = ce.lookupFunction(head2, ce.context); + if (typeof head2 !== "string" || !def) { + return new BoxedFunction( + ce, + head2, + flattenSequence(ops2.map((x) => ce.box(x))), + { metadata, canonical: true } + ); + } + let xs = []; + for (let i = 0; i < ops2.length; i++) { + if (applicable(def.hold, ops2.length - 1, i)) { + xs.push(ce.box(ops2[i])); + } else { + const y = ce.box(ops2[i], { canonical: false }); + if (y.head === "ReleaseHold") + xs.push(y.op1.canonical); + else + xs.push(y); + } + } + if (!xs.every((x) => x.isValid)) + return new BoxedFunction(ce, head2, xs, { metadata, canonical: false }); + const sig = def.signature; + if (sig.canonical) { + try { + const result = sig.canonical(ce, xs); + if (result) + return result; + } catch (e) { + console.error(e); + } + return new BoxedFunction(ce, head2, xs, { metadata, canonical: false }); + } + xs = flattenSequence(xs); + if (def.associative) + xs = flattenOps(xs, head2); + if (!xs.every((x) => x.isValid)) + return new BoxedFunction(ce, head2, xs, { metadata, canonical: false }); + xs = (_b = validateSignature(sig.domain, xs)) != null ? _b : xs; + if (!xs.every((x) => x.isValid)) + return new BoxedFunction(ce, head2, xs, { metadata, canonical: false }); + if (xs.length === 1 && xs[0].head === head2) { + if (def.involution) + return xs[0].op1; + if (def.idempotent) + xs = xs[0].ops; + } + if (xs.length > 1 && def.commutative === true) + xs = xs.sort(order); + return new BoxedFunction(ce, head2, xs, { metadata, def, canonical: true }); +} +function apply(fn, args) { + var _a; + const ce = fn.engine; + if (fn.head !== "Lambda") + return ce._fn(fn.evaluate(), args); + const subs2 = { + "__": ce.tuple(args), + "_#": ce.number(args.length) + }; + let n = 1; + for (const op3 of args) + subs2[`_${n++}`] = op3; + subs2["_"] = subs2["_1"]; + const savedContext = ce.context; + ce.context = (_a = fn.scope) != null ? _a : null; + const result = fn.subs(subs2); + ce.context = savedContext; + return result.op1.evaluate(); +} +function holdMap(xs, skip, associativeHead, f) { + if (xs.length === 0) + return []; + xs = flattenOps(xs, associativeHead); + if (skip === "all") + return xs; + if (skip === "none") { + const result2 = []; + for (const x of xs) { + const h = x.head; + if (h === "Hold") + result2.push(x); + else { + const op3 = h === "ReleaseHold" ? x.op1 : x; + if (op3) { + const y = f(op3); + if (y !== null) + result2.push(y); + } + } + } + return flattenOps(result2, associativeHead); + } + const result = []; + for (let i = 0; i < xs.length; i++) { + if (xs[i].head === "Hold") { + result.push(xs[i]); + } else { + let y = void 0; + if (xs[i].head === "ReleaseHold") + y = xs[i].op1; + else if (applicable(skip, xs.length - 1, i)) + y = xs[i]; + else + result.push(xs[i]); + if (y) { + const x = f(y); + if (x !== null) + result.push(x); + } + } + } + return flattenOps(result, associativeHead); +} +function applicable(skip, count, index) { + if (skip === "all") + return false; + if (skip === "none") + return true; + if (skip === "first") + return index !== 0; + if (skip === "rest") + return index === 0; + if (skip === "last") + return index !== count; + if (skip === "most") + return index === count; + return false; +} +var import_complex12 = __toESM(require_complex()); +var import_complex11 = __toESM(require_complex()); +function inferNumericDomain(value) { + if (typeof value === "number" && !isNaN(value)) { + if (!isFinite(value)) + return "ExtendedRealNumber"; + if (Number.isInteger(value)) { + if (value > 0) + return "PositiveInteger"; + if (value < 0) + return "NegativeInteger"; + return "Integer"; + } + if (value > 0) + return "PositiveNumber"; + if (value < 0) + return "NegativeNumber"; + return "RealNumber"; + } + if (value instanceof Decimal) { + if (value.isNaN()) + return "Number"; + if (!value.isFinite()) + return "ExtendedRealNumber"; + if (value.isInteger()) { + if (value.isPositive()) + return "PositiveInteger"; + if (value.isNegative()) + return "NegativeInteger"; + return "Integer"; + } + if (value.isPositive()) + return "PositiveNumber"; + if (value.isNegative()) + return "NegativeNumber"; + return "RealNumber"; + } + if (value instanceof import_complex11.Complex) { + const c = value; + /* @__PURE__ */ console.assert(c.im !== 0); + if (c.re === 0) + return "ImaginaryNumber"; + return "ComplexNumber"; + } + if (isRational(value)) { + const [numer, denom] = value; + /* @__PURE__ */ console.assert( + typeof numer !== "number" || !Number.isNaN(numer) && !Number.isNaN(denom) + ); + return "RationalNumber"; + } + return "Number"; +} +var LARGE_PRIME = 1125899906842597; +function isPrime(n) { + if (!Number.isInteger(n) || !Number.isFinite(n) || Number.isNaN(n) || n <= 1) { + return false; + } + if (n <= LARGEST_SMALL_PRIME) + return SMALL_PRIMES.has(n); + for (const smallPrime of SMALL_PRIMES) { + if (n % smallPrime === 0) + return false; + } + if (n >= LARGE_PRIME) { + return probablyPrime(n, 30) ? void 0 : false; + } + return n === leastFactor(n); +} +function leastFactor(n) { + if (n === 1) + return 1; + if (n % 2 === 0) + return 2; + if (n % 3 === 0) + return 3; + if (n % 5 === 0) + return 5; + const m = Math.floor(Math.sqrt(n)); + let i = 7; + while (i <= m) { + if (n % i === 0) + return i; + if (n % (i + 4) === 0) + return i + 4; + if (n % (i + 6) === 0) + return i + 6; + if (n % (i + 10) === 0) + return i + 10; + if (n % (i + 12) === 0) + return i + 12; + if (n % (i + 16) === 0) + return i + 16; + if (n % (i + 22) === 0) + return i + 22; + if (n % (i + 24) === 0) + return i + 24; + i += 30; + } + return n; +} +function probablyPrime(n, k) { + let s = 0, d = n - 1; + while (d % 2 === 0) { + d /= 2; + ++s; + } + WitnessLoop: + do { + let x = Math.pow(2 + Math.floor(Math.random() * (n - 3)), d) % n; + if (x === 1 || x === n - 1) + continue; + for (let i = s - 1; i--; ) { + x = x * x % n; + if (x === 1) + return false; + if (x === n - 1) + continue WitnessLoop; + } + return false; + } while (--k); + return true; +} +var BoxedNumber = class _BoxedNumber extends AbstractBoxedExpression { + /** + * By the time the constructor is called, the `value` should have been + * screened for cases where it's a well-known value (0, NaN, +Infinity, + * etc...) or non-normal (complex number with im = 0, rational with + * denom = 1, etc...). + * + * This is done in `ce.number()`. In general, use `ce.number()` rather + * than calling this constructor directly. + * + * We may store as a machine number if a Decimal is passed that is in machine + * range + */ + constructor(ce, value, options) { + var _a; + super(ce, options == null ? void 0 : options.metadata); + if (typeof value === "number") { + this._value = value; + this._isCanonical = true; + return; + } + if (isRational(value)) { + const [n, d] = value; + /* @__PURE__ */ console.assert( + typeof n !== "number" || Number.isInteger(n) && Number.isInteger(d) && d !== n && d !== 1 + ); + /* @__PURE__ */ console.assert( + !(typeof n === "bigint" && typeof d == "bigint") || d !== n && d !== BigInt(1) + ); + if ((_a = options == null ? void 0 : options.canonical) != null ? _a : true) { + this._value = canonicalNumber(ce, value); + this._isCanonical = true; + } else { + this._value = value; + this._isCanonical = false; + } + } else { + /* @__PURE__ */ console.assert( + !(value instanceof import_complex12.Complex) || !Number.isNaN(value.re) && !Number.isNaN(value.im) && ce.chop(value.im) !== 0 + ); + this._value = canonicalNumber(ce, value); + this._isCanonical = true; + } + } + get hash() { + if (this._hash !== void 0) + return this._hash; + let h = 0; + if (typeof this._value === "number") + h = hashCode(this._value.toString()); + else if (this._value instanceof import_complex12.Complex) + h = hashCode( + this._value.re.toString() + " +i " + this._value.im.toString() + ); + else if (this._value instanceof Decimal) + h = hashCode(this._value.toString()); + else + h = hashCode( + this._value[0].toString() + " / " + this._value[1].toString() + ); + this._hash = h; + return h; + } + get head() { + return "Number"; + } + get isPure() { + return true; + } + get isExact() { + if (typeof this._value === "number") + return Number.isInteger(this._value); + if (this._value instanceof Decimal) + return this._value.isInteger(); + if (this._value instanceof import_complex12.Complex) + return Number.isInteger(this._value.re) && Number.isInteger(this._value.im); + return isRational(this._value); + } + get isCanonical() { + return this._isCanonical; + } + set isCanonical(val) { + this._isCanonical = val; + } + get complexity() { + return 1; + } + get value() { + return this; + } + get numericValue() { + return this._value; + } + get domain() { + if (this._domain === void 0) + this._domain = this.engine.domain(inferNumericDomain(this._value)); + return this._domain; + } + get json() { + return serializeJsonNumber(this.engine, this._value, { + latex: this._latex + }); + } + get sgn() { + if (this._value === 0) + return 0; + if (typeof this._value === "number") { + if (this._value < 0) + return -1; + if (this._value > 0) + return 1; + return null; + } + if (this._value instanceof Decimal) { + if (this._value.isZero()) + return 0; + if (this._value.isNegative()) + return -1; + if (this._value.isPositive()) + return 1; + return null; + } + if (Array.isArray(this._value)) { + const [numer, denom] = this._value; + if (numer === 0 && denom !== 0) + return 0; + if (numer < 0) + return -1; + if (numer > 0) + return 1; + return null; + } + return null; + } + isSame(rhs) { + if (this === rhs) + return true; + if (!(rhs instanceof _BoxedNumber)) + return false; + if (typeof this._value === "number") { + if (typeof rhs._value !== "number") + return false; + return this._value === rhs._value; + } + if (this._value instanceof Decimal) { + if (!(rhs._value instanceof Decimal)) + return false; + return this._value.eq(rhs._value); + } + if (Array.isArray(this._value)) { + if (!Array.isArray(rhs._value)) + return false; + const [rhsN, rhsD] = rhs._value; + return this._value[0] === rhsN && this._value[1] === rhsD; + } + if (this._value instanceof import_complex12.Complex) { + if (!(rhs._value instanceof import_complex12.Complex)) + return false; + return this._value.equals(rhs._value); + } + return false; + } + isEqual(rhs) { + return this.isSame(rhs); + } + match(rhs, options) { + var _a; + if (this.isEqualWithTolerance(rhs, (_a = options == null ? void 0 : options.numericTolerance) != null ? _a : 0)) + return {}; + return null; + } + /** Compare this with another BoxedNumber. + * `rhs` must be a BoxedNumber. Use `isEqualWithTolerance(rhs.N())` + * if necessary. + */ + isEqualWithTolerance(rhs, tolerance) { + return rhs instanceof _BoxedNumber && signDiff(this, rhs, tolerance) === 0; + } + isLess(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s < 0; + } + isLessEqual(rhs) { + const s = signDiff(this, rhs); + if (s === void 0) + return void 0; + return s <= 0; + } + isGreater(rhs) { + return rhs.isLessEqual(this); + } + isGreaterEqual(rhs) { + return rhs.isLess(this); + } + /** x > 0, same as `isGreater(0)` */ + get isPositive() { + if (typeof this._value === "number") + return this._value > 0; + const s = this.sgn; + if (s === void 0 || s === null) + return void 0; + return s > 0; + } + /** x >= 0, same as `isGreaterEqual(0)` */ + get isNonNegative() { + if (typeof this._value === "number") + return this._value >= 0; + const s = this.sgn; + if (s === void 0 || s === null) + return void 0; + return s >= 0; + } + /** x < 0, same as `isLess(0)` */ + get isNegative() { + if (typeof this._value === "number") + return this._value < 0; + const s = this.sgn; + if (s === void 0 || s === null) + return void 0; + return s < 0; + } + /** x <= 0, same as `isLessEqual(0)` */ + get isNonPositive() { + if (typeof this._value === "number") + return this._value <= 0; + const s = this.sgn; + if (s === void 0 || s === null) + return void 0; + return s <= 0; + } + get isZero() { + if (this._value === 0) + return true; + if (this._value instanceof Decimal) + return this._value.isZero(); + if (this._value instanceof import_complex12.Complex) + return this._value.isZero(); + return false; + } + get isNotZero() { + if (this._value === 0) + return false; + if (this._value instanceof Decimal) + return !this._value.isZero(); + if (this._value instanceof import_complex12.Complex) + return !this._value.isZero(); + return true; + } + get isOne() { + if (this._value === 1) + return true; + if (typeof this._value === "number") + return false; + if (this._value instanceof Decimal) + return this._value.equals(this.engine._BIGNUM_ONE); + if (this._value instanceof import_complex12.Complex) + return this._value.im === 0 && this._value.re === 1; + return isRationalOne(this._value); + } + get isNegativeOne() { + if (this._value === -1) + return true; + if (typeof this._value === "number") + return false; + if (this._value instanceof Decimal) + return this._value.equals(this.engine._BIGNUM_NEGATIVE_ONE); + if (Array.isArray(this._value)) + return isRationalNegativeOne(this._value); + return this._value.equals(-1); + } + get isOdd() { + if (this.isOne || this.isNegativeOne) + return true; + if (this.isZero) + return false; + if (!this.isInteger) + return false; + if (typeof this._value === "number") + return this._value % 2 !== 0; + if (this._value instanceof Decimal) + return !this._value.mod(2).isZero(); + return void 0; + } + get isEven() { + if (this.isOne || this.isNegativeOne) + return false; + if (this.isZero) + return true; + if (!this.isInteger) + return false; + if (typeof this._value === "number") + return this._value % 2 === 0; + if (this._value instanceof Decimal) + return this._value.mod(2).isZero(); + return void 0; + } + get isPrime() { + if (!this.isInteger || !this.isFinite || this.isNonPositive || this.isOne || this.isZero) + return false; + if (typeof this._value === "number") + return isPrime(this._value); + if (this._value instanceof Decimal) + return isPrime(this._value.toNumber()); + return void 0; + } + get isComposite() { + if (!this.isInteger || !this.isFinite || this.isNonPositive || this.isOne || this.isZero) + return false; + if (typeof this._value === "number") + return !isPrime(this._value); + if (this._value instanceof Decimal) + return !isPrime(this._value.toNumber()); + return void 0; + } + get isInfinity() { + if (typeof this._value === "number") + return !Number.isFinite(this._value) && !Number.isNaN(this._value); + if (this._value instanceof Decimal) + return !this._value.isFinite() && !this._value.isNaN(); + if (this._value instanceof import_complex12.Complex) + return !this._value.isFinite() && !this._value.isNaN(); + return false; + } + get isNaN() { + if (typeof this._value === "number") + return Number.isNaN(this._value); + if (this._value instanceof Decimal) + return this._value.isNaN(); + if (this._value instanceof import_complex12.Complex) + return this._value.isNaN(); + return false; + } + get isFinite() { + return !this.isInfinity && !this.isNaN; + } + get isNumber() { + return true; + } + get isInteger() { + if (typeof this._value === "number") + return Number.isInteger(this._value); + if (this._value instanceof Decimal) + return this._value.isInteger(); + return false; + } + get isRational() { + if (Array.isArray(this._value)) + return true; + return this.isInteger; + } + get isAlgebraic() { + if (this.isRational) + return true; + return void 0; + } + get isReal() { + if (!this.isFinite) + return false; + if (this._value instanceof import_complex12.Complex) + return this.engine.chop(this._value.im) === 0; + return true; + } + // Real or +-Infinity + get isExtendedReal() { + return this.isInfinity || this.isReal; + } + get isComplex() { + return !this.isNaN; + } + get isImaginary() { + if (this._value instanceof import_complex12.Complex) { + /* @__PURE__ */ console.assert(this._value.im !== 0); + return true; + } + return false; + } + get isExtendedComplex() { + return this.isInfinity || !this.isNaN; + } + get canonical() { + if (this._isCanonical) + return this; + return this.engine.number(canonicalNumber(this.engine, this._value)); + } + simplify(_options) { + return this.canonical; + } + N(_options) { + if (!Array.isArray(this._value)) + return this; + const ce = this.engine; + const [numer, denom] = this._value; + if (typeof numer === "number" && typeof denom === "number" && !bignumPreferred(ce)) + return ce.number(numer / denom); + return ce.number(ce.bignum(numer).div(ce.bignum(denom))); + } +}; +function canonicalNumber(ce, value) { + if (value instanceof Decimal && isInMachineRange(value)) + return value.toNumber(); + if (!isRational(value)) + return value; + value = reducedRational(value); + if (isBigRational(value)) { + let [n2, d2] = value; + if (n2 > Number.MIN_SAFE_INTEGER && n2 < Number.MAX_SAFE_INTEGER && d2 > Number.MIN_SAFE_INTEGER && d2 < Number.MAX_SAFE_INTEGER) + value = [Number(n2), Number(d2)]; + else { + if (d2 < 0) + [n2, d2] = [-n2, -d2]; + if (d2 === BigInt(1)) + return ce.bignum(n2); + if (d2 === BigInt(0)) { + if (n2 === d2) + return NaN; + return n2 < 0 ? -Infinity : Infinity; + } + return [n2, d2]; + } + } + let [n, d] = value; + if (Number.isNaN(n) || Number.isNaN(d)) + return NaN; + if (d < 0) + [n, d] = [-n, -d]; + if (d === 1) + return n; + if (d === 0) { + if (n === 0 || !Number.isFinite(n)) + return NaN; + if (n < 0) + return -Infinity; + return Infinity; + } + if (n === 0) + return n; + return [n, d]; +} +var BoxedString = class _BoxedString extends AbstractBoxedExpression { + constructor(ce, expr, metadata) { + super(ce, metadata); + this._string = expr.normalize(); + ce._register(this); + } + get hash() { + return hashCode("String" + this._string); + } + get json() { + return serializeJsonString(this.engine, this._string); + } + get head() { + return "String"; + } + get isPure() { + return true; + } + get isCanonical() { + return true; + } + set isCanonical(_va) { + return; + } + get domain() { + return this.engine.domain("String"); + } + get complexity() { + return 19; + } + get string() { + return this._string; + } + isEqual(rhs) { + return rhs.string === this._string; + } + isSame(rhs) { + return rhs.string === this._string; + } + match(rhs, _options) { + if (!(rhs instanceof _BoxedString)) + return null; + if (this._string === rhs._string) + return {}; + return null; + } +}; +function boxNumber(ce, num, options) { + var _a; + if (typeof num === "number" || num instanceof Decimal) + return new BoxedNumber(ce, num, options); + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + if (Array.isArray(num) && num.length === 2 && num[0] instanceof Decimal && num[1] instanceof Decimal) { + if (!num[0].isInteger() || !num[1].isInteger()) + throw new Error("Array argument to `boxNumber()` should be two integers"); + num = [bigint(num[0].toString()), bigint(num[1].toString())]; + } + if (isRational(num)) { + if (num.length !== 2) + throw new Error( + "Array argument to `boxNumber()` should be two integers or two bignums" + ); + const [n, d] = num; + if (typeof n === "bigint" && typeof d === "bigint") { + if (n === d) + return d === BigInt(0) ? ce._NAN : ce._ONE; + if (n === BigInt(0)) + return ce._ZERO; + if (d === BigInt(1)) + return ce.number(n, options); + if (d === BigInt(-1)) + return ce.number(-n, options); + if (n === BigInt(1) && d === BigInt(2)) + return ce._HALF; + return new BoxedNumber(ce, [n, d], options); + } + if (typeof n !== "number" || typeof d !== "number") + throw new Error( + "Array argument to `boxNumber()` should be two integers or two bignums" + ); + if (!Number.isInteger(n) || !Number.isInteger(d)) + throw new Error("Array argument to `boxNumber()` should be two integers"); + if (d === n) + return d === 0 ? ce._NAN : ce._ONE; + if (n === 0) + return ce._ZERO; + if (d === 1) + return ce.number(n, options); + if (d === -1) + return ce.number(-n, options); + if (n === 1 && d === 2) + return ce._HALF; + return new BoxedNumber(ce, [n, d], options); + } + if (num instanceof import_complex13.Complex) { + if (num.isNaN()) + return ce._NAN; + if (num.isZero()) + return ce._ZERO; + if (num.isInfinite()) + return ce._COMPLEX_INFINITY; + if (ce.chop(num.im) === 0) + return ce.number(num.re, options); + return new BoxedNumber(ce, num, options); + } + let strNum = ""; + if (typeof num === "string") + strNum = num; + else if (typeof num === "object" && "num" in num) { + if (typeof num.num === "number") + return ce.number(num.num, options); + if (typeof num.num !== "string") + throw new Error("MathJSON `num` property should be a string of digits"); + strNum = num.num; + } + if (strNum) { + strNum = strNum.toLowerCase(); + if (/[0-9][nd]$/.test(strNum)) + strNum = strNum.slice(0, -1); + strNum = strNum.replace(/[\u0009-\u000d\u0020\u00a0]/g, ""); + if (strNum === "nan") + return ce._NAN; + if (strNum === "infinity" || strNum === "+infinity") + return ce._POSITIVE_INFINITY; + if (strNum === "-infinity") + return ce._NEGATIVE_INFINITY; + if (strNum === "0") + return ce._ZERO; + if (strNum === "1") + return ce._ONE; + if (strNum === "-1") + return ce._NEGATIVE_ONE; + if (/\([0-9]+\)/.test(strNum)) { + const [_, body, repeat, trail] = (_a = strNum.match(/(.+)\(([0-9]+)\)(.+)?$/)) != null ? _a : []; + strNum = body + repeat.repeat(Math.ceil(ce.precision / repeat.length)) + (trail != null ? trail : ""); + } + return boxNumber(ce, ce.bignum(strNum), options); + } + return null; +} +function boxHold(ce, expr, options) { + if (expr === null) + return ce.error("missing"); + if (typeof expr === "object" && expr instanceof AbstractBoxedExpression) + return expr; + expr = missingIfEmpty(expr); + if (typeof expr === "string") + return box(ce, expr, options); + if (Array.isArray(expr)) { + const boxed = expr.map((x) => boxHold(ce, x, options)); + return new BoxedFunction(ce, boxed[0], boxed.slice(1)); + } + if (typeof expr === "object") { + if ("dict" in expr) + return new BoxedDictionary(ce, expr.dict); + if ("fn" in expr) + return boxHold(ce, expr.fn, options); + if ("str" in expr) + return new BoxedString(ce, expr.str); + if ("sym" in expr) + return box(ce, expr.sym, options); + if ("num" in expr) + return box(ce, expr.num, options); + } + return box(ce, expr, options); +} +function boxFunction(ce, head2, ops2, options) { + var _a; + if (head2 === "Hold") { + return new BoxedFunction(ce, "Hold", [boxHold(ce, ops2[0], options)], { + ...options, + canonical: true + }); + } + if (head2 === "Error" || head2 === "ErrorCode") { + return ce._fn( + head2, + ops2.map((x) => ce.box(x, { canonical: false })), + options.metadata + ); + } + if (head2 === "Domain") + return ce.domain(ops2[0], options.metadata); + if (head2 === "Number" && ops2.length === 1) + return box(ce, ops2[0], options); + if (head2 === "String") { + if (ops2.length === 0) + return new BoxedString(ce, "", options.metadata); + return new BoxedString( + ce, + ops2.map((x) => { + var _a2; + return (_a2 = asString(x)) != null ? _a2 : ""; + }).join(""), + options.metadata + ); + } + if (head2 === "Symbol" && ops2.length > 0) { + return ce.symbol(ops2.map((x) => { + var _a2; + return (_a2 = asString(x)) != null ? _a2 : ""; + }).join(""), options); + } + if ((head2 === "Divide" || head2 === "Rational") && ops2.length === 2) { + if (ops2[0] instanceof AbstractBoxedExpression && ops2[1] instanceof AbstractBoxedExpression) { + if (ce.numericMode === "machine") { + const [fn, fd] = [asFloat(ops2[0]), asFloat(ops2[1])]; + if (fn !== null && Number.isInteger(fn) && fd !== null && Number.isInteger(fd)) + return ce.number([fn, fd], options); + } + const [n, d] = [asBigint(ops2[0]), asBigint(ops2[1])]; + if (n !== null && d !== null) + return ce.number([n, d], options); + } else { + const [n, d] = [ + bigintValue(ce, ops2[0]), + bigintValue(ce, ops2[1]) + ]; + if (n !== null && d !== null) + return ce.number([n, d], options); + } + head2 = "Divide"; + } + if (head2 === "Complex") { + if (ops2.length === 1) { + const op12 = box(ce, ops2[0], options); + const im = asFloat(op12); + if (im !== null && im !== 0) + return ce.number(ce.complex(0, im), options); + return ce.mul([op12, ce._I]); + } + if (ops2.length === 2) { + const op12 = box(ce, ops2[0], options); + const op22 = box(ce, ops2[1], options); + const re = asFloat(op12); + const im = asFloat(op22); + if (im !== null && re !== null) { + if (im === 0 && re === 0) + return ce._ZERO; + if (im !== null && im !== 0) + return ce.number(ce.complex(re, im), options); + return op12; + } + return ce.add([op12, ce.mul([op22, ce._I])], options.metadata); + } + } + if (head2 === "Negate" && ops2.length === 1) { + const op12 = ops2[0]; + if (typeof op12 === "number") + return ce.number(-op12, options); + if (op12 instanceof Decimal) + return ce.number(op12.neg(), options); + const num = ce.box(op12, options).numericValue; + if (num !== null) { + if (typeof num === "number") + return ce.number(-num, options); + if (num instanceof Decimal) + return ce.number(num.neg(), options); + if (num instanceof import_complex13.Complex) + return ce.number(num.neg()); + if (isRational(num)) + return ce.number(neg(num)); + } + } + if (head2 === "Dictionary") { + const dict = {}; + for (const op3 of ops2) { + const arg = ce.box(op3); + const head3 = arg.head; + if (head3 === "KeyValuePair" || head3 === "Pair" || head3 === "Tuple" && arg.nops === 2) { + const key = arg.op1; + if (key.isValid && !key.isNothing) { + const value = arg.op2; + let k = (_a = key.symbol) != null ? _a : key.string; + if (!k && (key.numericValue !== null || key.string)) { + const n = typeof key.numericValue === "number" ? key.numericValue : asSmallInteger(key); + if (n && Number.isFinite(n) && Number.isInteger(n)) + k = n.toString(); + } + if (k) + dict[k] = value; + } + } + } + return new BoxedDictionary(ce, dict, options); + } + if (options.canonical) + return makeCanonicalFunction(ce, head2, ops2, options.metadata); + return new BoxedFunction( + ce, + head2, + ops2.map((x) => box(ce, x, { canonical: false })), + options + ); +} +function box(ce, expr, options) { + if (expr === null || expr === void 0) + return ce._fn("Sequence", []); + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + if (expr instanceof AbstractBoxedExpression) + return options.canonical ? expr.canonical : expr; + if (Array.isArray(expr)) { + if (isMachineRational(expr)) { + if (Number.isInteger(expr[0]) && Number.isInteger(expr[1])) + return ce.number(expr); + return boxFunction(ce, "Divide", expr, options); + } + if (isBigRational(expr)) + return ce.number(expr); + if (typeof expr[0] === "string") + return boxFunction(ce, expr[0], expr.slice(1), options); + const ops2 = expr.slice(1).map((x) => box(ce, x, options)); + const head2 = box(ce, expr[0], options); + if (head2.symbol) + return new BoxedFunction(ce, head2.symbol, ops2); + return apply(head2, ops2); + } + if (typeof expr === "number" || expr instanceof import_complex13.Complex || expr instanceof Decimal) + return ce.number(expr); + if (typeof expr === "string") { + if (expr.startsWith("'") && expr.endsWith("'")) + return new BoxedString(ce, expr.slice(1, -1)); + if (/^[+-]?[0-9]/.test(expr)) + return ce.number(expr); + if (!isValidIdentifier(expr)) + return ce.error("invalid-identifier", { str: expr }); + return ce.symbol(expr, options); + } + if (typeof expr === "object") { + const metadata = { + latex: expr.latex, + wikidata: expr.wikidata + }; + if ("dict" in expr) + return new BoxedDictionary(ce, expr.dict, { canonical: true, metadata }); + if ("fn" in expr) { + if (typeof expr.fn[0] === "string") + return boxFunction(ce, expr.fn[0], expr.fn.slice(1), options); + return new BoxedFunction( + ce, + box(ce, expr.fn[0], options), + expr.fn.slice(1).map((x) => box(ce, x, options)), + { metadata } + ); + } + if ("str" in expr) + return new BoxedString(ce, expr.str, metadata); + if ("sym" in expr) + return ce.symbol(expr.sym, options); + if ("num" in expr) + return ce.number(expr, options); + } + return ce.symbol("Undefined"); +} +function asString(expr) { + var _a, _b; + if (typeof expr === "string") + return expr; + if (expr instanceof AbstractBoxedExpression) { + return (_b = (_a = expr.string) != null ? _a : expr.symbol) != null ? _b : expr.toString(); + } + if (typeof expr === "object") { + if ("str" in expr) + return expr.str; + if ("fn" in expr && expr.fn[0] === "String" && typeof expr.fn[1] === "string") + return expr.fn[1]; + } + if (Array.isArray(expr)) { + if (expr[0] === "String" && typeof expr[1] === "string") + return expr[1]; + } + return null; +} +function gamma3(c) { + return c; +} +function lngamma3(c) { + return c; +} +var import_complex15 = __toESM(require_complex()); +var import_complex14 = __toESM(require_complex()); +function makePositive(expr) { + if (expr.head === "Negate") + return [-1, expr.op1]; + const n = expr.numericValue; + if (n === null) + return [1, expr]; + const ce = expr.engine; + if (typeof n === "number" && n < 0) + return [-1, ce.number(-n)]; + if (n instanceof decimal_default && n.isNegative()) + return [-1, ce.number(n.neg())]; + if (n instanceof import_complex14.default && n.re < 0) + return [-1, ce.number(ce.complex(-n.re, -n.im))]; + if (isMachineRational(n) && n[0] < 0) + return [-1, ce.number([-n[0], n[1]])]; + if (isBigRational(n) && n[0] < 0) + return [-1, ce.number([-n[0], n[1]])]; + return [1, expr]; +} +function apply2(expr, fn, bigFn, complexFn) { + var _a; + const n = expr.numericValue; + const ce = expr.engine; + /* @__PURE__ */ console.assert(n !== null); + if (typeof n === "number") { + if (bignumPreferred(ce) && bigFn) + return ce.chop(bigFn(ce.bignum(n))); + return ce.chop(fn(n)); + } + if (n instanceof decimal_default) + return ce.chop((_a = bigFn == null ? void 0 : bigFn(n)) != null ? _a : fn(n.toNumber())); + if (isMachineRational(n)) { + if (!bignumPreferred(ce) || !bigFn) + return ce.chop(fn(n[0] / n[1])); + return ce.chop(bigFn(ce.bignum(n[0]).div(n[1]))); + } + if (isBigRational(n)) { + if (bigFn) + return ce.chop(bigFn(ce.bignum(n[0]).div(ce.bignum(n[1])))); + return ce.chop(fn(Number(n[0]) / Number(n[1]))); + } + if (n instanceof import_complex14.default) { + if (!complexFn || !complexAllowed(ce)) + return NaN; + return ce.chop(complexFn(n)); + } + return NaN; +} +function applyN(expr, fn, bigFn, complexFn) { + var _a; + if (((_a = expr == null ? void 0 : expr.numericValue) != null ? _a : null) === null) + return void 0; + return expr.engine.number(apply2(expr, fn, bigFn, complexFn)); +} +function apply22(expr1, expr2, fn, bigFn, complexFn) { + var _a, _b, _c; + /* @__PURE__ */ console.assert(expr1.numericValue !== null && expr2.numericValue !== null); + const ce = expr1.engine; + let m1 = expr1.numericValue; + if (isMachineRational(m1)) + m1 = m1[0] / m1[1]; + let m2 = expr2.numericValue; + if (isMachineRational(m2)) + m2 = m2[0] / m2[1]; + if (!bignumPreferred(ce) && typeof m1 === "number" && typeof m2 === "number") + return fn(m1, m2); + let b1 = void 0; + if (m1 instanceof decimal_default) + b1 = m1; + else if (isBigRational(m1)) + b1 = ce.bignum(m1[0]).div(ce.bignum(m1[1])); + else if (m1 !== null && typeof m1 === "number") + b1 = ce.bignum(m1); + let b2 = void 0; + if (m2 instanceof decimal_default) + b2 = m2; + else if (isBigRational(m2)) + b1 = ce.bignum(m2[0]).div(ce.bignum(m2[1])); + else if (m2 !== null && typeof m2 === "number") + b2 = ce.bignum(m2); + if (b1 && b2) + return (_a = bigFn == null ? void 0 : bigFn(b1, b2)) != null ? _a : fn(b1.toNumber(), b2.toNumber()); + if (m1 instanceof import_complex14.default || m2 instanceof import_complex14.default) { + if (!complexFn || !complexAllowed(ce)) + return NaN; + return complexFn( + ce.complex((_b = m1 != null ? m1 : b1 == null ? void 0 : b1.toNumber()) != null ? _b : NaN), + ce.complex((_c = m2 != null ? m2 : b2 == null ? void 0 : b2.toNumber()) != null ? _c : NaN) + ); + } + return NaN; +} +function apply2N(expr1, expr2, fn, bigFn, complexFn) { + if (expr1.numericValue === null || expr2.numericValue === null) + return void 0; + return expr1.engine.number(apply22(expr1, expr2, fn, bigFn, complexFn)); +} +function canonicalPower(ce, base, exponent, metadata) { + if (exponent.symbol === "ComplexInfinity") + return ce._NAN; + if (exponent.isZero) + return ce._ONE; + if (exponent.isOne) + return base; + if (exponent.isNegativeOne) + return ce.inv(base); + if (exponent.numericValue !== null) { + if (base.numericValue !== null) { + const numBase = asFloat(base); + if (numBase === 1) + return ce._ONE; + if (numBase === 0) { + if (exponent.isPositive) + return ce._ZERO; + if (exponent.isNegative) + return ce._COMPLEX_INFINITY; + } + if (exponent.isNegativeOne) + return ce.inv(base); + const e = asFloat(exponent); + if (e === 0.5 || e === -0.5) { + const b = asSmallInteger(base); + if (b !== null && b > 0) { + const [coef, radicand] = factorPower(b, 2); + if (radicand === 1 && coef === 1) + return ce._ONE; + if (coef !== 1) { + if (radicand === 1) + return ce.number(e >= 0 ? coef : [1, coef]); + return ce.mul([ + ce.number(coef), + ce._fn("Sqrt", [ce.number(radicand)]) + ]); + } + if (e > 0) + return ce._fn("Sqrt", [base], metadata); + return ce.inv(ce._fn("Sqrt", [base]), metadata); + } + if (e > 0) + return ce._fn("Power", [base, ce._HALF], metadata); + return ce._fn("Power", [base, ce.number([-1, 2])], metadata); + } + if (base.isInfinity) { + if (exponent.numericValue instanceof import_complex15.default) { + const re = exponent.numericValue.re; + if (re === 0) + return ce._NAN; + if (re < 0) + return ce._ZERO; + if (re > 0) + return ce._COMPLEX_INFINITY; + } + if (base.isNegative) { + if (exponent.isInfinity) + return ce._NAN; + } else if (base.isPositive) { + if (exponent.isNegativeOne) + return ce._ZERO; + if (exponent.isInfinity) + return exponent.isNegative ? ce._ZERO : ce._POSITIVE_INFINITY; + } + } + if (exponent.isInfinity && (base.isOne || base.isNegativeOne)) + return ce._NAN; + } + } + if (base.head === "Power" && base.op1.isReal) { + const a = asSmallInteger(exponent); + if (a !== null) { + const b = asSmallInteger(base.op2); + if (b !== null) { + return ce.pow(base.op1, ce.number(a * b)); + } + } + if (base.op1.isNonNegative) { + const ar = asRational(exponent); + if (ar) { + const br = asRational(base.op2); + if (br) + return ce.pow(base.op1, ce.number(mul2(ar, br))); + } + } + } + if (base.head === "Multiply") { + const e = asSmallInteger(exponent); + if (e !== null) + return ce._fn( + "Multiply", + base.ops.map((x) => ce.pow(x, exponent)) + ); + } + return ce._fn("Power", [base, exponent], metadata); +} +function square(ce, base) { + const num = base.numericValue; + if (typeof num === "number") + return ce.number(num * num); + if (num instanceof decimal_default) + return ce.number(num.pow(2)); + if (num instanceof import_complex15.default) + return ce.number(num.pow(2)); + if (isMachineRational(num)) + return ce.number([num[1] * num[1], num[0] * num[0]]); + if (isBigRational(num)) + return ce.number([num[1] * num[1], num[0] * num[0]]); + if (base.head === "Multiply") + return ce._fn( + "Multiply", + base.ops.map((x) => square(ce, x)) + ); + if (base.head === "Power") { + const exp2 = asSmallInteger(base.op2); + if (exp2 !== null) + return ce.pow(base.op1, ce.number(exp2 * 2)); + return ce.pow(base.op1, ce.mul([ce.number(2), base.op2])); + } + return ce.pow(base, ce.number(2)); +} +function numEvalPower(ce, base, exponent) { + var _a, _b, _c, _d; + if (base.numericValue === null || exponent.numericValue === null) + return void 0; + if (base.numericValue instanceof import_complex15.default) { + if (exponent.numericValue instanceof import_complex15.default) + return ce.number(base.numericValue.pow(exponent.numericValue)); + return ce.number(base.numericValue.pow((_a = asFloat(exponent)) != null ? _a : NaN)); + } + if (exponent.numericValue instanceof import_complex15.default) { + const b = (_b = asFloat(base)) != null ? _b : null; + if (b !== null) + return ce.number(ce.complex(b).pow(exponent.numericValue)); + return void 0; + } + const invExp = rootExp(exponent); + if (bignumPreferred(ce) || base.numericValue instanceof decimal_default || exponent.numericValue instanceof decimal_default) { + const bigBase = asBignum(base); + const bigExp = asBignum(exponent); + if (!bigBase || !bigExp) + return void 0; + if (invExp === 2) { + if (bigBase.isNeg()) + return complexAllowed(ce) ? ce.number(ce.complex(0, bigBase.neg().sqrt().toNumber())) : ce._NAN; + return ce.number(bigBase.sqrt()); + } + if (!bigExp.isInteger() && bigBase.isNeg()) { + if (!complexAllowed(ce)) + return ce._NAN; + const zBase = ce.complex(bigBase.toNumber()); + const zExp = ce.complex(bigExp.toNumber()); + return ce.number(zBase.pow(zExp)); + } + return ce.number(bigBase.pow(bigExp)); + } + const floatExp = (_c = asFloat(exponent)) != null ? _c : NaN; + const floatBase = (_d = asFloat(base)) != null ? _d : NaN; + if (invExp === 2) { + if (floatBase < 0) { + return complexAllowed(ce) ? ce.mul([ce._I, ce.number(Math.sqrt(-floatBase))]) : ce._NAN; + } + return ce.number(Math.sqrt(floatBase)); + } + if (!Number.isInteger(floatExp) && floatBase < 0) { + if (!complexAllowed(ce)) + return ce._NAN; + const zBase = ce.complex(floatBase); + const zExp = ce.complex(floatExp); + return ce.number(zBase.pow(zExp)); + } + return ce.number(Math.pow(floatBase, floatExp)); +} +function processPower(ce, base, exponent, mode) { + var _a, _b; + if (base.head === "Multiply") { + let c = bignumPreferred(ce) ? [BigInt(1), BigInt(1)] : [1, 1]; + const xs = []; + for (const op3 of base.ops) { + const r = asRational(op3); + if (r) + c = mul2(c, r); + else + xs.push(op3); + } + if (!isRationalOne(c)) + return ce.mul([ + (_a = processSqrt(ce, ce.number(c), mode)) != null ? _a : ce._ONE, + ce.pow( + (_b = processPower(ce, ce.mul(xs), exponent, mode)) != null ? _b : ce.mul(xs), + exponent + ) + ]); + } + if (base.head === "Power") { + if (asSmallInteger(base.op2) === -1 && asSmallInteger(exponent) === -1) + return base.op1; + const e1 = asRational(base.op2); + const e2 = asRational(exponent); + if (e1 && e2) { + const e = mul2(e1, e2); + if (isRationalZero(e)) + return ce._ONE; + if (isRationalOne(e)) + return base.op1; + return ce.pow(base.op1, e); + } + if (mode === "N") { + const ef1 = asFloat(base.op2); + const ef2 = asFloat(exponent); + if (ef1 !== null && ef2 !== null) { + const ef = ef1 * ef2; + if (ef === 0) + return ce._ONE; + if (ef === 1) + return base.op1; + return ce.pow(base.op1, ef); + } + } + } + if (mode !== "N" && base.numericValue !== null && base.isInteger) { + const smallExpr = asSmallInteger(exponent); + if (smallExpr) + return numEvalPower(ce, base, exponent); + const r = asRational(exponent); + if (r) { + const [n, d] = [machineNumerator(r), machineDenominator(r)]; + if ((n === 1 || n === -1) && (d === 2 || d === 3)) { + if (bignumPreferred(ce) || base.numericValue instanceof decimal_default) { + const bigBase = asBigint(base); + if (d % 2 === 0 && bigBase < 0 && !complexAllowed(ce)) + return ce._NAN; + const sign2 = bigBase < 0 ? d % 2 === 0 ? ce._I : ce._NEGATIVE_ONE : ce._ONE; + const [factor, root] = factorPower2( + bigBase > 0 ? bigBase : -bigBase, + d + ); + if (root === BigInt(1) && factor === BigInt(1)) + return sign2; + if (factor !== BigInt(1)) { + if (root === BigInt(1)) + return ce.mul([ + sign2, + ce.number(n >= 0 ? factor : [BigInt(1), factor]) + ]); + return ce.mul([ + sign2, + ce.number(factor), + ce.pow(ce.number(root), exponent) + ]); + } + } else if (typeof base.numericValue === "number") { + if (base.numericValue < 0 && d % 2 === 0 && !complexAllowed(ce)) + return ce._NAN; + const [factor, root] = factorPower(Math.abs(base.numericValue), d); + const sign2 = base.numericValue < 0 ? d % 2 === 0 ? ce._I : ce._NEGATIVE_ONE : ce._ONE; + if (root === 1 && factor === 1) + return sign2; + if (factor !== 1) { + if (root === 1) + return ce.mul([sign2, ce.number(n >= 0 ? factor : [1, factor])]); + return ce.mul([ + sign2, + ce.number(factor), + ce.pow(ce.number(root), exponent) + ]); + } + } else { + } + } + if (base.isNegative) { + if (!complexAllowed) + return ce._NAN; + return ce.mul([ce._I, ce.fn("Sqrt", [ce.neg(base)])]); + } + return void 0; + } + } + if (mode !== "simplify" && base.numericValue !== null && exponent.numericValue !== null) + return numEvalPower(ce, base, exponent); + return void 0; +} +function processSqrt(ce, base, mode) { + if (base.isOne) + return ce._ONE; + if (base.isZero) + return ce._ZERO; + if (base.isNegativeOne) + return complexAllowed(ce) ? ce._I : ce._NAN; + if (base.isNegative && !complexAllowed(ce)) + return ce._NAN; + const r = asRational(base); + if (mode === "N" || mode === "evaluate" && !r) + return applyN( + base, + (x) => x < 0 ? ce.complex(x).sqrt() : Math.sqrt(x), + (x) => x.isNeg() ? ce.complex(x.toNumber()).sqrt() : x.sqrt(), + (x) => x.sqrt() + ); + const n = asSmallInteger(base); + if (n !== null) { + const [factor, root] = factorPower(Math.abs(n), 2); + if (n < 0) { + if (root === 1) + ce.mul([ce.number(ce.complex(0, factor))]); + return ce.mul([ + ce.number(ce.complex(0, factor)), + ce.sqrt(ce.number(root)) + ]); + } + if (root === 1) + return ce.number(factor); + return ce.mul([ce.number(factor), ce.sqrt(ce.number(root))]); + } + if (r) { + if (isMachineRational(r) && !bignumPreferred(ce)) { + const [n2, d] = r; + if (Math.abs(n2) < Number.MAX_SAFE_INTEGER && d < Number.MAX_SAFE_INTEGER) { + const [nFactor, nRoot] = factorPower(Math.abs(n2), 2); + const [dFactor, dRoot] = factorPower(d, 2); + if (n2 < 0) + return ce.mul([ + ce.number([nFactor, dFactor]), + ce.sqrt(ce.number([nRoot, dRoot])), + ce._I + ]); + return ce.mul([ + ce.number([nFactor, dFactor]), + ce.sqrt(ce.number([nRoot, dRoot])) + ]); + } + } + if (isBigRational(r) || bignumPreferred(ce)) { + const n2 = bigint(r[0]); + const [nFactor, nRoot] = factorPower2(n2 > 0 ? n2 : -n2, 2); + const [dFactor, dRoot] = factorPower2(bigint(r[1]), 2); + if (n2 < 0) + return ce.mul([ + ce.number([nFactor, dFactor]), + ce.sqrt(ce.number([nRoot, dRoot])), + ce._I + ]); + return ce.mul([ + ce.number([nFactor, dFactor]), + ce.sqrt(ce.number([nRoot, dRoot])) + ]); + } + } + return void 0; +} +function rootExp(exponent) { + if (typeof exponent.numericValue === "number") { + const inv = 1 / exponent.numericValue; + if (Number.isInteger(inv)) + return inv; + return null; + } + if (exponent.numericValue instanceof decimal_default) { + const inv = exponent.engine._BIGNUM_ONE.div(exponent.numericValue); + if (inv.isInt()) + return inv.toNumber(); + return null; + } + if (!isRational(exponent.numericValue)) + return null; + const [n, d] = [ + machineNumerator(exponent.numericValue), + machineDenominator(exponent.numericValue) + ]; + if (n !== 1 && n !== -1) + return null; + return n * d; +} +function canonicalMultiply(ce, ops2) { + /* @__PURE__ */ console.assert(ops2.every((x) => x.isCanonical)); + if (ops2.length === 0) + return ce.number(1); + if (ops2.length === 1) + return ops2[0]; + if (ops2.length === 2) + return multiply2(ops2[0], ops2[1]); + const product = new Product(ce); + for (const op3 of ops2) { + if (op3.isNaN || op3.symbol === "Undefined") + return ce._NAN; + product.addTerm(op3); + } + return product.asExpression(); +} +function simplifyMultiply(ce, ops2) { + /* @__PURE__ */ console.assert(ops2.every((x) => x.head !== "Multiply")); + const product = new Product(ce); + for (let op3 of ops2) { + op3 = op3.simplify(); + if (op3.isNaN || op3.symbol === "Undefined") + return ce._NAN; + product.addTerm(op3); + } + return product.asExpression(); +} +function evalMultiply(ce, ops2, mode = "evaluate") { + /* @__PURE__ */ console.assert(ops2.length > 1, "evalMultiply(): no arguments"); + if (mode === "N") { + ops2 = ops2.map((x) => x.N()); + if ((ce.numericMode === "machine" || ce.numericMode === "auto") && ops2.every((x) => typeof x.numericValue === "number")) { + let prod = 1; + for (const op3 of ops2) + prod *= op3.numericValue; + return ce.number(prod); + } + } + for (const op3 of ops2) { + if (op3.isNaN || op3.symbol === "Undefined") + return ce._NAN; + if (!op3.isExact) + mode = "N"; + } + /* @__PURE__ */ console.assert(ops2.every((x) => x.head !== "Multiply")); + if (mode === "N") + ops2 = ops2.map((x) => x.N()); + else + ops2 = ops2.map((x) => x.evaluate()); + return new Product(ce, ops2).asExpression(mode); +} +function multiply2(op12, op22, metadata) { + var _a; + /* @__PURE__ */ console.assert(op12.isCanonical); + /* @__PURE__ */ console.assert(op22.isCanonical); + const ce = op12.engine; + if (op12.symbol === "ImaginaryUnit") { + const f = asFloat(op22); + if (f !== null) + return ce.number(ce.complex(0, f)); + } + if (op22.symbol === "ImaginaryUnit") { + const f = asFloat(op12); + if (f !== null) + return ce.number(ce.complex(0, f)); + } + if (op12.numericValue !== null && op22.numericValue !== null) { + const f1 = asFloat(op12); + const f2 = asFloat(op22); + if (f1 !== null && ce.isComplex(op22)) + return ce.number(ce.complex(f1 * op22.re, f1 * op22.im)); + if (f2 !== null && ce.isComplex(op12)) + return ce.number(ce.complex(f2 * op12.re, f2 * op12.im)); + } + if (op12.numericValue !== null && op22.numericValue !== null && op12.isInteger && op22.isInteger) { + return (_a = apply2N( + op12, + op22, + (a, b) => a * b, + (a, b) => a.mul(b) + )) != null ? _a : ce._NAN; + } + if (op12.isNaN || op22.isNaN || op12.symbol === "Undefined" || op22.symbol === "Undefined") + return ce._NAN; + if (op12.isNothing) + return op22; + if (op22.isNothing) + return op12; + if (op12.numericValue !== null) { + if (op12.isOne) + return op22; + if (op12.isNegativeOne) + return canonicalNegate(op22); + } + if (op22.numericValue !== null) { + if (op22.isOne) + return op12; + if (op22.isNegativeOne) + return canonicalNegate(op12); + } + let sign2 = 1; + let [t, c] = op12.numericValue !== null ? [op12, op22] : [op22, op12]; + /* @__PURE__ */ console.assert(t.head !== "Subtract"); + if (t.head === "Negate") { + t = t.op1; + sign2 = -sign2; + } + if (c.numericValue !== null) { + const r = asRational(c); + if (r) { + if (isRationalOne(r)) + return t; + if (isRationalZero(r)) + return ce._ZERO; + if (t.head === "Add") { + if (sign2 < 0) + c = canonicalNegate(c); + return ce.add( + t.ops.map((x) => multiply2(c, x)), + metadata + ); + } + const tr = asRational(t); + if (tr) { + const p = mul2(r, tr); + return ce.number(sign2 < 0 ? neg(p) : p, { metadata }); + } + if (sign2 < 0) + return ce._fn("Multiply", [canonicalNegate(c), t], metadata); + return ce._fn("Multiply", [c, t], metadata); + } + } + if (c.hash === t.hash && c.isSame(t)) + return square(ce, c); + const product = new Product(ce, [c, t]); + if (sign2 > 0) + return product.asExpression(); + return canonicalNegate(product.asExpression(), metadata); +} +function canonicalProduct(ce, body, range) { + var _a, _b, _c, _d, _e, _f, _g, _h; + body != null ? body : body = ce.error("missing"); + let index = null; + let lower = null; + let upper = null; + if (range && range.head !== "Tuple" && range.head !== "Triple" && range.head !== "Pair" && range.head !== "Single") { + index = range; + } else if (range) { + index = (_b = (_a = range.ops) == null ? void 0 : _a[0]) != null ? _b : null; + lower = (_e = (_d = (_c = range.ops) == null ? void 0 : _c[1]) == null ? void 0 : _d.canonical) != null ? _e : null; + upper = (_h = (_g = (_f = range.ops) == null ? void 0 : _f[2]) == null ? void 0 : _g.canonical) != null ? _h : null; + } + if (index && index.head === "Hold") + index = index.op1; + if (index && index.head === "ReleaseHold") + index = index.op1.evaluate(); + index != null ? index : index = ce.symbol("Nothing"); + if (!index.symbol) + index = ce.error(["incompatible-domain", "Symbol", index.domain]); + else + index = ce.hold(index); + if (lower && lower.isFinite) + lower = validateArgument(ce, lower, "Integer"); + if (upper && upper.isFinite) + upper = validateArgument(ce, upper, "Integer"); + if (lower && upper) + range = ce.tuple([index, lower, upper]); + else if (upper) + range = ce.tuple([index, ce.number(1), upper]); + else if (lower) + range = ce.tuple([index, lower]); + else + range = index; + return ce._fn("Product", [body.canonical, range]); +} +function evalMultiplication(ce, expr, range, mode) { + var _a; + const [index, lower, upper, isFinite2] = normalizeLimits(range); + const fn = expr; + if (mode !== "N" && (lower >= upper || upper - lower >= MAX_SYMBOLIC_TERMS)) + return void 0; + let result = null; + const savedContext = ce.context; + ce.context = (_a = fn.scope) != null ? _a : ce.context; + if (mode === "simplify") { + const terms = []; + if (!fn.scope) + for (let i = lower; i <= upper; i++) + terms.push(fn.simplify()); + else + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + terms.push(fn.simplify()); + } + result = ce.mul(terms).simplify(); + } + if (mode === "evaluate") { + const terms = []; + if (!fn.scope) + for (let i = lower; i <= upper; i++) + terms.push(fn.evaluate()); + else + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + terms.push(fn.evaluate()); + } + result = ce.mul(terms).evaluate(); + } + if (mode === "N") { + if (result === null && !fn.scope) { + const n = fn.N(); + if (!isFinite2) { + if (n.isZero) + result = ce._ZERO; + else if (n.isPositive) + result = ce._POSITIVE_INFINITY; + else + result = ce._NEGATIVE_INFINITY; + } + if (result === null && fn.isPure) + result = ce.pow(n, ce.number(upper - lower + 1)); + } + if (result === null && isFinite2) { + if (bignumPreferred(ce)) { + let product2 = ce.bignum(1); + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asBignum(fn.N()); + if (term === null || !term.isFinite()) { + result = term !== null ? ce.number(term) : void 0; + break; + } + product2 = product2.mul(term); + } + if (result === null) + result = ce.number(product2); + } + let product = 1; + const numericMode = ce.numericMode; + ce.numericMode = "machine"; + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asFloat(fn.N()); + if (term === null || !Number.isFinite(term)) { + result = term !== null ? ce.number(term) : void 0; + break; + } + product *= term; + } + ce.numericMode = numericMode; + if (result === null) + result = ce.number(product); + } + if (result === null) { + ce.set({ [index]: 1e3 }); + const nMax = fn.N(); + ce.set({ [index]: 999 }); + const nMaxMinusOne = fn.N(); + const ratio = asFloat(ce.div(nMax, nMaxMinusOne).N()); + if (ratio !== null && Number.isFinite(ratio) && Math.abs(ratio) > 1) { + result = ce._POSITIVE_INFINITY; + } else { + let product = 1; + const numericMode = ce.numericMode; + ce.numericMode = "machine"; + for (let i = lower; i <= upper; i++) { + ce.set({ [index]: i }); + const term = asFloat(fn.N()); + if (term === null) { + result = void 0; + break; + } + if (Math.abs(1 - term) < Number.EPSILON || !Number.isFinite(term)) + break; + product *= term; + } + if (result === null) + result = ce.number(product); + ce.numericMode = numericMode; + } + } + } + ce.context = savedContext; + return result != null ? result : void 0; +} +function canonicalDivide(ce, op12, op22) { + if (!op12.isValid || !op22.isValid) + return ce._fn("Divide", [op12, op22]); + if (op12.head === "Negate" && op22.head === "Negate") { + op12 = op12.op1; + op22 = op22.op1; + } + if (op12.numericValue !== null && op22.numericValue !== null) { + if (op22.isOne) + return op12; + if (op22.isNegativeOne) + return ce.neg(op12); + if (op12.isOne) + return ce.inv(op22); + if (op12.isNegativeOne) + return ce.neg(ce.inv(op22)); + const r1 = asRational(op12); + const r2 = asRational(op22); + if (r1 && r2 && !isRationalZero(r2)) + return ce.number(mul2(r1, inverse(r2))); + } + if (op12.head === "Divide" && op22.head === "Divide") { + return canonicalDivide( + ce, + ce.mul([op12.op1, op22.op2]), + ce.mul([op12.op2, op22.op1]) + ); + } + if (op12.head === "Divide") + return canonicalDivide(ce, ce.mul([op12.op1, op22]), op12.op2); + if (op22.head === "Divide") + return canonicalDivide(ce, ce.mul([op12, op22.op2]), op22.op1); + const num1 = op12.numericValue; + if (num1 !== null) { + if (isMachineRational(num1)) { + const [a, b] = num1; + return canonicalDivide(ce, ce.number(a), ce.mul([ce.number(b), op22])); + } + if (isBigRational(num1)) { + const [a, b] = num1; + return canonicalDivide(ce, ce.number(a), ce.mul([ce.number(b), op22])); + } + } + const num2 = op22.numericValue; + if (num2 !== null) { + if (isMachineRational(num2)) { + const [a, b] = num2; + return canonicalDivide(ce, ce.mul([op12, ce.number(b)]), ce.number(a)); + } + if (isBigRational(num2)) { + const [a, b] = num2; + return canonicalDivide(ce, ce.mul([op12, ce.number(b)]), ce.number(a)); + } + } + const [c1, t1] = asCoefficient(op12); + const [c2, t2] = asCoefficient(op22); + if (!isRationalOne(c1) || !isRationalOne(c2)) { + const [cn, cd] = mul2(c1, inverse(c2)); + const en = ce.mul([ce.number(cn), t1]); + if (en.isZero) + return ce._ZERO; + const ed = ce.mul([ce.number(cd), t2]); + if (ed.isOne) + return en; + return ce._fn("Divide", [en, ed]); + } + let [nSign, n] = makePositive(op12); + let [dSign, d] = makePositive(op22); + n = n.canonical; + d = d.canonical; + if (d.numericValue !== null && d.isOne) + return nSign * dSign < 0 ? canonicalNegate(n) : n; + if (nSign * dSign > 0) + return ce._fn("Divide", [n, d]); + if (n.numericValue) + return ce._fn("Divide", [canonicalNegate(n), d]); + return canonicalNegate(ce._fn("Divide", [n, d])); +} +function simplifyDivide(ce, op12, op22) { + if (op12.numericValue !== null && op22.numericValue !== null) { + const r1 = asRational(op12); + const r2 = asRational(op22); + if (r1 && r2 && !isRationalZero(r2)) + return ce.number(mul2(r1, inverse(r2))); + } + return new Product(ce, [op12, ce.inv(op22)]).asRationalExpression(); +} +var import_complex16 = __toESM(require_complex()); +var ARITHMETIC_LIBRARY = [ + { + // + // Functions + // + Abs: { + wikidata: "Q3317982", + // magnitude 'Q120812 (for reals) + threadable: true, + idempotent: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "NonNegativeNumber"], + simplify: (ce, ops2) => processAbs(ce, ops2[0], "simplify"), + evaluate: (ce, ops2) => processAbs(ce, ops2[0], "evaluate"), + N: (ce, ops2) => processAbs(ce, ops2[0], "N") + } + }, + Add: { + wikidata: "Q32043", + associative: true, + commutative: true, + threadable: true, + idempotent: true, + complexity: 1300, + hold: "all", + signature: { + domain: "NumericFunction", + codomain: (ce, args) => domainAdd( + ce, + args.map((x) => x.domain) + ), + // canonical: (ce, args) => canonicalAdd(ce, args), // never called: shortpath + simplify: (ce, ops2) => simplifyAdd(ce, ops2), + evaluate: (ce, ops2) => evalAdd(ce, ops2), + N: (ce, ops2) => evalAdd(ce, ops2, "N") + } + }, + Ceil: { + description: "Rounds a number up to the next largest integer", + complexity: 1250, + signature: { + domain: ["Function", "Number", "Integer"], + evaluate: (_ce, ops2) => applyN( + ops2[0], + Math.ceil, + (x) => x.ceil(), + (z) => z.ceil(0) + ) + } + }, + Chop: { + associative: true, + threadable: true, + idempotent: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => applyN( + ops2[0], + (x) => ce.chop(x), + (x) => ce.chop(x), + (x) => ce.chop(x) + ) + } + }, + Complex: { + // This function is converted during boxing, so unlikely to encounter + wikidata: "Q11567", + complexity: 500 + }, + Divide: { + wikidata: "Q1226939", + complexity: 2500, + // - if numer product of numbers, or denom product of numbers, + // i.e. √2x/2 -> 0.707x, 2/√2x -> 1.4142x + signature: { + domain: ["Function", "Number", "Number", "Number"], + canonical: (ce, args) => { + args = validateArguments(ce, canonical(flattenSequence(args)), [ + "Number", + "Number" + ]); + if (args.length !== 2) + return ce._fn("Divide", args); + return ce.div(args[0], args[1]); + }, + simplify: (ce, args) => simplifyDivide(ce, args[0], args[1]), + evaluate: (ce, ops2) => apply2N( + ops2[0], + ops2[1], + (n, d) => n / d, + (n, d) => n.div(d), + (n, d) => n.div(d) + ) + } + }, + Exp: { + wikidata: "Q168698", + threadable: true, + complexity: 3500, + // Exp(x) -> e^x + signature: { + domain: ["Function", "Number", "Number"], + canonical: (ce, args) => { + args = validateArguments(ce, canonical(flattenSequence(args)), [ + "Number" + ]); + if (args.length !== 1) + return ce._fn("Power", args); + return ce.pow(ce.symbol("ExponentialE"), args[0]); + } + } + }, + Factorial: { + description: "Factorial Function", + wikidata: "Q120976", + complexity: 9e3, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const n = asSmallInteger(ops2[0]); + if (n !== null && n >= 0) { + if (!bignumPreferred(ce)) + return ce.number(factorial(n)); + return ce.number(factorial2(ce, ce.bignum(n))); + } + const num = ops2[0].numericValue; + if (num !== null && num instanceof import_complex16.default) + return ce.number(gamma3(num.add(1))); + const f = asFloat(ops2[0]); + if (f !== null) + return ce.number(gamma(1 + f)); + return void 0; + } + } + }, + Floor: { + wikidata: "Q56860783", + complexity: 1250, + signature: { + domain: ["Function", "Number", "ExtendedRealNumber"], + evaluate: (ce, ops2) => applyN( + ops2[0], + Math.floor, + (x) => x.floor(), + (z) => z.floor(0) + ) + } + }, + Gamma: { + wikidata: "Q190573", + complexity: 8e3, + signature: { + domain: ["Function", "Number", "Number"], + N: (ce, ops2) => applyN( + ops2[0], + (x) => gamma(x), + (x) => gamma2(ce, x), + (x) => gamma3(x) + ) + } + }, + LogGamma: { + complexity: 8e3, + signature: { + domain: ["Function", "Number", "Number"], + N: (ce, ops2) => applyN( + ops2[0], + (x) => lngamma(x), + (x) => lngamma2(ce, x), + (x) => lngamma3(x) + ) + } + }, + Ln: { + description: "Natural Logarithm", + wikidata: "Q204037", + complexity: 4e3, + signature: { + domain: ["Function", "Number", "Number"], + N: (ce, ops2) => applyN( + ops2[0], + (x) => x >= 0 ? Math.log(x) : ce.complex(x).log(), + (x) => !x.isNeg() ? x.ln() : ce.complex(x.toNumber()).log(), + (z) => z.log() + ) + } + }, + Log: { + description: "Log(z, b = 10) = Logarithm of base b", + wikidata: "Q11197", + complexity: 4100, + signature: { + domain: ["Function", "Number", ["Maybe", "Number"], "Number"], + canonical: (ce, ops2) => { + ops2 = canonical(flattenSequence(ops2)); + if (ops2.length === 1) + return ce._fn("Log", [validateArgument(ce, ops2[0], "Number")]); + if (ops2.length === 2) { + const arg = validateArgument(ce, ops2[0], "Number"); + const base = validateArgument(ce, ops2[1], "Number"); + if (base.numericValue === 10) + return ce._fn("Log", [arg]); + return ce._fn("Log", [arg, base]); + } + return ce._fn("Log", validateArgumentCount(ce, ops2, 2)); + }, + N: (ce, ops2) => { + if (ops2[1] === void 0) + return applyN( + ops2[0], + (x) => x >= 0 ? Math.log10(x) : ce.complex(x).log().div(Math.LN10), + (x) => !x.isNeg() ? decimal_default.log10(x) : ce.complex(x.toNumber()).log().div(Math.LN10), + (z) => z.log().div(Math.LN10) + ); + return apply2N( + ops2[0], + ops2[1], + (a, b) => Math.log(a) / Math.log(b), + (a, b) => a.log(b), + (a, b) => a.log().div(typeof b === "number" ? Math.log(b) : b.log()) + ); + } + } + }, + Lb: { + description: "Base-2 Logarithm", + wikidata: "Q581168", + complexity: 4100, + signature: { + domain: ["Function", "Number", "Number"], + N: (ce, ops2) => applyN( + ops2[0], + (x) => x >= 0 ? Math.log2(x) : ce.complex(x).log().div(Math.LN2), + (x) => x.isNeg() ? decimal_default.log10(x) : ce.complex(x.toNumber()).log().div(Math.LN2), + (z) => z.log().div(Math.LN2) + ) + } + }, + Lg: { + description: "Base-10 Logarithm", + wikidata: "Q966582", + complexity: 4100, + signature: { + domain: ["Function", "Number", "Number"], + N: (ce, ops2) => applyN( + ops2[0], + (x) => x >= 0 ? Math.log10(x) : ce.complex(x).log().div(Math.LN10), + (x) => !x.isNeg() ? decimal_default.log10(x) : ce.complex(x.toNumber()).log().div(Math.LN10), + (z) => z.log().div(Math.LN10) + ) + } + }, + Max: { + description: "Maximum of two or more numbers", + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + simplify: (ce, ops2) => { + if (ops2.length === 0) + return ce._NEGATIVE_INFINITY; + if (ops2.length === 1) + return ops2[0]; + return ce.fn("Max", ops2); + }, + evaluate: (ce, ops2) => { + if (ops2.length === 0) + return ce._NEGATIVE_INFINITY; + let result = void 0; + const rest = []; + for (const op3 of ops2) { + if (!op3.isNumber || op3.numericValue === void 0) + rest.push(op3); + else if (!result || op3.isGreater(result)) + result = op3; + } + if (rest.length > 0) + return ce.box(result ? ["Max", result, ...rest] : ["Max", ...rest]); + return result != null ? result : ce._NAN; + } + } + }, + Min: { + description: "Minimum of two or more numbers", + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + simplify: (ce, ops2) => { + if (ops2.length === 0) + return ce._NEGATIVE_INFINITY; + if (ops2.length === 1) + return ops2[0]; + return ce.fn("Min", ops2); + }, + evaluate: (ce, ops2) => { + if (ops2.length === 0) + return ce._NEGATIVE_INFINITY; + let result = void 0; + const rest = []; + for (const op3 of ops2) { + if (!op3.isNumber || op3.numericValue === void 0) + rest.push(op3); + else if (!result || op3.isLess(result)) + result = op3; + } + if (rest.length > 0) + return ce.box(result ? ["Min", result, ...rest] : ["Min", ...rest]); + return result != null ? result : ce._NAN; + } + } + }, + Multiply: { + wikidata: "Q40276", + associative: true, + commutative: true, + idempotent: true, + complexity: 2100, + hold: "all", + signature: { + domain: "NumericFunction", + // Never called: fastpath + // canonical: (ce, args) => { + // return canonicalMultiply(ce, args); + // }, + simplify: (ce, ops2) => simplifyMultiply(ce, ops2), + evaluate: (ce, ops2) => evalMultiply(ce, ops2), + N: (ce, ops2) => evalMultiply(ce, ops2, "N") + } + }, + Negate: { + description: "Additive Inverse", + wikidata: "Q715358", + complexity: 2e3, + signature: { + domain: ["Function", "Number", "Number"], + codomain: (ce, args) => { + const arg = args[0].domain; + if (!arg.literal) + return arg; + const negDomain = { + PositiveNumber: "NegativeNumber", + NonNegativeNumber: "NonPositiveNumber", + NonPositiveNumber: "NonNegativeNumber", + NegativeNumber: "PositiveNumber", + PositiveInteger: "NegativeInteger", + NonNegativeInteger: "NonPositiveInteger", + NonPositiveInteger: "NonNegativeInteger", + NegativeInteger: "PositiveInteger" + }[arg.literal]; + if (negDomain) + return ce.domain(negDomain); + return arg; + }, + canonical: (ce, args) => { + args = validateArguments(ce, canonical(flattenSequence(args)), [ + "Number" + ]); + if (args.length !== 1) + return ce._fn("Negate", args); + return canonicalNegate(args[0]); + }, + simplify: (ce, ops2) => processNegate(ce, ops2[0], "simplify"), + evaluate: (ce, ops2) => processNegate(ce, ops2[0], "evaluate"), + N: (ce, ops2) => processNegate(ce, ops2[0], "N"), + sgn: (_ce, args) => { + const s = args[0].sgn; + if (s === void 0 || s === null) + return void 0; + if (s === 0) + return 0; + if (s > 0) + return -1; + if (s < 0) + return 1; + return void 0; + } + } + }, + Power: { + wikidata: "Q33456", + commutative: false, + complexity: 3500, + signature: { + domain: ["Function", "Number", "Number", "Number"], + canonical: (ce, args) => { + args = validateArguments(ce, canonical(flattenSequence(args)), [ + "Number", + "Number" + ]); + if (args.length !== 2) + return ce._fn("Power", args); + return ce.pow(args[0], args[1]); + }, + simplify: (ce, ops2) => processPower(ce, ops2[0], ops2[1], "simplify"), + evaluate: (ce, ops2) => processPower(ce, ops2[0], ops2[1], "evaluate"), + N: (ce, ops2) => { + if (ce.numericMode === "machine" && typeof ops2[0].numericValue === "number" && typeof ops2[1].numericValue === "number") + return ce.number( + Math.pow(ops2[0].numericValue, ops2[1].numericValue) + ); + return processPower(ce, ops2[0], ops2[1], "N"); + } + // Defined as RealNumber for all power in RealNumber when base > 0; + // when x < 0, only defined if n is an integer + // if x is a non-zero complex, defined as ComplexNumber + // Square root of a prime is irrational (AlgebraicNumber) + // https://proofwiki.org/wiki/Square_Root_of_Prime_is_Irrational + // evalDomain: (ce, base: BoxedExpression, power: BoxedExpression) ; + } + }, + Product: { + wikidata: "Q901718", + complexity: 1e3, + hold: "first", + signature: { + domain: [ + "Function", + "Anything", + // [ + // 'Maybe', + "Tuple", + // ['Tuple', 'Symbol', ['Maybe', 'Integer'], ['Maybe', 'Integer']], + // ], + "Number" + ], + // codomain: (ce, args) => domainAdd(ce, args), + // The 'body' and 'range' need to be interpreted by canonicalMultiplication(). Don't canonicalize them yet. + canonical: (ce, ops2) => canonicalProduct(ce, ops2[0], ops2[1]), + simplify: (ce, ops2) => evalMultiplication(ce, ops2[0], ops2[1], "simplify"), + evaluate: (ce, ops2) => evalMultiplication(ce, ops2[0], ops2[1], "evaluate"), + N: (ce, ops2) => evalMultiplication(ce, ops2[0], ops2[1], "N") + } + }, + Rational: { + complexity: 2400, + signature: { + domain: ["Function", "Number", ["Maybe", "Number"], "RationalNumber"], + canonical: (ce, args) => { + args = canonical(flattenSequence(args)); + if (args.length === 0) + return ce._fn("Rational", [ce.error("missing")]); + if (args.length === 1) + return ce._fn("Rational", [ + validateArgument(ce, args[0], "ExtendedRealNumber") + ]); + args = validateArguments(ce, args, ["Integer", "Integer"]); + if (args.length !== 2) + return ce._fn("Rational", args); + return ce.div(args[0], args[1]); + }, + simplify: (ce, ops2) => { + if (ops2.length !== 2) + return void 0; + return simplifyDivide(ce, ops2[0], ops2[1]); + }, + evaluate: (ce, ops2) => { + if (ops2.length === 2) { + const [n, d] = [asSmallInteger(ops2[0]), asSmallInteger(ops2[1])]; + if (n !== null && d !== null) + return ce.number([n, d]); + return void 0; + } + const f = asFloat(ops2[0].N()); + if (f === null) + return void 0; + return ce.number(rationalize(f)); + }, + N: (ce, ops2) => { + if (ops2.length === 1) + return ops2[0]; + return apply2N( + ops2[0], + ops2[1], + (a, b) => a / b, + (a, b) => a.div(b), + (a, b) => a.div(b) + ); + } + } + }, + Root: { + complexity: 3200, + signature: { + domain: ["Function", "Number", "Number", "Number"], + canonical: (ce, args) => { + args = canonical(flattenSequence(args)); + if (args.length > 2) + return ce._fn("Root", validateArgumentCount(ce, args, 2)); + const [base, exp2] = [ + validateArgument(ce, args[0], "Number"), + validateArgument(ce, args[1], "Number") + ]; + if (!exp2.isValid || !base.isValid) + return ce._fn("Root", [base, exp2]); + return ce.pow(base, ce.inv(exp2)); + } + } + }, + Round: { + complexity: 1250, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => applyN( + ops2[0], + Math.round, + (x) => x.round(), + (x) => x.round(0) + ) + } + }, + Sign: { + complexity: 1200, + signature: { + domain: ["Function", "Number", ["Range", -1, 1]], + simplify: (ce, ops2) => { + const s = ops2[0].sgn; + if (s === 0) + return ce._ZERO; + if (s === 1) + return ce._ONE; + if (s === -1) + return ce._NEGATIVE_ONE; + return void 0; + }, + evaluate: (ce, ops2) => { + const s = ops2[0].sgn; + if (s === 0) + return ce._ZERO; + if (s === 1) + return ce._ONE; + if (s === -1) + return ce._NEGATIVE_ONE; + return void 0; + }, + N: (ce, ops2) => { + const s = ops2[0].sgn; + if (s === 0) + return ce._ZERO; + if (s === 1) + return ce._ONE; + if (s === -1) + return ce._NEGATIVE_ONE; + return void 0; + } + } + }, + SignGamma: { + description: "The sign of the gamma function: -1 or +1", + complexity: 7900 + // @todo + }, + Sqrt: { + description: "Square Root", + wikidata: "Q134237", + complexity: 3e3, + signature: { + domain: ["Function", "Number", "Number"], + canonical: (ce, args) => { + args = canonical(flattenSequence(args)); + if (args.length !== 1) + return ce._fn("Sqrt", args); + return ce.pow(args[0], ce._HALF); + }, + simplify: (ce, ops2) => processSqrt(ce, ops2[0], "simplify"), + evaluate: (ce, ops2) => processSqrt(ce, ops2[0], "evaluate"), + N: (ce, ops2) => processSqrt(ce, ops2[0], "N") + // evalDomain: Square root of a prime is irrational + // https://proofwiki.org/wiki/Square_Root_of_Prime_is_Irrational + } + }, + Square: { + wikidata: "Q3075175", + complexity: 3100, + signature: { + domain: ["Function", "Number", "Number"], + canonical: (ce, args) => { + args = canonical(flattenSequence(args)); + if (args.length !== 1) + return ce._fn("Square", args); + return ce.pow(args[0], ce.number(2)); + } + } + }, + Subtract: { + wikidata: "Q40754", + complexity: 1350, + signature: { + domain: ["Function", "Number", ["Maybe", "Number"], "Number"], + canonical: (ce, args) => { + args = canonical(flattenSequence(args)); + if (args.length === 1) + return canonicalNegate(args[0]); + args = validateArgumentCount(ce, args, 2); + if (args.length !== 2) + return ce._fn("Subtract", args); + if (!args.every((x) => x.isValid)) + return ce._fn("Subtract", args); + return ce.add([args[0], canonicalNegate(args[1])]); + } + } + }, + Sum: { + wikidata: "Q218005", + complexity: 1e3, + hold: "all", + signature: { + domain: [ + "Function", + "Anything", + // [ + // 'Maybe', + "Tuple", + // ['Tuple', 'Symbol', ['Maybe', 'Integer'], ['Maybe', 'Integer']], + // ], + "Number" + ], + canonical: (ce, ops2) => canonicalSummation(ce, ops2[0], ops2[1]), + simplify: (ce, ops2) => evalSummation(ce, ops2[0], ops2[1], "simplify"), + evaluate: (ce, ops2) => evalSummation(ce, ops2[0], ops2[1], "evaluate"), + N: (ce, ops2) => evalSummation(ce, ops2[0], ops2[1], "N") + } + } + }, + { + // + // Constants + // Note: constants are put in a separate, subsequent, dictionary because + // some of the values (CatalanConstant) reference some function names (Add...) + // that are defined above. This avoid circular references. + // + e: { + domain: "TranscendentalNumber", + constant: true, + holdUntil: "never", + value: "ExponentialE" + }, + i: { + domain: "ImaginaryNumber", + constant: true, + holdUntil: "never", + flags: { imaginary: true }, + value: "ImaginaryUnit" + }, + MachineEpsilon: { + /** + * The difference between 1 and the next larger floating point number + * + * 2^{−52} + * + * See https://en.wikipedia.org/wiki/Machine_epsilon + */ + domain: "RealNumber", + holdUntil: "N", + constant: true, + flags: { real: true }, + value: { num: Number.EPSILON.toString() } + }, + Half: { + constant: true, + holdUntil: "evaluate", + value: ["Rational", 1, 2] + }, + ImaginaryUnit: { + domain: "ImaginaryNumber", + constant: true, + holdUntil: "evaluate", + wikidata: "Q193796", + flags: { imaginary: true }, + value: ["Complex", 0, 1] + }, + ExponentialE: { + domain: "TranscendentalNumber", + flags: { algebraic: false, real: true }, + wikidata: "Q82435", + constant: true, + holdUntil: "N", + value: (engine) => bignumPreferred(engine) ? engine._BIGNUM_ONE.exp() : Math.exp(1) + }, + GoldenRatio: { + domain: "AlgebraicNumber", + wikidata: "Q41690", + constant: true, + flags: { algebraic: true }, + holdUntil: "simplify", + value: ["Divide", ["Add", 1, ["Sqrt", 5]], 2] + }, + CatalanConstant: { + domain: "RealNumber", + flags: { algebraic: void 0 }, + // Not proven irrational or transcendental + wikidata: "Q855282", + constant: true, + holdUntil: "N", + value: { + // From http://www.fullbooks.com/Miscellaneous-Mathematical-Constants1.html + num: `0.91596559417721901505460351493238411077414937428167 + 21342664981196217630197762547694793565129261151062 + 48574422619196199579035898803325859059431594737481 + 15840699533202877331946051903872747816408786590902 + 47064841521630002287276409423882599577415088163974 + 70252482011560707644883807873370489900864775113225 + 99713434074854075532307685653357680958352602193823 + 23950800720680355761048235733942319149829836189977 + 06903640418086217941101917532743149978233976105512 + 24779530324875371878665828082360570225594194818097 + 53509711315712615804242723636439850017382875977976 + 53068370092980873887495610893659771940968726844441 + 66804621624339864838916280448281506273022742073884 + 31172218272190472255870531908685735423498539498309 + 91911596738846450861515249962423704374517773723517 + 75440708538464401321748392999947572446199754961975 + 87064007474870701490937678873045869979860644874974 + 64387206238513712392736304998503539223928787979063 + 36440323547845358519277777872709060830319943013323 + 16712476158709792455479119092126201854803963934243 + ` + } + }, + EulerGamma: { + // From http://www.fullbooks.com/Miscellaneous-Mathematical-Constants2.html + domain: "RealNumber", + flags: { algebraic: void 0 }, + // Not proven irrational or transcendental + wikidata: "Q273023", + holdUntil: "N", + constant: true, + value: { + num: `0.57721566490153286060651209008240243104215933593992359880576723488486772677766 + 467093694706329174674951463144724980708248096050401448654283622417399764492353 + 625350033374293733773767394279259525824709491600873520394816567085323315177661 + 152862119950150798479374508570574002992135478614669402960432542151905877553526 + 733139925401296742051375413954911168510280798423487758720503843109399736137255 + 306088933126760017247953783675927135157722610273492913940798430103417771778088 + 154957066107501016191663340152278935867965497252036212879226555953669628176388 + 792726801324310104765059637039473949576389065729679296010090151251959509222435 + 014093498712282479497471956469763185066761290638110518241974448678363808617494 + 551698927923018773910729457815543160050021828440960537724342032854783670151773 + 943987003023703395183286900015581939880427074115422278197165230110735658339673` + } + } + }, + { + PreIncrement: { + signature: { domain: ["Function", "Number", "Number"] } + }, + PreDecrement: { + signature: { domain: ["Function", "Number", "Number"] } + } + } +]; +function processAbs(ce, arg, mode) { + if (mode !== "simplify") { + const num = arg.numericValue; + if (num !== null) { + if (typeof num === "number") + return ce.number(Math.abs(num)); + if (num instanceof decimal_default) + return ce.number(num.abs()); + if (num instanceof import_complex16.default) + return ce.number(num.abs()); + if (isMachineRational(num)) + return ce.number( + mode === "N" ? Math.abs(num[0] / num[1]) : [Math.abs(num[0]), num[1]] + ); + if (isBigRational(num)) { + const [n, d] = num; + return ce.number( + mode === "N" ? ce.bignum(n).div(ce.bignum(d)).abs() : [n > 0 ? n : -n, d] + ); + } + } + } + if (arg.isNonNegative) + return arg; + if (arg.isNegative) + return ce.neg(arg); + return void 0; +} +var CALCULUS_LIBRARY = [ + { + // + // Functions + // + Integrate: { + wikidata: "Q80091", + hold: "all", + signature: { + domain: [ + "Function", + "Anything", + ["Union", "Nothing", "Tuple", "Symbol"], + // ['Tuple', 'Symbol', ['Maybe', 'Integer'], ['Maybe', 'Integer']], + "Number" + ], + canonical: (ce, ops2) => { + var _a, _b, _c, _d, _e, _f, _g, _h, _i; + const body = (_a = ops2[0]) != null ? _a : ce.error("missing"); + let range = ops2[1]; + let index = null; + let lower = null; + let upper = null; + if (range && range.head !== "Tuple" && range.head !== "Triple" && range.head !== "Pair" && range.head !== "Single") { + index = range; + } else if (range) { + index = (_c = (_b = range.ops) == null ? void 0 : _b[0]) != null ? _c : null; + lower = (_f = (_e = (_d = range.ops) == null ? void 0 : _d[1]) == null ? void 0 : _e.canonical) != null ? _f : null; + upper = (_i = (_h = (_g = range.ops) == null ? void 0 : _g[2]) == null ? void 0 : _h.canonical) != null ? _i : null; + } + if (index && index.head === "Hold") + index = index.op1; + if (index && index.head === "ReleaseHold") + index = index.op1.evaluate(); + index != null ? index : index = ce.symbol("Nothing"); + if (!index.symbol) + index = ce.error(["incompatible-domain", "Symbol", index.domain]); + if (lower) + lower = validateArgument(ce, lower, "Number"); + if (upper) + upper = validateArgument(ce, upper, "Number"); + if (lower && upper) + range = ce.tuple([index, lower, upper]); + else if (upper) + range = ce.tuple([index, ce._NEGATIVE_INFINITY, upper]); + else if (lower) + range = ce.tuple([index, lower]); + else + range = index; + return ce._fn("Integrate", [body.canonical, range]); + } + } + } + } +]; +var COLLECTIONS_LIBRARY = { + Sequence: { + signature: { + domain: "Function" + } + } +}; +var COMPLEX_LIBRARY = [ + { + Real: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const op3 = ops2[0].numericValue; + if (op3 === null) + return void 0; + if (ce.isComplex(op3)) + return ce.number(op3.re); + return ops2[0]; + } + } + }, + Imaginary: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const op3 = ops2[0].numericValue; + if (op3 === null) + return void 0; + if (ce.isComplex(op3)) + return ce.number(op3.im); + return ce._ZERO; + } + } + }, + Argument: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const op3 = ops2[0].numericValue; + if (op3 === null) + return void 0; + if (ce.isComplex(op3)) + return ce.number(op3.arg()); + const f = asFloat(ops2[0]); + if (f === null) + return void 0; + if (f >= 0) + return ce.number(0); + return ce.number(Math.PI); + } + } + }, + AbsArg: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Tuple"], + evaluate: (ce, ops2) => { + const op3 = ops2[0].numericValue; + if (op3 === null) + return void 0; + if (ce.isComplex(op3)) + return ce.tuple([ce.number(op3.abs()), ce.number(op3.arg())]); + const f = asFloat(ops2[0]); + if (f === null) + return void 0; + return ce.tuple([ + ce.number(Math.abs(f)), + ce.number(f >= 0 ? 0 : Math.PI) + ]); + } + } + }, + Conjugate: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const op3 = ops2[0].numericValue; + if (op3 === null || !ce.isComplex(op3)) + return void 0; + return ce.number(op3.conjugate()); + } + } + }, + ComplexRoots: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", "Number", "Number", "List"], + evaluate: (ce, ops2) => { + const x = asFloat(ops2[0]); + const n = asFloat(ops2[1]); + if (x === null || n === null || !Number.isInteger(n) || n <= 0) + return void 0; + const roots = []; + const [re, im] = ce.isComplex(x) ? [x.re, x.im] : [x, 0]; + const arg = Math.atan2(im, re); + const mod2 = Math.sqrt(re * re + im * im); + for (let k = 0; k < n; k++) { + const theta = (arg + 2 * Math.PI * k) / n; + const r = Math.pow(mod2, 1 / n); + roots.push([r * Math.cos(theta), r * Math.sin(theta)]); + } + return ce.box([ + "List", + ...roots.map( + (r) => ce.number(r[1] !== 0 ? ce.complex(r[0], r[1]) : r[0]) + ) + ]); + } + } + } + // For Abs (magnitude) see src/compute-engine/library/processAbs + } +]; +function oneOf(xs) { + return xs[Math.floor(Math.random() * xs.length)]; +} +function randomExpressionWithHead(head2, level) { + if (head2 === "Add" || head2 === "Multiply") { + const ops2 = []; + let count = 1 + Math.floor(Math.random() * 12); + while (count > 0) { + ops2.push(randomExpression(level + 1)); + count -= 1; + } + return [head2, ...ops2]; + } + if (head2 === "Divide" || head2 === "Power") { + return [head2, randomExpression(level + 1), randomExpression(level + 1)]; + } + if (head2 === "Root") { + return [head2, randomExpression(level + 1), randomExpression(10)]; + } + if (head2 === "trig") + return randomTrig(); + return [head2, randomExpression(level + 1)]; +} +function randomTrig() { + return [ + oneOf([ + "Cos", + "Sin", + "Tan", + "Sinh", + "Arccos", + "Arsinh", + ["InverseFunction", "Cos"] + ]), + oneOf([ + "Pi", + "-1", + "0", + "1", + ["Divide", "Pi", -5], + ["Multiply", -2, ["Divide", "Pi", 11]], + ["Multiply", "Half", "Pi"], + ["Multiply", 5, "Pi"], + ["Multiply", 12, "Pi"], + ["Divide", "Pi", 5], + ["Divide", "Pi", 9], + ["Multiply", 5, ["Divide", "Pi", 9]], + ["Multiply", 2, ["Divide", "Pi", 11]], + ["Multiply", 2, ["Divide", "Pi", 3]] + ]) + ]; +} +function randomExpression(level) { + level != null ? level : level = 1; + if (level === 1) { + const h = oneOf([ + [ + "Sqrt", + [ + "Multiply", + 6, + [ + "Sum", + ["Divide", 1, ["Power", "n", 2]], + ["Triple", ["Hold", "n"], 1, { num: "+Infinity" }] + ] + ] + ], + "Add", + "Add", + "Add", + "Add", + "Add", + "Multiply", + "Multiply", + "Multiply", + "Multiply", + "Divide", + "Divide", + "Divide", + "Root", + "Sqrt", + "Subtract", + "Negate", + "trig" + ]); + if (typeof h === "string") + return randomExpressionWithHead(h, 1); + return h; + } + if (level === 2) { + const r = Math.random(); + if (r > 0.75) + return randomExpression(1); + if (r > 0.5) + return randomExpression(3); + const h = oneOf([ + "Multiply", + "Multiply", + "Add", + "Power", + "trig", + "Ln", + "Exp" + ]); + return randomExpressionWithHead(h, 2); + } + return oneOf([ + -12345e-9, + -2, + -2, + -2, + -3, + -5, + -6, + -12, + -1654e-60, + 0, + 0, + 12345e-8, + 1654e-60, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + 5, + 5, + 6, + 6, + 1234.5678, + 5678.1234, + 10, + 15, + 18, + 30, + 60, + 1234e54, + "123456789.12345678912345e200", + "987654321.12345678912345", + ["Rational", -6, 10], + ["Rational", -12, 15], + ["Rational", -15, 12], + ["Rational", 3, 5], + ["Rational", 12, 15], + ["Rational", 15, 12], + "ExponentialE", + // 'ImaginaryUnit', + ["Sqrt", 3], + ["Sqrt", 5], + ["Sqrt", 15], + ["Sqrt", 25], + ["Complex", -1.1, 1.1], + ["Complex", 4, 5], + "x", + "x", + "x", + "x", + ["Add", "x", 1], + ["Divide", "x", 3], + ["Square", "x"], + ["Power", "x", 3], + ["Power", "x", 4], + ["Subtract", "x", 1], + ["Add", "x", 1], + // 'a', + // 'b', + "Pi" + ]); +} +var CORE_LIBRARY = [ + { + Nothing: { domain: "Nothing" } + }, + // + // Data Structures + // + { + List: { + complexity: 8200, + signature: { + domain: ["Function", ["Maybe", ["Sequence", "Anything"]], "List"] + } + }, + KeyValuePair: { + description: "A key/value pair", + complexity: 8200, + signature: { + domain: [ + "Function", + "String", + "Anything", + ["Tuple", "String", "Anything"] + ], + codomain: (ce, args) => ce.domain(["Tuple", "String", args[1].domain]), + canonical: (ce, args) => { + var _a, _b; + const key = validateArgument(ce, (_a = args[0]) == null ? void 0 : _a.canonical, "String"); + const value = validateArgument(ce, (_b = args[1]) == null ? void 0 : _b.canonical, "Value"); + return ce.tuple([key, value]); + } + } + }, + Single: { + description: "A tuple with a single element", + complexity: 8200, + signature: { + domain: ["Function", "Anything", ["Tuple", "Anything"]], + codomain: (ce, args) => ce.domain(["Tuple", args[0].domain]), + canonical: (ce, ops2) => ce.tuple(validateArgumentCount(ce, canonical(ops2), 1)) + } + }, + Pair: { + description: "A tuple of two elements", + complexity: 8200, + signature: { + domain: [ + "Function", + "Anything", + "Anything", + ["Tuple", "Anything", "Anything"] + ], + codomain: (ce, args) => ce.domain(["Tuple", args[0].domain, args[1].domain]), + canonical: (ce, ops2) => ce.tuple(validateArgumentCount(ce, canonical(ops2), 2)) + } + }, + Triple: { + description: "A tuple of three elements", + complexity: 8200, + signature: { + domain: [ + "Function", + "Anything", + "Anything", + "Anything", + ["Tuple", "Anything", "Anything", "Anything"] + ], + codomain: (ce, args) => ce.domain(["Tuple", args[0].domain, args[1].domain, args[2].domain]), + canonical: (ce, ops2) => ce.tuple(validateArgumentCount(ce, canonical(ops2), 3)) + } + }, + Tuple: { + description: "A fixed number of heterogeneous elements", + complexity: 8200, + signature: { + domain: [ + "Function", + ["Sequence", "Anything"], + ["Tuple", ["Sequence", "Anything"]] + ], + canonical: (ce, ops2) => ce.tuple(canonical(ops2)), + codomain: (ce, args) => ce.domain(["Tuple", ...args.map((x) => x.domain)]) + } + } + }, + // + // Inert functions + // + { + BaseForm: { + description: "`BaseForm(expr, base=10)`", + complexity: 9e3, + inert: true, + signature: { + domain: ["Function", "Value", ["Maybe", "Integer"], "Value"], + codomain: (_ce, args) => args[0].domain + } + }, + Delimiter: { + // Use to represent groups of expressions. Named after https://en.wikipedia.org/wiki/Delimiter + complexity: 9e3, + hold: "first", + signature: { + domain: [ + "Function", + "Anything", + ["Maybe", "String"], + ["Maybe", "String"], + "Anything" + ], + codomain: (_ce, args) => args[0].domain, + canonical: (ce, args) => { + var _a, _b; + return (_b = (_a = args[0]) == null ? void 0 : _a.canonical) != null ? _b : ce.box(["Sequence"]); + } + } + }, + Error: { + /** + * - The first argument is either a string or an `["ErrorCode"]` + * expression indicating the nature of the error. + * - The second argument, if present, indicates the context/location + * of the error. If the error occur while parsing a LaTeX string, + * for example, the argument will be a `Latex` expression. + */ + complexity: 500, + signature: { + domain: ["Function", "Anything", ["Maybe", "Anything"], "Void"], + // To make a canonical expression, don't canonicalize the args + canonical: (ce, args) => ce._fn("Error", args) + } + }, + ErrorCode: { + complexity: 500, + hold: "all", + signature: { + domain: [ + "Function", + "String", + ["Maybe", ["Sequence", "Anything"]], + "Anything" + ], + canonical: (ce, args) => { + var _a, _b; + const code = validateArgument(ce, args[0], "String").string; + if (code === "incompatible-domain") { + return ce._fn("ErrorCode", [ + ce.string(code), + ce.domain((_a = args[1]) != null ? _a : "Anything"), + ce.domain((_b = args[2]) != null ? _b : "Anything") + ]); + } + return ce._fn("ErrorCode", args); + } + } + }, + Hold: { + hold: "all", + signature: { + domain: "Function", + codomain: (ce, args) => args[0].symbol ? ce.domain("Symbol") : ce.domain("Anything"), + // To make a canonical expression, don't canonicalize the args + canonical: (ce, args) => args.length !== 1 ? ce._fn("Hold", validateArgumentCount(ce, args, 1)) : ce._fn("Hold", [validateArgument(ce, args[0], "Anything")]) + } + }, + HorizontalSpacing: { + signature: { + domain: "Function", + canonical: (ce, args) => { + if (args.length === 2) + return args[0].canonical; + return ce.box(["Sequence"]); + } + } + }, + Style: { + complexity: 9e3, + inert: true, + signature: { + domain: [ + "Function", + "Anything", + ["Maybe", "Dictionary"], + // @todo + "Anything" + ] + } + // @todo: simplify: merge Style(Style(x, s1), s2), Style(x) -> x + } + }, + { + Apply: { + signature: { + domain: "Function", + evaluate: (_ce, ops2) => apply(ops2[0], ops2.slice(1)) + } + }, + About: { signature: { domain: "Function" } }, + Block: { + /** Create a local scope. First argument is a dictionary of local variables. + * They are evaluated in the context of the parent scope. The second argument + * is an expression to be evaluated in the context of the new scope. + * ["Block", ["List", ["Equal", "x", 1]], [...]] + */ + signature: { domain: "Function" } + }, + Derivative: { + signature: { + domain: ["Function", "Function", ["Maybe", "Number"], "Function"] + } + }, + Domain: { + /** Return the domain of an expression */ + signature: { + domain: ["Function", "Anything", "Domain"], + canonical: (ce, ops2) => ce.domain(validateArgumentCount(ce, canonical(ops2), 1)[0]) + } + }, + Evaluate: { + hold: "all", + signature: { + domain: ["Function", "Anything", "Anything"], + codomain: (_ce, args) => args[0].domain, + canonical: (ce, ops2) => ce._fn("Evaluate", validateArgumentCount(ce, canonical(ops2), 1)), + evaluate: (_ce, ops2) => ops2[0].evaluate() + } + }, + Head: { + signature: { + domain: "Function", + evaluate: (ce, ops2) => { + var _a; + const op12 = ops2[0]; + if (typeof (op12 == null ? void 0 : op12.head) === "string") + return ce.symbol(op12.head); + return (_a = op12 == null ? void 0 : op12.head) != null ? _a : ce.symbol("Nothing"); + } + } + }, + Html: { + signature: { + domain: ["Function", "Value", "String"], + evaluate: (ce, ops2) => { + if (ops2.length === 0) + return ce.string(""); + return ce.string(""); + } + } + }, + Lambda: { + wikidata: "Q567612", + hold: "all", + signature: { + domain: ["Function", "Anything", "Function"], + codomain: (_ce, ops2) => ops2[0].domain, + canonical: (ce, ops2) => ce._fn("Lambda", validateArgumentCount(ce, ops2, 1)) + } + }, + Signatures: { + signature: { + domain: ["Function", "Symbol", ["Maybe", ["List", "Domain"]]], + canonical: (ce, ops2) => { + ops2 = validateArgumentCount(ce, ops2, 1); + if (!ops2[0].symbol) + return ce._fn("Signatures", [ + ce.error( + ["incompatible-domain", "Symbol", ops2[0].domain], + ops2[0] + ) + ]); + return ce._fn("Signatures", ops2); + }, + evaluate: (ce, ops2) => { + const name = ops2[0].symbol; + if (!name) + return ce.symbol("Nothing"); + const result = ce.lookupFunction(name); + if (!result) + return ce.symbol("Nothing"); + return ce.fn("List", [result.signature.domain]); + } + } + }, + Subscript: { + /** + * The `Subscript` function can take several forms: + * + * If `op1` is a string, the string is interpreted as a number in + * base `op2` (2 to 36). + * + * If `op1` is an indexable collection, `x`: + * - `x_*` -> `At(x, *)` + * + * Otherwise: + * - `x_0` -> Symbol "x_0" + * - `x_n` -> Symbol "x_n" + * - `x_{\text{max}}` -> Symbol `x_max` + * - `x_{(n+1)}` -> `At(x, n+1)` + * - `x_{n+1}` -> `Subscript(x, n+1)` + */ + // The last (subscript) argument can include a delimiter that + // needs to be interpreted. Without the hold, it would get + // removed during canonicalization. + hold: "last", + signature: { + domain: ["Function", "Anything", "Anything", "Anything"], + codomain: (_ce, args) => { + if (args[0].isFunction) + return args[0].domain; + return args[0].domain; + }, + canonical: (ce, args) => { + var _a, _b, _c, _d; + const op12 = args[0]; + const op22 = args[1]; + if (op12.string) { + const base = asSmallInteger(op22); + if (base !== null) { + if (base > 1 && base <= 36) { + const [value, rest] = fromDigits(op12.string, base); + if (rest) { + return ce.error( + ["unexpected-digit", { str: rest[0] }], + ["Latex", ce.string(op12.string)] + ); + } + return ce.number(value); + } + } + } + if (op12.symbol) { + if ((_a = op12.symbolDefinition) == null ? void 0 : _a.at) + return ce._fn("At", [op12, op22.canonical]); + const sub2 = (_d = (_b = op22.string) != null ? _b : op22.symbol) != null ? _d : (_c = asSmallInteger(op22)) == null ? void 0 : _c.toString(); + if (sub2) + return ce.symbol(op12.symbol + "_" + sub2); + } + if (op22.head === "Sequence") + ce._fn("Subscript", [op12, ce._fn("List", op22.ops)]); + return ce._fn("Subscript", args); + } + } + }, + Symbol: { + complexity: 500, + description: "Construct a new symbol with a name formed by concatenating the arguments", + threadable: true, + hold: "all", + signature: { + domain: ["Function", ["Sequence", "Anything"], "Anything"], + canonical: (ce, ops2) => { + if (ops2.length === 0) + return ce.symbol("Nothing"); + const arg = ops2.map( + (x) => { + var _a, _b, _c, _d; + return (_d = (_c = (_a = x.symbol) != null ? _a : x.string) != null ? _c : (_b = asSmallInteger(x)) == null ? void 0 : _b.toString()) != null ? _d : ""; + } + ).join(""); + if (arg.length > 0) + return ce.symbol(arg); + return ce.symbol("Nothing"); + } + // Note: a `["Symbol"]` expression is never evaluated, it gets + // transformed into something else (a symbol) during canonicalization + } + }, + Tail: { + signature: { + domain: ["Function", "Value", ["List", "Value"]], + evaluate: (ce, ops2) => { + var _a; + return ops2[0] ? ce._fn("List", (_a = ops2[0].ops) != null ? _a : []) : ce._fn("List", []); + } + } + }, + Timing: { + description: "`Timing(expr)` evaluates `expr` and return a `Pair` of the number of second elapsed for the evaluation, and the value of the evaluation", + signature: { + domain: [ + "Function", + "Value", + ["Maybe", "Integer"], + ["Tuple", "Value", "Number"] + ], + evaluate: (ce, ops2) => { + var _a; + if (ops2[1].symbol === "Nothing") { + const start = globalThis.performance.now(); + const result2 = ops2[0].evaluate(); + const timing = 1e3 * (globalThis.performance.now() - start); + return ce.pair(ce.number(timing), result2); + } + let n = Math.max(3, Math.round((_a = asSmallInteger(ops2[1])) != null ? _a : 3)); + let timings = []; + let result; + while (n > 0) { + const start = globalThis.performance.now(); + result = ops2[0].evaluate(); + timings.push(1e3 * (globalThis.performance.now() - start)); + n -= 1; + } + const max2 = Math.max(...timings); + const min2 = Math.min(...timings); + timings = timings.filter((x) => x > min2 && x < max2); + const sum2 = timings.reduce((acc, v) => acc + v, 0); + if (sum2 === 0) + return ce.pair(ce.number(max2), result); + return ce.pair(ce.number(sum2 / timings.length), result); + } + } + } + // {name: 'Pattern',}, + }, + // + // String-related + // + { + FromDigits: { + description: `\`FromDigits(s, base=10)\` return an integer representation of the string \`s\` in base \`base\`.`, + // @todo could accept `0xcafe`, `0b01010` or `(deadbeef)_16` as string formats + // @todo could accept "roman"... as base + // @todo could accept optional third parameter as the (padded) length of the output + signature: { + domain: ["Function", "String", ["Maybe", ["Range", 1, 36]], "Integer"], + evaluate: (ce, ops2) => { + const op12 = ops2[0]; + if (!op12.string) + return ce.error(["incompatible-domain", "String", op12.domain], op12); + const op22 = ops2[1]; + if (op22.isNothing) + return ce.number(Number.parseInt(op12.string, 10)); + if (op22.numericValue === null) { + return ce.error(["unexpected-base", op22.latex], op22); + } + const base = asFloat(op22); + if (!Number.isInteger(base) || base < 2 || base > 36) + return ce.error(["unexpected-base", base], op22); + const [value, rest] = fromDigits(op12.string, base); + if (rest) + return ce.error(["unexpected-digit", { str: rest[0] }], { + str: rest + }); + return ce.number(value); + } + } + }, + IntegerString: { + description: `\`IntegerString(n, base=10)\` return a string representation of the integer \`n\` in base \`base\`.`, + // @todo could accept `0xcafe`, `0b01010` or `(deadbeef)_16` as string formats + // @todo could accept "roman"... as base + // @todo could accept optional third parameter as the (padded) length of the output + signature: { + domain: ["Function", "Integer", ["Maybe", "Integer"], "String"], + evaluate: (ce, ops2) => { + var _a, _b; + const op12 = ops2[0]; + const val = (_a = asFloat(op12)) != null ? _a : NaN; + if (Number.isNaN(val) || !Number.isInteger(val)) { + return ce.error( + ["incompatible-domain", "Integer", op12.domain], + op12 + ); + } + const op22 = ops2[1]; + if (op22.isNothing) { + const op1Num = op12.numericValue; + if (typeof op1Num === "number") + return ce.string(Math.abs(op1Num).toString()); + if (op1Num instanceof decimal_default) + return ce.string(op1Num.abs().toString()); + return ce.string( + Math.abs(Math.round((_b = asFloat(op12)) != null ? _b : NaN)).toString() + ); + } + if (asSmallInteger(op22) === null) { + return ce.error( + ["incompatible-domain", "Integer", op22.domain], + op22 + ); + } + const base = asSmallInteger(op22); + if (base < 2 || base > 36) + return ce.error(["out-of-range", 2, 36, base], op22); + return ce.string(Math.abs(val).toString(base)); + } + } + }, + String: { + threadable: true, + signature: { + domain: ["Function", ["Maybe", "Anything"], "String"], + evaluate: (ce, ops2) => { + if (ops2.length === 0) + return ce.string(""); + return ce.string(ops2.map((x) => { + var _a; + return (_a = x.string) != null ? _a : x.toString(); + }).join("")); + } + } + } + }, + // + // LaTeX-related + // + { + // Join or more LatexTokens into a LaTeX string + JoinLatexTokens: { + signature: { + domain: ["Function", ["Maybe", ["Sequence", "Anything"]], "String"], + evaluate: (ce, ops2) => { + return ce.fn("Latex", [ + ce.string(tokensToString(ops2.map((x) => { + var _a; + return (_a = x.string) != null ? _a : x.latex; + }))) + ]); + } + } + }, + // Value preserving type conversion/tag indicating the string + // is a LaTeX string + Latex: { + signature: { + domain: ["Function", ["Maybe", ["Sequence", "Anything"]], "String"], + evaluate: (ce, ops2) => { + if (ops2.length === 0) + return ce.string(""); + return ce.string(joinLatex(ops2.map((x) => { + var _a; + return (_a = x.string) != null ? _a : x.toString(); + }))); + } + } + }, + // Serialize one or more expressions to LaTeX + SerializeLatex: { + hold: "all", + signature: { + domain: ["Function", ["Maybe", ["Sequence", "Anything"]], "String"], + evaluate: (ce, ops2) => ce.fn("Latex", [ce.string(joinLatex(ops2.map((x) => x.latex)))]) + } + }, + SplitAsLatexTokens: { + description: "Split a LaTeX string into a list of LaTeX tokens", + hold: "all", + signature: { + domain: ["Function", ["Maybe", "Anything"], ["List", "String"]], + evaluate: (ce, ops2) => { + var _a; + if (ops2.length === 0) + return ce._fn("List", []); + let latex = ""; + if (ops2[0].head === "Latex") + latex = (_a = ops2[0].op1.string) != null ? _a : ""; + else if (ops2[0].head === "LatexString") + latex = joinLatex(ops2[0].ops.map((op3) => op3.latex)); + else + latex = ops2[0].latex; + return ce._fn( + "List", + tokenize(latex, []).map((x) => ce.string(x)) + ); + } + } + }, + ParseLatex: { + description: "Parse a LaTeX string and evaluate to a corresponding expression", + signature: { + domain: ["Function", ["Maybe", "String"], "Anything"], + evaluate: (ce, ops2) => { + var _a; + if (ops2.length === 0 || !ops2[0].string) + return ce.box(["Sequence"]); + return (_a = ce.parse(ops2[0].string)) != null ? _a : ce.box(["Sequence"]); + } + } + } + }, + { + RandomExpression: { + signature: { + domain: "Function", + evaluate: (ce, _ops) => ce.box(randomExpression()) + } + } + } +]; +var LOGIC_LIBRARY = { + True: { wikidata: "Q16751793", domain: "Boolean", constant: true }, + False: { + wikidata: "Q5432619", + domain: "Boolean", + constant: true + }, + Maybe: { + wikidata: "Q781546", + domain: "MaybeBoolean", + constant: true + }, + // @todo: specify a `canonical` function that converts boolean + // expressions into CNF (Conjunctive Normal Form) + // https://en.wikipedia.org/wiki/Conjunctive_normal_form + // using rules (with a rule set that's kinda the inverse of the + // logic rules for simplify) + And: { + wikidata: "Q191081", + threadable: true, + associative: true, + commutative: true, + idempotent: true, + complexity: 1e4, + signature: { + domain: "LogicOperator", + simplify: processAnd, + evaluate: processAnd + } + }, + Or: { + wikidata: "Q1651704", + threadable: true, + associative: true, + commutative: true, + idempotent: true, + complexity: 1e4, + signature: { + domain: "LogicOperator", + simplify: processOr, + evaluate: processOr + } + }, + Not: { + wikidata: "Q190558", + involution: true, + complexity: 10100, + // @todo: this may not be needed, since we also have rules. + signature: { + domain: "LogicOperator", + simplify: processNot, + evaluate: processNot + } + }, + Equivalent: { + wikidata: "Q220433", + complexity: 10200, + signature: { + domain: "LogicOperator", + simplify: processEquivalent, + evaluate: processEquivalent + } + }, + Implies: { + wikidata: "Q7881229", + complexity: 10200, + signature: { + domain: "LogicOperator", + simplify: processImplies, + evaluate: processImplies + } + }, + Exists: { signature: { domain: "MaybeBoolean" } }, + If: { + hold: "rest", + signature: { + domain: "Function", + codomain: (ce, ops2) => ce.domain(["Union", ops2[0], ops2[1]]), + simplify: (ce, ops2) => { + const cond = ops2[0]; + if (cond && cond.symbol === "True") + return ops2[1] ? ops2[1].simplify() : ce.box("Nothing"); + return ops2[2] ? ops2[2].simplify() : ce.box("Nothing"); + }, + evaluate: (ce, ops2) => { + const cond = ops2[0]; + if (cond && cond.symbol === "True") + return ops2[1] ? ops2[1].evaluate() : ce.box("Nothing"); + return ops2[2] ? ops2[2].evaluate() : ce.box("Nothing"); + }, + // @todo: probably don't need a N() handler. Doesn't make a difference + // for the evaluation of booleans. Also, don't need to call N() on the + // arguments, the caller should have done that. Same for evaluate() + // and simplify() above + N: (ce, ops2) => { + const cond = ops2[0]; + if (cond && cond.symbol === "True") + return ops2[1] ? ops2[1].N() : ce.box("Nothing"); + return ops2[2] ? ops2[2].N() : ce.box("Nothing"); + } + } + }, + Loop: { + hold: "all", + signature: { + domain: "Function", + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = ops2[0]) == null ? void 0 : _a.simplify()) != null ? _b : ce.box("Nothing"); + }, + evaluate: (ce, ops2) => { + var _a; + const body = (_a = ops2[0]) != null ? _a : ce.box("Nothing"); + if (body.isNothing) + return body; + let result; + let i = 0; + do { + result = body.evaluate(); + i += 1; + } while (result.head !== "Return" && i < ce.iterationLimit); + if (result.head === "Return") + return result.op1; + return ce.error("iteration-limit-exceeded"); + }, + N: (ce, ops2) => { + const cond = ops2[0]; + if (cond && cond.symbol === "True") + return ops2[1] ? ops2[1].N() : ce.box("Nothing"); + return ops2[2] ? ops2[2].N() : ce.box("Nothing"); + } + } + }, + Which: { + hold: "all", + signature: { + domain: "Function", + codomain: (ce, ops2) => domainWhich(ce, ops2), + evaluate: (ce, ops2) => whichEvaluate(ce, ops2, "evaluate"), + N: (ce, ops2) => whichEvaluate(ce, ops2, "N") + } + } +}; +function processAnd(ce, args) { + if (args.length === 0) + return ce.symbol("True"); + const ops2 = []; + for (const arg of args) { + if (arg.symbol === "False") + return ce.symbol("False"); + if (arg.symbol !== "True") { + let duplicate = false; + for (const x of ops2) { + if (x.isSame(arg)) { + duplicate = true; + } else if (arg.head === "Not" && arg.op1.isSame(x) || x.head === "Not" && x.op1.isSame(arg)) { + return ce.symbol("False"); + } + } + if (!duplicate) + ops2.push(arg); + } + } + if (ops2.length === 0) + return ce.symbol("True"); + if (ops2.length === 1) + return ops2[0]; + return ce._fn("And", ops2); +} +function processOr(ce, args) { + if (args.length === 0) + return ce.symbol("True"); + const ops2 = []; + for (const arg of args) { + if (arg.symbol === "True") + return ce.symbol("True"); + if (arg.symbol !== "False") { + let duplicate = false; + for (const x of ops2) { + if (x.isSame(arg)) { + duplicate = true; + } else if (arg.head === "Not" && arg.op1.isSame(x) || x.head === "Not" && x.op1.isSame(arg)) { + return ce.symbol("True"); + } + } + if (!duplicate) + ops2.push(arg); + } + } + if (ops2.length === 0) + return ce.symbol("True"); + if (ops2.length === 1) + return ops2[0]; + return ce._fn("Or", ops2); +} +function processNot(ce, args) { + const op12 = args[0].symbol; + if (op12 === "True") + return ce.symbol("False"); + if (op12 === "False") + return ce.symbol("True"); + if (op12 === "Maybe") + return ce.symbol("Maybe"); + return void 0; +} +function processEquivalent(ce, args) { + const lhs = args[0].symbol; + const rhs = args[1].symbol; + if (lhs === "True" && rhs === "True" || lhs === "False" && rhs === "False") + return ce.symbol("True"); + if (lhs === "True" && rhs === "False" || lhs === "False" && rhs === "True") + return ce.symbol("False"); + if (lhs === "Maybe" || rhs === "Maybe") + return ce.symbol("Maybe"); + return void 0; +} +function processImplies(ce, args) { + const lhs = args[0].symbol; + const rhs = args[1].symbol; + if (lhs === "True" && rhs === "True" || lhs === "False" && rhs === "False" || lhs === "False" && rhs === "True") + return ce.symbol("True"); + if (lhs === "True" && rhs === "False") + return ce.symbol("False"); + if (lhs === "Maybe" || rhs === "Maybe") + return ce.symbol("Maybe"); + return void 0; +} +function domainWhich(ce, args) { + let dom = null; + for (let i = 1; i <= args.length - 1; i += 2) { + if (!dom) + dom = args[i].domain; + else + dom = sharedAncestorDomain(dom, args[i].domain); + } + return dom != null ? dom : ce.domain("Nothing"); +} +function whichEvaluate(ce, args, mode) { + let i = 0; + while (i < args.length - 1) { + if (args[i].evaluate().symbol === "True") { + if (!args[i + 1]) + return ce.symbol("Undefined"); + return mode === "N" ? args[i + 1].N() : args[i + 1].evaluate(); + } + i += 2; + } + return ce.symbol("Undefined"); +} +var POLYNOMIALS_LIBRARY = [ + { + Expand: { + description: "Expand out products and positive integer powers", + signature: { + domain: ["Function", "Value", "Value"], + evaluate: (_ce, ops2) => { + var _a; + return (_a = expand2(ops2[0])) != null ? _a : ops2[0]; + } + } + }, + Distribute: { + description: "Distribute multiplication over addition", + signature: { + domain: ["Function", "Value", "Value"], + evaluate: (ce, ops2) => { + var _a, _b; + const h = ops2[0].head; + if (h === "Multiply") + return (_a = distribute(ops2[0].ops)) != null ? _a : ops2[0]; + if (h === "Negate") + return (_b = distribute([ce._NEGATIVE_ONE, ...ops2[0].ops])) != null ? _b : ops2[0]; + if (h === "Divide" && ops2[0].ops[0].head === "Multiply") { + const numerator = distribute(ops2[0].ops); + const denominator = ops2[0].ops[1]; + if (numerator) { + if (numerator.head === "Add") + return ce.add( + numerator.ops.map((x) => ce.div(x, denominator)) + ); + return ce.div(numerator, denominator); + } + } + return ops2[0]; + } + } + } + } +]; +var RELOP_LIBRARY = { + Equal: { + commutative: true, + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, ops2) => { + return ce._fn( + "Equal", + flattenOps(canonical(flattenSequence(ops2)), "Equal") + ); + }, + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("True"); + let lhs = void 0; + for (const arg of ops2) { + if (!lhs) + lhs = arg; + else { + const test = lhs.isEqual(arg); + if (test !== true) + return ce.symbol("False"); + } + } + return ce.symbol("True"); + } + } + }, + NotEqual: { + wikidata: "Q28113351", + commutative: true, + complexity: 11e3, + signature: { + domain: "RelationalOperator", + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("False"); + let lhs = void 0; + for (const arg of ops2) { + if (!lhs) + lhs = arg; + else { + const test = lhs.isEqual(arg); + if (test === true) + return ce.symbol("False"); + } + } + return ce.symbol("True"); + } + } + }, + Less: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, ops2) => ce._fn("Less", flattenOps(canonical(flattenSequence(ops2)), "Less")), + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("True"); + let lhs = void 0; + for (const arg of ops2) { + if (!arg.isNumber) + return void 0; + if (!lhs) + lhs = arg; + else { + const test = ce.fn("Subtract", [arg, lhs]).N().sgn; + if (test === null || test === void 0) + return void 0; + if (test <= 0) + return ce.symbol("False"); + lhs = arg; + } + } + return ce.symbol("True"); + } + } + }, + NotLess: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("Less", args)]) + } + }, + Greater: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Less", args.reverse()), + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("True"); + let lhs = void 0; + for (const arg of ops2) { + if (!arg.isNumber) + return void 0; + if (!lhs) + lhs = arg; + else { + const test = ce.fn("Subtract", [arg, lhs]).N().sgn; + if (test === null || test === void 0) + return void 0; + if (test >= 0) + return ce.symbol("False"); + lhs = arg; + } + } + return ce.symbol("True"); + } + } + }, + NotGreater: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("Greater", args)]) + } + }, + LessEqual: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("True"); + let lhs = void 0; + for (const arg of ops2) { + if (!arg.isNumber) + return void 0; + if (!lhs) + lhs = arg; + else { + const test = ce.fn("Subtract", [arg, lhs]).N().sgn; + if (test === null || test === void 0) + return void 0; + if (test < 0) + return ce.symbol("False"); + lhs = arg; + } + } + return ce.symbol("True"); + } + } + }, + NotLessNotEqual: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("LessEqual", args)]) + } + }, + GreaterEqual: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("LessEqual", args.reverse()), + evaluate: (ce, ops2) => { + if (ops2.length < 2) + return ce.symbol("True"); + let lhs = void 0; + for (const arg of ops2) { + if (!arg.isNumber) + return void 0; + if (!lhs) + lhs = arg; + else { + const test = ce.fn("Subtract", [arg, lhs]).N().sgn; + if (test === null || test === void 0) + return void 0; + if (test > 0) + return ce.symbol("False"); + lhs = arg; + } + } + return ce.symbol("True"); + } + } + }, + NotGreaterNotEqual: { + complexity: 11e3, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("GreaterEqual", args)]) + } + }, + TildeFullEqual: { + description: "Indicate isomorphism, congruence and homotopic equivalence", + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotTildeFullEqual: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("TildeFullEqual", args)]) + } + }, + TildeEqual: { + description: "Approximately or asymptotically equal", + complexity: 11e3, + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotTildeEqual: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("TildeEqual", args)]) + } + }, + Approx: { + complexity: 11100, + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotApprox: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("Approx", args)]) + } + }, + ApproxEqual: { + complexity: 11100, + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotApproxEqual: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("ApproxEqual", args)]) + } + }, + ApproxNotEqual: { + complexity: 11100, + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotApproxNotEqual: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("ApproxNotEqual", args)]) + } + }, + Precedes: { + complexity: 11100, + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotPrecedes: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("Precedes", args)]) + } + }, + Succeeds: { + signature: { domain: "RelationalOperator" } + // @todo evaluate: (ce, ...args: BoxedExpression[]) => SemiBoxedExpression {} + }, + NotSucceeds: { + complexity: 11100, + signature: { + domain: "RelationalOperator", + canonical: (ce, args) => ce._fn("Not", [ce._fn("Succeeds", args)]) + } + } +}; +var SETS_LIBRARY = { + // + // Constants + // + EmptySet: { + domain: "Set", + constant: true, + wikidata: "Q226183" + // contains: () => false, // @todo not quite true... + // includes: () => true, // The empty set is a subset of every set + }, + // + // Predicates + // + Element: { + complexity: 11200, + hold: "all", + signature: { + domain: "Predicate", + canonical: (ce, args) => { + args = validateArgumentCount(ce, flattenSequence(canonical(args)), 2); + if (args.length === 2 && isValidDomain(args[1])) + return ce._fn("Element", [args[0], ce.domain(args[1])]); + return ce._fn("Element", args); + }, + evaluate: (ce, args) => evaluateElement(ce, args) + } + }, + NotElement: { + complexity: 11200, + hold: "all", + signature: { + domain: "Predicate", + canonical: (ce, args) => ce.fn("Not", [ce.fn("Element", args)]) + } + }, + Subset: { + complexity: 11200, + signature: { domain: "Predicate" } + }, + NotSubset: { + complexity: 11200, + signature: { + domain: "Predicate", + canonical: (ce, args) => ce.fn("Not", [ce.fn("Subset", args)]) + } + }, + Superset: { + complexity: 11200, + signature: { domain: "Predicate" } + }, + SupersetEqual: { + complexity: 11200, + signature: { domain: "Predicate" } + }, + NotSuperset: { + complexity: 11200, + signature: { + domain: "Predicate", + canonical: (ce, args) => ce.fn("Not", [ce.fn("Superset", args)]) + } + }, + NotSupersetEqual: { + complexity: 11200, + signature: { + domain: "Predicate", + canonical: (ce, args) => ce.fn("Not", [ce.fn("SupersetEqual", args)]) + } + }, + SubsetEqual: { + complexity: 11200, + signature: { domain: "Predicate" } + // evaluate: subsetEqual, + }, + NotSubsetNotEqual: { + complexity: 11200, + signature: { + domain: "Predicate", + canonical: (ce, args) => ce.fn("Not", [ce.fn("SubsetEqual", args)]) + } + }, + // + // Functions + // + CartesianProduct: { + // Aka the product set, the set direct product or cross product + // Notation: \times + wikidata: "Q173740", + signature: { domain: ["Function", "Set", ["Sequence", "Set"], "Set"] } + // evaluate: cartesianProduct, + }, + Complement: { + // Return the elements of the first argument that are not in any of + // the subsequent lists + wikidata: "Q242767", + signature: { domain: ["Function", "Set", "Set"] } + }, + Intersection: { + // notation: \cap + wikidata: "Q185837", + threadable: true, + associative: true, + commutative: true, + involution: true, + signature: { + domain: ["Function", "Set", ["Sequence", "Set"], "Set"], + evaluate: intersection + } + }, + Union: { + // Works on set, but can also work on lists + wikidata: "Q185359", + threadable: true, + associative: true, + commutative: true, + involution: true, + signature: { + domain: ["Function", "Set", ["Sequence", "Set"], "Set"], + evaluate: union + } + }, + // { + // name: 'Set', + // domain: ['Function', ['Sequence', 'Anything'], 'Set'], + // // @todo! set has multiple forms + // // Set(Sequence) + // // Set(Sequence, Condition) + // // Set(Set, Condition) + // }, // disjoint union Q842620 ⊔ + SetMinus: { + wikidata: "Q18192442", + signature: { + domain: ["Function", "Set", "Value", "Set"], + evaluate: setMinus + } + }, + SymmetricDifference: { + // symmetric difference = disjunctive union (circled minus) + /* = Union(Complement(a, b), Complement(b, a) */ + /* Corresponds to XOR in boolean logic */ + wikidata: "Q1147242", + signature: { domain: ["Function", "Set", ["Sequence", "Set"], "Set"] } + } +}; +function union(ce, _ops) { + return ce.symbol("False"); +} +function intersection(ce, _ops) { + return ce.symbol("EmptySet"); +} +function setMinus(ce, _ops) { + return ce.symbol("EmptySet"); +} +function evaluateElement(ce, ops2) { + /* @__PURE__ */ console.assert(ops2.length === 2); + const [lhs, rhs] = ops2; + if (rhs.string) { + if (lhs.string && rhs.string.includes(lhs.string)) + return ce.symbol("True"); + return ce.symbol("False"); + } + if (rhs.keys) { + if (lhs.string) { + for (const key of rhs.keys) + if (key === lhs.string) + return ce.symbol("True"); + } + return ce.symbol("False"); + } + if (rhs.head === "List") { + if (lhs.head === "List") { + let found = false; + for (let i = 0; i < 1 + (rhs.nops - lhs.nops); ++i) { + found = true; + for (let j = 0; j < lhs.nops; ++j) { + if (!rhs.ops[i + j].isEqual(lhs.ops[j])) { + found = false; + break; + } + } + if (found) + return ce.symbol("True"); + } + return ce.symbol("False"); + } + const val = lhs.head === "Hold" ? lhs.op1 : lhs; + for (const elem of rhs.ops) + if (val.isEqual(elem)) + return ce.symbol("True"); + return ce.symbol("False"); + } + if (isValidDomain(rhs)) { + if (lhs.domain.isCompatible(ce.domain(rhs))) + return ce.symbol("True"); + return ce.symbol("False"); + } + return ce._fn("Element", [lhs, rhs]); +} +var STATISTICS_LIBRARY = [ + { + Mean: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let sum2 = 0; + let count = 0; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + sum2 += v; + count++; + } + if (count === 0) + return ce._NAN; + return ce.number(sum2 / count); + } + } + }, + Median: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + const values = []; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + values.push(v); + } + if (values.length === 0) + return ce._NAN; + values.sort((a, b) => a - b); + const mid = Math.floor(values.length / 2); + if (values.length % 2 === 0) + return ce.number((values[mid - 1] + values[mid]) / 2); + return ce.number(values[mid]); + } + } + }, + Variance: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let sum2 = 0; + let sum22 = 0; + let count = 0; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + sum2 += v; + sum22 += v * v; + count++; + } + if (count === 0) + return ce._NAN; + return ce.number((sum22 - sum2 * sum2 / count) / (count - 1)); + } + } + }, + StandardDeviation: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let sum2 = 0; + let sum22 = 0; + let count = 0; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + sum2 += v; + sum22 += v * v; + count++; + } + if (count === 0) + return ce._NAN; + return ce.number( + Math.sqrt((sum22 - sum2 * sum2 / count) / (count - 1)) + ); + } + } + }, + Kurtosis: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let sum2 = 0; + let sum22 = 0; + let sum4 = 0; + let count = 0; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + sum2 += v; + sum22 += v * v; + sum4 += v * v * v * v; + count++; + } + if (count === 0) + return ce._NAN; + const s2 = (sum22 - sum2 * sum2 / count) / (count - 1); + const s4 = (sum4 - sum22 * sum22 / count) / (count - 1); + return ce.number((s4 / (s2 * s2) - 3) * (count * (count + 1)) / 6); + } + } + }, + Skewness: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let sum2 = 0; + let sum22 = 0; + let sum3 = 0; + let count = 0; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + sum2 += v; + sum22 += v * v; + sum3 += v * v * v; + count++; + } + if (count === 0) + return ce._NAN; + const s2 = (sum22 - sum2 * sum2 / count) / (count - 1); + const s3 = (sum3 - sum22 * sum2 / count) / (count - 1); + return ce.number(s3 / Math.pow(s2, 3 / 2) * Math.sqrt(count * 1)); + } + } + }, + Mode: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + var _a; + const values = []; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + values.push(v); + } + if (values.length === 0) + return ce._NAN; + values.sort((a, b) => a - b); + const counts = {}; + for (const v of values) { + counts[v] = ((_a = counts[v]) != null ? _a : 0) + 1; + } + let max2 = 0; + let mode = values[0]; + for (const v of values) { + const c = counts[v]; + if (c > max2) { + max2 = c; + mode = v; + } + } + return ce.number(mode); + } + } + }, + Quartiles: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "List"], + evaluate: (ce, ops2) => { + const values = []; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + values.push(v); + } + if (values.length === 0) + return ce._NAN; + values.sort((a, b) => a - b); + const mid = Math.floor(values.length / 2); + const lower = values.slice(0, mid); + const upper = values.slice(mid + 1); + return ce.box([ + "List", + ce.number(values[mid]), + ce.number(lower[Math.floor(lower.length / 2)]), + ce.number(upper[Math.floor(upper.length / 2)]) + ]); + } + } + }, + InterquartileRange: { + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + const values = []; + for (const op3 of each(ops2)) { + const v = asFloat(op3); + if (v === null) + return void 0; + values.push(v); + } + if (values.length === 0) + return ce._NAN; + values.sort((a, b) => a - b); + const mid = Math.floor(values.length / 2); + const lower = values.slice(0, mid); + const upper = values.slice(mid + 1); + return ce.number( + upper[Math.floor(upper.length / 2)] - lower[Math.floor(lower.length / 2)] + ); + } + } + }, + Count: { + threadable: true, + complexity: 1200, + signature: { + domain: ["Function", ["Sequence", "Value"], "Number"], + evaluate: (ce, ops2) => { + let count = 0; + for (const _op of each(ops2)) + count++; + return ce.number(count); + } + } + }, + Erf: { + complexity: 7500, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const x = asFloat(ops2[0]); + if (x === null) + return void 0; + return ce.number(erf(x)); + } + } + }, + Erfc: { + complexity: 7500, + signature: { + domain: ["Function", "Number", "Number"], + evaluate: (ce, ops2) => { + const x = asFloat(ops2[0]); + if (x === null) + return void 0; + return ce.number(1 - erf(x)); + } + } + } + } +]; +function* each(ops2) { + var _a, _b, _c, _d, _e; + if (ops2.length === 0) + return; + const ce = ops2[0].engine; + for (const op3 of ops2) { + const h = op3.head; + if (h === "Range") { + let lower = asFloat(op3[1]); + if (lower === null) + return; + let upper = asFloat(op3[2]); + if (upper === null) { + upper = lower; + lower = 1; + } + if (lower > upper) { + const step2 = (_b = asFloat((_a = op3[3]) != null ? _a : -1)) != null ? _b : -1; + if (step2 >= 0) + return; + for (let i = lower; i <= upper; i += step2) + yield ce.number(i); + return; + } + const step = (_d = asFloat((_c = op3[3]) != null ? _c : 1)) != null ? _d : 1; + if (step <= 0) + return; + for (let i = lower; i <= upper; i += step) + yield ce.number(i); + return; + } + if (h === "Linspace") { + let start = asFloat(op3[1]); + if (start === null) + return; + let stop = asFloat(op3[2]); + if (stop === null) { + stop = start; + start = 0; + } + const num = (_e = asFloat(op3[3])) != null ? _e : 50; + if (!Number.isInteger(num)) + return; + if (num <= 0) + return; + const step = (stop - start) / (num - 1); + for (let i = start; i <= stop; i += step) + yield ce.number(i); + return; + } + if (typeof h === "string" && /^(List|Sequence|Tuple|Single|Pair|Triple)$/.test(h)) { + yield* each(op3.ops); + return; + } + yield op3; + } +} +var domainNumberToRealNumber = (_head) => { + return ["Function", "Number", "ExtendedRealNumber"]; +}; +var trigFunction = (_head) => { + return ["Function", "Number", "Number"]; +}; +var hyperbolicFunction = (_head) => { + return ["Function", "Number", "Number"]; +}; +var TRIGONOMETRY_LIBRARY = [ + { + // + // Constants + // + Pi: { + domain: "TranscendentalNumber", + flags: { algebraic: false }, + constant: true, + holdUntil: "N", + wikidata: "Q167", + value: (engine) => bignumPreferred(engine) ? engine._BIGNUM_PI : Math.PI + } + }, + { + // sqrt(x*x + y*y) + Degrees: { + /* = Pi / 180 */ + signature: { + domain: ["Function", "Number", "Number"], + canonical: (ce, ops2) => { + ops2 = validateArguments(ce, flattenSequence(canonical(ops2)), [ + "Number" + ]); + if (ops2.length !== 1) + return ce.fn("Degrees", ops2, { canonical: false }); + const arg = ops2[0]; + if (arg.numericValue === null || !arg.isValid) + return ce.fn("Degrees", ops2, { canonical: false }); + return ce.div(ce.mul([arg, ce.symbol("Pi")]), ce.number(180)); + }, + evaluate: (ce, ops2) => ce.mul([ops2[0], ce.div(ce.symbol("Pi"), ce.number(180))]) + } + }, + Hypot: { + signature: { + domain: ["Function", "Number", "Number", "NonNegativeNumber"], + simplify: (ce, ops2) => ce.box(["Sqrt", ["Add", ["Square", ops2[0]], ["Square", ops2[1]]]]).simplify(), + evaluate: [ + "Lambda", + ["Sqrt", ["Add", ["Square", "_1"], ["Square", "_2"]]] + ] + } + }, + Sin: { + complexity: 5e3, + signature: { + domain: ["Function", "Number", ["Interval", -1, 1]], + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Sin", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : complexAllowed(ce) ? ce.box([ + "Divide", + [ + "Subtract", + ["Exp", ["Multiply", "ImaginaryUnit", ops2[0]]], + ["Exp", ["Multiply", "ImaginaryUnit", ["Negate", ops2[0]]]] + ], + ["Complex", 0, 2] + ]).simplify() : void 0; + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Sin", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Sin", ops2[0]) + } + } + }, + { + // + // Basic trigonometric function + // (may be used in the definition of other functions below) + // + Arctan: { + wikidata: "Q2257242", + complexity: 5200, + signature: { + domain: domainNumberToRealNumber("Arctan"), + simplify: (ce, ops2) => { + var _a; + return (_a = constructibleValues(ce, "Arctan", ops2[0])) == null ? void 0 : _a.simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arctan", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arctan", ops2[0]) + } + }, + Arctan2: { + wikidata: "Q776598", + complexity: 5200, + signature: { + domain: ["Function", "Number", "Number", "Number"], + N: (_ce, ops2) => apply2N(ops2[0], ops2[1], Math.atan2, (a, b) => Decimal.atan2(a, b)) + } + }, + Cos: { + complexity: 5050, + signature: { + domain: ["Function", "Number", ["Interval", -1, 1]], + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Cos", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Sin", ["Add", ops2[0], ["Multiply", "Half", "Pi"]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Cos", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Cos", ops2[0]) + } + }, + Tan: { + // Range: 'RealNumber', + complexity: 5100, + signature: { + domain: trigFunction("Tan"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Tan", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", ["Sin", ops2[0]], ["Cos", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Tan", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Tan", ops2[0]) + } + } + /* converts (x, y) -> (radius, angle) */ + // ToPolarCoordinates: { + // domain: 'Function', + // outputDomain: ['TupleOf', 'RealNumber', 'RealNumber'], + // } + }, + // + // Functions defined using arithmetic functions or basic + // trigonometric functions above + // + { + Arcosh: { + complexity: 6200, + signature: { + domain: hyperbolicFunction("Arcosh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Arcosh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Ln", + ["Add", ops2[0], ["Sqrt", ["Subtract", ["Square", ops2[0]], 1]]] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arcosh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arcosh", ops2[0]) + } + }, + Arcsin: { + complexity: 5500, + signature: { + domain: hyperbolicFunction("Arcsin"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Arcsin", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Multiply", + 2, + [ + "Arctan2", + ops2[0], + ["Add", 1, ["Sqrt", ["Subtract", 1, ["Square", ops2[0]]]]] + ] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arcsin", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arcsin", ops2[0]) + } + }, + //Note: Arsinh, not ArCsinh + Arsinh: { + complexity: 6100, + signature: { + domain: hyperbolicFunction("Arsinh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Arsinh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Ln", + ["Add", ops2[0], ["Sqrt", ["Add", ["Square", ops2[0]], 1]]] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arsinh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arsinh", ops2[0]) + } + }, + Artanh: { + complexity: 6300, + signature: { + domain: hyperbolicFunction("Artanh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Artanh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Multiply", + "Half", + ["Ln", ["Divide", ["Add", 1, ops2[0]], ["Subtract", 1, ops2[0]]]] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Artanh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Artanh", ops2[0]) + } + }, + Cosh: { + complexity: 6050, + signature: { + domain: hyperbolicFunction("Cosh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Cosh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Multiply", + "Half", + ["Add", ["Exp", ops2[0]], ["Exp", ["Negate", ops2[0]]]] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Cosh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Cosh", ops2[0]) + } + }, + Cot: { + complexity: 5600, + signature: { + domain: trigFunction("Cot"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Cot", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", ["Cos", ops2[0]], ["Sin", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Cot", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Cot", ops2[0]) + } + }, + Csc: { + description: "Cosecant", + complexity: 5600, + signature: { + domain: trigFunction("Csc"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Csc", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", 1, ["Sin", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Csc", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Csc", ops2[0]) + } + }, + /** = sin(z/2)^2 = (1 - cos z) / 2*/ + Haversine: { + wikidata: "Q2528380", + signature: { + domain: ["Function", "ExtendedRealNumber", ["Interval", 0, 1]], + evaluate: ["Lambda", ["Divide", ["Subtract", 1, ["Cos", "_1"]], 2]] + } + }, + /** = 2 * Arcsin(Sqrt(z)) */ + InverseHaversine: { + // Range ['Interval', [['Negate', 'Pi'], 'Pi'], + signature: { + domain: ["Function", "ExtendedRealNumber", "RealNumber"], + evaluate: ["Lambda", ["Multiply", 2, ["Arcsin", ["Sqrt", "_1"]]]] + } + }, + Sec: { + description: "Secant, inverse of cosine", + complexity: 5500, + signature: { + domain: trigFunction("Sec"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Sec", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", 1, ["Cos", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Sec", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Sec", ops2[0]) + } + }, + Sinh: { + // Range: ['Interval', -Infinity, Infinity], + complexity: 6e3, + signature: { + domain: hyperbolicFunction("Sinh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Sinh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box([ + "Multiply", + "Half", + ["Subtract", ["Exp", ops2[0]], ["Exp", ["Negate", ops2[0]]]] + ]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Sinh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Sinh", ops2[0]) + } + } + }, + { + Csch: { + complexity: 6200, + signature: { + domain: domainNumberToRealNumber("Csch"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Csch", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", 1, ["Sinh", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Csch", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Csch", ops2[0]) + } + }, + Sech: { + complexity: 6200, + signature: { + domain: ["Function", "Number", ["Interval", -1, 1]], + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Sech", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", 1, ["Cosh", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Sech", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Sech", ops2[0]) + } + }, + Tanh: { + // Range: ['Interval', -Infinity, Infinity], + complexity: 6200, + signature: { + domain: hyperbolicFunction("Tanh"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Tanh", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", ["Sinh", ops2[0]], ["Cosh", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Tanh", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Tanh", ops2[0]) + } + } + }, + { + Arccos: { + complexity: 5550, + signature: { + domain: domainNumberToRealNumber("Arccos"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Arccos", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Subtract", ["Divide", "Pi", 2], ["Arcsin", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arccos", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arccos", ops2[0]) + } + }, + Arccot: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arccot"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arccot", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arccot", ops2[0]) + } + }, + Arcoth: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arcoth"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arcoth", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arcoth", ops2[0]) + } + }, + Arcsch: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arcsch"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arcsch", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arcsch", ops2[0]) + } + }, + Arcsec: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arcsec"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arcsec", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arcsec", ops2[0]) + } + }, + Arsech: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arsech"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arsech", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arsech", ops2[0]) + } + }, + Arccsc: { + numeric: true, + signature: { + domain: domainNumberToRealNumber("Arccsc"), + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Arccsc", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Arccsc", ops2[0]) + } + }, + Coth: { + complexity: 6300, + signature: { + domain: hyperbolicFunction("Coth"), + simplify: (ce, ops2) => { + var _a, _b; + return (_b = (_a = constructibleValues(ce, "Coth", ops2[0])) == null ? void 0 : _a.simplify()) != null ? _b : ce.box(["Divide", 1, ["Tanh", ops2[0]]]).simplify(); + }, + evaluate: (ce, ops2) => evalTrig(ce, "evaluate", "Coth", ops2[0]), + N: (ce, ops2) => evalTrig(ce, "N", "Coth", ops2[0]) + } + }, + /* converts (radius, angle) -> (x, y) */ + // FromPolarCoordinates: { + // domain: 'Function', + // outputDomain: ['TupleOf', 'RealNumber', 'RealNumber'], + // }, + InverseFunction: { + signature: { + domain: ["Function", "Function", "Function"], + canonical: (ce, ops2) => { + var _a; + ops2 = validateArgumentCount(ce, flattenSequence(canonical(ops2)), 1); + return (_a = processInverseFunction(ce, ops2)) != null ? _a : ce._fn("InverseFunction", ops2); + }, + simplify: (ce, ops2) => processInverseFunction(ce, ops2), + evaluate: (ce, ops2) => processInverseFunction(ce, ops2) + } + } + } +]; +var S2 = ["Sqrt", 2]; +var S3 = ["Sqrt", 3]; +var S5 = ["Sqrt", 5]; +var S6 = ["Sqrt", 6]; +var CONSTRUCTIBLE_VALUES = [ + [ + [0, 1], + { + Sin: 0, + Cos: 1, + Tan: 0, + Cot: NaN, + Sec: 1, + Csc: NaN + } + ], + [ + [1, 12], + { + Sin: ["Divide", ["Subtract", S6, S2], 4], + Cos: ["Divide", ["Add", S6, S2], 4], + Tan: ["Subtract", 2, S3], + Cot: ["Add", 2, S3], + Sec: ["Subtract", S6, S2], + Csc: ["Add", S6, S2] + } + ], + [ + [1, 10], + { + Sin: ["Divide", ["Subtract", S5, 1], 4], + Cos: ["Divide", ["Sqrt", ["Add", 10, ["Multiply", 2, S5]]], 4], + Tan: ["Divide", ["Sqrt", ["Subtract", 25, ["Multiply", 10, S5]]], 4], + Cot: ["Sqrt", ["Add", 5, ["Multiply", 2, S5]]], + Sec: ["Divide", ["Sqrt", ["Subtract", 50, ["Multiply", 10, S5]]], 5], + Csc: ["Add", 1, S5] + } + ], + [ + [1, 8], + { + Sin: "$\\frac{\\sqrt{2-\\sqrt2}}{2}$", + Cos: "$\\frac{\\sqrt {2+{\\sqrt {2}}}}{2}$", + Tan: "$\\sqrt{2} - 1$", + Cot: "$\\sqrt{2} + 1$", + Sec: "$\\sqrt{ 4 - 2\\sqrt{2}}$", + Csc: "$\\sqrt{ 4 + 2\\sqrt{2}}$" + } + ], + [ + [1, 6], + { + Sin: "$\\frac{1}{2}$", + Cos: "$\\frac{\\sqrt{3}}{2}$", + Tan: "$\\frac{\\sqrt{3}}{3}$", + Cot: "$\\frac{2\\sqrt{3}}{3}$", + Sec: "$\\sqrt{3}$", + Csc: 2 + } + ], + [ + [1, 5], + { + Sin: "$\\frac{\\sqrt{10- 2\\sqrt{5}}} {4}$", + Cos: "$\\frac{1+ \\sqrt{5}} {4}$", + Tan: "$\\sqrt{5-2\\sqrt5}$", + Cot: "$\\frac{\\sqrt{25+10\\sqrt5}} {5}$", + Sec: "$\\sqrt{5} - 1$", + Csc: "$\\frac{\\sqrt{50+10\\sqrt{5}}} {5}$" + } + ], + [ + [1, 4], + { + Sin: ["Divide", S2, 2], + Cos: ["Divide", S2, 2], + Tan: 1, + Cot: 1, + Sec: S2, + Csc: S2 + } + ], + [ + [3, 10], + { + Sin: "$\\frac{1+ \\sqrt{5}} {4}$", + Cos: "$\\frac{\\sqrt{10- 2\\sqrt{5}}} {4}$", + Tan: "$\\frac{\\sqrt{25+10\\sqrt5}} {5}$", + Cot: "$\\sqrt{5-2\\sqrt5}$", + Sec: "$$", + Csc: "$\\frac{\\sqrt{50+10\\sqrt{5}}} {5}$" + } + ], + [ + [1, 3], + { + Sin: ["Divide", S3, 2], + // '$\\frac{\\sqrt{3}}{2}$' + Cos: "Half", + // '$\\frac{1}{2}$' + Tan: S3, + // '$\\sqrt{3}$' + Cot: ["Divide", S3, 3], + // '$\\frac{\\sqrt{3}}{3}$' + Sec: 2, + Csc: ["Divide", ["Multiply", 2, S3], 3] + // '$\\frac{2\\sqrt{3}}{3}$' + } + ], + [ + [3, 8], + { + Sin: "$\\frac{ \\sqrt{2 + \\sqrt{2}} } {2}$", + Cos: "$\\frac{ \\sqrt{2 - \\sqrt{2}} } {2}$", + Tan: "$\\sqrt{2} + 1$", + Cot: "$\\sqrt{2} - 1$", + Sec: "$\\sqrt{ 4 + 2 \\sqrt{2} }$", + Csc: "$\\sqrt{ 4 - 2 \\sqrt{2} }$" + } + ], + [ + [2, 5], + { + Sin: "$\\frac{\\sqrt{10+ 2\\sqrt{5}}} {4}$", + Cos: "$\\frac{\\sqrt{5}-1} {4}$", + Tan: "$\\sqrt{5+2\\sqrt{5}}$", + Cot: "$\\frac{\\sqrt{25-10\\sqrt{5}}} {5}$", + Sec: "$1 + \\sqrt{5}$", + Csc: "$\\frac{\\sqrt{50-10\\sqrt{5}}} {5}$" + } + ], + [ + [5, 12], + { + Sin: "$\\frac{\\sqrt{6} + \\sqrt{2}} {4}$", + Cos: "$\\frac{ \\sqrt{6} - \\sqrt{2}} {4}$", + Tan: "$2+\\sqrt{3}$", + Cot: "$2-\\sqrt{3}$", + Sec: "$\\sqrt{6}+\\sqrt{2}$", + Csc: "$\\sqrt{6} - \\sqrt{2}$" + } + ], + [ + [1, 2], + { + Sin: 1, + Cos: 0, + Tan: NaN, + Cot: 0, + Sec: NaN, + Csc: 1 + } + ] +]; +var TRIG_IDENTITIES = { + Sin: [ + [1, "Sin"], + [1, "Cos"], + [-1, "Sin"], + [-1, "Cos"] + ], + Cos: [ + [1, "Cos"], + [-1, "Sin"], + [-1, "Cos"], + [1, "Sin"] + ], + Sec: [ + [1, "Sec"], + [-1, "Csc"], + [-1, "Sec"], + [1, "Csc"] + ], + Csc: [ + [1, "Csc"], + [1, "Sec"], + [-1, "Csc"], + [-1, "Sec"] + ], + Tan: [ + [1, "Tan"], + [-1, "Cot"], + [1, "Tan"], + [-1, "Cot"] + ], + Cot: [ + [1, "Cot"], + [-1, "Tan"], + [1, "Cot"], + [-1, "Tan"] + ] +}; +function constructibleValues(ce, head2, x) { + var _a, _b, _c; + if (!x) + return void 0; + const specialValues = ce.cache( + "constructible-trigonometric-values", + () => { + var _a2; + const values = []; + for (const [val, results] of CONSTRUCTIBLE_VALUES) { + const boxedResults = {}; + for (const head3 of Object.keys(results)) + boxedResults[head3] = (_a2 = ce.parse(latexString(results[head3]))) != null ? _a2 : ce.box(results[head3]); + values.push([val, boxedResults]); + } + return values; + }, + (cache) => { + for (const [_k, v] of cache) { + for (const v2 of Object.values(v)) + v2.unbind(); + } + return cache; + } + ); + x = x.N(); + if (x.numericValue === null) + return void 0; + let theta = (_a = asFloat(x)) != null ? _a : null; + if (theta === null) + return void 0; + theta = theta % (2 * Math.PI); + const identitySign = head2 !== "Cos" && head2 !== "Sec" ? Math.sign(theta) : 1; + theta = Math.abs(theta); + const quadrant2 = Math.floor(theta * 2 / Math.PI); + theta = theta % (Math.PI / 2); + let sign2; + [sign2, head2] = (_c = (_b = TRIG_IDENTITIES[head2]) == null ? void 0 : _b[quadrant2]) != null ? _c : [1, head2]; + sign2 = sign2 * identitySign; + for (const [[n, d], result] of specialValues) { + if (result[head2] && ce.chop(theta - Math.PI * n / d) === 0) { + return sign2 < 0 ? canonicalNegate(result[head2]) : result[head2]; + } + } + return void 0; +} +function processInverseFunction(ce, xs) { + if (xs.length !== 1) + return void 0; + const expr = xs[0]; + const head2 = expr.symbol; + if (typeof head2 !== "string") + return void 0; + if (head2 === "InverseFunction") + return expr.op1; + const newHead = { + Sin: "Arcsin", + Cos: "Arccos", + Tan: "Arctan", + Sec: "Arcsec", + Csc: " Arccsc", + Sinh: "Arsinh", + Cosh: "Arcosh", + Tanh: "Artanh", + Sech: "Arcsech", + Csch: "Arcsch", + Arcosh: "Cosh", + Arccos: "Cos", + Arccsc: "Csc", + Arcsch: "Csch", + // '??': 'Cot', + // '??': 'Coth', + Arcsec: "Sec", + Arcsin: "Sin", + Arsinh: "Sinh", + Arctan: "Tan", + Artanh: "Tanh" + }[head2]; + return newHead ? ce.symbol(newHead) : void 0; +} +function evalTrig(ce, mode, head2, op3) { + var _a; + if (!op3) + return void 0; + if (mode === "evaluate") { + const result = (_a = constructibleValues(ce, head2, op3)) == null ? void 0 : _a.evaluate(); + if (result) + return result; + if (op3.isExact) + return void 0; + } + switch (head2) { + case "Arccos": + return applyN( + op3, + Math.acos, + (x) => x.acos(), + (x) => x.acos() + ); + case "Arccot": + return applyN( + op3, + (x) => Math.atan2(1, x), + (x) => Decimal.atan2(ce._BIGNUM_ONE, x), + (x) => x.inverse().atan() + ); + case "Arccsc": + return applyN( + op3, + (x) => Math.asin(1 / x), + (x) => ce._BIGNUM_ONE.div(x).asin(), + (x) => x.inverse().asin() + ); + case "Arcosh": + return applyN( + op3, + Math.acosh, + (x) => x.acosh(), + (x) => x.acosh() + ); + case "Arcoth": + return applyN( + op3, + (x) => x, + (x) => x.acosh(), + (x) => x.acosh() + ); + case "Arcsch": + return applyN( + op3, + (x) => Math.log(1 / x + Math.sqrt(1 / (x * x) + 1)), + (x) => ce._BIGNUM_ONE.div(x.mul(x)).add(ce._BIGNUM_ONE).sqrt().add(ce._BIGNUM_ONE.div(x)).log(), + (x) => x.mul(x).inverse().add(1).sqrt().add(x.inverse()).log() + ); + case "Arcsec": + return applyN( + op3, + (x) => Math.acos(1 / x), + (x) => ce._BIGNUM_ONE.div(x).acos(), + (x) => x.inverse().acos() + ); + case "Arcsin": + return applyN( + op3, + Math.asin, + (x) => x.asin(), + (x) => x.asin() + ); + case "Arsech": + return applyN( + op3, + (x) => Math.log((1 + Math.sqrt(1 - x * x)) / x), + (x) => ce._BIGNUM_ONE.sub(x.mul(x).add(ce._BIGNUM_ONE).div(x)).log(), + (x) => ce.complex(1).sub(x.mul(x)).add(1).div(x).log() + ); + case "Arsinh": + return applyN( + op3, + Math.asinh, + (x) => x.asinh(), + (x) => x.asinh() + ); + case "Arctan": + return applyN( + op3, + Math.atan, + (x) => x.atan(), + (x) => x.atan() + ); + case "Artanh": + return applyN( + op3, + Math.atanh, + (x) => x.atanh(), + (x) => x.atanh() + ); + case "Cos": + return applyN( + op3, + Math.cos, + (x) => x.toSignificantDigits(ce.precision + 4).cos().toSignificantDigits(ce.precision), + (x) => x.cos() + ); + case "Cosh": + return applyN( + op3, + Math.cosh, + (x) => x.cosh(), + (x) => x.cosh() + ); + case "Cot": + return applyN( + op3, + (x) => 1 / Math.tan(x), + (x) => ce._BIGNUM_ONE.div(x.tan()), + (x) => x.tan().inverse() + ); + case "Coth": + return applyN( + op3, + (x) => 1 / Math.tanh(x), + (x) => ce._BIGNUM_ONE.div(x.tanh()), + (x) => x.tanh().inverse() + ); + case "Csc": + return applyN( + op3, + (x) => 1 / Math.sin(x), + (x) => ce._BIGNUM_ONE.div(x.sin()), + (x) => x.sin().inverse() + ); + case "Csch": + return applyN( + op3, + (x) => 1 / Math.sinh(x), + (x) => ce._BIGNUM_ONE.div(x.sinh()), + (x) => x.sinh().inverse() + ); + case "Sec": + return applyN( + op3, + (x) => 1 / Math.cos(x), + (x) => ce._BIGNUM_ONE.div(x.cos()), + (x) => x.cos().inverse() + ); + case "Sech": + return applyN( + op3, + (x) => 1 / Math.cosh(x), + (x) => ce._BIGNUM_ONE.div(x.cosh()), + (x) => x.cosh().inverse() + ); + case "Sin": + return applyN( + op3, + Math.sin, + (x) => x.toSignificantDigits(ce.precision + 4).sin().toSignificantDigits(ce.precision), + (x) => x.sin() + ); + case "Sinh": + return applyN( + op3, + Math.sinh, + (x) => x.sinh(), + (x) => x.sinh() + ); + case "Tan": + return applyN( + op3, + Math.tan, + (x) => x.toSignificantDigits(ce.precision + 4).tan().toSignificantDigits(ce.precision), + (x) => x.tan() + ); + case "Tanh": + return applyN( + op3, + Math.tanh, + (x) => x.tanh(), + (x) => x.tanh() + ); + } + return void 0; +} +var import_complex17 = __toESM(require_complex()); +var BoxedSymbolDefinitionImpl = class { + // @todo + constructor(ce, name, def) { + var _a, _b, _c, _d; + if (!ce.context) + throw Error("No context available"); + this.name = name; + this.wikidata = def.wikidata; + this.description = def.description; + this.url = def.url; + this._engine = ce; + this.scope = ce.context; + this.name = name; + this._flags = def.flags ? normalizeFlags(def.flags) : void 0; + this._domain = def.domain ? ce.domain(def.domain) : void 0; + this.constant = (_a = def.constant) != null ? _a : false; + this.holdUntil = (_b = def.holdUntil) != null ? _b : "evaluate"; + if (this.constant) { + this._defValue = def.value; + this._value = null; + } else { + if (def.value) { + if (isLatexString(def.value)) + this._value = (_c = ce.parse(def.value)) != null ? _c : ce.symbol("Undefined"); + else if (typeof def.value === "function") + this._value = ce.box((_d = def.value(ce)) != null ? _d : "Undefined"); + else if (def.value instanceof AbstractBoxedExpression) + this._value = def.value; + else + this._value = ce.box(def.value); + } else + this._value = void 0; + if (!this._value && this._domain && !def.flags) + this._flags = domainToFlags(this._domain); + } + } + reset() { + if (this.constant) + this._value = null; + } + // unbind() { + // this._value = null; + // this._domain = null; + // } + get value() { + var _a, _b, _c, _d; + if (this._value === null) { + const ce = this._engine; + if (isLatexString(this._defValue)) + this._value = (_a = ce.parse(this._defValue)) != null ? _a : ce.symbol("Undefined"); + else if (typeof this._defValue === "function") + this._value = ce.box((_b = this._defValue(ce)) != null ? _b : "Undefined"); + else if (this._defValue) + this._value = ce.box(this._defValue); + else + this._value = void 0; + if ((_c = this._value) == null ? void 0 : _c.numericValue) { + const val = this._value.numericValue; + if (!bignumPreferred(ce) && val instanceof decimal_default) + this._value = ce.number(val.toNumber()); + else if (!complexAllowed(ce) && val instanceof import_complex17.default) + this._value = ce._NAN; + } + } + return (_d = this._value) != null ? _d : void 0; + } + set value(val) { + if (this.constant) + throw new Error( + `The value of the constant "${this.name}" cannot be changed` + ); + /* @__PURE__ */ console.assert(this._defValue === void 0); + if (typeof val === "number") { + this._value = this._engine.number(val); + } else if (val) { + const newVal = this._engine.box(val); + if (!this._domain || newVal.domain.isCompatible(this._domain)) + this._value = newVal; + else + this._value = void 0; + } else + this._value = void 0; + if (this._value !== void 0) + this._flags = void 0; + else + this._flags = domainToFlags(this.domain); + } + get domain() { + var _a, _b, _c; + return (_c = (_b = this._domain) != null ? _b : (_a = this._value) == null ? void 0 : _a.domain) != null ? _c : void 0; + } + set domain(domain) { + var _a, _b, _c; + if (this.constant) + throw new Error( + `The domain of the constant "${this.name}" cannot be changed` + ); + if (!domain) { + this._defValue = void 0; + this._value = void 0; + this._flags = void 0; + this._domain = void 0; + return; + } + domain = this._engine.domain(domain); + if ((_a = this._domain) == null ? void 0 : _a.isNumeric) { + if (!domain.isNumeric) + throw Error("Can't change from a numeric domain to a non-numeric one"); + this._domain = domain; + if (!this._value) + this._flags = { ...(_b = this._flags) != null ? _b : {}, ...domainToFlags(domain) }; + return; + } + if (this._domain) + throw Error("Can't change a non-numeric domain"); + this._flags = void 0; + this._domain = domain; + if (!this._value && domain.isNumeric) + this._flags = { ...(_c = this._flags) != null ? _c : {}, ...domainToFlags(domain) }; + } + // + // Flags + // + get number() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNumber) != null ? _c : (_b = this._flags) == null ? void 0 : _b.number; + } + set number(val) { + this.updateFlags({ number: val }); + } + get integer() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isInteger) != null ? _c : (_b = this._flags) == null ? void 0 : _b.integer; + } + set integer(val) { + this.updateFlags({ integer: val }); + } + get rational() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isRational) != null ? _c : (_b = this._flags) == null ? void 0 : _b.rational; + } + set rational(val) { + this.updateFlags({ rational: val }); + } + get algebraic() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isAlgebraic) != null ? _c : (_b = this._flags) == null ? void 0 : _b.algebraic; + } + set algebraic(val) { + this.updateFlags({ algebraic: val }); + } + get real() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isReal) != null ? _c : (_b = this._flags) == null ? void 0 : _b.real; + } + set real(val) { + this.updateFlags({ real: val }); + } + get extendedReal() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isExtendedReal) != null ? _c : (_b = this._flags) == null ? void 0 : _b.extendedReal; + } + set extendedReal(val) { + this.updateFlags({ extendedReal: val }); + } + get complex() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isComplex) != null ? _c : (_b = this._flags) == null ? void 0 : _b.complex; + } + set complex(val) { + this.updateFlags({ complex: val }); + } + get extendedComplex() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isExtendedComplex) != null ? _c : (_b = this._flags) == null ? void 0 : _b.extendedComplex; + } + set extendedComplex(val) { + this.updateFlags({ extendedComplex: val }); + } + get imaginary() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isImaginary) != null ? _c : (_b = this._flags) == null ? void 0 : _b.imaginary; + } + set imaginary(val) { + this.updateFlags({ imaginary: val }); + } + get positive() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isPositive) != null ? _c : (_b = this._flags) == null ? void 0 : _b.positive; + } + set positive(val) { + this.updateFlags({ positive: val }); + } + get nonPositive() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNonPositive) != null ? _c : (_b = this._flags) == null ? void 0 : _b.nonPositive; + } + set nonPositive(val) { + this.updateFlags({ nonPositive: val }); + } + get negative() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNegative) != null ? _c : (_b = this._flags) == null ? void 0 : _b.negative; + } + set negative(val) { + this.updateFlags({ negative: val }); + } + get nonNegative() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNonNegative) != null ? _c : (_b = this._flags) == null ? void 0 : _b.nonNegative; + } + set nonNegative(val) { + this.updateFlags({ nonNegative: val }); + } + get zero() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isZero) != null ? _c : (_b = this._flags) == null ? void 0 : _b.zero; + } + set zero(val) { + this.updateFlags({ zero: val }); + } + get notZero() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNotZero) != null ? _c : (_b = this._flags) == null ? void 0 : _b.notZero; + } + set notZero(val) { + this.updateFlags({ notZero: val }); + } + get one() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isOne) != null ? _c : (_b = this._flags) == null ? void 0 : _b.one; + } + set one(val) { + this.updateFlags({ one: val }); + } + get negativeOne() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNegativeOne) != null ? _c : (_b = this._flags) == null ? void 0 : _b.negativeOne; + } + set negativeOne(val) { + this.updateFlags({ negativeOne: val }); + } + get infinity() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isInfinity) != null ? _c : (_b = this._flags) == null ? void 0 : _b.infinity; + } + set infinity(val) { + this.updateFlags({ infinity: val }); + } + get finite() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isFinite) != null ? _c : (_b = this._flags) == null ? void 0 : _b.finite; + } + set finite(val) { + this.updateFlags({ finite: val }); + } + get NaN() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isNaN) != null ? _c : (_b = this._flags) == null ? void 0 : _b.NaN; + } + set NaN(val) { + this.updateFlags({ NaN: val }); + } + get even() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isEven) != null ? _c : (_b = this._flags) == null ? void 0 : _b.even; + } + set even(val) { + this.updateFlags({ even: val }); + } + get odd() { + var _a, _b, _c; + return (_c = (_a = this.value) == null ? void 0 : _a.isOdd) != null ? _c : (_b = this._flags) == null ? void 0 : _b.odd; + } + set odd(val) { + this.updateFlags({ odd: val }); + } + get prime() { + var _a, _b; + const val = this._value; + if (val) { + if (!val.isInteger || val.isNonPositive) + return false; + return isPrime((_a = asFloat(val)) != null ? _a : NaN); + } + return (_b = this._flags) == null ? void 0 : _b.prime; + } + set prime(val) { + this.updateFlags({ prime: val }); + } + get composite() { + var _a, _b; + const val = this._value; + if (val) { + if (!val.isInteger || val.isNonPositive) + return false; + return !isPrime((_a = asFloat(val)) != null ? _a : NaN); + } + return (_b = this._flags) == null ? void 0 : _b.composite; + } + set composite(val) { + this.updateFlags({ composite: val }); + } + updateFlags(flags) { + var _a; + if (this.constant) + throw Error("The flags of constant cannot be changed"); + if (((_a = this.domain) == null ? void 0 : _a.isNumeric) === false) + throw Error("Flags only apply to numeric domains"); + let flagCount = 0; + let consistent = true; + for (const flag in Object.keys(flags)) { + flagCount += 1; + if (this._value && flags[flag] !== void 0) { + switch (flag) { + case "number": + consistent = this._value.isNumber === flags.number; + break; + case "integer": + consistent = this._value.isInteger === flags.integer; + break; + case "rational": + consistent = this._value.isRational === flags.rational; + break; + case "algebraic": + consistent = this._value.isAlgebraic === flags.algebraic; + break; + case "real": + consistent = this._value.isReal === flags.real; + break; + case "extendedReal": + consistent = this._value.isExtendedReal === flags.extendedReal; + break; + case "complex": + consistent = this._value.isComplex === flags.complex; + break; + case "extendedComplex": + consistent = this._value.isExtendedComplex === flags.extendedComplex; + break; + case "imaginary": + consistent = this._value.isImaginary === flags.imaginary; + break; + case "positive": + consistent = this._value.isPositive === flags.positive; + break; + case "nonPositive": + consistent = this._value.isNonPositive === flags.nonPositive; + break; + case "negative": + consistent = this._value.isNegative === flags.negative; + break; + case "nonNegative": + consistent = this._value.isNonNegative === flags.nonNegative; + break; + case "zero": + consistent = this._value.isZero === flags.zero; + break; + case "notZero": + consistent = this._value.isNotZero === flags.notZero; + break; + case "one": + consistent = this._value.isOne === flags.one; + break; + case "negativeOne": + consistent = this._value.isNegativeOne === flags.negativeOne; + break; + case "infinity": + consistent = this._value.isInfinity === flags.infinity; + break; + case "NaN": + consistent = this._value.isNaN === flags.NaN; + break; + case "finite": + consistent = this._value.isFinite === flags.finite; + break; + case "even": + consistent = this._value.isEven === flags.even; + break; + case "odd": + consistent = this._value.isOdd === flags.odd; + break; + case "prime": + consistent = this._value.isPrime === flags.prime; + break; + case "composite": + consistent = this._value.isComposite === flags.composite; + break; + } + } + } + if (flagCount > 0) { + if (!consistent) { + this._defValue = void 0; + this._value = void 0; + } + this._domain = this._engine.domain("Number"); + if (!this._flags) + this._flags = normalizeFlags(flags); + else + this._flags = { ...this._flags, ...normalizeFlags(flags) }; + } + } +}; +function definedKeys(xs) { + return Object.fromEntries( + Object.entries(xs).filter(([_k, v]) => v !== void 0) + ); +} +function normalizeFlags(flags) { + const result = { ...flags }; + if (flags.zero || flags.one || flags.negativeOne) { + result.zero = flags.zero && !flags.one && !flags.negativeOne; + result.notZero = !flags.zero || flags.one || flags.negativeOne; + result.one = flags.one && !flags.zero && !flags.negativeOne; + result.negativeOne = flags.negativeOne && !flags.zero && !flags.one; + result.infinity = false; + result.NaN = false; + result.finite = true; + result.integer = true; + result.finite = true; + result.infinity = false; + result.NaN = false; + result.even = flags.one; + result.odd = !flags.one; + result.prime = false; + result.composite = false; + } + if (result.zero) { + result.positive = false; + result.negative = false; + result.nonPositive = true; + result.nonNegative = true; + } + if (result.notZero === true) { + if (!result.imaginary) + result.real = true; + result.zero = false; + } + if (result.one) { + result.positive = true; + } + if (result.negativeOne) { + result.nonPositive = true; + } + if (result.positive || result.nonNegative) { + result.negativeOne = false; + } + if (result.positive) { + result.nonPositive = false; + result.negative = false; + result.nonNegative = true; + } else if (result.nonPositive) { + result.positive = false; + result.negative = result.notZero; + result.nonNegative = !result.zero; + } else if (result.negative) { + result.positive = false; + result.nonPositive = result.notZero; + result.nonNegative = false; + } else if (result.nonNegative) { + result.positive = result.notZero; + result.nonPositive = !result.zero; + result.negative = false; + } + if (result.positive || result.negative || result.nonPositive || result.nonNegative) { + result.number = true; + if (result.finite) + result.real = true; + else if (!result.finite) + result.complex = true; + result.imaginary = false; + } + if (result.finite) { + result.number = true; + result.complex = true; + result.infinity = false; + result.NaN = false; + } + if (result.infinity) { + result.finite = false; + result.NaN = false; + } + if (result.infinity === false) { + result.extendedComplex = false; + result.extendedReal = false; + } + if (flags.even) + result.odd = false; + if (flags.odd) + result.even = false; + if (result.integer) + result.rational = true; + if (result.rational) + result.algebraic = true; + if (result.algebraic) + result.real = true; + if (result.real) + result.complex = true; + if (result.imaginary) + result.complex = true; + if (result.complex) + result.number = true; + if (result.real && result.infinity !== false) + result.extendedReal = true; + if (result.complex && result.infinity !== false) + result.extendedComplex = true; + if (result.even || result.infinity || result.NaN || result.negative || result.imaginary || result.integer === false) + result.prime = false; + if (result.number && result.prime) + result.composite = false; + return result; +} +function domainToFlags(dom) { + if (!dom) + return {}; + const result = {}; + if (dom.isNumeric) { + const domain = dom.literal; + result.number = true; + if (domain === "Integer") + result.integer = true; + if (domain === "RationalNumber") + result.rational = true; + if (domain === "AlgebraicNumber") + result.algebraic = true; + if (domain === "TranscendentalNumber") { + result.algebraic = false; + result.real = true; + } + if (domain === "ExtendedRealNumber") + result.extendedReal = true; + if (domain === "RealNumber") + result.real = true; + if (domain === "ImaginaryNumber") + result.imaginary = true; + if (domain === "ExtendedComplexNumber") + result.extendedComplex = true; + if (domain === "ComplexNumber") + result.complex = true; + if (domain === "PositiveNumber") { + result.notZero = true; + result.real = true; + result.positive = true; + } + if (domain === "NegativeNumber") { + result.notZero = true; + result.real = true; + result.negative = true; + } + if (domain === "NonNegativeNumber") { + result.real = true; + result.positive = true; + } + if (domain === "NonPositiveNumber") { + result.real = true; + result.negative = true; + } + if (domain === "PositiveInteger") { + result.notZero = true; + result.integer = true; + result.positive = true; + } + if (domain === "NegativeNumber") { + result.notZero = true; + result.integer = true; + result.negative = true; + } + if (domain === "NonNegativeNumber") { + result.integer = true; + result.positive = true; + } + if (domain === "NonPositiveNumber") { + result.integer = true; + result.negative = true; + } + } else { + result.number = false; + result.integer = false; + result.rational = false; + result.algebraic = false; + result.real = false; + result.extendedReal = false; + result.complex = false; + result.extendedComplex = false; + result.imaginary = false; + result.positive = false; + result.nonPositive = false; + result.negative = false; + result.nonNegative = false; + result.zero = false; + result.notZero = false; + result.one = false; + result.negativeOne = false; + result.infinity = false; + result.NaN = false; + result.odd = false; + result.even = false; + result.prime = false; + result.composite = false; + } + return definedKeys(normalizeFlags(result)); +} +var BoxedFunctionDefinitionImpl = class { + constructor(ce, name, def) { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l; + if (!ce.context) + throw Error("No context available"); + this.engine = ce; + this.scope = ce.context; + const idempotent = (_a = def.idempotent) != null ? _a : false; + const involution = (_b = def.involution) != null ? _b : false; + if (idempotent && involution) + throw new Error( + `Function Definition "${name}": the 'idempotent' and 'involution' flags are mutually exclusive` + ); + this.name = name; + this.description = def.description; + this.wikidata = def.wikidata; + this.threadable = (_c = def.threadable) != null ? _c : false; + this.associative = (_d = def.associative) != null ? _d : false; + this.commutative = (_e = def.commutative) != null ? _e : false; + this.idempotent = idempotent; + this.involution = involution; + this.inert = (_f = def.inert) != null ? _f : false; + this.numeric = (_g = def.numeric) != null ? _g : false; + this.pure = (_h = def.pure) != null ? _h : true; + this.complexity = (_i = def.complexity) != null ? _i : DEFAULT_COMPLEXITY; + this.hold = (_j = def.hold) != null ? _j : "none"; + if (this.inert) { + if (def.hold) + throw Error( + `Function Definition "${name}": an inert function should not have a hold` + ); + this.hold = "rest"; + if (def.signature) { + const sig = def.signature; + if ("simplify" in sig || "evaluate" in sig || "N" in sig || "evalDimension" in sig || "sgn" in sig || "compile" in sig) + throw Error( + `Function Definition "${name}": an inert function should only have 'canonical' or 'codomain' handlers` + ); + } + if (this.threadable) + throw Error( + `Function Definition "${name}": an inert function should not be threadable` + ); + if (this.associative) + throw Error( + `Function Definition "${name}": an inert function should not be associative` + ); + if (this.commutative) + throw Error( + `Function Definition "${name}": an inert function should not be commutative` + ); + if (this.idempotent) + throw Error( + `Function Definition "${name}": an inert function should not be idempotent` + ); + if (this.involution) + throw Error( + `Function Definition "${name}": an inert function should not be involution` + ); + if (!this.pure) + throw Error( + `Function Definition "${name}": an inert function should be pure` + ); + } + if (def.signature) { + const sig = def.signature; + const domain = sig.domain ? ce.domain(sig.domain) : def.numeric ? ce.domain("NumericFunction") : ce.domain("Function"); + if (!domain.isValid) + throw Error( + `Function Definition "${name}": invalid domain ${JSON.stringify( + sig.domain + )}` + ); + const codomain = (_l = (_k = sig.codomain) != null ? _k : domain.codomain) != null ? _l : def.numeric ? ce.domain("Number") : ce.domain("Anything"); + this.signature = { + domain, + codomain, + canonical: sig.canonical, + simplify: sig.simplify, + evaluate: !sig.evaluate ? void 0 : typeof sig.evaluate === "function" ? sig.evaluate : ce.box(sig.evaluate, { canonical: false }), + N: sig.N, + evalDimension: sig.evalDimension, + sgn: sig.sgn, + compile: sig.compile + }; + } else if (def.numeric) { + this.signature = { + domain: ce.domain("NumericFunction"), + codomain: ce.domain("Number") + }; + } else { + this.signature = { + domain: ce.domain("Function"), + codomain: ce.domain("Anything") + }; + } + } + reset() { + return; + } +}; +function makeFunctionDefinition(engine, name, def) { + if (def instanceof BoxedFunctionDefinitionImpl) + return def; + return new BoxedFunctionDefinitionImpl( + engine, + name, + def + ); +} +function getStandardLibrary(categories) { + if (categories === "all") { + return getStandardLibrary([ + "domains", + "core", + "control-structures", + // If, Block, Loop + "logic", + "collections", + // Dictionary, List, Sets + "relop", + "numeric", + "arithmetic", + "algebra", + "calculus", + "combinatorics", + "linear-algebra", + "other", + "physics", + "polynomials", + "statistics", + "trigonometry", + "dimensions", + "units" + ]); + } else if (typeof categories === "string") + categories = [categories]; + const result = []; + for (const category of categories) { + const dict = LIBRARIES[category]; + if (!dict) + throw Error(`Unknown library category ${category}`); + if (Array.isArray(dict)) + result.push(...dict); + else + result.push(dict); + } + return result; +} +var LIBRARIES = { + "algebra": [], + // 'algebra': [ + // // polynomial([0, 2, 0, 4]:list, x:symbol) -> 2x + 4x^3 + // // polynomial(2x + 4x^3, x) -> {0, 2, 0, 4} + // // rational(2x + 4x^3, {3, 1}, x) -> (2x + 4x^3)/(3+x) + // // https://reference.wolfram.com/language/tutorial/AlgebraicCalculations.html + // // simplify-trig (macsyma) + // // - trigReduce, trigExpand, trigFactor, trigToExp (mathematica) + // // Mathematica: + // // - distribute -> (a+b)(c+d) -> ac+ ad+ bc+ bd (doesn't have to be multiply, + // // f(a+b, c+d) -> f(a, c) + f(a, d) + f(b, c) + f(b, d) + // // -- distribute(expr, over=add, with=multiply) + // // https://reference.wolfram.com/language/ref/Distribute.html + // // - expand, expand-all + // // - factor + // // - simplify + // ], + "arithmetic": [...ARITHMETIC_LIBRARY, ...COMPLEX_LIBRARY], + "calculus": CALCULUS_LIBRARY, + "combinatorics": [], + // @todo fibonacci, binomial, etc... + "control-structures": [], + // // D + // // Derivative (mathematica) + // // diff (macsyma) + // // nth-diff + // // int + // // - integrate(expression, symbol) -- indefinite integral + // // - integrate(expression, range) = {symbol, min, max} -- definite integral + // // - integrate(expression, range1, range2) -- multiple integral + // // def-int + // ], + "dimensions": [], + // @todo // volume, speed, area + "domains": [], + "core": CORE_LIBRARY, + "collections": [SETS_LIBRARY, COLLECTIONS_LIBRARY, domainSetsLibrary()], + // 'domains': getDomainsDictionary(), + "linear-algebra": [], + //@todo // 'linear-algebra': [ + // // matrix + // // transpose + // // cross-product + // // outer-product + // // determinant + // // vector + // // matrix + // // rank + // // scalar-matrix + // // constant-matrix + // // identity-matrix + // ], + "logic": LOGIC_LIBRARY, + "numeric": [], + // @todo // 'numeric': [ + // // Gamma function + // // Zeta function + // // erf function + // // numerator(fraction) + // // denominator(fraction) + // // exactFloatToRational + // // N -> eval as a number + // // random + // // hash + // ], + "other": [], + "relop": RELOP_LIBRARY, + "polynomials": POLYNOMIALS_LIBRARY, + "physics": { + Mu0: { + description: "Vaccum permeability", + constant: true, + wikidata: "Q1515261", + domain: "RealNumber", + value: 125663706212e-17 + // unit: ['Divide', 'N', ['Square', 'A']], + } + }, + "statistics": STATISTICS_LIBRARY, + "trigonometry": TRIGONOMETRY_LIBRARY, + "units": [] +}; +function validateDefinitionName(name) { + name = name.normalize(); + if (isValidIdentifier(name)) + return name; + throw new Error( + `Invalid definition name "${name}": ${validateIdentifier(name)}` + ); +} +function setCurrentContextSymbolTable(engine, table) { + var _a2; + var _a; + if (!engine.context) + throw Error("No context available"); + (_a2 = (_a = engine.context).idTable) != null ? _a2 : _a.idTable = /* @__PURE__ */ new Map(); + const idTable = engine.context.idTable; + for (let name of Object.keys(table)) { + const entry = table[name]; + name = validateDefinitionName(name); + if (isFunctionDefinition(entry)) { + const def = makeFunctionDefinition(engine, name, entry); + if (idTable.has(name)) + throw new Error( + `Duplicate function definition ${name}: +${JSON.stringify( + idTable.get(name) + )} +${JSON.stringify(entry)}` + ); + idTable.set(name, def); + } else if (isSymbolDefinition(entry)) { + const def = new BoxedSymbolDefinitionImpl(engine, name, entry); + if (engine.strict && entry.wikidata) { + for (const [_, d] of idTable) { + if (d.wikidata === entry.wikidata) + throw new Error( + `Duplicate entries with wikidata "${entry.wikidata}": "${name}" and "${d.name}"` + ); + } + } + if (idTable.has(name)) + throw new Error(`Duplicate symbol definition "${name}"`); + idTable.set(name, def); + } else { + const def = new BoxedSymbolDefinitionImpl(engine, name, { + value: engine.box(entry) + }); + /* @__PURE__ */ console.assert(def); + idTable.set(name, def); + } + } +} +var import_complex19 = __toESM(require_complex()); +function numericCostFunction(n) { + if (Number.isInteger(n) && n !== 0) { + return Math.floor(Math.log2(Math.abs(n)) / Math.log2(10)) + (n > 0 ? 1 : 2); + } + return 2; +} +function costFunction(expr) { + var _a, _b; + if (expr.symbol) + return 1; + const num = expr.numericValue; + if (num !== null) { + if (expr.isZero) + return 1; + if (expr.isInteger) + return numericCostFunction(asFloat(expr)); + if (isRational(num)) { + if (isMachineRational(num)) + return numericCostFunction(num[0]) + numericCostFunction(num[1]) + 1; + else + return numericCostFunction(Number(num[0])) + numericCostFunction(Number(num[1])) + 1; + } + if (num instanceof import_complex19.default) + return numericCostFunction(num.re) + numericCostFunction(num.im) + 1; + if (expr.isNumber) + return 2; + } + const head2 = expr.head; + let headCost = 2; + if (typeof head2 === "string") { + if (["Add", "Divide"].includes(head2)) + headCost = 3; + else if (["Subtract", "Negate"].includes(head2)) + headCost = 4; + else if (["Square", "Sqrt", "Multiply", "Root"].includes(head2)) + headCost = 5; + else if (["Power"].includes(head2)) + headCost = 6; + else if (["Ln", "Exp", "Log"].includes(head2)) + headCost = 7; + else if ([ + "Arcsin", + "Arccos", + "Arctan", + "Arcsec", + " Arccsc", + "Arsinh", + "Arcosh", + "Artanh", + "Arcsech", + "Arcsch", + "Cosh", + "Cos", + "Csc", + "Csch", + // '??': 'Cot', + // '??': 'Coth', + "Sec", + "Sin", + "Sinh", + "Tan", + "Tanh" + ].includes(head2)) + headCost = 9; + else + headCost = 10; + } else + headCost = costFunction(head2); + return headCost + ((_b = (_a = expr.ops) == null ? void 0 : _a.reduce((acc, x) => acc + costFunction(x), 0)) != null ? _b : 0); +} +var DEFAULT_COST_FUNCTION = costFunction; +var ExpressionMap = class _ExpressionMap { + constructor(source) { + if (!source) { + this._items = /* @__PURE__ */ new Map(); + } else if (source instanceof _ExpressionMap) { + this._items = new Map(source._items); + } else { + this._items = new Map( + source + ); + } + } + has(expr) { + for (const x of this._items.keys()) + if (x.isSame(expr)) + return true; + return false; + } + get(expr) { + for (const [x, v] of this._items) + if (x.isSame(expr)) + return v; + return void 0; + } + clear() { + this._items.clear(); + } + set(expr, value) { + for (const x of this._items.keys()) { + if (x.isSame(expr)) { + this._items.set(x, value); + return; + } + } + this._items.set(expr, value); + } + delete(expr) { + this._items.delete(expr); + } + [Symbol.iterator]() { + return this._items.entries(); + } + entries() { + return this._items.entries(); + } +}; +function permutations(xs) { + const result = []; + const permute = (arr, m = []) => { + if (arr.length === 0) { + result.push(m); + } else { + for (let i = 0; i < arr.length; i++) { + const curr = arr.slice(); + const next = curr.splice(i, 1); + permute(curr.slice(), m.concat(next)); + } + } + }; + permute(xs); + return result; +} +var BoxedPattern = class _BoxedPattern extends AbstractBoxedExpression { + constructor(ce, pattern, metadata) { + super(ce, metadata); + this._pattern = isLatexString(pattern) ? ce.parse(pattern, { canonical: false }) : ce.box(pattern, { canonical: false }); + } + get hash() { + return hashCode("Pattern") ^ this._pattern.hash; + } + unbind() { + this._pattern.unbind(); + } + get json() { + return serializeJsonFunction(this.engine, "Pattern", [this._pattern]); + } + get head() { + return "Pattern"; + } + get domain() { + return this.engine.domain("Pattern"); + } + get isCanonical() { + return true; + } + set isCanonical(_val) { + return; + } + isSame(rhs) { + if (this === rhs) + return true; + return rhs instanceof _BoxedPattern && this._pattern.isSame(rhs._pattern); + } + isEqual(rhs) { + return rhs instanceof _BoxedPattern && this._pattern.isEqual(rhs._pattern); + } + match(expr, options) { + var _a, _b, _c; + return match(expr, this._pattern, { + recursive: (_a = options == null ? void 0 : options.recursive) != null ? _a : false, + numericTolerance: (_b = options == null ? void 0 : options.numericTolerance) != null ? _b : 0, + substitution: (_c = options == null ? void 0 : options.substitution) != null ? _c : {} + }); + } + test(expr, options) { + return this.match(expr, options) !== null; + } + count(exprs, options) { + let result = 0; + for (const expr of exprs) { + if (this.match(expr, options) !== null) + result += 1; + } + return result; + } + subs(sub2, options) { + return this._pattern.subs(sub2, options); + } +}; +function hasWildcards(expr) { + var _a; + if (typeof expr === "string") + return expr.startsWith("_"); + if ((_a = expr.symbol) == null ? void 0 : _a.startsWith("_")) + return true; + if (expr.ops) + return hasWildcards(expr.head) || expr.ops.some(hasWildcards); + if (expr.keys) { + for (const key of expr.keys) + if (hasWildcards(expr.getKey(key))) + return true; + } + return false; +} +function captureWildcard(wildcard, expr, substitution) { + const name = getWildcardName(wildcard); + if (name === "") + return substitution; + if (substitution[name] !== void 0) { + if (!expr.isSame(substitution[name])) + return null; + return substitution; + } + if (hasWildcards(expr)) + return null; + return { ...substitution, [name]: expr }; +} +function matchOnce(expr, pattern, substitution, options) { + const ce = expr.engine; + if (pattern.head === "Pattern") + return pattern.match(expr, { substitution, ...options }); + if (pattern instanceof BoxedNumber) { + if (!(expr instanceof BoxedNumber)) + return null; + if (options.numericTolerance === 0) + return pattern.isSame(expr) ? substitution : null; + return pattern.isEqualWithTolerance(expr, options.numericTolerance) ? substitution : null; + } + const str = pattern.string; + if (str !== null) + return expr.string === str ? substitution : null; + const symbol2 = pattern.symbol; + if (symbol2 !== null) { + if (symbol2.startsWith("_")) + return captureWildcard(symbol2, expr, substitution); + return symbol2 === expr.symbol ? substitution : null; + } + if (pattern.nops !== expr.nops) + return null; + const keys = pattern.keys; + if (keys !== null) { + const exprKeys = expr.keys; + if (exprKeys === null) + return null; + for (const key of keys) { + const r = matchOnce(exprKeys[key], keys[key], substitution, options); + if (r === null) + return null; + substitution = r; + } + return substitution; + } + if (pattern.ops) { + const head2 = pattern.head; + if (typeof head2 === "string" && head2.startsWith("_")) + return captureWildcard(head2, ce.box(expr.head), substitution); + let def = void 0; + if (typeof head2 === "string" && typeof expr.head === "string") { + if (head2 !== expr.head) + return null; + def = ce.lookupFunction(head2); + } else { + const r = matchOnce( + ce.box(expr.head, { canonical: false }), + ce.box(head2, { canonical: false }), + substitution, + options + ); + if (r === null) + return null; + substitution = r; + } + return (def == null ? void 0 : def.commutative) ? matchCommutativeArguments(expr, pattern, substitution, options) : matchNonCommutativeArguments(expr, pattern, substitution, options); + } + return null; +} +function matchPermutation(ce, ops2, patterns, substitution, options) { + var _a; + let result = { ...substitution }; + ops2 = [...ops2]; + let hasRest = false; + for (const arg of patterns) { + if (arg.symbol === "__") + hasRest = true; + else { + let r = null; + if ((_a = arg.symbol) == null ? void 0 : _a.startsWith("_")) { + for (let i = 0; i <= ops2.length - 1; i++) { + r = captureWildcard(arg.symbol, ops2[i], result); + if (r !== null) { + ops2.splice(i, 1); + break; + } + } + } else { + for (let i = 0; i <= ops2.length - 1; i++) { + r = matchOnce(ops2[i], arg, result, options); + if (r !== null) { + ops2.splice(i, 1); + break; + } + } + } + if (r === null) + return null; + result = r; + } + } + if (!hasRest && ops2.length > 0) + return null; + if (result !== null && hasRest) + result["__"] = ce._fn("Sequence", ops2); + return result; +} +function matchCommutativeArguments(expr, pattern, substitution, options) { + const patterns = permutations(pattern.ops); + for (const pat of patterns) { + const result = matchPermutation( + expr.engine, + expr.ops, + pat, + substitution, + options + ); + if (result !== null) + return result; + } + return null; +} +function matchNonCommutativeArguments(expr, pattern, substitution, options) { + const ce = expr.engine; + const ops2 = [...expr.ops]; + let result = { ...substitution }; + let i = 0; + const patterns = pattern.ops; + while (i < pattern.nops) { + const pat = patterns[i]; + const argName = pat.symbol; + if (argName !== null) { + if (argName.startsWith("__")) { + let j = 0; + if (patterns[i + 1] === void 0) { + j = ops2.length + 1; + } else { + let found = false; + while (!found && j < ops2.length) { + found = matchOnce(ops2[j], patterns[i + 1], result, options) !== null; + j += 1; + } + if (!found) + return null; + } + if (!argName.startsWith("___") && j <= 1) + return null; + result = captureWildcard( + argName, + ce.fn("Sequence", ops2.splice(0, j - 1)), + result + ); + } else if (argName.startsWith("_")) { + result = captureWildcard(argName, ops2.shift(), result); + } else { + const sub2 = matchOnce(ops2.shift(), pat, result, options); + if (sub2 === null) + return null; + result = sub2; + } + } else { + const sub2 = matchOnce(ops2.shift(), pat, result, options); + if (sub2 === null) + return null; + result = sub2; + } + if (result === null) + return null; + i += 1; + } + return result; +} +function match(subject, pattern, options) { + var _a, _b; + const substitution = matchOnce(subject, pattern, (_a = options.substitution) != null ? _a : {}, { + numericTolerance: (_b = options == null ? void 0 : options.numericTolerance) != null ? _b : NUMERIC_TOLERANCE + }); + if (substitution) { + /* @__PURE__ */ console.log("match", subject.toString(), pattern.toString(), substitution); + return substitution; + } + if (!options.recursive) + return null; + return null; +} +function isSymbolDefinition2(def) { + if (def === null || def === void 0) + return false; + if ("constant" in def) + return true; + return false; +} +function isFunctionDefinition2(def) { + if (def === null || def === void 0) + return false; + if ("signature" in def) + return true; + return false; +} +var BoxedSymbol = class _BoxedSymbol extends AbstractBoxedExpression { + constructor(ce, name, options) { + var _a; + super(ce, options == null ? void 0 : options.metadata); + /* @__PURE__ */ console.assert( + name === name.normalize(), + `Symbol "${name}" must be in Unicode NFC canonical order` + ); + this._name = name; + /* @__PURE__ */ console.assert( + isValidIdentifier(this._name), + `Invalid symbol "${name}": ${validateIdentifier(this._name)}` + ); + this._scope = (options == null ? void 0 : options.canonical) ? ce.context : null; + this._def = (_a = options == null ? void 0 : options.def) != null ? _a : null; + } + get hash() { + if (this._hash === void 0) + this._hash = hashCode(this._name); + return this._hash; + } + unbind() { + var _a; + (_a = this._def) == null ? void 0 : _a.reset(); + this._def = null; + } + get isPure() { + var _a, _b, _c, _d, _e; + return (_e = (_d = ((_a = this.symbolDefinition) == null ? void 0 : _a.constant) && ((_b = this.symbolDefinition.value) == null ? void 0 : _b.isPure)) != null ? _d : (_c = this.functionDefinition) == null ? void 0 : _c.pure) != null ? _e : false; + } + get json() { + return serializeJsonSymbol(this.engine, this._name, { + latex: this._latex, + wikidata: this._wikidata + }); + } + get scope() { + return this._scope; + } + /** A free variable either has no definition, or it has a definition, but no value */ + get isFree() { + var _a; + const def = (_a = this._def) != null ? _a : this.engine.lookupSymbol(this._name, this._wikidata); + return !isSymbolDefinition2(def) || def.value === void 0; + } + get isConstant() { + var _a; + const def = (_a = this._def) != null ? _a : this.engine.lookupSymbol(this._name, this._wikidata); + return !isSymbolDefinition2(def) || def.constant; + } + get isCanonical() { + return this._scope !== null; + } + set isCanonical(val) { + this._scope = val ? this.engine.context : null; + this._def = null; + } + get canonical() { + if (this._scope) + return this; + return this.engine.box(this._name); + } + get wikidata() { + var _a, _b, _c; + return (_c = (_b = this._wikidata) != null ? _b : (_a = this.baseDefinition) == null ? void 0 : _a.wikidata) != null ? _c : void 0; + } + get description() { + if (!this.baseDefinition) + return void 0; + if (!this.baseDefinition.description) + return void 0; + if (typeof this.baseDefinition.description === "string") + return [this.baseDefinition.description]; + return this.baseDefinition.description; + } + get url() { + var _a, _b; + return (_b = (_a = this.baseDefinition) == null ? void 0 : _a.url) != null ? _b : void 0; + } + get complexity() { + return 7; + } + get head() { + return "Symbol"; + } + get symbol() { + return this._name; + } + get isNothing() { + return this._name === "Nothing"; + } + // A base definition is the base class of both symbol and function definition + get baseDefinition() { + var _a; + if (this._def === null) + this.bind(this._scope); + return (_a = this._def) != null ? _a : void 0; + } + get symbolDefinition() { + if (this._def === null) + this.bind(this._scope); + return isSymbolDefinition2(this._def) ? this._def : void 0; + } + get functionDefinition() { + if (this._def === null) + this.bind(this._scope); + return isFunctionDefinition2(this._def) ? this._def : void 0; + } + bind(scope) { + if (scope === null) { + this._def = void 0; + return; + } + let def; + def = this.engine.lookupSymbol(this._name, this._wikidata, scope); + if ((def == null ? void 0 : def.wikidata) && this._wikidata && def.wikidata !== this._wikidata) + def = void 0; + if (def) { + this._name = def.name; + this._def = def; + return; + } + def = this.engine.lookupFunction(this._name, scope); + if (def) { + this._def = def; + return; + } + if (this.engine.defaultDomain !== null) { + this._def = this.engine.defineSymbol(this._name, { + wikidata: this._wikidata, + domain: this.engine.defaultDomain + }); + this._name = this._def.name; + } + } + get value() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.value; + } + set value(value) { + var _a; + if (this._name[0] === "_") + throw new Error( + `The value of the wildcard "${this._name}" cannot be changed` + ); + this.engine.forget(this._name); + let v; + if (value !== void 0) { + const boxedValue = this.engine.box(value); + v = (_a = boxedValue.value) != null ? _a : boxedValue.evaluate(); + } + if (v == null ? void 0 : v.domain.isCompatible("Function")) { + this._def = this.engine.defineFunction(this._name, { + signature: { + domain: v.domain, + evaluate: v + // Evaluate as a lambda + } + }); + } else if (this._def && isSymbolDefinition2(this._def)) { + this._def.value = v; + } else { + let dom = v == null ? void 0 : v.domain; + if (dom == null ? void 0 : dom.isNumeric) + dom = this.engine.domain("Number"); + this._def = this.engine.defineSymbol(this._name, { + value: v, + domain: dom != null ? dom : void 0 + }); + } + } + get domain() { + var _a, _b, _c; + if (this.functionDefinition) + return this.engine.domain("Function"); + return (_c = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.domain) != null ? _b : this.engine.defaultDomain) != null ? _c : this.engine.domain("Value"); + } + set domain(inDomain) { + if (this._name[0] === "_") + throw new Error( + `The domain of the wildcard "${this._name}" cannot be changed` + ); + const d = this.engine.domain(inDomain); + if (d.isCompatible("Function")) { + this.engine.forget(this._name); + this._def = this.engine.defineFunction(this._name, { + signature: { domain: d } + }); + } else if (isSymbolDefinition2(this._def)) { + this._def.domain = d; + } else { + this.engine.forget(this._name); + this._def = this.engine.defineSymbol(this._name, { domain: d }); + } + } + get explicitDomain() { + var _a, _b; + if (this.functionDefinition) + return this.engine.domain("Function"); + return (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.domain) != null ? _b : void 0; + } + get sgn() { + const v = this.value; + if (v && v !== this) { + const s = v.sgn; + if (s !== void 0) + return s; + } + const def = this.symbolDefinition; + if (def) { + if (def.zero === true) + return 0; + if (def.positive === true) + return 1; + if (def.negative === true) + return -1; + } else + return null; + return void 0; + } + has(x) { + if (typeof x === "string") + return this._name === x; + return x.includes(this._name); + } + isSame(rhs) { + if (this === rhs) + return true; + if (!(rhs instanceof _BoxedSymbol)) + return false; + return this._name === rhs._name; + } + match(rhs, _options) { + if (!(rhs instanceof _BoxedSymbol)) + return null; + if (this._name === rhs._name) + return {}; + return null; + } + isEqual(rhs) { + var _a, _b; + if (!this.isCanonical) + return this.canonical.isEqual(rhs); + rhs = rhs.canonical; + if (this === rhs) + return true; + if (rhs.symbol !== null) + return rhs.symbol === this._name; + const lhsVal = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(); + if (lhsVal) + return lhsVal.isEqual(rhs.N()); + if (rhs.isZero) { + if (this.isZero) + return true; + if (this.isNotZero) + return false; + } + if (this.isZero && rhs.isNotZero) + return false; + if (this.engine.ask(["Equal", this, rhs]).length > 0) + return true; + if (this.engine.ask(["NotEqual", this, rhs]).length > 0) + return false; + return false; + } + isLess(rhs) { + var _a, _b; + if (rhs.symbol !== null && rhs.symbol === this._name) + return false; + const lhsVal = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(); + if (lhsVal) + return lhsVal.isLess(rhs.N()); + if (rhs.isZero) { + const s = this.sgn; + if (s === null) + return false; + if (s !== void 0) + return s < 0; + } + return void 0; + } + isLessEqual(rhs) { + var _a, _b; + if (rhs.symbol !== null && rhs.symbol === this._name) + return true; + const lhsVal = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(); + if (lhsVal) + return lhsVal.isLessEqual(rhs.N()); + if (rhs.isZero) { + const s = this.sgn; + if (s === null) + return false; + if (s !== void 0) + return s <= 0; + } + return this.isLess(rhs) || this.isEqual(rhs); + } + isGreater(rhs) { + var _a, _b; + if (rhs.symbol !== null && rhs.symbol === this._name) + return false; + const lhsVal = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(); + if (lhsVal) + return lhsVal.isGreater(rhs.N()); + if (rhs.isZero) { + const s = this.sgn; + if (s === null) + return false; + if (s !== void 0) + return s > 0; + } + return void 0; + } + isGreaterEqual(rhs) { + var _a, _b; + if (rhs.symbol !== null && rhs.symbol === this._name) + return true; + const lhsVal = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(); + if (lhsVal) + return lhsVal.isGreaterEqual(rhs.N()); + if (rhs.isZero) { + const s = this.sgn; + if (s === null) + return false; + if (s !== void 0) + return s >= 0; + } + return this.isGreater(rhs) || this.isEqual(rhs); + } + get isFunction() { + return !!this.functionDefinition; + } + get isZero() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.zero; + } + get isNotZero() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.notZero; + } + get isOne() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.one; + } + get isNegativeOne() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.negativeOne; + } + get isOdd() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.odd; + } + get isEven() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.even; + } + get isPrime() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.prime; + } + get isComposite() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.composite; + } + get isInfinity() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.infinity; + } + get isNaN() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.NaN; + } + // x > 0 + get isPositive() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.positive; + } + get isNonPositive() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.nonPositive; + } + get isNegative() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.negative; + } + get isNonNegative() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.nonNegative; + } + get isNumber() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.number; + } + get isInteger() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.integer; + } + get isRational() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.rational; + } + get isAlgebraic() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.rational; + } + get isReal() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.real; + } + get isExtendedReal() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.extendedReal; + } + get isComplex() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.complex; + } + get isImaginary() { + var _a; + return (_a = this.symbolDefinition) == null ? void 0 : _a.imaginary; + } + simplify(options) { + var _a; + const def = this.symbolDefinition; + if ((def == null ? void 0 : def.holdUntil) === "simplify" && def.value) + return def.value.simplify(options); + return (options == null ? void 0 : options.rules) ? (_a = this.replace(options.rules)) != null ? _a : this : this; + } + evaluate(options) { + var _a, _b; + const def = this.symbolDefinition; + if (def && (def.holdUntil === "simplify" || def.holdUntil === "evaluate")) + return (_b = (_a = def.value) == null ? void 0 : _a.evaluate(options)) != null ? _b : this; + return this; + } + N(options) { + var _a, _b, _c; + const def = this.symbolDefinition; + if (def && def.holdUntil === "never") + return this; + return (_c = (_b = (_a = this.symbolDefinition) == null ? void 0 : _a.value) == null ? void 0 : _b.N(options)) != null ? _c : this; + } + replace(rules, options) { + return replace(this, rules, options); + } + subs(sub2, options) { + if (sub2[this._name] === void 0) + return (options == null ? void 0 : options.canonical) ? this.canonical : this; + return this.engine.box(sub2[this._name], options); + } +}; +function makeCanonicalSymbol(ce, name) { + const def = ce.lookupSymbol(name, void 0, ce.context); + if ((def == null ? void 0 : def.holdUntil) === "never" && def.value) + return def.value; + return new BoxedSymbol(ce, name, { canonical: true, def }); +} +var ComputeEngine = class _ComputeEngine { + /** + * Construct a new `ComputeEngine` instance. + * + * Identifier tables define functions and symbols (in `options.ids`). + * If no table is provided the standard library is used (`ComputeEngine.getStandardLibrary()`) + * + * The LaTeX syntax dictionary is defined in `options.latexDictionary`. + * + * The order of the dictionaries matter: the definitions from the later ones + * override the definitions from earlier ones. The first dictionary should + * be the `'core'` dictionary which include some basic definitions such + * as domains (`Boolean`, `Number`, etc...) that are used by later dictionaries. + * + * @param options.numericMode The default mode is `"auto"`. Use `"machine"` + * to perform numeric calculations using 64-bit floats. Use `"bignum"` to + * perform calculations using arbitrary precision floating point numbers. + * Use `"auto"` or `"complex"` to allow calculations on complex numbers. + * + * @param options.numericPrecision Specific how many digits of precision + * for the numeric calculations. Default is 100. + * + * @param options.tolerance If the absolute value of the difference of two + * numbers is less than `tolerance`, they are considered equal. Used by + * `chop()` as well. + * + * @param options.defaultDomain If an unknown symbol is encountered, assume + * this is its domain. **Default** `ExtendedRealNumber` + */ + constructor(options) { + var _a, _b, _c, _d; + this._cache = {}; + this._commonSymbols = { + True: null, + False: null, + Maybe: null, + All: null, + Nothing: null, + None: null, + Undefined: null, + Function: null, + Pi: null, + ImaginaryUnit: null + }; + this._commonNumbers = { + "-5": null, + "-4": null, + "-3": null, + "-2": null, + 2: null, + 3: null, + 4: null, + 5: null, + 6: null, + 7: null, + 8: null, + 9: null, + 10: null, + 11: null, + 12: null, + 36: null + }; + this._commonDomains = { + Anything: null, + Nothing: null, + Boolean: null, + MaybeBoolean: null, + String: null, + Domain: null, + Symbol: null, + Integer: null, + RationalNumber: null, + AlgebraicNumber: null, + RealNumber: null, + ExtendedRealNumber: null, + ImaginaryNumber: null, + ComplexNumber: null, + ExtendedComplexNumber: null, + Number: null, + PositiveInteger: null, + TranscendentalNumber: null, + PositiveNumber: null, + Function: null, + // (Anything^n) -> Anything + NumericFunction: null, + // (Number^n) -> Number + RealFunction: null, + // (ExtendedRealNumber^n) -> ExtendRealNumber + TrigonometricFunction: null, + // (ComplexNumber) -> ComplexNumber + LogicOperator: null, + // (Boolean, Boolean) -> Boolean + Predicate: null, + // (Anything^n) -> MaybeBoolean + RelationalOperator: null + // (Anything, Anything) -> MaybeBoolean + }; + if (options !== void 0 && typeof options !== "object") + throw Error("Unexpected argument"); + this.strict = true; + this._latexDictionary = options == null ? void 0 : options.latexDictionary; + this._jsonSerializationOptions = { + exclude: [], + shorthands: ["function", "symbol", "string", "dictionary", "number"], + metadata: [], + precision: "max", + repeatingDecimals: true + }; + this._useRawJsonSerializationOptions = false; + this._rawJsonSerializationOptions = { + exclude: [], + shorthands: ["function", "symbol", "string", "dictionary", "number"], + metadata: [], + precision: "max", + repeatingDecimals: false + }; + this._stats = { + highwaterMark: 0, + symbols: /* @__PURE__ */ new Set(), + expressions: /* @__PURE__ */ new Set() + }; + this._defaultDomain = null; + this._numericMode = (_a = options == null ? void 0 : options.numericMode) != null ? _a : "auto"; + this._precision = Math.max( + (_b = options == null ? void 0 : options.numericPrecision) != null ? _b : 100, + Math.floor(MACHINE_PRECISION) + ); + this._bignum = Decimal.clone({ precision: this._precision }); + this.tolerance = (_c = options == null ? void 0 : options.tolerance) != null ? _c : NUMERIC_TOLERANCE; + this._ZERO = new BoxedNumber(this, 0); + this._ONE = new BoxedNumber(this, 1); + this._HALF = new BoxedNumber(this, [1, 2]); + this._NEGATIVE_ONE = new BoxedNumber(this, -1); + this._I = new BoxedNumber(this, import_complex20.Complex.I); + this._NAN = new BoxedNumber(this, Number.NaN); + this._POSITIVE_INFINITY = new BoxedNumber(this, Number.POSITIVE_INFINITY); + this._NEGATIVE_INFINITY = new BoxedNumber(this, Number.NEGATIVE_INFINITY); + this._COMPLEX_INFINITY = new BoxedNumber(this, import_complex20.Complex.INFINITY); + this.reset(); + this.context = { + assumptions: new ExpressionMap(), + timeLimit: 2, + // execution time limit: 2.0 seconds + memoryLimit: 1, + // memory limit: 1.0 megabyte + recursionLimit: 1024, + iterationLimit: Number.POSITIVE_INFINITY + }; + const tables = (_d = options == null ? void 0 : options.ids) != null ? _d : _ComputeEngine.getStandardLibrary(); + for (const table of tables) + setCurrentContextSymbolTable(this, table); + for (const d of Object.keys(this._commonDomains)) { + if (this._commonDomains[d] && !this._commonDomains[d].symbolDefinition) + this._commonDomains[d].bind(this.context); + else + this._commonDomains[d] = boxDomain(this, d); + } + for (const sym of Object.keys(this._commonSymbols)) { + this._commonSymbols[sym] = new BoxedSymbol(this, sym, { + canonical: true + }); + this._commonSymbols[sym].bind(this.context); + } + if (options == null ? void 0 : options.defaultDomain) { + const defaultDomain = this.domain(options.defaultDomain); + if (defaultDomain.isValid) + this._defaultDomain = defaultDomain; + else + this._defaultDomain = this.domain("ExtendedRealNumber"); + } else + this._defaultDomain = this.domain("ExtendedRealNumber"); + this.pushScope(); + } + /** + * Return identifier tables suitable for the specified categories, or `"all"` + * for all categories (`"arithmetic"`, `"algebra"`, etc...). + * + * An identifier table defines how the symbols and function names in a + * MathJSON expression should be interpreted, i.e. how to evaluate and + * manipulate them. + * + */ + static getStandardLibrary(categories = "all") { + return getStandardLibrary(categories); + } + get latexDictionary() { + return this.latexSyntax.dictionary; + } + set latexDictionary(dic) { + this.latexSyntax.dictionary = dic; + } + /** After the configuration of the engine has changed, clear the caches + * so that new values can be recalculated. + * + * This needs to happen for example when the numeric precision changes. + * + * @internal + */ + reset() { + var _a; + /* @__PURE__ */ console.assert(this._bignum); + this._BIGNUM_NEGATIVE_ONE = this.bignum(-1); + this._BIGNUM_NAN = this.bignum(NaN); + this._BIGNUM_ZERO = this.bignum(0); + this._BIGNUM_ONE = this.bignum(1); + this._BIGNUM_TWO = this.bignum(2); + this._BIGNUM_HALF = this._BIGNUM_ONE.div(this._BIGNUM_TWO); + this._BIGNUM_PI = this._BIGNUM_NEGATIVE_ONE.acos(); + const symbols = this._stats.symbols.values(); + const expressions = this._stats.expressions.values(); + this._stats.symbols = /* @__PURE__ */ new Set(); + this._stats.expressions = /* @__PURE__ */ new Set(); + for (const s of symbols) + s.unbind(); + for (const s of expressions) + s.unbind(); + for (const d of Object.values(this._commonDomains)) + d == null ? void 0 : d.unbind(); + for (const d of Object.values(this._commonSymbols)) + d == null ? void 0 : d.unbind(); + let scope = this.context; + while (scope) { + if (scope.idTable) + for (const [_k, v] of scope.idTable) + v.reset(); + scope = (_a = scope.parentScope) != null ? _a : null; + } + for (const k of Object.keys(this._cache)) + if (this._cache[k].value) { + if (!this._cache[k].purge) + delete this._cache[k]; + else + this._cache[k].value = this._cache[k].purge(this._cache[k].value); + } + } + /** @internal */ + _register(_expr) { + this._stats.highwaterMark += 1; + } + /** @internal */ + _unregister(_expr) { + } + get stats() { + const expressions = this._stats.expressions; + this._stats.expressions = null; + this._stats.expressions = expressions; + return { + ...this._stats + // _dupeSymbols: topDupes, + // _popularExpressions: top10, + }; + } + /** The precision, or number of significant digits, of numeric + * calculations when the numeric mode is `"auto"` or `"bignum"`. + * + * To make calculations using more digits, at the cost of expanded memory + * usage and slower computations, set the `precision` higher. + * + * If the numeric mode is not `"auto"` or `"bignum"`, it is set to `"auto"`. + * + * Trigonometric operations are accurate for precision up to 1,000. + * + */ + get precision() { + if (this._numericMode === "machine" || this._numericMode === "complex") + return Math.floor(MACHINE_PRECISION); + return this._precision; + } + set precision(p) { + var _a; + if (p === "machine") + p = Math.floor(MACHINE_PRECISION); + const currentPrecision = this._precision; + if (p === currentPrecision) + return; + if (typeof p !== "number" || p <= 0) + throw Error('Expected "machine" or a positive number'); + (_a = this._latexSyntax) == null ? void 0 : _a.updateOptions({ + precision: p, + avoidExponentsInRange: [-6, p] + }); + this._precision = Math.max(p, Math.floor(MACHINE_PRECISION)); + if (this.jsonSerializationOptions.precision > this._precision) + this.jsonSerializationOptions = { precision: this._precision }; + if (this._numericMode !== "auto" && this._numericMode !== "bignum" && this._precision > Math.floor(MACHINE_PRECISION)) + this._numericMode = "auto"; + this._bignum = this._bignum.config({ precision: this._precision }); + this.reset(); + } + get numericMode() { + return this._numericMode; + } + set numericMode(f) { + if (f === this._numericMode) + return; + if (typeof f !== "string") + throw Error("Expected a string"); + this._numericMode = f; + if (f === "complex" || f === "machine") + this._precision = Math.floor(MACHINE_PRECISION); + if (this._latexSyntax && this.latexSyntax.options.precision > this._precision) + this.latexSyntax.updateOptions({ precision: this._precision }); + if (this.jsonSerializationOptions.precision > this._precision) + this.jsonSerializationOptions = { precision: this._precision }; + this.reset(); + } + /** @experimental */ + get timeLimit() { + var _a; + let scope = this.context; + while (scope) { + if (scope.timeLimit !== void 0) + return scope.timeLimit; + scope = (_a = scope.parentScope) != null ? _a : null; + } + return 2; + } + /** @experimental */ + get iterationLimit() { + var _a; + let scope = this.context; + while (scope) { + if (scope.iterationLimit !== void 0) + return scope.iterationLimit; + scope = (_a = scope.parentScope) != null ? _a : null; + } + return 1024; + } + /** @experimental */ + get recursionLimit() { + var _a; + let scope = this.context; + while (scope) { + if (scope.recursionLimit !== void 0) + return scope.recursionLimit; + scope = (_a = scope.parentScope) != null ? _a : null; + } + return 1024; + } + /** + * If an unknown symbol is encountered, assume it should + * be a variable in this domain. + * + * If set to `null`, unknown symbols will trigger an error. + * + * **Default:** `"ExtendedRealNumber"` + */ + get defaultDomain() { + return this._defaultDomain; + } + set defaultDomain(domain) { + if (domain === null) + this._defaultDomain = null; + else { + const defaultDomain = this.domain(domain); + if (!defaultDomain.isValid) + throw Error(`Invalid domain ${domain}`); + this._defaultDomain = defaultDomain; + } + } + /** + * Values smaller than the tolerance are considered to be zero for the + * purpose of comparison, i.e. if `|b - a| <= tolerance`, `b` is considered + * equal to `a`. + */ + get tolerance() { + return this._tolerance; + } + set tolerance(val) { + if (typeof val === "number" && Number.isFinite(val)) + this._tolerance = Math.max(val, 0); + else + this._tolerance = NUMERIC_TOLERANCE; + this._bignumTolerance = this.bignum(this._tolerance); + } + chop(n) { + if (typeof n === "number" && Math.abs(n) <= this._tolerance) + return 0; + if (n instanceof Decimal && n.abs().lte(this._bignumTolerance)) + return 0; + if (n instanceof import_complex20.Complex && Math.abs(n.re) <= this._tolerance && Math.abs(n.im) <= this._tolerance) + return 0; + return n; + } + bignum(a) { + if (typeof a === "bigint") + return new this._bignum(a.toString()); + return new this._bignum(a); + } + complex(a, b) { + if (a instanceof Decimal) + a = a.toNumber(); + if (b instanceof Decimal) + b = b.toNumber(); + return new import_complex20.Complex(a, b); + } + isBignum(a) { + return a instanceof Decimal; + } + isComplex(a) { + return a instanceof import_complex20.Complex; + } + get latexSyntax() { + if (!this._latexSyntax) + this._latexSyntax = new LatexSyntax({ + computeEngine: this, + dictionary: this._latexDictionary, + precision: this.precision, + avoidExponentsInRange: [-6, this.precision], + onError: (err) => { + throw new Error(JSON.stringify(err[0].message)); + } + }); + return this._latexSyntax; + } + static getLatexDictionary(domain = "all") { + return LatexSyntax.getDictionary(domain); + } + set costFunction(fn) { + if (typeof fn !== "function") + this._cost = DEFAULT_COST_FUNCTION; + this._cost = fn; + } + get costFunction() { + var _a; + return (_a = this._cost) != null ? _a : DEFAULT_COST_FUNCTION; + } + /** + * Return a matching symbol definition, starting with the current + * scope and going up the scope chain. Prioritize finding a match by + * wikidata, if provided. + */ + lookupSymbol(symbol2, wikidata, scope) { + var _a, _b, _c; + if (!this.strict) { + scope != null ? scope : scope = (_a = this.context) != null ? _a : void 0; + while (scope) { + const def = (_b = scope.idTable) == null ? void 0 : _b.get(symbol2); + if (isSymbolDefinition(def)) + return def; + scope = scope.parentScope; + } + return void 0; + } + if (typeof symbol2 !== "string") + throw Error("Expected a string"); + if (symbol2.length === 0 || !this.context) + return void 0; + const rootScope = scope != null ? scope : this.context; + if (wikidata) { + scope = rootScope; + while (scope) { + if (scope.idTable) + for (const [_, d] of scope.idTable) { + if (isSymbolDefinition(d) && d.wikidata === wikidata) + return d; + } + scope = scope.parentScope; + } + } + scope = rootScope; + while (scope) { + const def = (_c = scope.idTable) == null ? void 0 : _c.get(symbol2); + if (isSymbolDefinition(def)) + return def; + scope = scope.parentScope; + } + return void 0; + } + /** + * Return the definition for a function matching this head. + * + * Start looking in the current context, than up the scope chain. + * + * This is a very rough lookup, since it doesn't account for the domain + * of the argument or the codomain. However, it is useful during parsing + * to differentiate between symbols that might represent a function application, e.g. `f` vs `x`. + */ + lookupFunction(head2, scope) { + var _a; + if (typeof head2 !== "string") + return void 0; + if (!this.context) + return void 0; + scope != null ? scope : scope = this.context; + while (scope) { + const def = (_a = scope.idTable) == null ? void 0 : _a.get(head2); + if (isFunctionDefinition(def)) + return def; + scope = scope.parentScope; + } + return void 0; + } + /** + * Add (or replace) a definition for a symbol in the current scope. + */ + defineSymbol(name, def) { + if (!this.context) + throw Error("Symbol cannot be defined: no scope available"); + if (name.length === 0 || !isValidIdentifier(name)) + throw Error(`Invalid identifier "${name}": ${validateIdentifier(name)}}`); + if (!this.context.idTable) + this.context.idTable = /* @__PURE__ */ new Map(); + const boxedDef = new BoxedSymbolDefinitionImpl(this, name, def); + if (boxedDef.name) + this.context.idTable.set(boxedDef.name, boxedDef); + return boxedDef; + } + defineFunction(name, def) { + if (!this.context) + throw Error("Function cannot be defined: no scope available"); + if (name.length === 0 || !isValidIdentifier(name)) + throw Error(`Invalid identifier "${name}": ${validateIdentifier(name)}}`); + if (!this.context.idTable) + this.context.idTable = /* @__PURE__ */ new Map(); + const boxedDef = makeFunctionDefinition(this, name, def); + if (boxedDef.name) + this.context.idTable.set(name, boxedDef); + return boxedDef; + } + /** + * + * Create a new scope and add it to the top of the scope stack + * + * The `options.scope` property can be used to specify custom precision, + * etc... for this scope + * + */ + pushScope(ids, scope) { + if (this.context === null) + throw Error("No parent scope available"); + this.context = { + timeLimit: this.context.timeLimit, + memoryLimit: this.context.memoryLimit, + recursionLimit: this.context.recursionLimit, + iterationLimit: this.context.iterationLimit, + ...scope != null ? scope : {}, + parentScope: this.context, + // We always copy the current assumptions in the new scope. + // This make is much easier to deal with 'inherited' assumptions + // (and potentially modifying them later) without having to walk back + // into parent contexts. In other words, calling `ce.forget()` will + // forget everything **in the current scope**. When exiting the scope, + // the previous assumptions are restored. + assumptions: new ExpressionMap(this.context.assumptions) + }; + if (ids) { + if (Array.isArray(ids)) + for (const table of ids) + setCurrentContextSymbolTable(this, table); + else + setCurrentContextSymbolTable(this, ids); + } + } + /** Remove the topmost scope from the scope stack. + */ + popScope() { + var _a; + if (!this.context) + throw Error("No scope available"); + const parentScope = (_a = this.context) == null ? void 0 : _a.parentScope; + this.context = parentScope != null ? parentScope : null; + /* @__PURE__ */ console.assert(this.context !== null); + } + set(identifiers) { + if (!this.strict) { + for (const k of Object.keys(identifiers)) { + if (k !== "Nothing") { + const def = this.lookupSymbol(k); + const idk = identifiers[k]; + if (def) + def.value = idk != null ? idk : void 0; + else if (idk !== void 0 && idk !== null) { + const val = this.box(idk); + if (val.domain.isNumeric) + this.defineSymbol(k, { value: val, domain: "Number" }); + else + this.defineSymbol(k, { value: val }); + } + } + } + return; + } + for (const k of Object.keys(identifiers)) { + if (k !== "Nothing") { + const def = this.lookupSymbol(k); + const idk = identifiers[k]; + if (idk === void 0 || idk === null) { + if (def) + def.value = void 0; + } else { + const val = this.box(idk); + if (def) { + if (def.domain && !val.domain.isCompatible(def.domain)) + throw Error( + `Expected value with domain ${def.domain.toString()} for "${k}"` + ); + def.value = val; + } else { + if (val.domain.isNumeric) + this.defineSymbol(k, { value: val, domain: "Number" }); + else + this.defineSymbol(k, { value: val }); + } + } + } + } + } + let(identifiers) { + for (const k of Object.keys(identifiers)) { + if (k !== "Nothing") { + const def = identifiers[k]; + if (isSymbolDefinition(def)) + this.defineSymbol(k, def); + else if (isFunctionDefinition(def)) + this.defineFunction(k, def); + else + this.set({ [k]: identifiers[k] }); + } + } + } + get assumptions() { + if (!this.context) + throw Error("No scope available"); + if (this.context.assumptions) + return this.context.assumptions; + this.context.assumptions = new ExpressionMap(); + return this.context.assumptions; + } + /** + * Return false if the execution should stop. + * + * This can occur if: + * - an error has been signaled + * - the time limit or memory limit has been exceeded + * + * @internal + */ + shouldContinueExecution() { + return this.deadline === void 0 || this.deadline >= Date.now(); + } + /** @internal */ + checkContinueExecution() { + if (!this.shouldContinueExecution()) { + throw new Error("timeout"); + } + } + // assert( + // condition: boolean, + // expr: BoxedExpression, + // msg: string, + // code?: SignalMessage + // ) { + // if (!condition) this.signal(expr, msg, code); + // } + /** @internal */ + cache(cacheName, build, purge) { + var _a; + if (this._cache[cacheName] === void 0) { + try { + this._cache[cacheName] = { build, purge, value: build() }; + } catch (e) { + console.error( + `Fatal error building cache "${cacheName}": + ${e.toString()}` + ); + } + } + return (_a = this._cache[cacheName]) == null ? void 0 : _a.value; + } + box(expr, options) { + return box(this, expr, options); + } + canonical(xs) { + if (!xs.every((x) => x instanceof AbstractBoxedExpression)) + return xs.map((x) => this.box(x)); + const bxs = xs; + return bxs.every((x) => x.isCanonical) ? bxs : bxs.map((x) => x.canonical); + } + fn(head2, ops2, options) { + return boxFunction(this, head2, ops2, options != null ? options : { canonical: true }); + } + /** @internal */ + _fn(head2, ops2, metadata) { + return new BoxedFunction(this, head2, ops2, { + metadata, + canonical: true, + def: this.lookupFunction(head2, this.context) + }); + } + error(message, where) { + if (where instanceof AbstractBoxedExpression) { + where = this.rawJson(where); + } else if (where && Array.isArray(where) && where[0] === "Latex") { + if (where[1] === void 0 || !where[1]) + where = ""; + if (typeof where[1] === "object" && "str" in where[1] && !where[1].str) + where = ""; + } + let msg = void 0; + if (Array.isArray(message) && message[0] === "incompatible-domain") { + msg = new BoxedFunction(this, "ErrorCode", [ + this.string("incompatible-domain"), + boxDomain(this, message[1]), + boxDomain(this, message[2]) + ]); + } + if (typeof message === "string") + msg = this.string(message); + if (!msg && typeof message !== "string") + msg = new BoxedFunction(this, "ErrorCode", [ + this.string(message[0]), + ...message.slice(1).map((x) => { + if (typeof x === "string") + ; + /* @__PURE__ */ console.assert(typeof x !== "string"); + return this.box(x, { canonical: false }); + }) + ]); + if (!where) + return new BoxedFunction(this, "Error", [msg], { canonical: false }); + return new BoxedFunction( + this, + "Error", + [msg, this.box(where, { canonical: false })], + { canonical: false } + ); + } + hold(expr) { + return this._fn("Hold", [this.box(expr, { canonical: false })]); + } + add(ops2, metadata) { + const result = canonicalAdd(this, flattenOps(flattenSequence(ops2), "Add")); + if ((metadata == null ? void 0 : metadata.latex) !== void 0) + result.latex = metadata.latex; + if ((metadata == null ? void 0 : metadata.wikidata) !== void 0) + result.wikidata = metadata.wikidata; + return result; + } + neg(expr, metadata) { + return canonicalNegate(expr, metadata); + } + mul(ops2, metadata) { + const result = canonicalMultiply( + this, + flattenOps(flattenSequence(ops2), " Multiply") + ); + if ((metadata == null ? void 0 : metadata.latex) !== void 0) + result.latex = metadata.latex; + if ((metadata == null ? void 0 : metadata.wikidata) !== void 0) + result.wikidata = metadata.wikidata; + return result; + } + div(num, denom, metadata) { + const result = canonicalDivide(this, num, denom); + if ((metadata == null ? void 0 : metadata.latex) !== void 0) + result.latex = metadata.latex; + if ((metadata == null ? void 0 : metadata.wikidata) !== void 0) + result.wikidata = metadata.wikidata; + return result; + } + sqrt(base, metadata) { + return canonicalPower(this, base, this._HALF, metadata); + } + pow(base, exponent, metadata) { + if (base.symbol === "ExponentialE" && exponent instanceof import_complex20.Complex && exponent.re === 0) { + const im = exponent.im; + return this.number(this.complex(Math.cos(im), Math.sin(im))); + } + if (exponent instanceof AbstractBoxedExpression) { + const num = exponent.numericValue; + if (num !== null) { + if (typeof num === "number") + exponent = num; + if (isRational(num)) + exponent = num; + } + } + let e = null; + if (typeof exponent === "number") + e = exponent; + else if (isRational(exponent)) { + if (isMachineRational(exponent) && exponent[1] === 1) + e = exponent[0]; + else if (isBigRational(exponent) && exponent[1] === BigInt(1)) + e = Number(exponent[0]); + } + if (e === 1) + return base; + const r = base.numericValue; + if (e === -1 && r !== null) { + if (typeof r === "number" && Number.isInteger(r)) + return this.number([1, r]); + else if (r instanceof Decimal && r.isInteger()) + return this.number([BigInt(1), bigint(r)]); + else if (isRational(r)) + return this.number([r[1], r[0]]); + } + if (typeof exponent === "number" || isRational(exponent)) + exponent = this.number(exponent); + return canonicalPower(this, base, exponent, metadata); + } + inv(expr, metadata) { + if (expr.isOne) + return this._ONE; + if (expr.isNegativeOne) + return this._NEGATIVE_ONE; + if (expr.isInfinity) + return this._ZERO; + const n = expr.numericValue; + if (n !== null) { + if (isRational(n)) + return this.number(inverse(n), { metadata }); + if (typeof n === "number" && Number.isInteger(n)) + return this.number([1, n], { metadata }); + if (n instanceof Decimal && n.isInteger()) + return this.number([BigInt(1), bigint(n)], { metadata }); + return this._fn("Divide", [this._ONE, expr], metadata); + } + if (expr.head === "Sqrt") + return this._fn("Sqrt", [this.inv(expr.op1)], metadata); + if (expr.head === "Divide") + return this._fn("Divide", [expr[1], expr[0]], metadata); + let e = this._NEGATIVE_ONE; + if (expr.head === "Power") { + if (expr.op2.isNegativeOne) + return expr.op1; + e = canonicalNegate(expr.op2); + expr = expr.op1; + } + if (e.isNegativeOne) + return this._fn("Divide", [this._ONE, expr], metadata); + return this._fn("Power", [expr, e], metadata); + } + pair(first, second, metadata) { + return new BoxedFunction(this, "Tuple", [first, second], { + metadata, + canonical: true + }); + } + tuple(elements, metadata) { + return new BoxedFunction(this, "Tuple", canonical(elements), { + metadata, + canonical: true + }); + } + string(s, metadata) { + return new BoxedString(this, s, metadata); + } + symbol(name, options) { + var _a, _b, _c; + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + name = name.normalize(); + if (name === "NaN") + return this._NAN; + if (name === "Infinity") + return this._POSITIVE_INFINITY; + if (name === "+Infinity") + return this._POSITIVE_INFINITY; + if (name === "-Infinity") + return this._NEGATIVE_INFINITY; + if (name === "Half") + return this._HALF; + if (this.strict && !isValidIdentifier(name)) { + const where = (_a = options == null ? void 0 : options.metadata) == null ? void 0 : _a.latex; + const nameStr = `'${name}'`; + return this.error( + ["invalid-identifier", { str: validateIdentifier(name) }], + where ? ["Latex", `'${where}'`] : nameStr + ); + } + if (((_b = options == null ? void 0 : options.metadata) == null ? void 0 : _b.latex) !== void 0 && !options.canonical) + return new BoxedSymbol(this, name, options); + const result = this._commonSymbols[name]; + if (result) { + if (!((_c = options == null ? void 0 : options.metadata) == null ? void 0 : _c.wikidata) || !result.wikidata || result.wikidata === options.metadata.wikidata) + return result; + if (options.canonical) + return makeCanonicalSymbol(this, name); + return new BoxedSymbol(this, name, options); + } + if (options.canonical) + return makeCanonicalSymbol(this, name); + return new BoxedSymbol(this, name, options); + } + domain(domain, metadata) { + if (domain instanceof _BoxedDomain) + return domain; + if (domain instanceof AbstractBoxedExpression && domain.symbol) + domain = domain.symbol; + if (typeof domain === "string") { + const expr = this._commonDomains[domain]; + if (expr) + return expr; + } + return boxDomain(this, domain, metadata); + } + /* + * This function tries to avoid creating a boxed number if `num` corresponds + * to a common value for which we have a shared instance (-1, 0, NaN, etc...) + */ + number(value, options) { + var _a, _b; + options = options ? { ...options } : {}; + if (!("canonical" in options)) + options.canonical = true; + if (options.metadata === void 0) { + if (typeof value === "bigint") { + if (value === BigInt(1)) + return this._ONE; + if (value === BigInt(0)) + return this._ZERO; + if (value === BigInt(-1)) + return this._NEGATIVE_ONE; + } + if (typeof value === "number") { + const n = value; + if (n === 1) + return this._ONE; + if (n === 0) + return this._ZERO; + if (n === -1) + return this._NEGATIVE_ONE; + if (Number.isInteger(n) && this._commonNumbers[n] !== void 0) { + if (this._commonNumbers[n] === null) + this._commonNumbers[n] = (_a = boxNumber(this, value)) != null ? _a : this._NAN; + return this._commonNumbers[n]; + } + if (Number.isNaN(n)) + return this._NAN; + if (!Number.isFinite(n)) + return n < 0 ? this._NEGATIVE_INFINITY : this._POSITIVE_INFINITY; + } + } + if (typeof value === "bigint") + value = this.bignum(value); + return (_b = boxNumber(this, value, options)) != null ? _b : this._NAN; + } + rules(rules) { + return boxRules(this, rules); + } + pattern(expr) { + return new BoxedPattern(this, expr); + } + parse(latex, options) { + var _a; + if (typeof latex !== "string") + return null; + const result = this.latexSyntax.parse((_a = latexString(latex)) != null ? _a : latex); + return this.box(result, options); + } + serialize(x, options) { + if (typeof x === "object" && "json" in x) { + const ce = "engine" in x ? x.engine : this; + return this.latexSyntax.serialize( + this.rawJson(ce.box(x, { canonical: false })), + options + ); + } + return this.latexSyntax.serialize(x, options); + } + get latexOptions() { + const latexSyntax = this.latexSyntax; + return new Proxy( + { + ...this.latexSyntax.options, + ...this.latexSyntax.serializer.options + }, + { + set(options, prop, value) { + if (!(prop in options)) + return false; + latexSyntax.updateOptions({ [prop]: value }); + return true; + } + } + ); + } + set latexOptions(opts) { + this.latexSyntax.updateOptions(opts); + } + get jsonSerializationOptions() { + if (this._useRawJsonSerializationOptions) { + return new Proxy(this._rawJsonSerializationOptions, { + get(options, prop) { + if (!(prop in options)) + return void 0; + return options[prop]; + } + }); + } + const self = this; + return new Proxy(this._jsonSerializationOptions, { + get(options, prop) { + if (!(prop in options)) + return void 0; + return options[prop]; + }, + set(options, prop, value) { + if (!(prop in options)) + return false; + self.jsonSerializationOptions = { [prop]: value }; + return true; + } + }); + } + set jsonSerializationOptions(val) { + if (val.exclude) + this._jsonSerializationOptions.exclude = [...val.exclude]; + if (val.shorthands) { + if (val.shorthands === "all" || val.shorthands.includes("all")) { + this._jsonSerializationOptions.shorthands = [ + "function", + "symbol", + "string", + "dictionary", + "number" + ]; + } else + this._jsonSerializationOptions.shorthands = [...val.shorthands]; + } + if (val.metadata) { + if (val.metadata === "all" || val.metadata.includes("all")) { + this._jsonSerializationOptions.metadata = ["latex", "wikidata"]; + } else + this._jsonSerializationOptions.metadata = [...val.metadata]; + } + if (typeof val.precision === "number" && val.precision > 0) { + this._jsonSerializationOptions.precision = val.precision; + } + if (typeof val.repeatingDecimals === "boolean") { + this._jsonSerializationOptions.repeatingDecimals = val.repeatingDecimals; + } + } + rawJson(expr) { + const save = this._useRawJsonSerializationOptions; + this._useRawJsonSerializationOptions = true; + const result = expr.json; + this._useRawJsonSerializationOptions = save; + return result; + } + /** + * Return a list of all the assumptions that match a pattern. + * + * ```js + * ce.assume(x, 'PositiveInteger'); + * ce.ask(['Greater', 'x', '_val']) + * // -> [{'val': 0}] + * ``` + */ + ask(pattern) { + const pat = this.pattern(pattern); + const result = []; + for (const [assumption, val] of this.assumptions) { + const m = pat.match(assumption, { + numericTolerance: this._tolerance + }); + if (m !== null && val === true) + result.push(m); + } + return result; + } + // Based on contextual usage, infer domain of a symbol + infer(symbol2, _domain) { + if (typeof symbol2 !== "string") { + if (!symbol2.symbol) + return "internal-error"; + symbol2 = symbol2.symbol; + } + return "ok"; + } + assume(arg1, arg2) { + try { + const latex = latexString(arg1); + const predicate = latex ? this.parse(latex, { canonical: false }) : this.box(arg1, { canonical: false }); + if (!arg2) + return assume(predicate); + if (isDomain(arg2)) + return assume(this.box(["Element", predicate, this.domain(arg2)])); + return assume(this.box(["Equal", predicate, arg2])); + } catch (e) { + console.error(e); + return "internal-error"; + } + } + forget(symbol2) { + var _a, _b; + if (!this.context) + throw Error("No scope available"); + if (symbol2 === void 0) { + if (this.context.idTable) + for (const k of this.context.idTable.keys()) + this.forget(k); + this.assumptions.clear(); + return; + } + if (Array.isArray(symbol2)) { + for (const x of symbol2) + this.forget(x); + return; + } + if (typeof symbol2 === "string") { + if (this.context.idTable) { + const def = this.context.idTable.get(symbol2); + if (isSymbolDefinition(def)) { + def.value = void 0; + if ((_a = def.domain) == null ? void 0 : _a.isNumeric) { + def.domain = (_b = this.defaultDomain) != null ? _b : this.domain("Number"); + } else + def.domain = void 0; + } + } + for (const [assumption, _val] of this.assumptions) { + if (assumption.symbols.includes(symbol2)) + this.assumptions.delete(assumption); + } + } + } +}; +globalThis[Symbol.for("io.cortexjs.compute-engine")] = { + ComputeEngine: ComputeEngine.prototype.constructor, + version: "0.15.0" +}; + +// src/editor.ts +var CALCULATE_TRIGGER_SYMBOL = " ="; +var CalctexHintRenderer = class { + constructor(view) { + this.decorations = this.buildDecorations(view); + } + update(update) { + this.decorations = this.buildDecorations(update.view); + } + destroy() { + } + buildDecorations(view) { + const builder = new import_state.RangeSetBuilder(); + for (let { from, to } of view.visibleRanges) { + let cursorPos = view.state.selection.main.from; + let mathBegin = null; + (0, import_language.syntaxTree)(view.state).iterate({ + from, + to, + enter(node) { + let nodeTags = node.type.name.split("_"); + if (nodeTags.contains("formatting-math-begin")) + mathBegin = node.to; + if (nodeTags.contains("formatting-math-end") && mathBegin != null) { + let mathEnd = node.from; + if (cursorPos < mathBegin || mathEnd < cursorPos) + return; + let formula = view.state.sliceDoc(mathBegin, mathEnd); + if (!formula.trim().endsWith(CALCULATE_TRIGGER_SYMBOL)) + return; + let formulaLength = formula.replace("\n", "").length; + let insertIndex = mathBegin + formulaLength; + const calculationEngine = new ComputeEngine(); + calculationEngine.latexOptions = { + multiply: "*", + groupSeparator: "'" + }; + let formattedFormula = formula.trim().slice(0, -CALCULATE_TRIGGER_SYMBOL.length).trim(); + let result = calculationEngine.parse(formattedFormula).evaluate().latex; + let resultString = ` ${result}`; + if (result.toLowerCase().contains("error")) + resultString = ` \u26A1`; + builder.add( + insertIndex, + insertIndex, + import_view2.Decoration.replace({ + widget: new ResultWidget(view, insertIndex, resultString) + }) + ); + } + } + }); + } + return builder.finish(); + } +}; +var pluginSpec = { + decorations: (value) => value.decorations +}; +var calctexHintRenderer = import_view2.ViewPlugin.fromClass( + CalctexHintRenderer, + pluginSpec +); + +// src/main.ts +var CalctexPlugin = class extends import_obsidian.Plugin { + async onload() { + this.registerEditorExtension([calctexHintRenderer]); + } + onunload() { + } +}; +/*! Bundled license information: + +@cortex-js/compute-engine/dist/compute-engine.min.esm.js: + (*! Bundled license information: + + complex.js/complex.js: + (** + * @license Complex.js v2.1.1 12/05/2020 + * + * Copyright (c) 2020, Robert Eisele (robert@xarg.org) + * Dual licensed under the MIT or GPL Version 2 licenses. + **) + + decimal.js/decimal.mjs: + (*! + * decimal.js v10.4.3 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2022 Michael Mclaughlin + * MIT Licence + *) + *) +*/ +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21haW4udHMiLCAic3JjL2VkaXRvci50cyIsICJzcmMvd2lkZ2V0LnRzIiwgIm5vZGVfbW9kdWxlcy9AY29ydGV4LWpzL2NvbXB1dGUtZW5naW5lL2Rpc3QvY29tcHV0ZS1lbmdpbmUubWluLmVzbS5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY2FsY3RleEhpbnRSZW5kZXJlciB9IGZyb20gJy4vZWRpdG9yJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2FsY3RleFBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cdGFzeW5jIG9ubG9hZCgpIHtcbiAgICB0aGlzLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKFtjYWxjdGV4SGludFJlbmRlcmVyXSk7XG5cdH1cblxuXHRvbnVubG9hZCgpIHt9XG59IiwgIi8vQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBzeW50YXhUcmVlIH0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XHJcbmltcG9ydCB7IFJhbmdlU2V0QnVpbGRlciB9IGZyb20gXCJAY29kZW1pcnJvci9zdGF0ZVwiO1xyXG5pbXBvcnQge1xyXG4gIERlY29yYXRpb24sXHJcbiAgRGVjb3JhdGlvblNldCxcclxuICBFZGl0b3JWaWV3LFxyXG4gIFBsdWdpblNwZWMsXHJcbiAgUGx1Z2luVmFsdWUsXHJcbiAgVmlld1BsdWdpbixcclxuICBWaWV3VXBkYXRlXHJcbn0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcclxuaW1wb3J0IHsgUmVzdWx0V2lkZ2V0IH0gZnJvbSBcInNyYy93aWRnZXRcIjtcclxuaW1wb3J0IHsgQ29tcHV0ZUVuZ2luZSB9IGZyb20gJ0Bjb3J0ZXgtanMvY29tcHV0ZS1lbmdpbmUnO1xyXG5cclxuY29uc3QgQ0FMQ1VMQVRFX1RSSUdHRVJfU1lNQk9MID0gXCIgPVwiO1xyXG5cclxuY2xhc3MgQ2FsY3RleEhpbnRSZW5kZXJlciBpbXBsZW1lbnRzIFBsdWdpblZhbHVlIHtcclxuICBkZWNvcmF0aW9uczogRGVjb3JhdGlvblNldDtcclxuXHJcbiAgY29uc3RydWN0b3IodmlldzogRWRpdG9yVmlldykge1xyXG4gICAgdGhpcy5kZWNvcmF0aW9ucyA9IHRoaXMuYnVpbGREZWNvcmF0aW9ucyh2aWV3KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZSh1cGRhdGU6IFZpZXdVcGRhdGUpIHtcclxuICAgIHRoaXMuZGVjb3JhdGlvbnMgPSB0aGlzLmJ1aWxkRGVjb3JhdGlvbnModXBkYXRlLnZpZXcpO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveSgpIHt9XHJcblxyXG4gIGJ1aWxkRGVjb3JhdGlvbnModmlldzogRWRpdG9yVmlldyk6IERlY29yYXRpb25TZXQge1xyXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBSYW5nZVNldEJ1aWxkZXI8RGVjb3JhdGlvbj4oKTtcclxuXHJcbiAgICBmb3IgKGxldCB7IGZyb20sIHRvIH0gb2Ygdmlldy52aXNpYmxlUmFuZ2VzKSB7XHJcbiAgICAgIGxldCBjdXJzb3JQb3MgPSB2aWV3LnN0YXRlLnNlbGVjdGlvbi5tYWluLmZyb207XHJcbiAgICAgIGxldCBtYXRoQmVnaW46IG51bWJlcnxudWxsID0gbnVsbDtcclxuXHJcbiAgICAgIHN5bnRheFRyZWUodmlldy5zdGF0ZSkuaXRlcmF0ZSh7XHJcbiAgICAgICAgZnJvbSxcclxuICAgICAgICB0byxcclxuICAgICAgICBlbnRlcihub2RlOiBhbnkpIHtcclxuICAgICAgICAgIGxldCBub2RlVGFncyA9IG5vZGUudHlwZS5uYW1lLnNwbGl0KFwiX1wiKVxyXG5cclxuICAgICAgICAgIGlmIChub2RlVGFncy5jb250YWlucyhcImZvcm1hdHRpbmctbWF0aC1iZWdpblwiKSlcclxuICAgICAgICAgICAgbWF0aEJlZ2luID0gbm9kZS50bztcclxuICAgICAgICAgIGlmIChub2RlVGFncy5jb250YWlucyhcImZvcm1hdHRpbmctbWF0aC1lbmRcIikgJiYgbWF0aEJlZ2luICE9IG51bGwpIHtcclxuICAgICAgICAgICAgbGV0IG1hdGhFbmQgPSBub2RlLmZyb207XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JQb3MgPCBtYXRoQmVnaW4gfHwgbWF0aEVuZCA8IGN1cnNvclBvcykgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgbGV0IGZvcm11bGEgPSB2aWV3LnN0YXRlLnNsaWNlRG9jKG1hdGhCZWdpbiwgbWF0aEVuZCk7XHJcbiAgICAgICAgICAgIGlmICghZm9ybXVsYS50cmltKCkuZW5kc1dpdGgoQ0FMQ1VMQVRFX1RSSUdHRVJfU1lNQk9MKSkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgLy8gQ291bnQgdGhlIGxlbmd0aCBvZiB0aGUgZm9ybXVsYSB3aXRob3V0IG5ld2xpbmVzXHJcbiAgICAgICAgICAgIGxldCBmb3JtdWxhTGVuZ3RoID0gZm9ybXVsYS5yZXBsYWNlKFwiXFxuXCIsIFwiXCIpLmxlbmd0aDtcclxuICAgICAgICAgICAgbGV0IGluc2VydEluZGV4ID0gbWF0aEJlZ2luICsgZm9ybXVsYUxlbmd0aDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0aW9uRW5naW5lID0gbmV3IENvbXB1dGVFbmdpbmUoKTtcclxuICAgICAgICAgICAgY2FsY3VsYXRpb25FbmdpbmUubGF0ZXhPcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgIG11bHRpcGx5OiBcIipcIixcclxuICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogXCInXCIsXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBsZXQgZm9ybWF0dGVkRm9ybXVsYSA9IGZvcm11bGEudHJpbSgpLnNsaWNlKDAsIC1DQUxDVUxBVEVfVFJJR0dFUl9TWU1CT0wubGVuZ3RoKS50cmltKCk7XHJcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBjYWxjdWxhdGlvbkVuZ2luZS5wYXJzZShmb3JtYXR0ZWRGb3JtdWxhKS5ldmFsdWF0ZSgpLmxhdGV4O1xyXG5cclxuICAgICAgICAgICAgbGV0IHJlc3VsdFN0cmluZyA9IGAgJHtyZXN1bHR9YDtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdC50b0xvd2VyQ2FzZSgpLmNvbnRhaW5zKFwiZXJyb3JcIikpIHJlc3VsdFN0cmluZyA9IGAgXHUyNkExYDtcclxuXHJcbiAgICAgICAgICAgIGJ1aWxkZXIuYWRkKFxyXG4gICAgICAgICAgICAgIGluc2VydEluZGV4LFxyXG4gICAgICAgICAgICAgIGluc2VydEluZGV4LFxyXG4gICAgICAgICAgICAgIERlY29yYXRpb24ucmVwbGFjZSh7XHJcbiAgICAgICAgICAgICAgICB3aWRnZXQ6IG5ldyBSZXN1bHRXaWRnZXQodmlldywgaW5zZXJ0SW5kZXgsIHJlc3VsdFN0cmluZyksXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYnVpbGRlci5maW5pc2goKTtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHBsdWdpblNwZWM6IFBsdWdpblNwZWM8Q2FsY3RleEhpbnRSZW5kZXJlcj4gPSB7XHJcbiAgZGVjb3JhdGlvbnM6ICh2YWx1ZTogQ2FsY3RleEhpbnRSZW5kZXJlcikgPT4gdmFsdWUuZGVjb3JhdGlvbnMsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY2FsY3RleEhpbnRSZW5kZXJlciA9IFZpZXdQbHVnaW4uZnJvbUNsYXNzKFxyXG4gIENhbGN0ZXhIaW50UmVuZGVyZXIsXHJcbiAgcGx1Z2luU3BlY1xyXG4pOyIsICJpbXBvcnQgeyBFZGl0b3JWaWV3LCBXaWRnZXRUeXBlIH0gZnJvbSBcIkBjb2RlbWlycm9yL3ZpZXdcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXN1bHRXaWRnZXQgZXh0ZW5kcyBXaWRnZXRUeXBlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlldzogRWRpdG9yVmlldywgcHVibGljIGluZGV4OiBudW1iZXIsIHB1YmxpYyB0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICB0b0RPTSh2aWV3OiBFZGl0b3JWaWV3KTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XHJcbiAgICBkaXYuY2xhc3NOYW1lID0gXCJyZXN1bHQtdGV4dFwiO1xyXG5cclxuICAgIGRpdi5pbm5lclRleHQgPSB0aGlzLnRleHQ7XHJcbiAgICBkaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgLy8gSW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGUgZWRpdG9yXHJcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdmlldy5zdGF0ZS51cGRhdGUoe1xyXG4gICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgIGZyb206IHRoaXMuaW5kZXgsXHJcbiAgICAgICAgICB0bzogdGhpcy5pbmRleCxcclxuICAgICAgICAgIGluc2VydDogdGhpcy50ZXh0LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICB2aWV3LmRpc3BhdGNoKHRyYW5zYWN0aW9uKTtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcbn0iLCAiLyoqIENvcnRleEpTIENvbXB1dGUgRW5naW5lIDAuMTUuMCAqL1xudmFyIF9fY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2dldFByb3RvT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2NvbW1vbkpTID0gKGNiLCBtb2QyKSA9PiBmdW5jdGlvbiBfX3JlcXVpcmUoKSB7XG4gIHJldHVybiBtb2QyIHx8ICgwLCBjYltfX2dldE93blByb3BOYW1lcyhjYilbMF1dKSgobW9kMiA9IHsgZXhwb3J0czoge30gfSkuZXhwb3J0cywgbW9kMiksIG1vZDIuZXhwb3J0cztcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0VTTSA9IChtb2QyLCBpc05vZGVNb2RlLCB0YXJnZXQpID0+ICh0YXJnZXQgPSBtb2QyICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kMikpIDoge30sIF9fY29weVByb3BzKFxuICAvLyBJZiB0aGUgaW1wb3J0ZXIgaXMgaW4gbm9kZSBjb21wYXRpYmlsaXR5IG1vZGUgb3IgdGhpcyBpcyBub3QgYW4gRVNNXG4gIC8vIGZpbGUgdGhhdCBoYXMgYmVlbiBjb252ZXJ0ZWQgdG8gYSBDb21tb25KUyBmaWxlIHVzaW5nIGEgQmFiZWwtXG4gIC8vIGNvbXBhdGlibGUgdHJhbnNmb3JtIChpLmUuIFwiX19lc01vZHVsZVwiIGhhcyBub3QgYmVlbiBzZXQpLCB0aGVuIHNldFxuICAvLyBcImRlZmF1bHRcIiB0byB0aGUgQ29tbW9uSlMgXCJtb2R1bGUuZXhwb3J0c1wiIGZvciBub2RlIGNvbXBhdGliaWxpdHkuXG4gIGlzTm9kZU1vZGUgfHwgIW1vZDIgfHwgIW1vZDIuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7IHZhbHVlOiBtb2QyLCBlbnVtZXJhYmxlOiB0cnVlIH0pIDogdGFyZ2V0LFxuICBtb2QyXG4pKTtcblxuLy8gbm9kZV9tb2R1bGVzL2NvbXBsZXguanMvY29tcGxleC5qc1xudmFyIHJlcXVpcmVfY29tcGxleCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jb21wbGV4LmpzL2NvbXBsZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICAoZnVuY3Rpb24ocm9vdCkge1xuICAgICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgICB2YXIgY29zaDIgPSBNYXRoLmNvc2ggfHwgZnVuY3Rpb24oeCkge1xuICAgICAgICByZXR1cm4gTWF0aC5hYnMoeCkgPCAxZS05ID8gMSAtIHggOiAoTWF0aC5leHAoeCkgKyBNYXRoLmV4cCgteCkpICogMC41O1xuICAgICAgfTtcbiAgICAgIHZhciBzaW5oMiA9IE1hdGguc2luaCB8fCBmdW5jdGlvbih4KSB7XG4gICAgICAgIHJldHVybiBNYXRoLmFicyh4KSA8IDFlLTkgPyB4IDogKE1hdGguZXhwKHgpIC0gTWF0aC5leHAoLXgpKSAqIDAuNTtcbiAgICAgIH07XG4gICAgICB2YXIgY29zbTEgPSBmdW5jdGlvbih4KSB7XG4gICAgICAgIHZhciBiID0gTWF0aC5QSSAvIDQ7XG4gICAgICAgIGlmICgtYiA+IHggfHwgeCA+IGIpIHtcbiAgICAgICAgICByZXR1cm4gTWF0aC5jb3MoeCkgLSAxO1xuICAgICAgICB9XG4gICAgICAgIHZhciB4eCA9IHggKiB4O1xuICAgICAgICByZXR1cm4geHggKiAoeHggKiAoeHggKiAoeHggKiAoeHggKiAoeHggKiAoeHggKiAoeHggLyAyMDkyMjc4OTg4OGUzIC0gMSAvIDg3MTc4MjkxMjAwKSArIDEgLyA0NzkwMDE2MDApIC0gMSAvIDM2Mjg4MDApICsgMSAvIDQwMzIwKSAtIDEgLyA3MjApICsgMSAvIDI0KSAtIDEgLyAyKTtcbiAgICAgIH07XG4gICAgICB2YXIgaHlwb3QyID0gZnVuY3Rpb24oeCwgeSkge1xuICAgICAgICB2YXIgYSA9IE1hdGguYWJzKHgpO1xuICAgICAgICB2YXIgYiA9IE1hdGguYWJzKHkpO1xuICAgICAgICBpZiAoYSA8IDNlMyAmJiBiIDwgM2UzKSB7XG4gICAgICAgICAgcmV0dXJuIE1hdGguc3FydChhICogYSArIGIgKiBiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYSA8IGIpIHtcbiAgICAgICAgICBhID0gYjtcbiAgICAgICAgICBiID0geCAvIHk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYiA9IHkgLyB4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhICogTWF0aC5zcXJ0KDEgKyBiICogYik7XG4gICAgICB9O1xuICAgICAgdmFyIHBhcnNlcl9leGl0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHRocm93IFN5bnRheEVycm9yKFwiSW52YWxpZCBQYXJhbVwiKTtcbiAgICAgIH07XG4gICAgICBmdW5jdGlvbiBsb2dIeXBvdChhLCBiKSB7XG4gICAgICAgIHZhciBfYSA9IE1hdGguYWJzKGEpO1xuICAgICAgICB2YXIgX2IgPSBNYXRoLmFicyhiKTtcbiAgICAgICAgaWYgKGEgPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gTWF0aC5sb2coX2IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChiID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIE1hdGgubG9nKF9hKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX2EgPCAzZTMgJiYgX2IgPCAzZTMpIHtcbiAgICAgICAgICByZXR1cm4gTWF0aC5sb2coYSAqIGEgKyBiICogYikgKiAwLjU7XG4gICAgICAgIH1cbiAgICAgICAgYSA9IGEgLyAyO1xuICAgICAgICBiID0gYiAvIDI7XG4gICAgICAgIHJldHVybiAwLjUgKiBNYXRoLmxvZyhhICogYSArIGIgKiBiKSArIE1hdGguTE4yO1xuICAgICAgfVxuICAgICAgdmFyIHBhcnNlID0gZnVuY3Rpb24oYSwgYikge1xuICAgICAgICB2YXIgeiA9IHsgXCJyZVwiOiAwLCBcImltXCI6IDAgfTtcbiAgICAgICAgaWYgKGEgPT09IHZvaWQgMCB8fCBhID09PSBudWxsKSB7XG4gICAgICAgICAgeltcInJlXCJdID0geltcImltXCJdID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChiICE9PSB2b2lkIDApIHtcbiAgICAgICAgICB6W1wicmVcIl0gPSBhO1xuICAgICAgICAgIHpbXCJpbVwiXSA9IGI7XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHN3aXRjaCAodHlwZW9mIGEpIHtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgaWYgKFwiaW1cIiBpbiBhICYmIFwicmVcIiBpbiBhKSB7XG4gICAgICAgICAgICAgICAgeltcInJlXCJdID0gYVtcInJlXCJdO1xuICAgICAgICAgICAgICAgIHpbXCJpbVwiXSA9IGFbXCJpbVwiXTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChcImFic1wiIGluIGEgJiYgXCJhcmdcIiBpbiBhKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoYVtcImFic1wiXSkgJiYgTnVtYmVyLmlzRmluaXRlKGFbXCJhcmdcIl0pKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHpbXCJyZVwiXSA9IGFbXCJhYnNcIl0gKiBNYXRoLmNvcyhhW1wiYXJnXCJdKTtcbiAgICAgICAgICAgICAgICB6W1wiaW1cIl0gPSBhW1wiYWJzXCJdICogTWF0aC5zaW4oYVtcImFyZ1wiXSk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoXCJyXCIgaW4gYSAmJiBcInBoaVwiIGluIGEpIHtcbiAgICAgICAgICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShhW1wiclwiXSkgJiYgTnVtYmVyLmlzRmluaXRlKGFbXCJwaGlcIl0pKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHpbXCJyZVwiXSA9IGFbXCJyXCJdICogTWF0aC5jb3MoYVtcInBoaVwiXSk7XG4gICAgICAgICAgICAgICAgeltcImltXCJdID0gYVtcInJcIl0gKiBNYXRoLnNpbihhW1wicGhpXCJdKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChhLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIHpbXCJyZVwiXSA9IGFbMF07XG4gICAgICAgICAgICAgICAgeltcImltXCJdID0gYVsxXTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJzZXJfZXhpdCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICAgICAgICB6W1wiaW1cIl0gPSAvKiB2b2lkICovXG4gICAgICAgICAgICAgIHpbXCJyZVwiXSA9IDA7XG4gICAgICAgICAgICAgIHZhciB0b2tlbnMgPSBhLm1hdGNoKC9cXGQrXFwuP1xcZCplWystXT9cXGQrfFxcZCtcXC4/XFxkKnxcXC5cXGQrfC4vZyk7XG4gICAgICAgICAgICAgIHZhciBwbHVzID0gMTtcbiAgICAgICAgICAgICAgdmFyIG1pbnVzID0gMDtcbiAgICAgICAgICAgICAgaWYgKHRva2VucyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHBhcnNlcl9leGl0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgYyA9IHRva2Vuc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoYyA9PT0gXCIgXCIgfHwgYyA9PT0gXCJcdFwiIHx8IGMgPT09IFwiXFxuXCIpIHtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09IFwiK1wiKSB7XG4gICAgICAgICAgICAgICAgICBwbHVzKys7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjID09PSBcIi1cIikge1xuICAgICAgICAgICAgICAgICAgbWludXMrKztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09IFwiaVwiIHx8IGMgPT09IFwiSVwiKSB7XG4gICAgICAgICAgICAgICAgICBpZiAocGx1cyArIG1pbnVzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlcl9leGl0KCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpZiAodG9rZW5zW2kgKyAxXSAhPT0gXCIgXCIgJiYgIWlzTmFOKHRva2Vuc1tpICsgMV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHpbXCJpbVwiXSArPSBwYXJzZUZsb2F0KChtaW51cyAlIDIgPyBcIi1cIiA6IFwiXCIpICsgdG9rZW5zW2kgKyAxXSk7XG4gICAgICAgICAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHpbXCJpbVwiXSArPSBwYXJzZUZsb2F0KChtaW51cyAlIDIgPyBcIi1cIiA6IFwiXCIpICsgXCIxXCIpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcGx1cyA9IG1pbnVzID0gMDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgaWYgKHBsdXMgKyBtaW51cyA9PT0gMCB8fCBpc05hTihjKSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJzZXJfZXhpdCgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKHRva2Vuc1tpICsgMV0gPT09IFwiaVwiIHx8IHRva2Vuc1tpICsgMV0gPT09IFwiSVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHpbXCJpbVwiXSArPSBwYXJzZUZsb2F0KChtaW51cyAlIDIgPyBcIi1cIiA6IFwiXCIpICsgYyk7XG4gICAgICAgICAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHpbXCJyZVwiXSArPSBwYXJzZUZsb2F0KChtaW51cyAlIDIgPyBcIi1cIiA6IFwiXCIpICsgYyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbHVzID0gbWludXMgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocGx1cyArIG1pbnVzID4gMCkge1xuICAgICAgICAgICAgICAgIHBhcnNlcl9leGl0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgIHpbXCJpbVwiXSA9IDA7XG4gICAgICAgICAgICAgIHpbXCJyZVwiXSA9IGE7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcGFyc2VyX2V4aXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIGlmIChpc05hTih6W1wicmVcIl0pIHx8IGlzTmFOKHpbXCJpbVwiXSkpIHtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gejtcbiAgICAgIH07XG4gICAgICBmdW5jdGlvbiBDb21wbGV4MjAoYSwgYikge1xuICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQ29tcGxleDIwKSkge1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKGEsIGIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciB6ID0gcGFyc2UoYSwgYik7XG4gICAgICAgIHRoaXNbXCJyZVwiXSA9IHpbXCJyZVwiXTtcbiAgICAgICAgdGhpc1tcImltXCJdID0geltcImltXCJdO1xuICAgICAgfVxuICAgICAgQ29tcGxleDIwLnByb3RvdHlwZSA9IHtcbiAgICAgICAgXCJyZVwiOiAwLFxuICAgICAgICBcImltXCI6IDAsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGVzIHRoZSBzaWduIG9mIGEgY29tcGxleCBudW1iZXIsIHdoaWNoIGlzIGEgbm9ybWFsaXplZCBjb21wbGV4XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJzaWduXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhYnMyID0gdGhpc1tcImFic1wiXSgpO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgdGhpc1tcInJlXCJdIC8gYWJzMixcbiAgICAgICAgICAgIHRoaXNbXCJpbVwiXSAvIGFiczJcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQWRkcyB0d28gY29tcGxleCBudW1iZXJzXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhZGRcIjogZnVuY3Rpb24oYSwgYikge1xuICAgICAgICAgIHZhciB6ID0gbmV3IENvbXBsZXgyMChhLCBiKTtcbiAgICAgICAgICBpZiAodGhpc1tcImlzSW5maW5pdGVcIl0oKSAmJiB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiTkFOXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpc1tcImlzSW5maW5pdGVcIl0oKSB8fCB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgdGhpc1tcInJlXCJdICsgeltcInJlXCJdLFxuICAgICAgICAgICAgdGhpc1tcImltXCJdICsgeltcImltXCJdXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFN1YnRyYWN0cyB0d28gY29tcGxleCBudW1iZXJzXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJzdWJcIjogZnVuY3Rpb24oYSwgYikge1xuICAgICAgICAgIHZhciB6ID0gbmV3IENvbXBsZXgyMChhLCBiKTtcbiAgICAgICAgICBpZiAodGhpc1tcImlzSW5maW5pdGVcIl0oKSAmJiB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiTkFOXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpc1tcImlzSW5maW5pdGVcIl0oKSB8fCB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgdGhpc1tcInJlXCJdIC0geltcInJlXCJdLFxuICAgICAgICAgICAgdGhpc1tcImltXCJdIC0geltcImltXCJdXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE11bHRpcGxpZXMgdHdvIGNvbXBsZXggbnVtYmVyc1xuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwibXVsXCI6IGZ1bmN0aW9uKGEsIGIpIHtcbiAgICAgICAgICB2YXIgeiA9IG5ldyBDb21wbGV4MjAoYSwgYik7XG4gICAgICAgICAgaWYgKHRoaXNbXCJpc0luZmluaXRlXCJdKCkgJiYgeltcImlzWmVyb1wiXSgpIHx8IHRoaXNbXCJpc1plcm9cIl0oKSAmJiB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiTkFOXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpc1tcImlzSW5maW5pdGVcIl0oKSB8fCB6W1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh6W1wiaW1cIl0gPT09IDAgJiYgdGhpc1tcImltXCJdID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMCh0aGlzW1wicmVcIl0gKiB6W1wicmVcIl0sIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIHRoaXNbXCJyZVwiXSAqIHpbXCJyZVwiXSAtIHRoaXNbXCJpbVwiXSAqIHpbXCJpbVwiXSxcbiAgICAgICAgICAgIHRoaXNbXCJyZVwiXSAqIHpbXCJpbVwiXSArIHRoaXNbXCJpbVwiXSAqIHpbXCJyZVwiXVxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEaXZpZGVzIHR3byBjb21wbGV4IG51bWJlcnNcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImRpdlwiOiBmdW5jdGlvbihhLCBiKSB7XG4gICAgICAgICAgdmFyIHogPSBuZXcgQ29tcGxleDIwKGEsIGIpO1xuICAgICAgICAgIGlmICh0aGlzW1wiaXNaZXJvXCJdKCkgJiYgeltcImlzWmVyb1wiXSgpIHx8IHRoaXNbXCJpc0luZmluaXRlXCJdKCkgJiYgeltcImlzSW5maW5pdGVcIl0oKSkge1xuICAgICAgICAgICAgcmV0dXJuIENvbXBsZXgyMFtcIk5BTlwiXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXNbXCJpc0luZmluaXRlXCJdKCkgfHwgeltcImlzWmVyb1wiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiSU5GSU5JVFlcIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzW1wiaXNaZXJvXCJdKCkgfHwgeltcImlzSW5maW5pdGVcIl0oKSkge1xuICAgICAgICAgICAgcmV0dXJuIENvbXBsZXgyMFtcIlpFUk9cIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIGEgPSB0aGlzW1wicmVcIl07XG4gICAgICAgICAgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgYyA9IHpbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgZCA9IHpbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgdCwgeDtcbiAgICAgICAgICBpZiAoMCA9PT0gZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoYSAvIGMsIGIgLyBjKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKE1hdGguYWJzKGMpIDwgTWF0aC5hYnMoZCkpIHtcbiAgICAgICAgICAgIHggPSBjIC8gZDtcbiAgICAgICAgICAgIHQgPSBjICogeCArIGQ7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgICAgKGEgKiB4ICsgYikgLyB0LFxuICAgICAgICAgICAgICAoYiAqIHggLSBhKSAvIHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHggPSBkIC8gYztcbiAgICAgICAgICAgIHQgPSBkICogeCArIGM7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgICAgKGEgKyBiICogeCkgLyB0LFxuICAgICAgICAgICAgICAoYiAtIGEgKiB4KSAvIHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBwb3dlciBvZiB0d28gY29tcGxleCBudW1iZXJzXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJwb3dcIjogZnVuY3Rpb24oYSwgYikge1xuICAgICAgICAgIHZhciB6ID0gbmV3IENvbXBsZXgyMChhLCBiKTtcbiAgICAgICAgICBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIGIgPSB0aGlzW1wiaW1cIl07XG4gICAgICAgICAgaWYgKHpbXCJpc1plcm9cIl0oKSkge1xuICAgICAgICAgICAgcmV0dXJuIENvbXBsZXgyMFtcIk9ORVwiXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHpbXCJpbVwiXSA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKGIgPT09IDAgJiYgYSA+IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoTWF0aC5wb3coYSwgeltcInJlXCJdKSwgMCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGEgPT09IDApIHtcbiAgICAgICAgICAgICAgc3dpdGNoICgoeltcInJlXCJdICUgNCArIDQpICUgNCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKE1hdGgucG93KGIsIHpbXCJyZVwiXSksIDApO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKDAsIE1hdGgucG93KGIsIHpbXCJyZVwiXSkpO1xuICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKC1NYXRoLnBvdyhiLCB6W1wicmVcIl0pLCAwKTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMCgwLCAtTWF0aC5wb3coYiwgeltcInJlXCJdKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGEgPT09IDAgJiYgYiA9PT0gMCAmJiB6W1wicmVcIl0gPiAwICYmIHpbXCJpbVwiXSA+PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gQ29tcGxleDIwW1wiWkVST1wiXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGFyZyA9IE1hdGguYXRhbjIoYiwgYSk7XG4gICAgICAgICAgdmFyIGxvaCA9IGxvZ0h5cG90KGEsIGIpO1xuICAgICAgICAgIGEgPSBNYXRoLmV4cCh6W1wicmVcIl0gKiBsb2ggLSB6W1wiaW1cIl0gKiBhcmcpO1xuICAgICAgICAgIGIgPSB6W1wiaW1cIl0gKiBsb2ggKyB6W1wicmVcIl0gKiBhcmc7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBhICogTWF0aC5jb3MoYiksXG4gICAgICAgICAgICBhICogTWF0aC5zaW4oYilcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IHNxdWFyZSByb290XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJzcXJ0XCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciByID0gdGhpc1tcImFic1wiXSgpO1xuICAgICAgICAgIHZhciByZSwgaW07XG4gICAgICAgICAgaWYgKGEgPj0gMCkge1xuICAgICAgICAgICAgaWYgKGIgPT09IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoTWF0aC5zcXJ0KGEpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlID0gMC41ICogTWF0aC5zcXJ0KDIgKiAociArIGEpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmUgPSBNYXRoLmFicyhiKSAvIE1hdGguc3FydCgyICogKHIgLSBhKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhIDw9IDApIHtcbiAgICAgICAgICAgIGltID0gMC41ICogTWF0aC5zcXJ0KDIgKiAociAtIGEpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW0gPSBNYXRoLmFicyhiKSAvIE1hdGguc3FydCgyICogKHIgKyBhKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKHJlLCBiIDwgMCA/IC1pbSA6IGltKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29tcGxleCBleHBvbmVudFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiZXhwXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciB0bXAgPSBNYXRoLmV4cCh0aGlzW1wicmVcIl0pO1xuICAgICAgICAgIGlmICh0aGlzW1wiaW1cIl0gPT09IDApIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICB0bXAgKiBNYXRoLmNvcyh0aGlzW1wiaW1cIl0pLFxuICAgICAgICAgICAgdG1wICogTWF0aC5zaW4odGhpc1tcImltXCJdKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggZXhwb25lbnQgYW5kIHN1YnRyYWN0cyBvbmUuXG4gICAgICAgICAqXG4gICAgICAgICAqIFRoaXMgbWF5IGJlIG1vcmUgYWNjdXJhdGUgdGhhbiBgQ29tcGxleCh4KS5leHAoKS5zdWIoMSlgIGlmXG4gICAgICAgICAqIGB4YCBpcyBzbWFsbC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImV4cG0xXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgTWF0aC5leHBtMShhKSAqIE1hdGguY29zKGIpICsgY29zbTEoYiksXG4gICAgICAgICAgICBNYXRoLmV4cChhKSAqIE1hdGguc2luKGIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgbmF0dXJhbCBsb2dcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImxvZ1wiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICBpZiAoYiA9PT0gMCAmJiBhID4gMCkge1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGxvZ0h5cG90KGEsIGIpLFxuICAgICAgICAgICAgTWF0aC5hdGFuMihiLCBhKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIG1hZ25pdHVkZSBvZiB0aGUgY29tcGxleCBudW1iZXJcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge251bWJlcn1cbiAgICAgICAgICovXG4gICAgICAgIFwiYWJzXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBoeXBvdDIodGhpc1tcInJlXCJdLCB0aGlzW1wiaW1cIl0pO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBhbmdsZSBvZiB0aGUgY29tcGxleCBudW1iZXJcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge251bWJlcn1cbiAgICAgICAgICovXG4gICAgICAgIFwiYXJnXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBNYXRoLmF0YW4yKHRoaXNbXCJpbVwiXSwgdGhpc1tcInJlXCJdKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgc2luZSBvZiB0aGUgY29tcGxleCBudW1iZXJcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcInNpblwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIE1hdGguc2luKGEpICogY29zaDIoYiksXG4gICAgICAgICAgICBNYXRoLmNvcyhhKSAqIHNpbmgyKGIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29zaW5lXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJjb3NcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSB0aGlzW1wicmVcIl07XG4gICAgICAgICAgdmFyIGIgPSB0aGlzW1wiaW1cIl07XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBNYXRoLmNvcyhhKSAqIGNvc2gyKGIpLFxuICAgICAgICAgICAgLU1hdGguc2luKGEpICogc2luaDIoYilcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSB0YW5nZW50XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJ0YW5cIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSAyICogdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gMiAqIHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IE1hdGguY29zKGEpICsgY29zaDIoYik7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBNYXRoLnNpbihhKSAvIGQsXG4gICAgICAgICAgICBzaW5oMihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb3RhbmdlbnRcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImNvdFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IDIgKiB0aGlzW1wicmVcIl07XG4gICAgICAgICAgdmFyIGIgPSAyICogdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciBkID0gTWF0aC5jb3MoYSkgLSBjb3NoMihiKTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIC1NYXRoLnNpbihhKSAvIGQsXG4gICAgICAgICAgICBzaW5oMihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBzZWNhbnRcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcInNlY1wiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IDAuNSAqIGNvc2gyKDIgKiBiKSArIDAuNSAqIE1hdGguY29zKDIgKiBhKTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIE1hdGguY29zKGEpICogY29zaDIoYikgLyBkLFxuICAgICAgICAgICAgTWF0aC5zaW4oYSkgKiBzaW5oMihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb3NlY2Fuc1xuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiY3NjXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciBkID0gMC41ICogY29zaDIoMiAqIGIpIC0gMC41ICogTWF0aC5jb3MoMiAqIGEpO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgTWF0aC5zaW4oYSkgKiBjb3NoMihiKSAvIGQsXG4gICAgICAgICAgICAtTWF0aC5jb3MoYSkgKiBzaW5oMihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGFyY3VzIHNpbnVzXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhc2luXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciB0MSA9IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBiICogYiAtIGEgKiBhICsgMSxcbiAgICAgICAgICAgIC0yICogYSAqIGJcbiAgICAgICAgICApW1wic3FydFwiXSgpO1xuICAgICAgICAgIHZhciB0MiA9IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICB0MVtcInJlXCJdIC0gYixcbiAgICAgICAgICAgIHQxW1wiaW1cIl0gKyBhXG4gICAgICAgICAgKVtcImxvZ1wiXSgpO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKHQyW1wiaW1cIl0sIC10MltcInJlXCJdKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29tcGxleCBhcmN1cyBjb3NpbnVzXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhY29zXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciB0MSA9IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBiICogYiAtIGEgKiBhICsgMSxcbiAgICAgICAgICAgIC0yICogYSAqIGJcbiAgICAgICAgICApW1wic3FydFwiXSgpO1xuICAgICAgICAgIHZhciB0MiA9IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICB0MVtcInJlXCJdIC0gYixcbiAgICAgICAgICAgIHQxW1wiaW1cIl0gKyBhXG4gICAgICAgICAgKVtcImxvZ1wiXSgpO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKE1hdGguUEkgLyAyIC0gdDJbXCJpbVwiXSwgdDJbXCJyZVwiXSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYXJjdXMgdGFuZ2VudFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiYXRhblwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICBpZiAoYSA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKGIgPT09IDEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoMCwgSW5maW5pdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGIgPT09IC0xKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKDAsIC1JbmZpbml0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBkID0gYSAqIGEgKyAoMSAtIGIpICogKDEgLSBiKTtcbiAgICAgICAgICB2YXIgdDEgPSBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgKDEgLSBiICogYiAtIGEgKiBhKSAvIGQsXG4gICAgICAgICAgICAtMiAqIGEgLyBkXG4gICAgICAgICAgKS5sb2coKTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMCgtMC41ICogdDFbXCJpbVwiXSwgMC41ICogdDFbXCJyZVwiXSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYXJjdXMgY290YW5nZW50XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhY290XCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIGlmIChiID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChNYXRoLmF0YW4yKDEsIGEpLCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGQgPSBhICogYSArIGIgKiBiO1xuICAgICAgICAgIHJldHVybiBkICE9PSAwID8gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGEgLyBkLFxuICAgICAgICAgICAgLWIgLyBkXG4gICAgICAgICAgKS5hdGFuKCkgOiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAhPT0gMCA/IGEgLyAwIDogMCxcbiAgICAgICAgICAgIGIgIT09IDAgPyAtYiAvIDAgOiAwXG4gICAgICAgICAgKS5hdGFuKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYXJjdXMgc2VjYW50XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhc2VjXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIGlmIChhID09PSAwICYmIGIgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKDAsIEluZmluaXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGQgPSBhICogYSArIGIgKiBiO1xuICAgICAgICAgIHJldHVybiBkICE9PSAwID8gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGEgLyBkLFxuICAgICAgICAgICAgLWIgLyBkXG4gICAgICAgICAgKS5hY29zKCkgOiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAhPT0gMCA/IGEgLyAwIDogMCxcbiAgICAgICAgICAgIGIgIT09IDAgPyAtYiAvIDAgOiAwXG4gICAgICAgICAgKS5hY29zKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYXJjdXMgY29zZWNhbnNcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImFjc2NcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSB0aGlzW1wicmVcIl07XG4gICAgICAgICAgdmFyIGIgPSB0aGlzW1wiaW1cIl07XG4gICAgICAgICAgaWYgKGEgPT09IDAgJiYgYiA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoTWF0aC5QSSAvIDIsIEluZmluaXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGQgPSBhICogYSArIGIgKiBiO1xuICAgICAgICAgIHJldHVybiBkICE9PSAwID8gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGEgLyBkLFxuICAgICAgICAgICAgLWIgLyBkXG4gICAgICAgICAgKS5hc2luKCkgOiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAhPT0gMCA/IGEgLyAwIDogMCxcbiAgICAgICAgICAgIGIgIT09IDAgPyAtYiAvIDAgOiAwXG4gICAgICAgICAgKS5hc2luKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggc2luaFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwic2luaFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIHNpbmgyKGEpICogTWF0aC5jb3MoYiksXG4gICAgICAgICAgICBjb3NoMihhKSAqIE1hdGguc2luKGIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29tcGxleCBjb3NoXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJjb3NoXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgY29zaDIoYSkgKiBNYXRoLmNvcyhiKSxcbiAgICAgICAgICAgIHNpbmgyKGEpICogTWF0aC5zaW4oYilcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IHRhbmhcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcInRhbmhcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSAyICogdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gMiAqIHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IGNvc2gyKGEpICsgTWF0aC5jb3MoYik7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBzaW5oMihhKSAvIGQsXG4gICAgICAgICAgICBNYXRoLnNpbihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGNvdGhcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImNvdGhcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSAyICogdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gMiAqIHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IGNvc2gyKGEpIC0gTWF0aC5jb3MoYik7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBzaW5oMihhKSAvIGQsXG4gICAgICAgICAgICAtTWF0aC5zaW4oYikgLyBkXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29tcGxleCBjb3RoXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJjc2NoXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciBkID0gTWF0aC5jb3MoMiAqIGIpIC0gY29zaDIoMiAqIGEpO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgLTIgKiBzaW5oMihhKSAqIE1hdGguY29zKGIpIC8gZCxcbiAgICAgICAgICAgIDIgKiBjb3NoMihhKSAqIE1hdGguc2luKGIpIC8gZFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggc2VjaFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwic2VjaFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IE1hdGguY29zKDIgKiBiKSArIGNvc2gyKDIgKiBhKTtcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIDIgKiBjb3NoMihhKSAqIE1hdGguY29zKGIpIC8gZCxcbiAgICAgICAgICAgIC0yICogc2luaDIoYSkgKiBNYXRoLnNpbihiKSAvIGRcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGFzaW5oXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhc2luaFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgdG1wID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHRoaXNbXCJpbVwiXSA9IC10aGlzW1wicmVcIl07XG4gICAgICAgICAgdGhpc1tcInJlXCJdID0gdG1wO1xuICAgICAgICAgIHZhciByZXMgPSB0aGlzW1wiYXNpblwiXSgpO1xuICAgICAgICAgIHRoaXNbXCJyZVwiXSA9IC10aGlzW1wiaW1cIl07XG4gICAgICAgICAgdGhpc1tcImltXCJdID0gdG1wO1xuICAgICAgICAgIHRtcCA9IHJlc1tcInJlXCJdO1xuICAgICAgICAgIHJlc1tcInJlXCJdID0gLXJlc1tcImltXCJdO1xuICAgICAgICAgIHJlc1tcImltXCJdID0gdG1wO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYWNvc2hcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImFjb3NoXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciByZXMgPSB0aGlzW1wiYWNvc1wiXSgpO1xuICAgICAgICAgIGlmIChyZXNbXCJpbVwiXSA8PSAwKSB7XG4gICAgICAgICAgICB2YXIgdG1wID0gcmVzW1wicmVcIl07XG4gICAgICAgICAgICByZXNbXCJyZVwiXSA9IC1yZXNbXCJpbVwiXTtcbiAgICAgICAgICAgIHJlc1tcImltXCJdID0gdG1wO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdG1wID0gcmVzW1wiaW1cIl07XG4gICAgICAgICAgICByZXNbXCJpbVwiXSA9IC1yZXNbXCJyZVwiXTtcbiAgICAgICAgICAgIHJlc1tcInJlXCJdID0gdG1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGF0YW5oXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhdGFuaFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgbm9JTSA9IGEgPiAxICYmIGIgPT09IDA7XG4gICAgICAgICAgdmFyIG9uZU1pbnVzID0gMSAtIGE7XG4gICAgICAgICAgdmFyIG9uZVBsdXMgPSAxICsgYTtcbiAgICAgICAgICB2YXIgZCA9IG9uZU1pbnVzICogb25lTWludXMgKyBiICogYjtcbiAgICAgICAgICB2YXIgeCA9IGQgIT09IDAgPyBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgKG9uZVBsdXMgKiBvbmVNaW51cyAtIGIgKiBiKSAvIGQsXG4gICAgICAgICAgICAoYiAqIG9uZU1pbnVzICsgb25lUGx1cyAqIGIpIC8gZFxuICAgICAgICAgICkgOiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAhPT0gLTEgPyBhIC8gMCA6IDAsXG4gICAgICAgICAgICBiICE9PSAwID8gYiAvIDAgOiAwXG4gICAgICAgICAgKTtcbiAgICAgICAgICB2YXIgdGVtcCA9IHhbXCJyZVwiXTtcbiAgICAgICAgICB4W1wicmVcIl0gPSBsb2dIeXBvdCh4W1wicmVcIl0sIHhbXCJpbVwiXSkgLyAyO1xuICAgICAgICAgIHhbXCJpbVwiXSA9IE1hdGguYXRhbjIoeFtcImltXCJdLCB0ZW1wKSAvIDI7XG4gICAgICAgICAgaWYgKG5vSU0pIHtcbiAgICAgICAgICAgIHhbXCJpbVwiXSA9IC14W1wiaW1cIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGFjb3RoXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJhY290aFwiOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICBpZiAoYSA9PT0gMCAmJiBiID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMCgwLCBNYXRoLlBJIC8gMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBkID0gYSAqIGEgKyBiICogYjtcbiAgICAgICAgICByZXR1cm4gZCAhPT0gMCA/IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBhIC8gZCxcbiAgICAgICAgICAgIC1iIC8gZFxuICAgICAgICAgICkuYXRhbmgoKSA6IG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBhICE9PSAwID8gYSAvIDAgOiAwLFxuICAgICAgICAgICAgYiAhPT0gMCA/IC1iIC8gMCA6IDBcbiAgICAgICAgICApLmF0YW5oKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDYWxjdWxhdGUgdGhlIGNvbXBsZXggYWNzY2hcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcImFjc2NoXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIGlmIChiID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgICAgYSAhPT0gMCA/IE1hdGgubG9nKGEgKyBNYXRoLnNxcnQoYSAqIGEgKyAxKSkgOiBJbmZpbml0eSxcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGQgPSBhICogYSArIGIgKiBiO1xuICAgICAgICAgIHJldHVybiBkICE9PSAwID8gbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGEgLyBkLFxuICAgICAgICAgICAgLWIgLyBkXG4gICAgICAgICAgKS5hc2luaCgpIDogbmV3IENvbXBsZXgyMChcbiAgICAgICAgICAgIGEgIT09IDAgPyBhIC8gMCA6IDAsXG4gICAgICAgICAgICBiICE9PSAwID8gLWIgLyAwIDogMFxuICAgICAgICAgICkuYXNpbmgoKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENhbGN1bGF0ZSB0aGUgY29tcGxleCBhc2VjaFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiYXNlY2hcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGEgPSB0aGlzW1wicmVcIl07XG4gICAgICAgICAgdmFyIGIgPSB0aGlzW1wiaW1cIl07XG4gICAgICAgICAgaWYgKHRoaXNbXCJpc1plcm9cIl0oKSkge1xuICAgICAgICAgICAgcmV0dXJuIENvbXBsZXgyMFtcIklORklOSVRZXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgZCA9IGEgKiBhICsgYiAqIGI7XG4gICAgICAgICAgcmV0dXJuIGQgIT09IDAgPyBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAvIGQsXG4gICAgICAgICAgICAtYiAvIGRcbiAgICAgICAgICApLmFjb3NoKCkgOiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgYSAhPT0gMCA/IGEgLyAwIDogMCxcbiAgICAgICAgICAgIGIgIT09IDAgPyAtYiAvIDAgOiAwXG4gICAgICAgICAgKS5hY29zaCgpO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ2FsY3VsYXRlIHRoZSBjb21wbGV4IGludmVyc2UgMS96XG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJpbnZlcnNlXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGlmICh0aGlzW1wiaXNaZXJvXCJdKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBDb21wbGV4MjBbXCJJTkZJTklUWVwiXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXNbXCJpc0luZmluaXRlXCJdKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBDb21wbGV4MjBbXCJaRVJPXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgYSA9IHRoaXNbXCJyZVwiXTtcbiAgICAgICAgICB2YXIgYiA9IHRoaXNbXCJpbVwiXTtcbiAgICAgICAgICB2YXIgZCA9IGEgKiBhICsgYiAqIGI7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoYSAvIGQsIC1iIC8gZCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBSZXR1cm5zIHRoZSBjb21wbGV4IGNvbmp1Z2F0ZVxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiY29uanVnYXRlXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKHRoaXNbXCJyZVwiXSwgLXRoaXNbXCJpbVwiXSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZXRzIHRoZSBuZWdhdGVkIGNvbXBsZXggbnVtYmVyXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJuZWdcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoLXRoaXNbXCJyZVwiXSwgLXRoaXNbXCJpbVwiXSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDZWlscyB0aGUgYWN0dWFsIGNvbXBsZXggbnVtYmVyXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJjZWlsXCI6IGZ1bmN0aW9uKHBsYWNlcykge1xuICAgICAgICAgIHBsYWNlcyA9IE1hdGgucG93KDEwLCBwbGFjZXMgfHwgMCk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBNYXRoLmNlaWwodGhpc1tcInJlXCJdICogcGxhY2VzKSAvIHBsYWNlcyxcbiAgICAgICAgICAgIE1hdGguY2VpbCh0aGlzW1wiaW1cIl0gKiBwbGFjZXMpIC8gcGxhY2VzXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZsb29ycyB0aGUgYWN0dWFsIGNvbXBsZXggbnVtYmVyXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtDb21wbGV4fVxuICAgICAgICAgKi9cbiAgICAgICAgXCJmbG9vclwiOiBmdW5jdGlvbihwbGFjZXMpIHtcbiAgICAgICAgICBwbGFjZXMgPSBNYXRoLnBvdygxMCwgcGxhY2VzIHx8IDApO1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcGxleDIwKFxuICAgICAgICAgICAgTWF0aC5mbG9vcih0aGlzW1wicmVcIl0gKiBwbGFjZXMpIC8gcGxhY2VzLFxuICAgICAgICAgICAgTWF0aC5mbG9vcih0aGlzW1wiaW1cIl0gKiBwbGFjZXMpIC8gcGxhY2VzXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENlaWxzIHRoZSBhY3R1YWwgY29tcGxleCBudW1iZXJcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge0NvbXBsZXh9XG4gICAgICAgICAqL1xuICAgICAgICBcInJvdW5kXCI6IGZ1bmN0aW9uKHBsYWNlcykge1xuICAgICAgICAgIHBsYWNlcyA9IE1hdGgucG93KDEwLCBwbGFjZXMgfHwgMCk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHRoaXNbXCJyZVwiXSAqIHBsYWNlcykgLyBwbGFjZXMsXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHRoaXNbXCJpbVwiXSAqIHBsYWNlcykgLyBwbGFjZXNcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogQ29tcGFyZXMgdHdvIGNvbXBsZXggbnVtYmVyc1xuICAgICAgICAgKlxuICAgICAgICAgKiAqKk5vdGU6KiogbmV3IENvbXBsZXgoSW5maW5pdHkpLmVxdWFscyhJbmZpbml0eSkgPT09IGZhbHNlXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAgICAgKi9cbiAgICAgICAgXCJlcXVhbHNcIjogZnVuY3Rpb24oYSwgYikge1xuICAgICAgICAgIHZhciB6ID0gbmV3IENvbXBsZXgyMChhLCBiKTtcbiAgICAgICAgICByZXR1cm4gTWF0aC5hYnMoeltcInJlXCJdIC0gdGhpc1tcInJlXCJdKSA8PSBDb21wbGV4MjBbXCJFUFNJTE9OXCJdICYmIE1hdGguYWJzKHpbXCJpbVwiXSAtIHRoaXNbXCJpbVwiXSkgPD0gQ29tcGxleDIwW1wiRVBTSUxPTlwiXTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENsb25lcyB0aGUgYWN0dWFsIG9iamVjdFxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Q29tcGxleH1cbiAgICAgICAgICovXG4gICAgICAgIFwiY2xvbmVcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wbGV4MjAodGhpc1tcInJlXCJdLCB0aGlzW1wiaW1cIl0pO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogR2V0cyBhIHN0cmluZyBvZiB0aGUgYWN0dWFsIGNvbXBsZXggbnVtYmVyXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAgICAgICAqL1xuICAgICAgICBcInRvU3RyaW5nXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhID0gdGhpc1tcInJlXCJdO1xuICAgICAgICAgIHZhciBiID0gdGhpc1tcImltXCJdO1xuICAgICAgICAgIHZhciByZXQgPSBcIlwiO1xuICAgICAgICAgIGlmICh0aGlzW1wiaXNOYU5cIl0oKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiTmFOXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzW1wiaXNJbmZpbml0ZVwiXSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJJbmZpbml0eVwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoTWF0aC5hYnMoYSkgPCBDb21wbGV4MjBbXCJFUFNJTE9OXCJdKSB7XG4gICAgICAgICAgICBhID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKE1hdGguYWJzKGIpIDwgQ29tcGxleDIwW1wiRVBTSUxPTlwiXSkge1xuICAgICAgICAgICAgYiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChiID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcmV0ICsgYTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGEgIT09IDApIHtcbiAgICAgICAgICAgIHJldCArPSBhO1xuICAgICAgICAgICAgcmV0ICs9IFwiIFwiO1xuICAgICAgICAgICAgaWYgKGIgPCAwKSB7XG4gICAgICAgICAgICAgIGIgPSAtYjtcbiAgICAgICAgICAgICAgcmV0ICs9IFwiLVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0ICs9IFwiK1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0ICs9IFwiIFwiO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYiA8IDApIHtcbiAgICAgICAgICAgIGIgPSAtYjtcbiAgICAgICAgICAgIHJldCArPSBcIi1cIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKDEgIT09IGIpIHtcbiAgICAgICAgICAgIHJldCArPSBiO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmV0ICsgXCJpXCI7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBSZXR1cm5zIHRoZSBhY3R1YWwgbnVtYmVyIGFzIGEgdmVjdG9yXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtBcnJheX1cbiAgICAgICAgICovXG4gICAgICAgIFwidG9WZWN0b3JcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIFt0aGlzW1wicmVcIl0sIHRoaXNbXCJpbVwiXV07XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBSZXR1cm5zIHRoZSBhY3R1YWwgcmVhbCB2YWx1ZSBvZiB0aGUgY3VycmVudCBvYmplY3RcbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge251bWJlcnxudWxsfVxuICAgICAgICAgKi9cbiAgICAgICAgXCJ2YWx1ZU9mXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGlmICh0aGlzW1wiaW1cIl0gPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzW1wicmVcIl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29tcGxleCBudW1iZXIgaXMgbm90IG9uIHRoZSBSaWVtYW5uIHNwaGVyZS5cbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAgICAgICAqL1xuICAgICAgICBcImlzTmFOXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBpc05hTih0aGlzW1wicmVcIl0pIHx8IGlzTmFOKHRoaXNbXCJpbVwiXSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IGEgY29tcGxleCBudW1iZXIgaXMgYXQgdGhlIHplcm8gcG9sZSBvZiB0aGVcbiAgICAgICAgICogUmllbWFubiBzcGhlcmUuXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAgICAgKi9cbiAgICAgICAgXCJpc1plcm9cIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXNbXCJpbVwiXSA9PT0gMCAmJiB0aGlzW1wicmVcIl0gPT09IDA7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBjb21wbGV4IG51bWJlciBpcyBub3QgYXQgdGhlIGluZmluaXR5IHBvbGUgb2YgdGhlXG4gICAgICAgICAqIFJpZW1hbm4gc3BoZXJlLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIFwiaXNGaW5pdGVcIjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIGlzRmluaXRlKHRoaXNbXCJyZVwiXSkgJiYgaXNGaW5pdGUodGhpc1tcImltXCJdKTtcbiAgICAgICAgfSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERldGVybWluZXMgd2hldGhlciBvciBub3QgYSBjb21wbGV4IG51bWJlciBpcyBhdCB0aGUgaW5maW5pdHkgcG9sZSBvZiB0aGVcbiAgICAgICAgICogUmllbWFubiBzcGhlcmUuXG4gICAgICAgICAqXG4gICAgICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAgICAgKi9cbiAgICAgICAgXCJpc0luZmluaXRlXCI6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiAhKHRoaXNbXCJpc05hTlwiXSgpIHx8IHRoaXNbXCJpc0Zpbml0ZVwiXSgpKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIENvbXBsZXgyMFtcIlpFUk9cIl0gPSBuZXcgQ29tcGxleDIwKDAsIDApO1xuICAgICAgQ29tcGxleDIwW1wiT05FXCJdID0gbmV3IENvbXBsZXgyMCgxLCAwKTtcbiAgICAgIENvbXBsZXgyMFtcIklcIl0gPSBuZXcgQ29tcGxleDIwKDAsIDEpO1xuICAgICAgQ29tcGxleDIwW1wiUElcIl0gPSBuZXcgQ29tcGxleDIwKE1hdGguUEksIDApO1xuICAgICAgQ29tcGxleDIwW1wiRVwiXSA9IG5ldyBDb21wbGV4MjAoTWF0aC5FLCAwKTtcbiAgICAgIENvbXBsZXgyMFtcIklORklOSVRZXCJdID0gbmV3IENvbXBsZXgyMChJbmZpbml0eSwgSW5maW5pdHkpO1xuICAgICAgQ29tcGxleDIwW1wiTkFOXCJdID0gbmV3IENvbXBsZXgyMChOYU4sIE5hTik7XG4gICAgICBDb21wbGV4MjBbXCJFUFNJTE9OXCJdID0gMWUtMTU7XG4gICAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZVtcImFtZFwiXSkge1xuICAgICAgICBkZWZpbmUoW10sIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBDb21wbGV4MjA7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcGxleDIwLCBcIl9fZXNNb2R1bGVcIiwgeyBcInZhbHVlXCI6IHRydWUgfSk7XG4gICAgICAgIENvbXBsZXgyMFtcImRlZmF1bHRcIl0gPSBDb21wbGV4MjA7XG4gICAgICAgIENvbXBsZXgyMFtcIkNvbXBsZXhcIl0gPSBDb21wbGV4MjA7XG4gICAgICAgIG1vZHVsZVtcImV4cG9ydHNcIl0gPSBDb21wbGV4MjA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb290W1wiQ29tcGxleFwiXSA9IENvbXBsZXgyMDtcbiAgICAgIH1cbiAgICB9KShleHBvcnRzKTtcbiAgfVxufSk7XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvcHVibGljLnRzXG5mdW5jdGlvbiBpc0V4cHJlc3Npb25FbnRyeShlbnRyeSkge1xuICByZXR1cm4gIShcImtpbmRcIiBpbiBlbnRyeSkgfHwgZW50cnkua2luZCA9PT0gXCJleHByZXNzaW9uXCI7XG59XG5mdW5jdGlvbiBpc1N5bWJvbEVudHJ5KGVudHJ5KSB7XG4gIHJldHVybiBcImtpbmRcIiBpbiBlbnRyeSAmJiBlbnRyeS5raW5kID09PSBcInN5bWJvbFwiO1xufVxuZnVuY3Rpb24gaXNGdW5jdGlvbkVudHJ5KGVudHJ5KSB7XG4gIHJldHVybiBcImtpbmRcIiBpbiBlbnRyeSAmJiBlbnRyeS5raW5kID09PSBcImZ1bmN0aW9uXCI7XG59XG5mdW5jdGlvbiBpc01hdGNoZml4RW50cnkoZW50cnkpIHtcbiAgcmV0dXJuIFwia2luZFwiIGluIGVudHJ5ICYmIGVudHJ5LmtpbmQgPT09IFwibWF0Y2hmaXhcIjtcbn1cbmZ1bmN0aW9uIGlzSW5maXhFbnRyeShlbnRyeSkge1xuICByZXR1cm4gXCJraW5kXCIgaW4gZW50cnkgJiYgZW50cnkua2luZCA9PT0gXCJpbmZpeFwiO1xufVxuZnVuY3Rpb24gaXNQcmVmaXhFbnRyeShlbnRyeSkge1xuICByZXR1cm4gXCJraW5kXCIgaW4gZW50cnkgJiYgZW50cnkua2luZCA9PT0gXCJwcmVmaXhcIjtcbn1cbmZ1bmN0aW9uIGlzUG9zdGZpeEVudHJ5KGVudHJ5KSB7XG4gIHJldHVybiBcImtpbmRcIiBpbiBlbnRyeSAmJiBlbnRyeS5raW5kID09PSBcInBvc3RmaXhcIjtcbn1cbmZ1bmN0aW9uIGlzRW52aXJvbm1lbnRFbnRyeShlbnRyeSkge1xuICByZXR1cm4gXCJraW5kXCIgaW4gZW50cnkgJiYgZW50cnkua2luZCA9PT0gXCJlbnZpcm9ubWVudFwiO1xufVxuXG4vLyBub2RlX21vZHVsZXMvZGVjaW1hbC5qcy9kZWNpbWFsLm1qc1xudmFyIEVYUF9MSU1JVCA9IDllMTU7XG52YXIgTUFYX0RJR0lUUyA9IDFlOTtcbnZhciBOVU1FUkFMUyA9IFwiMDEyMzQ1Njc4OWFiY2RlZlwiO1xudmFyIExOMTAgPSBcIjIuMzAyNTg1MDkyOTk0MDQ1Njg0MDE3OTkxNDU0Njg0MzY0MjA3NjAxMTAxNDg4NjI4NzcyOTc2MDMzMzI3OTAwOTY3NTcyNjA5Njc3MzUyNDgwMjM1OTk3MjA1MDg5NTk4Mjk4MzQxOTY3Nzg0MDQyMjg2MjQ4NjMzNDA5NTI1NDY1MDgyODA2NzU2NjY2Mjg3MzY5MDk4NzgxNjg5NDgyOTA3MjA4MzI1NTU0NjgwODQzNzk5ODk0ODI2MjMzMTk4NTI4MzkzNTA1MzA4OTY1Mzc3NzMyNjI4ODQ2MTYzMzY2MjIyMjg3Njk4MjE5ODg2NzQ2NTQzNjY3NDc0NDA0MjQzMjc0MzY1MTU1MDQ4OTM0MzE0OTM5MzkxNDc5NjE5NDA0NDAwMjIyMTA1MTAxNzE0MTc0ODAwMzY4ODA4NDAxMjY0NzA4MDY4NTU2Nzc0MzIxNjIyODM1NTIyMDExNDgwNDY2MzcxNTY1OTEyMTM3MzQ1MDc0Nzg1Njk0NzY4MzQ2MzYxNjc5MjEwMTgwNjQ0NTA3MDY0ODAwMDI3NzUwMjY4NDkxNjc0NjU1MDU4Njg1NjkzNTY3MzQyMDY3MDU4MTEzNjQyOTIyNDU1NDQwNTc1ODkyNTcyNDIwODI0MTMxNDY5NTY4OTAxNjc1ODk0MDI1Njc3NjMxMTM1NjkxOTI5MjAzMzM3NjU4NzE0MTY2MDIzMDEwNTcwMzA4OTYzNDU3MjA3NTQ0MDM3MDg0NzQ2OTk0MDE2ODI2OTI4MjgwODQ4MTE4NDI4OTMxNDg0ODUyNDk0ODY0NDg3MTkyNzgwOTY3NjI3MTI3NTc3NTM5NzAyNzY2ODYwNTk1MjQ5NjcxNjY3NDE4MzQ4NTcwNDQyMjUwNzE5Nzk2NTAwNDcxNDk1MTA1MDQ5MjIxNDc3NjU2NzYzNjkzODY2Mjk3Njk3OTUyMjExMDcxODI2NDU0OTczNDc3MjY2MjQyNTcwOTQyOTMyMjU4Mjc5ODUwMjU4NTUwOTc4NTI2NTM4MzIwNzYwNjcyNjMxNzE2NDMwOTUwNTk5NTA4NzgwNzUyMzcxMDMzMzEwMTE5Nzg1NzU0NzMzMTU0MTQyMTgwODQyNzU0Mzg2MzU5MTc3ODExNzA1NDMwOTgyNzQ4MjM4NTA0NTY0ODAxOTA5NTYxMDI5OTI5MTgyNDMxODIzNzUyNTM1NzcwOTc1MDUzOTU2NTE4NzY5NzUxMDM3NDk3MDg4ODY5MjE4MDIwNTE4OTMzOTUwNzIzODUzOTIwNTE0NDYzNDE5NzI2NTI4NzI4Njk2NTExMDg2MjU3MTQ5MjE5ODg0OTk3ODc0ODg3Mzc3MTM0NTY4NjIwOTE2NzA1OFwiO1xudmFyIFBJID0gXCIzLjE0MTU5MjY1MzU4OTc5MzIzODQ2MjY0MzM4MzI3OTUwMjg4NDE5NzE2OTM5OTM3NTEwNTgyMDk3NDk0NDU5MjMwNzgxNjQwNjI4NjIwODk5ODYyODAzNDgyNTM0MjExNzA2Nzk4MjE0ODA4NjUxMzI4MjMwNjY0NzA5Mzg0NDYwOTU1MDU4MjIzMTcyNTM1OTQwODEyODQ4MTExNzQ1MDI4NDEwMjcwMTkzODUyMTEwNTU1OTY0NDYyMjk0ODk1NDkzMDM4MTk2NDQyODgxMDk3NTY2NTkzMzQ0NjEyODQ3NTY0ODIzMzc4Njc4MzE2NTI3MTIwMTkwOTE0NTY0ODU2NjkyMzQ2MDM0ODYxMDQ1NDMyNjY0ODIxMzM5MzYwNzI2MDI0OTE0MTI3MzcyNDU4NzAwNjYwNjMxNTU4ODE3NDg4MTUyMDkyMDk2MjgyOTI1NDA5MTcxNTM2NDM2Nzg5MjU5MDM2MDAxMTMzMDUzMDU0ODgyMDQ2NjUyMTM4NDE0Njk1MTk0MTUxMTYwOTQzMzA1NzI3MDM2NTc1OTU5MTk1MzA5MjE4NjExNzM4MTkzMjYxMTc5MzEwNTExODU0ODA3NDQ2MjM3OTk2Mjc0OTU2NzM1MTg4NTc1MjcyNDg5MTIyNzkzODE4MzAxMTk0OTEyOTgzMzY3MzM2MjQ0MDY1NjY0MzA4NjAyMTM5NDk0NjM5NTIyNDczNzE5MDcwMjE3OTg2MDk0MzcwMjc3MDUzOTIxNzE3NjI5MzE3Njc1MjM4NDY3NDgxODQ2NzY2OTQwNTEzMjAwMDU2ODEyNzE0NTI2MzU2MDgyNzc4NTc3MTM0Mjc1Nzc4OTYwOTE3MzYzNzE3ODcyMTQ2ODQ0MDkwMTIyNDk1MzQzMDE0NjU0OTU4NTM3MTA1MDc5MjI3OTY4OTI1ODkyMzU0MjAxOTk1NjExMjEyOTAyMTk2MDg2NDAzNDQxODE1OTgxMzYyOTc3NDc3MTMwOTk2MDUxODcwNzIxMTM0OTk5OTk5ODM3Mjk3ODA0OTk1MTA1OTczMTczMjgxNjA5NjMxODU5NTAyNDQ1OTQ1NTM0NjkwODMwMjY0MjUyMjMwODI1MzM0NDY4NTAzNTI2MTkzMTE4ODE3MTAxMDAwMzEzNzgzODc1Mjg4NjU4NzUzMzIwODM4MTQyMDYxNzE3NzY2OTE0NzMwMzU5ODI1MzQ5MDQyODc1NTQ2ODczMTE1OTU2Mjg2Mzg4MjM1Mzc4NzU5Mzc1MTk1Nzc4MTg1Nzc4MDUzMjE3MTIyNjgwNjYxMzAwMTkyNzg3NjYxMTE5NTkwOTIxNjQyMDE5ODkzODA5NTI1NzIwMTA2NTQ4NTg2MzI3ODlcIjtcbnZhciBERUZBVUxUUyA9IHtcbiAgLy8gVGhlc2UgdmFsdWVzIG11c3QgYmUgaW50ZWdlcnMgd2l0aGluIHRoZSBzdGF0ZWQgcmFuZ2VzIChpbmNsdXNpdmUpLlxuICAvLyBNb3N0IG9mIHRoZXNlIHZhbHVlcyBjYW4gYmUgY2hhbmdlZCBhdCBydW4tdGltZSB1c2luZyB0aGUgYERlY2ltYWwuY29uZmlnYCBtZXRob2QuXG4gIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHMgb2YgdGhlIHJlc3VsdCBvZiBhIGNhbGN1bGF0aW9uIG9yIGJhc2UgY29udmVyc2lvbi5cbiAgLy8gRS5nLiBgRGVjaW1hbC5jb25maWcoeyBwcmVjaXNpb246IDIwIH0pO2BcbiAgcHJlY2lzaW9uOiAyMCxcbiAgLy8gMSB0byBNQVhfRElHSVRTXG4gIC8vIFRoZSByb3VuZGluZyBtb2RlIHVzZWQgd2hlbiByb3VuZGluZyB0byBgcHJlY2lzaW9uYC5cbiAgLy9cbiAgLy8gUk9VTkRfVVAgICAgICAgICAwIEF3YXkgZnJvbSB6ZXJvLlxuICAvLyBST1VORF9ET1dOICAgICAgIDEgVG93YXJkcyB6ZXJvLlxuICAvLyBST1VORF9DRUlMICAgICAgIDIgVG93YXJkcyArSW5maW5pdHkuXG4gIC8vIFJPVU5EX0ZMT09SICAgICAgMyBUb3dhcmRzIC1JbmZpbml0eS5cbiAgLy8gUk9VTkRfSEFMRl9VUCAgICA0IFRvd2FyZHMgbmVhcmVzdCBuZWlnaGJvdXIuIElmIGVxdWlkaXN0YW50LCB1cC5cbiAgLy8gUk9VTkRfSEFMRl9ET1dOICA1IFRvd2FyZHMgbmVhcmVzdCBuZWlnaGJvdXIuIElmIGVxdWlkaXN0YW50LCBkb3duLlxuICAvLyBST1VORF9IQUxGX0VWRU4gIDYgVG93YXJkcyBuZWFyZXN0IG5laWdoYm91ci4gSWYgZXF1aWRpc3RhbnQsIHRvd2FyZHMgZXZlbiBuZWlnaGJvdXIuXG4gIC8vIFJPVU5EX0hBTEZfQ0VJTCAgNyBUb3dhcmRzIG5lYXJlc3QgbmVpZ2hib3VyLiBJZiBlcXVpZGlzdGFudCwgdG93YXJkcyArSW5maW5pdHkuXG4gIC8vIFJPVU5EX0hBTEZfRkxPT1IgOCBUb3dhcmRzIG5lYXJlc3QgbmVpZ2hib3VyLiBJZiBlcXVpZGlzdGFudCwgdG93YXJkcyAtSW5maW5pdHkuXG4gIC8vXG4gIC8vIEUuZy5cbiAgLy8gYERlY2ltYWwucm91bmRpbmcgPSA0O2BcbiAgLy8gYERlY2ltYWwucm91bmRpbmcgPSBEZWNpbWFsLlJPVU5EX0hBTEZfVVA7YFxuICByb3VuZGluZzogNCxcbiAgLy8gMCB0byA4XG4gIC8vIFRoZSBtb2R1bG8gbW9kZSB1c2VkIHdoZW4gY2FsY3VsYXRpbmcgdGhlIG1vZHVsdXM6IGEgbW9kIG4uXG4gIC8vIFRoZSBxdW90aWVudCAocSA9IGEgLyBuKSBpcyBjYWxjdWxhdGVkIGFjY29yZGluZyB0byB0aGUgY29ycmVzcG9uZGluZyByb3VuZGluZyBtb2RlLlxuICAvLyBUaGUgcmVtYWluZGVyIChyKSBpcyBjYWxjdWxhdGVkIGFzOiByID0gYSAtIG4gKiBxLlxuICAvL1xuICAvLyBVUCAgICAgICAgIDAgVGhlIHJlbWFpbmRlciBpcyBwb3NpdGl2ZSBpZiB0aGUgZGl2aWRlbmQgaXMgbmVnYXRpdmUsIGVsc2UgaXMgbmVnYXRpdmUuXG4gIC8vIERPV04gICAgICAgMSBUaGUgcmVtYWluZGVyIGhhcyB0aGUgc2FtZSBzaWduIGFzIHRoZSBkaXZpZGVuZCAoSmF2YVNjcmlwdCAlKS5cbiAgLy8gRkxPT1IgICAgICAzIFRoZSByZW1haW5kZXIgaGFzIHRoZSBzYW1lIHNpZ24gYXMgdGhlIGRpdmlzb3IgKFB5dGhvbiAlKS5cbiAgLy8gSEFMRl9FVkVOICA2IFRoZSBJRUVFIDc1NCByZW1haW5kZXIgZnVuY3Rpb24uXG4gIC8vIEVVQ0xJRCAgICAgOSBFdWNsaWRpYW4gZGl2aXNpb24uIHEgPSBzaWduKG4pICogZmxvb3IoYSAvIGFicyhuKSkuIEFsd2F5cyBwb3NpdGl2ZS5cbiAgLy9cbiAgLy8gVHJ1bmNhdGVkIGRpdmlzaW9uICgxKSwgZmxvb3JlZCBkaXZpc2lvbiAoMyksIHRoZSBJRUVFIDc1NCByZW1haW5kZXIgKDYpLCBhbmQgRXVjbGlkaWFuXG4gIC8vIGRpdmlzaW9uICg5KSBhcmUgY29tbW9ubHkgdXNlZCBmb3IgdGhlIG1vZHVsdXMgb3BlcmF0aW9uLiBUaGUgb3RoZXIgcm91bmRpbmcgbW9kZXMgY2FuIGFsc29cbiAgLy8gYmUgdXNlZCwgYnV0IHRoZXkgbWF5IG5vdCBnaXZlIHVzZWZ1bCByZXN1bHRzLlxuICBtb2R1bG86IDEsXG4gIC8vIDAgdG8gOVxuICAvLyBUaGUgZXhwb25lbnQgdmFsdWUgYXQgYW5kIGJlbmVhdGggd2hpY2ggYHRvU3RyaW5nYCByZXR1cm5zIGV4cG9uZW50aWFsIG5vdGF0aW9uLlxuICAvLyBKYXZhU2NyaXB0IG51bWJlcnM6IC03XG4gIHRvRXhwTmVnOiAtNyxcbiAgLy8gMCB0byAtRVhQX0xJTUlUXG4gIC8vIFRoZSBleHBvbmVudCB2YWx1ZSBhdCBhbmQgYWJvdmUgd2hpY2ggYHRvU3RyaW5nYCByZXR1cm5zIGV4cG9uZW50aWFsIG5vdGF0aW9uLlxuICAvLyBKYXZhU2NyaXB0IG51bWJlcnM6IDIxXG4gIHRvRXhwUG9zOiAyMSxcbiAgLy8gMCB0byBFWFBfTElNSVRcbiAgLy8gVGhlIG1pbmltdW0gZXhwb25lbnQgdmFsdWUsIGJlbmVhdGggd2hpY2ggdW5kZXJmbG93IHRvIHplcm8gb2NjdXJzLlxuICAvLyBKYXZhU2NyaXB0IG51bWJlcnM6IC0zMjQgICg1ZS0zMjQpXG4gIG1pbkU6IC1FWFBfTElNSVQsXG4gIC8vIC0xIHRvIC1FWFBfTElNSVRcbiAgLy8gVGhlIG1heGltdW0gZXhwb25lbnQgdmFsdWUsIGFib3ZlIHdoaWNoIG92ZXJmbG93IHRvIEluZmluaXR5IG9jY3Vycy5cbiAgLy8gSmF2YVNjcmlwdCBudW1iZXJzOiAzMDggICgxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOClcbiAgbWF4RTogRVhQX0xJTUlULFxuICAvLyAxIHRvIEVYUF9MSU1JVFxuICAvLyBXaGV0aGVyIHRvIHVzZSBjcnlwdG9ncmFwaGljYWxseS1zZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uLCBpZiBhdmFpbGFibGUuXG4gIGNyeXB0bzogZmFsc2VcbiAgLy8gdHJ1ZS9mYWxzZVxufTtcbnZhciBpbmV4YWN0O1xudmFyIHF1YWRyYW50O1xudmFyIGV4dGVybmFsID0gdHJ1ZTtcbnZhciBkZWNpbWFsRXJyb3IgPSBcIltEZWNpbWFsRXJyb3JdIFwiO1xudmFyIGludmFsaWRBcmd1bWVudCA9IGRlY2ltYWxFcnJvciArIFwiSW52YWxpZCBhcmd1bWVudDogXCI7XG52YXIgcHJlY2lzaW9uTGltaXRFeGNlZWRlZCA9IGRlY2ltYWxFcnJvciArIFwiUHJlY2lzaW9uIGxpbWl0IGV4Y2VlZGVkXCI7XG52YXIgY3J5cHRvVW5hdmFpbGFibGUgPSBkZWNpbWFsRXJyb3IgKyBcImNyeXB0byB1bmF2YWlsYWJsZVwiO1xudmFyIHRhZyA9IFwiW29iamVjdCBEZWNpbWFsXVwiO1xudmFyIG1hdGhmbG9vciA9IE1hdGguZmxvb3I7XG52YXIgbWF0aHBvdyA9IE1hdGgucG93O1xudmFyIGlzQmluYXJ5ID0gL14wYihbMDFdKyhcXC5bMDFdKik/fFxcLlswMV0rKShwWystXT9cXGQrKT8kL2k7XG52YXIgaXNIZXggPSAvXjB4KFswLTlhLWZdKyhcXC5bMC05YS1mXSopP3xcXC5bMC05YS1mXSspKHBbKy1dP1xcZCspPyQvaTtcbnZhciBpc09jdGFsID0gL14wbyhbMC03XSsoXFwuWzAtN10qKT98XFwuWzAtN10rKShwWystXT9cXGQrKT8kL2k7XG52YXIgaXNEZWNpbWFsID0gL14oXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoZVsrLV0/XFxkKyk/JC9pO1xudmFyIEJBU0UgPSAxZTc7XG52YXIgTE9HX0JBU0UgPSA3O1xudmFyIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxO1xudmFyIExOMTBfUFJFQ0lTSU9OID0gTE4xMC5sZW5ndGggLSAxO1xudmFyIFBJX1BSRUNJU0lPTiA9IFBJLmxlbmd0aCAtIDE7XG52YXIgUCA9IHsgdG9TdHJpbmdUYWc6IHRhZyB9O1xuUC5hYnNvbHV0ZVZhbHVlID0gUC5hYnMgPSBmdW5jdGlvbigpIHtcbiAgdmFyIHggPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtcbiAgaWYgKHgucyA8IDApXG4gICAgeC5zID0gMTtcbiAgcmV0dXJuIGZpbmFsaXNlKHgpO1xufTtcblAuY2VpbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gZmluYWxpc2UobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyksIHRoaXMuZSArIDEsIDIpO1xufTtcblAuY2xhbXBlZFRvID0gUC5jbGFtcCA9IGZ1bmN0aW9uKG1pbjIsIG1heDIpIHtcbiAgdmFyIGssIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgbWluMiA9IG5ldyBDdG9yKG1pbjIpO1xuICBtYXgyID0gbmV3IEN0b3IobWF4Mik7XG4gIGlmICghbWluMi5zIHx8ICFtYXgyLnMpXG4gICAgcmV0dXJuIG5ldyBDdG9yKE5hTik7XG4gIGlmIChtaW4yLmd0KG1heDIpKVxuICAgIHRocm93IEVycm9yKGludmFsaWRBcmd1bWVudCArIG1heDIpO1xuICBrID0geC5jbXAobWluMik7XG4gIHJldHVybiBrIDwgMCA/IG1pbjIgOiB4LmNtcChtYXgyKSA+IDAgPyBtYXgyIDogbmV3IEN0b3IoeCk7XG59O1xuUC5jb21wYXJlZFRvID0gUC5jbXAgPSBmdW5jdGlvbih5KSB7XG4gIHZhciBpLCBqLCB4ZEwsIHlkTCwgeCA9IHRoaXMsIHhkID0geC5kLCB5ZCA9ICh5ID0gbmV3IHguY29uc3RydWN0b3IoeSkpLmQsIHhzID0geC5zLCB5cyA9IHkucztcbiAgaWYgKCF4ZCB8fCAheWQpIHtcbiAgICByZXR1cm4gIXhzIHx8ICF5cyA/IE5hTiA6IHhzICE9PSB5cyA/IHhzIDogeGQgPT09IHlkID8gMCA6ICF4ZCBeIHhzIDwgMCA/IDEgOiAtMTtcbiAgfVxuICBpZiAoIXhkWzBdIHx8ICF5ZFswXSlcbiAgICByZXR1cm4geGRbMF0gPyB4cyA6IHlkWzBdID8gLXlzIDogMDtcbiAgaWYgKHhzICE9PSB5cylcbiAgICByZXR1cm4geHM7XG4gIGlmICh4LmUgIT09IHkuZSlcbiAgICByZXR1cm4geC5lID4geS5lIF4geHMgPCAwID8gMSA6IC0xO1xuICB4ZEwgPSB4ZC5sZW5ndGg7XG4gIHlkTCA9IHlkLmxlbmd0aDtcbiAgZm9yIChpID0gMCwgaiA9IHhkTCA8IHlkTCA/IHhkTCA6IHlkTDsgaSA8IGo7ICsraSkge1xuICAgIGlmICh4ZFtpXSAhPT0geWRbaV0pXG4gICAgICByZXR1cm4geGRbaV0gPiB5ZFtpXSBeIHhzIDwgMCA/IDEgOiAtMTtcbiAgfVxuICByZXR1cm4geGRMID09PSB5ZEwgPyAwIDogeGRMID4geWRMIF4geHMgPCAwID8gMSA6IC0xO1xufTtcblAuY29zaW5lID0gUC5jb3MgPSBmdW5jdGlvbigpIHtcbiAgdmFyIHByLCBybSwgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yO1xuICBpZiAoIXguZClcbiAgICByZXR1cm4gbmV3IEN0b3IoTmFOKTtcbiAgaWYgKCF4LmRbMF0pXG4gICAgcmV0dXJuIG5ldyBDdG9yKDEpO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyBNYXRoLm1heCh4LmUsIHguc2QoKSkgKyBMT0dfQkFTRTtcbiAgQ3Rvci5yb3VuZGluZyA9IDE7XG4gIHggPSBjb3NpbmUoQ3RvciwgdG9MZXNzVGhhbkhhbGZQaShDdG9yLCB4KSk7XG4gIEN0b3IucHJlY2lzaW9uID0gcHI7XG4gIEN0b3Iucm91bmRpbmcgPSBybTtcbiAgcmV0dXJuIGZpbmFsaXNlKHF1YWRyYW50ID09IDIgfHwgcXVhZHJhbnQgPT0gMyA/IHgubmVnKCkgOiB4LCBwciwgcm0sIHRydWUpO1xufTtcblAuY3ViZVJvb3QgPSBQLmNicnQgPSBmdW5jdGlvbigpIHtcbiAgdmFyIGUsIG0sIG4sIHIsIHJlcCwgcywgc2QsIHQsIHQzLCB0M3BsdXN4LCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmICgheC5pc0Zpbml0ZSgpIHx8IHguaXNaZXJvKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKHgpO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICBzID0geC5zICogbWF0aHBvdyh4LnMgKiB4LCAxIC8gMyk7XG4gIGlmICghcyB8fCBNYXRoLmFicyhzKSA9PSAxIC8gMCkge1xuICAgIG4gPSBkaWdpdHNUb1N0cmluZyh4LmQpO1xuICAgIGUgPSB4LmU7XG4gICAgaWYgKHMgPSAoZSAtIG4ubGVuZ3RoICsgMSkgJSAzKVxuICAgICAgbiArPSBzID09IDEgfHwgcyA9PSAtMiA/IFwiMFwiIDogXCIwMFwiO1xuICAgIHMgPSBtYXRocG93KG4sIDEgLyAzKTtcbiAgICBlID0gbWF0aGZsb29yKChlICsgMSkgLyAzKSAtIChlICUgMyA9PSAoZSA8IDAgPyAtMSA6IDIpKTtcbiAgICBpZiAocyA9PSAxIC8gMCkge1xuICAgICAgbiA9IFwiNWVcIiArIGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG4gPSBzLnRvRXhwb25lbnRpYWwoKTtcbiAgICAgIG4gPSBuLnNsaWNlKDAsIG4uaW5kZXhPZihcImVcIikgKyAxKSArIGU7XG4gICAgfVxuICAgIHIgPSBuZXcgQ3RvcihuKTtcbiAgICByLnMgPSB4LnM7XG4gIH0gZWxzZSB7XG4gICAgciA9IG5ldyBDdG9yKHMudG9TdHJpbmcoKSk7XG4gIH1cbiAgc2QgPSAoZSA9IEN0b3IucHJlY2lzaW9uKSArIDM7XG4gIGZvciAoOyA7ICkge1xuICAgIHQgPSByO1xuICAgIHQzID0gdC50aW1lcyh0KS50aW1lcyh0KTtcbiAgICB0M3BsdXN4ID0gdDMucGx1cyh4KTtcbiAgICByID0gZGl2aWRlKHQzcGx1c3gucGx1cyh4KS50aW1lcyh0KSwgdDNwbHVzeC5wbHVzKHQzKSwgc2QgKyAyLCAxKTtcbiAgICBpZiAoZGlnaXRzVG9TdHJpbmcodC5kKS5zbGljZSgwLCBzZCkgPT09IChuID0gZGlnaXRzVG9TdHJpbmcoci5kKSkuc2xpY2UoMCwgc2QpKSB7XG4gICAgICBuID0gbi5zbGljZShzZCAtIDMsIHNkICsgMSk7XG4gICAgICBpZiAobiA9PSBcIjk5OTlcIiB8fCAhcmVwICYmIG4gPT0gXCI0OTk5XCIpIHtcbiAgICAgICAgaWYgKCFyZXApIHtcbiAgICAgICAgICBmaW5hbGlzZSh0LCBlICsgMSwgMCk7XG4gICAgICAgICAgaWYgKHQudGltZXModCkudGltZXModCkuZXEoeCkpIHtcbiAgICAgICAgICAgIHIgPSB0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNkICs9IDQ7XG4gICAgICAgIHJlcCA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIStuIHx8ICErbi5zbGljZSgxKSAmJiBuLmNoYXJBdCgwKSA9PSBcIjVcIikge1xuICAgICAgICAgIGZpbmFsaXNlKHIsIGUgKyAxLCAxKTtcbiAgICAgICAgICBtID0gIXIudGltZXMocikudGltZXMocikuZXEoeCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgcmV0dXJuIGZpbmFsaXNlKHIsIGUsIEN0b3Iucm91bmRpbmcsIG0pO1xufTtcblAuZGVjaW1hbFBsYWNlcyA9IFAuZHAgPSBmdW5jdGlvbigpIHtcbiAgdmFyIHcsIGQgPSB0aGlzLmQsIG4gPSBOYU47XG4gIGlmIChkKSB7XG4gICAgdyA9IGQubGVuZ3RoIC0gMTtcbiAgICBuID0gKHcgLSBtYXRoZmxvb3IodGhpcy5lIC8gTE9HX0JBU0UpKSAqIExPR19CQVNFO1xuICAgIHcgPSBkW3ddO1xuICAgIGlmICh3KVxuICAgICAgZm9yICg7IHcgJSAxMCA9PSAwOyB3IC89IDEwKVxuICAgICAgICBuLS07XG4gICAgaWYgKG4gPCAwKVxuICAgICAgbiA9IDA7XG4gIH1cbiAgcmV0dXJuIG47XG59O1xuUC5kaXZpZGVkQnkgPSBQLmRpdiA9IGZ1bmN0aW9uKHkpIHtcbiAgcmV0dXJuIGRpdmlkZSh0aGlzLCBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih5KSk7XG59O1xuUC5kaXZpZGVkVG9JbnRlZ2VyQnkgPSBQLmRpdlRvSW50ID0gZnVuY3Rpb24oeSkge1xuICB2YXIgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yO1xuICByZXR1cm4gZmluYWxpc2UoZGl2aWRlKHgsIG5ldyBDdG9yKHkpLCAwLCAxLCAxKSwgQ3Rvci5wcmVjaXNpb24sIEN0b3Iucm91bmRpbmcpO1xufTtcblAuZXF1YWxzID0gUC5lcSA9IGZ1bmN0aW9uKHkpIHtcbiAgcmV0dXJuIHRoaXMuY21wKHkpID09PSAwO1xufTtcblAuZmxvb3IgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIGZpbmFsaXNlKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLCB0aGlzLmUgKyAxLCAzKTtcbn07XG5QLmdyZWF0ZXJUaGFuID0gUC5ndCA9IGZ1bmN0aW9uKHkpIHtcbiAgcmV0dXJuIHRoaXMuY21wKHkpID4gMDtcbn07XG5QLmdyZWF0ZXJUaGFuT3JFcXVhbFRvID0gUC5ndGUgPSBmdW5jdGlvbih5KSB7XG4gIHZhciBrID0gdGhpcy5jbXAoeSk7XG4gIHJldHVybiBrID09IDEgfHwgayA9PT0gMDtcbn07XG5QLmh5cGVyYm9saWNDb3NpbmUgPSBQLmNvc2ggPSBmdW5jdGlvbigpIHtcbiAgdmFyIGssIG4sIHByLCBybSwgbGVuLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3IsIG9uZSA9IG5ldyBDdG9yKDEpO1xuICBpZiAoIXguaXNGaW5pdGUoKSlcbiAgICByZXR1cm4gbmV3IEN0b3IoeC5zID8gMSAvIDAgOiBOYU4pO1xuICBpZiAoeC5pc1plcm8oKSlcbiAgICByZXR1cm4gb25lO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyBNYXRoLm1heCh4LmUsIHguc2QoKSkgKyA0O1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgbGVuID0geC5kLmxlbmd0aDtcbiAgaWYgKGxlbiA8IDMyKSB7XG4gICAgayA9IE1hdGguY2VpbChsZW4gLyAzKTtcbiAgICBuID0gKDEgLyB0aW55UG93KDQsIGspKS50b1N0cmluZygpO1xuICB9IGVsc2Uge1xuICAgIGsgPSAxNjtcbiAgICBuID0gXCIyLjMyODMwNjQzNjUzODY5NjI4OTA2MjVlLTEwXCI7XG4gIH1cbiAgeCA9IHRheWxvclNlcmllcyhDdG9yLCAxLCB4LnRpbWVzKG4pLCBuZXcgQ3RvcigxKSwgdHJ1ZSk7XG4gIHZhciBjb3NoMl94LCBpID0gaywgZDggPSBuZXcgQ3Rvcig4KTtcbiAgZm9yICg7IGktLTsgKSB7XG4gICAgY29zaDJfeCA9IHgudGltZXMoeCk7XG4gICAgeCA9IG9uZS5taW51cyhjb3NoMl94LnRpbWVzKGQ4Lm1pbnVzKGNvc2gyX3gudGltZXMoZDgpKSkpO1xuICB9XG4gIHJldHVybiBmaW5hbGlzZSh4LCBDdG9yLnByZWNpc2lvbiA9IHByLCBDdG9yLnJvdW5kaW5nID0gcm0sIHRydWUpO1xufTtcblAuaHlwZXJib2xpY1NpbmUgPSBQLnNpbmggPSBmdW5jdGlvbigpIHtcbiAgdmFyIGssIHByLCBybSwgbGVuLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmICgheC5pc0Zpbml0ZSgpIHx8IHguaXNaZXJvKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKHgpO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyBNYXRoLm1heCh4LmUsIHguc2QoKSkgKyA0O1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgbGVuID0geC5kLmxlbmd0aDtcbiAgaWYgKGxlbiA8IDMpIHtcbiAgICB4ID0gdGF5bG9yU2VyaWVzKEN0b3IsIDIsIHgsIHgsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIGsgPSAxLjQgKiBNYXRoLnNxcnQobGVuKTtcbiAgICBrID0gayA+IDE2ID8gMTYgOiBrIHwgMDtcbiAgICB4ID0geC50aW1lcygxIC8gdGlueVBvdyg1LCBrKSk7XG4gICAgeCA9IHRheWxvclNlcmllcyhDdG9yLCAyLCB4LCB4LCB0cnVlKTtcbiAgICB2YXIgc2luaDJfeCwgZDUgPSBuZXcgQ3Rvcig1KSwgZDE2ID0gbmV3IEN0b3IoMTYpLCBkMjAgPSBuZXcgQ3RvcigyMCk7XG4gICAgZm9yICg7IGstLTsgKSB7XG4gICAgICBzaW5oMl94ID0geC50aW1lcyh4KTtcbiAgICAgIHggPSB4LnRpbWVzKGQ1LnBsdXMoc2luaDJfeC50aW1lcyhkMTYudGltZXMoc2luaDJfeCkucGx1cyhkMjApKSkpO1xuICAgIH1cbiAgfVxuICBDdG9yLnByZWNpc2lvbiA9IHByO1xuICBDdG9yLnJvdW5kaW5nID0gcm07XG4gIHJldHVybiBmaW5hbGlzZSh4LCBwciwgcm0sIHRydWUpO1xufTtcblAuaHlwZXJib2xpY1RhbmdlbnQgPSBQLnRhbmggPSBmdW5jdGlvbigpIHtcbiAgdmFyIHByLCBybSwgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yO1xuICBpZiAoIXguaXNGaW5pdGUoKSlcbiAgICByZXR1cm4gbmV3IEN0b3IoeC5zKTtcbiAgaWYgKHguaXNaZXJvKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKHgpO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyA3O1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgcmV0dXJuIGRpdmlkZSh4LnNpbmgoKSwgeC5jb3NoKCksIEN0b3IucHJlY2lzaW9uID0gcHIsIEN0b3Iucm91bmRpbmcgPSBybSk7XG59O1xuUC5pbnZlcnNlQ29zaW5lID0gUC5hY29zID0gZnVuY3Rpb24oKSB7XG4gIHZhciBoYWxmUGksIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvciwgayA9IHguYWJzKCkuY21wKDEpLCBwciA9IEN0b3IucHJlY2lzaW9uLCBybSA9IEN0b3Iucm91bmRpbmc7XG4gIGlmIChrICE9PSAtMSkge1xuICAgIHJldHVybiBrID09PSAwID8geC5pc05lZygpID8gZ2V0UGkoQ3RvciwgcHIsIHJtKSA6IG5ldyBDdG9yKDApIDogbmV3IEN0b3IoTmFOKTtcbiAgfVxuICBpZiAoeC5pc1plcm8oKSlcbiAgICByZXR1cm4gZ2V0UGkoQ3RvciwgcHIgKyA0LCBybSkudGltZXMoMC41KTtcbiAgQ3Rvci5wcmVjaXNpb24gPSBwciArIDY7XG4gIEN0b3Iucm91bmRpbmcgPSAxO1xuICB4ID0geC5hc2luKCk7XG4gIGhhbGZQaSA9IGdldFBpKEN0b3IsIHByICsgNCwgcm0pLnRpbWVzKDAuNSk7XG4gIEN0b3IucHJlY2lzaW9uID0gcHI7XG4gIEN0b3Iucm91bmRpbmcgPSBybTtcbiAgcmV0dXJuIGhhbGZQaS5taW51cyh4KTtcbn07XG5QLmludmVyc2VIeXBlcmJvbGljQ29zaW5lID0gUC5hY29zaCA9IGZ1bmN0aW9uKCkge1xuICB2YXIgcHIsIHJtLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmICh4Lmx0ZSgxKSlcbiAgICByZXR1cm4gbmV3IEN0b3IoeC5lcSgxKSA/IDAgOiBOYU4pO1xuICBpZiAoIXguaXNGaW5pdGUoKSlcbiAgICByZXR1cm4gbmV3IEN0b3IoeCk7XG4gIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgQ3Rvci5wcmVjaXNpb24gPSBwciArIE1hdGgubWF4KE1hdGguYWJzKHguZSksIHguc2QoKSkgKyA0O1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgeCA9IHgudGltZXMoeCkubWludXMoMSkuc3FydCgpLnBsdXMoeCk7XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgQ3Rvci5wcmVjaXNpb24gPSBwcjtcbiAgQ3Rvci5yb3VuZGluZyA9IHJtO1xuICByZXR1cm4geC5sbigpO1xufTtcblAuaW52ZXJzZUh5cGVyYm9saWNTaW5lID0gUC5hc2luaCA9IGZ1bmN0aW9uKCkge1xuICB2YXIgcHIsIHJtLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmICgheC5pc0Zpbml0ZSgpIHx8IHguaXNaZXJvKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKHgpO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyAyICogTWF0aC5tYXgoTWF0aC5hYnMoeC5lKSwgeC5zZCgpKSArIDY7XG4gIEN0b3Iucm91bmRpbmcgPSAxO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICB4ID0geC50aW1lcyh4KS5wbHVzKDEpLnNxcnQoKS5wbHVzKHgpO1xuICBleHRlcm5hbCA9IHRydWU7XG4gIEN0b3IucHJlY2lzaW9uID0gcHI7XG4gIEN0b3Iucm91bmRpbmcgPSBybTtcbiAgcmV0dXJuIHgubG4oKTtcbn07XG5QLmludmVyc2VIeXBlcmJvbGljVGFuZ2VudCA9IFAuYXRhbmggPSBmdW5jdGlvbigpIHtcbiAgdmFyIHByLCBybSwgd3ByLCB4c2QsIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKCF4LmlzRmluaXRlKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKE5hTik7XG4gIGlmICh4LmUgPj0gMClcbiAgICByZXR1cm4gbmV3IEN0b3IoeC5hYnMoKS5lcSgxKSA/IHgucyAvIDAgOiB4LmlzWmVybygpID8geCA6IE5hTik7XG4gIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgeHNkID0geC5zZCgpO1xuICBpZiAoTWF0aC5tYXgoeHNkLCBwcikgPCAyICogLXguZSAtIDEpXG4gICAgcmV0dXJuIGZpbmFsaXNlKG5ldyBDdG9yKHgpLCBwciwgcm0sIHRydWUpO1xuICBDdG9yLnByZWNpc2lvbiA9IHdwciA9IHhzZCAtIHguZTtcbiAgeCA9IGRpdmlkZSh4LnBsdXMoMSksIG5ldyBDdG9yKDEpLm1pbnVzKHgpLCB3cHIgKyBwciwgMSk7XG4gIEN0b3IucHJlY2lzaW9uID0gcHIgKyA0O1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgeCA9IHgubG4oKTtcbiAgQ3Rvci5wcmVjaXNpb24gPSBwcjtcbiAgQ3Rvci5yb3VuZGluZyA9IHJtO1xuICByZXR1cm4geC50aW1lcygwLjUpO1xufTtcblAuaW52ZXJzZVNpbmUgPSBQLmFzaW4gPSBmdW5jdGlvbigpIHtcbiAgdmFyIGhhbGZQaSwgaywgcHIsIHJtLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmICh4LmlzWmVybygpKVxuICAgIHJldHVybiBuZXcgQ3Rvcih4KTtcbiAgayA9IHguYWJzKCkuY21wKDEpO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIGlmIChrICE9PSAtMSkge1xuICAgIGlmIChrID09PSAwKSB7XG4gICAgICBoYWxmUGkgPSBnZXRQaShDdG9yLCBwciArIDQsIHJtKS50aW1lcygwLjUpO1xuICAgICAgaGFsZlBpLnMgPSB4LnM7XG4gICAgICByZXR1cm4gaGFsZlBpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEN0b3IoTmFOKTtcbiAgfVxuICBDdG9yLnByZWNpc2lvbiA9IHByICsgNjtcbiAgQ3Rvci5yb3VuZGluZyA9IDE7XG4gIHggPSB4LmRpdihuZXcgQ3RvcigxKS5taW51cyh4LnRpbWVzKHgpKS5zcXJ0KCkucGx1cygxKSkuYXRhbigpO1xuICBDdG9yLnByZWNpc2lvbiA9IHByO1xuICBDdG9yLnJvdW5kaW5nID0gcm07XG4gIHJldHVybiB4LnRpbWVzKDIpO1xufTtcblAuaW52ZXJzZVRhbmdlbnQgPSBQLmF0YW4gPSBmdW5jdGlvbigpIHtcbiAgdmFyIGksIGosIGssIG4sIHB4LCB0LCByLCB3cHIsIHgyLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3IsIHByID0gQ3Rvci5wcmVjaXNpb24sIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgaWYgKCF4LmlzRmluaXRlKCkpIHtcbiAgICBpZiAoIXgucylcbiAgICAgIHJldHVybiBuZXcgQ3RvcihOYU4pO1xuICAgIGlmIChwciArIDQgPD0gUElfUFJFQ0lTSU9OKSB7XG4gICAgICByID0gZ2V0UGkoQ3RvciwgcHIgKyA0LCBybSkudGltZXMoMC41KTtcbiAgICAgIHIucyA9IHgucztcbiAgICAgIHJldHVybiByO1xuICAgIH1cbiAgfSBlbHNlIGlmICh4LmlzWmVybygpKSB7XG4gICAgcmV0dXJuIG5ldyBDdG9yKHgpO1xuICB9IGVsc2UgaWYgKHguYWJzKCkuZXEoMSkgJiYgcHIgKyA0IDw9IFBJX1BSRUNJU0lPTikge1xuICAgIHIgPSBnZXRQaShDdG9yLCBwciArIDQsIHJtKS50aW1lcygwLjI1KTtcbiAgICByLnMgPSB4LnM7XG4gICAgcmV0dXJuIHI7XG4gIH1cbiAgQ3Rvci5wcmVjaXNpb24gPSB3cHIgPSBwciArIDEwO1xuICBDdG9yLnJvdW5kaW5nID0gMTtcbiAgayA9IE1hdGgubWluKDI4LCB3cHIgLyBMT0dfQkFTRSArIDIgfCAwKTtcbiAgZm9yIChpID0gazsgaTsgLS1pKVxuICAgIHggPSB4LmRpdih4LnRpbWVzKHgpLnBsdXMoMSkuc3FydCgpLnBsdXMoMSkpO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICBqID0gTWF0aC5jZWlsKHdwciAvIExPR19CQVNFKTtcbiAgbiA9IDE7XG4gIHgyID0geC50aW1lcyh4KTtcbiAgciA9IG5ldyBDdG9yKHgpO1xuICBweCA9IHg7XG4gIGZvciAoOyBpICE9PSAtMTsgKSB7XG4gICAgcHggPSBweC50aW1lcyh4Mik7XG4gICAgdCA9IHIubWludXMocHguZGl2KG4gKz0gMikpO1xuICAgIHB4ID0gcHgudGltZXMoeDIpO1xuICAgIHIgPSB0LnBsdXMocHguZGl2KG4gKz0gMikpO1xuICAgIGlmIChyLmRbal0gIT09IHZvaWQgMClcbiAgICAgIGZvciAoaSA9IGo7IHIuZFtpXSA9PT0gdC5kW2ldICYmIGktLTsgKVxuICAgICAgICA7XG4gIH1cbiAgaWYgKGspXG4gICAgciA9IHIudGltZXMoMiA8PCBrIC0gMSk7XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgcmV0dXJuIGZpbmFsaXNlKHIsIEN0b3IucHJlY2lzaW9uID0gcHIsIEN0b3Iucm91bmRpbmcgPSBybSwgdHJ1ZSk7XG59O1xuUC5pc0Zpbml0ZSA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gISF0aGlzLmQ7XG59O1xuUC5pc0ludGVnZXIgPSBQLmlzSW50ID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAhIXRoaXMuZCAmJiBtYXRoZmxvb3IodGhpcy5lIC8gTE9HX0JBU0UpID4gdGhpcy5kLmxlbmd0aCAtIDI7XG59O1xuUC5pc05hTiA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gIXRoaXMucztcbn07XG5QLmlzTmVnYXRpdmUgPSBQLmlzTmVnID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB0aGlzLnMgPCAwO1xufTtcblAuaXNQb3NpdGl2ZSA9IFAuaXNQb3MgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIHRoaXMucyA+IDA7XG59O1xuUC5pc1plcm8gPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuICEhdGhpcy5kICYmIHRoaXMuZFswXSA9PT0gMDtcbn07XG5QLmxlc3NUaGFuID0gUC5sdCA9IGZ1bmN0aW9uKHkpIHtcbiAgcmV0dXJuIHRoaXMuY21wKHkpIDwgMDtcbn07XG5QLmxlc3NUaGFuT3JFcXVhbFRvID0gUC5sdGUgPSBmdW5jdGlvbih5KSB7XG4gIHJldHVybiB0aGlzLmNtcCh5KSA8IDE7XG59O1xuUC5sb2dhcml0aG0gPSBQLmxvZyA9IGZ1bmN0aW9uKGJhc2UpIHtcbiAgdmFyIGlzQmFzZTEwLCBkLCBkZW5vbWluYXRvciwgaywgaW5mLCBudW0sIHNkLCByLCBhcmcgPSB0aGlzLCBDdG9yID0gYXJnLmNvbnN0cnVjdG9yLCBwciA9IEN0b3IucHJlY2lzaW9uLCBybSA9IEN0b3Iucm91bmRpbmcsIGd1YXJkID0gNTtcbiAgaWYgKGJhc2UgPT0gbnVsbCkge1xuICAgIGJhc2UgPSBuZXcgQ3RvcigxMCk7XG4gICAgaXNCYXNlMTAgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIGJhc2UgPSBuZXcgQ3RvcihiYXNlKTtcbiAgICBkID0gYmFzZS5kO1xuICAgIGlmIChiYXNlLnMgPCAwIHx8ICFkIHx8ICFkWzBdIHx8IGJhc2UuZXEoMSkpXG4gICAgICByZXR1cm4gbmV3IEN0b3IoTmFOKTtcbiAgICBpc0Jhc2UxMCA9IGJhc2UuZXEoMTApO1xuICB9XG4gIGQgPSBhcmcuZDtcbiAgaWYgKGFyZy5zIDwgMCB8fCAhZCB8fCAhZFswXSB8fCBhcmcuZXEoMSkpIHtcbiAgICByZXR1cm4gbmV3IEN0b3IoZCAmJiAhZFswXSA/IC0xIC8gMCA6IGFyZy5zICE9IDEgPyBOYU4gOiBkID8gMCA6IDEgLyAwKTtcbiAgfVxuICBpZiAoaXNCYXNlMTApIHtcbiAgICBpZiAoZC5sZW5ndGggPiAxKSB7XG4gICAgICBpbmYgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGsgPSBkWzBdOyBrICUgMTAgPT09IDA7IClcbiAgICAgICAgayAvPSAxMDtcbiAgICAgIGluZiA9IGsgIT09IDE7XG4gICAgfVxuICB9XG4gIGV4dGVybmFsID0gZmFsc2U7XG4gIHNkID0gcHIgKyBndWFyZDtcbiAgbnVtID0gbmF0dXJhbExvZ2FyaXRobShhcmcsIHNkKTtcbiAgZGVub21pbmF0b3IgPSBpc0Jhc2UxMCA/IGdldExuMTAoQ3Rvciwgc2QgKyAxMCkgOiBuYXR1cmFsTG9nYXJpdGhtKGJhc2UsIHNkKTtcbiAgciA9IGRpdmlkZShudW0sIGRlbm9taW5hdG9yLCBzZCwgMSk7XG4gIGlmIChjaGVja1JvdW5kaW5nRGlnaXRzKHIuZCwgayA9IHByLCBybSkpIHtcbiAgICBkbyB7XG4gICAgICBzZCArPSAxMDtcbiAgICAgIG51bSA9IG5hdHVyYWxMb2dhcml0aG0oYXJnLCBzZCk7XG4gICAgICBkZW5vbWluYXRvciA9IGlzQmFzZTEwID8gZ2V0TG4xMChDdG9yLCBzZCArIDEwKSA6IG5hdHVyYWxMb2dhcml0aG0oYmFzZSwgc2QpO1xuICAgICAgciA9IGRpdmlkZShudW0sIGRlbm9taW5hdG9yLCBzZCwgMSk7XG4gICAgICBpZiAoIWluZikge1xuICAgICAgICBpZiAoK2RpZ2l0c1RvU3RyaW5nKHIuZCkuc2xpY2UoayArIDEsIGsgKyAxNSkgKyAxID09IDFlMTQpIHtcbiAgICAgICAgICByID0gZmluYWxpc2UociwgcHIgKyAxLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IHdoaWxlIChjaGVja1JvdW5kaW5nRGlnaXRzKHIuZCwgayArPSAxMCwgcm0pKTtcbiAgfVxuICBleHRlcm5hbCA9IHRydWU7XG4gIHJldHVybiBmaW5hbGlzZShyLCBwciwgcm0pO1xufTtcblAubWludXMgPSBQLnN1YiA9IGZ1bmN0aW9uKHkpIHtcbiAgdmFyIGQsIGUsIGksIGosIGssIGxlbiwgcHIsIHJtLCB4ZCwgeGUsIHhMVHksIHlkLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIHkgPSBuZXcgQ3Rvcih5KTtcbiAgaWYgKCF4LmQgfHwgIXkuZCkge1xuICAgIGlmICgheC5zIHx8ICF5LnMpXG4gICAgICB5ID0gbmV3IEN0b3IoTmFOKTtcbiAgICBlbHNlIGlmICh4LmQpXG4gICAgICB5LnMgPSAteS5zO1xuICAgIGVsc2VcbiAgICAgIHkgPSBuZXcgQ3Rvcih5LmQgfHwgeC5zICE9PSB5LnMgPyB4IDogTmFOKTtcbiAgICByZXR1cm4geTtcbiAgfVxuICBpZiAoeC5zICE9IHkucykge1xuICAgIHkucyA9IC15LnM7XG4gICAgcmV0dXJuIHgucGx1cyh5KTtcbiAgfVxuICB4ZCA9IHguZDtcbiAgeWQgPSB5LmQ7XG4gIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgaWYgKCF4ZFswXSB8fCAheWRbMF0pIHtcbiAgICBpZiAoeWRbMF0pXG4gICAgICB5LnMgPSAteS5zO1xuICAgIGVsc2UgaWYgKHhkWzBdKVxuICAgICAgeSA9IG5ldyBDdG9yKHgpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiBuZXcgQ3RvcihybSA9PT0gMyA/IC0wIDogMCk7XG4gICAgcmV0dXJuIGV4dGVybmFsID8gZmluYWxpc2UoeSwgcHIsIHJtKSA6IHk7XG4gIH1cbiAgZSA9IG1hdGhmbG9vcih5LmUgLyBMT0dfQkFTRSk7XG4gIHhlID0gbWF0aGZsb29yKHguZSAvIExPR19CQVNFKTtcbiAgeGQgPSB4ZC5zbGljZSgpO1xuICBrID0geGUgLSBlO1xuICBpZiAoaykge1xuICAgIHhMVHkgPSBrIDwgMDtcbiAgICBpZiAoeExUeSkge1xuICAgICAgZCA9IHhkO1xuICAgICAgayA9IC1rO1xuICAgICAgbGVuID0geWQubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICBkID0geWQ7XG4gICAgICBlID0geGU7XG4gICAgICBsZW4gPSB4ZC5sZW5ndGg7XG4gICAgfVxuICAgIGkgPSBNYXRoLm1heChNYXRoLmNlaWwocHIgLyBMT0dfQkFTRSksIGxlbikgKyAyO1xuICAgIGlmIChrID4gaSkge1xuICAgICAgayA9IGk7XG4gICAgICBkLmxlbmd0aCA9IDE7XG4gICAgfVxuICAgIGQucmV2ZXJzZSgpO1xuICAgIGZvciAoaSA9IGs7IGktLTsgKVxuICAgICAgZC5wdXNoKDApO1xuICAgIGQucmV2ZXJzZSgpO1xuICB9IGVsc2Uge1xuICAgIGkgPSB4ZC5sZW5ndGg7XG4gICAgbGVuID0geWQubGVuZ3RoO1xuICAgIHhMVHkgPSBpIDwgbGVuO1xuICAgIGlmICh4TFR5KVxuICAgICAgbGVuID0gaTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICh4ZFtpXSAhPSB5ZFtpXSkge1xuICAgICAgICB4TFR5ID0geGRbaV0gPCB5ZFtpXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGsgPSAwO1xuICB9XG4gIGlmICh4TFR5KSB7XG4gICAgZCA9IHhkO1xuICAgIHhkID0geWQ7XG4gICAgeWQgPSBkO1xuICAgIHkucyA9IC15LnM7XG4gIH1cbiAgbGVuID0geGQubGVuZ3RoO1xuICBmb3IgKGkgPSB5ZC5sZW5ndGggLSBsZW47IGkgPiAwOyAtLWkpXG4gICAgeGRbbGVuKytdID0gMDtcbiAgZm9yIChpID0geWQubGVuZ3RoOyBpID4gazsgKSB7XG4gICAgaWYgKHhkWy0taV0gPCB5ZFtpXSkge1xuICAgICAgZm9yIChqID0gaTsgaiAmJiB4ZFstLWpdID09PSAwOyApXG4gICAgICAgIHhkW2pdID0gQkFTRSAtIDE7XG4gICAgICAtLXhkW2pdO1xuICAgICAgeGRbaV0gKz0gQkFTRTtcbiAgICB9XG4gICAgeGRbaV0gLT0geWRbaV07XG4gIH1cbiAgZm9yICg7IHhkWy0tbGVuXSA9PT0gMDsgKVxuICAgIHhkLnBvcCgpO1xuICBmb3IgKDsgeGRbMF0gPT09IDA7IHhkLnNoaWZ0KCkpXG4gICAgLS1lO1xuICBpZiAoIXhkWzBdKVxuICAgIHJldHVybiBuZXcgQ3RvcihybSA9PT0gMyA/IC0wIDogMCk7XG4gIHkuZCA9IHhkO1xuICB5LmUgPSBnZXRCYXNlMTBFeHBvbmVudCh4ZCwgZSk7XG4gIHJldHVybiBleHRlcm5hbCA/IGZpbmFsaXNlKHksIHByLCBybSkgOiB5O1xufTtcblAubW9kdWxvID0gUC5tb2QgPSBmdW5jdGlvbih5KSB7XG4gIHZhciBxLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIHkgPSBuZXcgQ3Rvcih5KTtcbiAgaWYgKCF4LmQgfHwgIXkucyB8fCB5LmQgJiYgIXkuZFswXSlcbiAgICByZXR1cm4gbmV3IEN0b3IoTmFOKTtcbiAgaWYgKCF5LmQgfHwgeC5kICYmICF4LmRbMF0pIHtcbiAgICByZXR1cm4gZmluYWxpc2UobmV3IEN0b3IoeCksIEN0b3IucHJlY2lzaW9uLCBDdG9yLnJvdW5kaW5nKTtcbiAgfVxuICBleHRlcm5hbCA9IGZhbHNlO1xuICBpZiAoQ3Rvci5tb2R1bG8gPT0gOSkge1xuICAgIHEgPSBkaXZpZGUoeCwgeS5hYnMoKSwgMCwgMywgMSk7XG4gICAgcS5zICo9IHkucztcbiAgfSBlbHNlIHtcbiAgICBxID0gZGl2aWRlKHgsIHksIDAsIEN0b3IubW9kdWxvLCAxKTtcbiAgfVxuICBxID0gcS50aW1lcyh5KTtcbiAgZXh0ZXJuYWwgPSB0cnVlO1xuICByZXR1cm4geC5taW51cyhxKTtcbn07XG5QLm5hdHVyYWxFeHBvbmVudGlhbCA9IFAuZXhwID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBuYXR1cmFsRXhwb25lbnRpYWwodGhpcyk7XG59O1xuUC5uYXR1cmFsTG9nYXJpdGhtID0gUC5sbiA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmF0dXJhbExvZ2FyaXRobSh0aGlzKTtcbn07XG5QLm5lZ2F0ZWQgPSBQLm5lZyA9IGZ1bmN0aW9uKCkge1xuICB2YXIgeCA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpO1xuICB4LnMgPSAteC5zO1xuICByZXR1cm4gZmluYWxpc2UoeCk7XG59O1xuUC5wbHVzID0gUC5hZGQgPSBmdW5jdGlvbih5KSB7XG4gIHZhciBjYXJyeSwgZCwgZSwgaSwgaywgbGVuLCBwciwgcm0sIHhkLCB5ZCwgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yO1xuICB5ID0gbmV3IEN0b3IoeSk7XG4gIGlmICgheC5kIHx8ICF5LmQpIHtcbiAgICBpZiAoIXgucyB8fCAheS5zKVxuICAgICAgeSA9IG5ldyBDdG9yKE5hTik7XG4gICAgZWxzZSBpZiAoIXguZClcbiAgICAgIHkgPSBuZXcgQ3Rvcih5LmQgfHwgeC5zID09PSB5LnMgPyB4IDogTmFOKTtcbiAgICByZXR1cm4geTtcbiAgfVxuICBpZiAoeC5zICE9IHkucykge1xuICAgIHkucyA9IC15LnM7XG4gICAgcmV0dXJuIHgubWludXMoeSk7XG4gIH1cbiAgeGQgPSB4LmQ7XG4gIHlkID0geS5kO1xuICBwciA9IEN0b3IucHJlY2lzaW9uO1xuICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIGlmICgheGRbMF0gfHwgIXlkWzBdKSB7XG4gICAgaWYgKCF5ZFswXSlcbiAgICAgIHkgPSBuZXcgQ3Rvcih4KTtcbiAgICByZXR1cm4gZXh0ZXJuYWwgPyBmaW5hbGlzZSh5LCBwciwgcm0pIDogeTtcbiAgfVxuICBrID0gbWF0aGZsb29yKHguZSAvIExPR19CQVNFKTtcbiAgZSA9IG1hdGhmbG9vcih5LmUgLyBMT0dfQkFTRSk7XG4gIHhkID0geGQuc2xpY2UoKTtcbiAgaSA9IGsgLSBlO1xuICBpZiAoaSkge1xuICAgIGlmIChpIDwgMCkge1xuICAgICAgZCA9IHhkO1xuICAgICAgaSA9IC1pO1xuICAgICAgbGVuID0geWQubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICBkID0geWQ7XG4gICAgICBlID0gaztcbiAgICAgIGxlbiA9IHhkLmxlbmd0aDtcbiAgICB9XG4gICAgayA9IE1hdGguY2VpbChwciAvIExPR19CQVNFKTtcbiAgICBsZW4gPSBrID4gbGVuID8gayArIDEgOiBsZW4gKyAxO1xuICAgIGlmIChpID4gbGVuKSB7XG4gICAgICBpID0gbGVuO1xuICAgICAgZC5sZW5ndGggPSAxO1xuICAgIH1cbiAgICBkLnJldmVyc2UoKTtcbiAgICBmb3IgKDsgaS0tOyApXG4gICAgICBkLnB1c2goMCk7XG4gICAgZC5yZXZlcnNlKCk7XG4gIH1cbiAgbGVuID0geGQubGVuZ3RoO1xuICBpID0geWQubGVuZ3RoO1xuICBpZiAobGVuIC0gaSA8IDApIHtcbiAgICBpID0gbGVuO1xuICAgIGQgPSB5ZDtcbiAgICB5ZCA9IHhkO1xuICAgIHhkID0gZDtcbiAgfVxuICBmb3IgKGNhcnJ5ID0gMDsgaTsgKSB7XG4gICAgY2FycnkgPSAoeGRbLS1pXSA9IHhkW2ldICsgeWRbaV0gKyBjYXJyeSkgLyBCQVNFIHwgMDtcbiAgICB4ZFtpXSAlPSBCQVNFO1xuICB9XG4gIGlmIChjYXJyeSkge1xuICAgIHhkLnVuc2hpZnQoY2FycnkpO1xuICAgICsrZTtcbiAgfVxuICBmb3IgKGxlbiA9IHhkLmxlbmd0aDsgeGRbLS1sZW5dID09IDA7IClcbiAgICB4ZC5wb3AoKTtcbiAgeS5kID0geGQ7XG4gIHkuZSA9IGdldEJhc2UxMEV4cG9uZW50KHhkLCBlKTtcbiAgcmV0dXJuIGV4dGVybmFsID8gZmluYWxpc2UoeSwgcHIsIHJtKSA6IHk7XG59O1xuUC5wcmVjaXNpb24gPSBQLnNkID0gZnVuY3Rpb24oeikge1xuICB2YXIgaywgeCA9IHRoaXM7XG4gIGlmICh6ICE9PSB2b2lkIDAgJiYgeiAhPT0gISF6ICYmIHogIT09IDEgJiYgeiAhPT0gMClcbiAgICB0aHJvdyBFcnJvcihpbnZhbGlkQXJndW1lbnQgKyB6KTtcbiAgaWYgKHguZCkge1xuICAgIGsgPSBnZXRQcmVjaXNpb24oeC5kKTtcbiAgICBpZiAoeiAmJiB4LmUgKyAxID4gaylcbiAgICAgIGsgPSB4LmUgKyAxO1xuICB9IGVsc2Uge1xuICAgIGsgPSBOYU47XG4gIH1cbiAgcmV0dXJuIGs7XG59O1xuUC5yb3VuZCA9IGZ1bmN0aW9uKCkge1xuICB2YXIgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yO1xuICByZXR1cm4gZmluYWxpc2UobmV3IEN0b3IoeCksIHguZSArIDEsIEN0b3Iucm91bmRpbmcpO1xufTtcblAuc2luZSA9IFAuc2luID0gZnVuY3Rpb24oKSB7XG4gIHZhciBwciwgcm0sIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKCF4LmlzRmluaXRlKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKE5hTik7XG4gIGlmICh4LmlzWmVybygpKVxuICAgIHJldHVybiBuZXcgQ3Rvcih4KTtcbiAgcHIgPSBDdG9yLnByZWNpc2lvbjtcbiAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICBDdG9yLnByZWNpc2lvbiA9IHByICsgTWF0aC5tYXgoeC5lLCB4LnNkKCkpICsgTE9HX0JBU0U7XG4gIEN0b3Iucm91bmRpbmcgPSAxO1xuICB4ID0gc2luZShDdG9yLCB0b0xlc3NUaGFuSGFsZlBpKEN0b3IsIHgpKTtcbiAgQ3Rvci5wcmVjaXNpb24gPSBwcjtcbiAgQ3Rvci5yb3VuZGluZyA9IHJtO1xuICByZXR1cm4gZmluYWxpc2UocXVhZHJhbnQgPiAyID8geC5uZWcoKSA6IHgsIHByLCBybSwgdHJ1ZSk7XG59O1xuUC5zcXVhcmVSb290ID0gUC5zcXJ0ID0gZnVuY3Rpb24oKSB7XG4gIHZhciBtLCBuLCBzZCwgciwgcmVwLCB0LCB4ID0gdGhpcywgZCA9IHguZCwgZSA9IHguZSwgcyA9IHgucywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmIChzICE9PSAxIHx8ICFkIHx8ICFkWzBdKSB7XG4gICAgcmV0dXJuIG5ldyBDdG9yKCFzIHx8IHMgPCAwICYmICghZCB8fCBkWzBdKSA/IE5hTiA6IGQgPyB4IDogMSAvIDApO1xuICB9XG4gIGV4dGVybmFsID0gZmFsc2U7XG4gIHMgPSBNYXRoLnNxcnQoK3gpO1xuICBpZiAocyA9PSAwIHx8IHMgPT0gMSAvIDApIHtcbiAgICBuID0gZGlnaXRzVG9TdHJpbmcoZCk7XG4gICAgaWYgKChuLmxlbmd0aCArIGUpICUgMiA9PSAwKVxuICAgICAgbiArPSBcIjBcIjtcbiAgICBzID0gTWF0aC5zcXJ0KG4pO1xuICAgIGUgPSBtYXRoZmxvb3IoKGUgKyAxKSAvIDIpIC0gKGUgPCAwIHx8IGUgJSAyKTtcbiAgICBpZiAocyA9PSAxIC8gMCkge1xuICAgICAgbiA9IFwiNWVcIiArIGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG4gPSBzLnRvRXhwb25lbnRpYWwoKTtcbiAgICAgIG4gPSBuLnNsaWNlKDAsIG4uaW5kZXhPZihcImVcIikgKyAxKSArIGU7XG4gICAgfVxuICAgIHIgPSBuZXcgQ3RvcihuKTtcbiAgfSBlbHNlIHtcbiAgICByID0gbmV3IEN0b3Iocy50b1N0cmluZygpKTtcbiAgfVxuICBzZCA9IChlID0gQ3Rvci5wcmVjaXNpb24pICsgMztcbiAgZm9yICg7IDsgKSB7XG4gICAgdCA9IHI7XG4gICAgciA9IHQucGx1cyhkaXZpZGUoeCwgdCwgc2QgKyAyLCAxKSkudGltZXMoMC41KTtcbiAgICBpZiAoZGlnaXRzVG9TdHJpbmcodC5kKS5zbGljZSgwLCBzZCkgPT09IChuID0gZGlnaXRzVG9TdHJpbmcoci5kKSkuc2xpY2UoMCwgc2QpKSB7XG4gICAgICBuID0gbi5zbGljZShzZCAtIDMsIHNkICsgMSk7XG4gICAgICBpZiAobiA9PSBcIjk5OTlcIiB8fCAhcmVwICYmIG4gPT0gXCI0OTk5XCIpIHtcbiAgICAgICAgaWYgKCFyZXApIHtcbiAgICAgICAgICBmaW5hbGlzZSh0LCBlICsgMSwgMCk7XG4gICAgICAgICAgaWYgKHQudGltZXModCkuZXEoeCkpIHtcbiAgICAgICAgICAgIHIgPSB0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNkICs9IDQ7XG4gICAgICAgIHJlcCA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIStuIHx8ICErbi5zbGljZSgxKSAmJiBuLmNoYXJBdCgwKSA9PSBcIjVcIikge1xuICAgICAgICAgIGZpbmFsaXNlKHIsIGUgKyAxLCAxKTtcbiAgICAgICAgICBtID0gIXIudGltZXMocikuZXEoeCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgcmV0dXJuIGZpbmFsaXNlKHIsIGUsIEN0b3Iucm91bmRpbmcsIG0pO1xufTtcblAudGFuZ2VudCA9IFAudGFuID0gZnVuY3Rpb24oKSB7XG4gIHZhciBwciwgcm0sIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKCF4LmlzRmluaXRlKCkpXG4gICAgcmV0dXJuIG5ldyBDdG9yKE5hTik7XG4gIGlmICh4LmlzWmVybygpKVxuICAgIHJldHVybiBuZXcgQ3Rvcih4KTtcbiAgcHIgPSBDdG9yLnByZWNpc2lvbjtcbiAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICBDdG9yLnByZWNpc2lvbiA9IHByICsgMTA7XG4gIEN0b3Iucm91bmRpbmcgPSAxO1xuICB4ID0geC5zaW4oKTtcbiAgeC5zID0gMTtcbiAgeCA9IGRpdmlkZSh4LCBuZXcgQ3RvcigxKS5taW51cyh4LnRpbWVzKHgpKS5zcXJ0KCksIHByICsgMTAsIDApO1xuICBDdG9yLnByZWNpc2lvbiA9IHByO1xuICBDdG9yLnJvdW5kaW5nID0gcm07XG4gIHJldHVybiBmaW5hbGlzZShxdWFkcmFudCA9PSAyIHx8IHF1YWRyYW50ID09IDQgPyB4Lm5lZygpIDogeCwgcHIsIHJtLCB0cnVlKTtcbn07XG5QLnRpbWVzID0gUC5tdWwgPSBmdW5jdGlvbih5KSB7XG4gIHZhciBjYXJyeSwgZSwgaSwgaywgciwgckwsIHQsIHhkTCwgeWRMLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3IsIHhkID0geC5kLCB5ZCA9ICh5ID0gbmV3IEN0b3IoeSkpLmQ7XG4gIHkucyAqPSB4LnM7XG4gIGlmICgheGQgfHwgIXhkWzBdIHx8ICF5ZCB8fCAheWRbMF0pIHtcbiAgICByZXR1cm4gbmV3IEN0b3IoIXkucyB8fCB4ZCAmJiAheGRbMF0gJiYgIXlkIHx8IHlkICYmICF5ZFswXSAmJiAheGQgPyBOYU4gOiAheGQgfHwgIXlkID8geS5zIC8gMCA6IHkucyAqIDApO1xuICB9XG4gIGUgPSBtYXRoZmxvb3IoeC5lIC8gTE9HX0JBU0UpICsgbWF0aGZsb29yKHkuZSAvIExPR19CQVNFKTtcbiAgeGRMID0geGQubGVuZ3RoO1xuICB5ZEwgPSB5ZC5sZW5ndGg7XG4gIGlmICh4ZEwgPCB5ZEwpIHtcbiAgICByID0geGQ7XG4gICAgeGQgPSB5ZDtcbiAgICB5ZCA9IHI7XG4gICAgckwgPSB4ZEw7XG4gICAgeGRMID0geWRMO1xuICAgIHlkTCA9IHJMO1xuICB9XG4gIHIgPSBbXTtcbiAgckwgPSB4ZEwgKyB5ZEw7XG4gIGZvciAoaSA9IHJMOyBpLS07IClcbiAgICByLnB1c2goMCk7XG4gIGZvciAoaSA9IHlkTDsgLS1pID49IDA7ICkge1xuICAgIGNhcnJ5ID0gMDtcbiAgICBmb3IgKGsgPSB4ZEwgKyBpOyBrID4gaTsgKSB7XG4gICAgICB0ID0gcltrXSArIHlkW2ldICogeGRbayAtIGkgLSAxXSArIGNhcnJ5O1xuICAgICAgcltrLS1dID0gdCAlIEJBU0UgfCAwO1xuICAgICAgY2FycnkgPSB0IC8gQkFTRSB8IDA7XG4gICAgfVxuICAgIHJba10gPSAocltrXSArIGNhcnJ5KSAlIEJBU0UgfCAwO1xuICB9XG4gIGZvciAoOyAhclstLXJMXTsgKVxuICAgIHIucG9wKCk7XG4gIGlmIChjYXJyeSlcbiAgICArK2U7XG4gIGVsc2VcbiAgICByLnNoaWZ0KCk7XG4gIHkuZCA9IHI7XG4gIHkuZSA9IGdldEJhc2UxMEV4cG9uZW50KHIsIGUpO1xuICByZXR1cm4gZXh0ZXJuYWwgPyBmaW5hbGlzZSh5LCBDdG9yLnByZWNpc2lvbiwgQ3Rvci5yb3VuZGluZykgOiB5O1xufTtcblAudG9CaW5hcnkgPSBmdW5jdGlvbihzZCwgcm0pIHtcbiAgcmV0dXJuIHRvU3RyaW5nQmluYXJ5KHRoaXMsIDIsIHNkLCBybSk7XG59O1xuUC50b0RlY2ltYWxQbGFjZXMgPSBQLnRvRFAgPSBmdW5jdGlvbihkcCwgcm0pIHtcbiAgdmFyIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgeCA9IG5ldyBDdG9yKHgpO1xuICBpZiAoZHAgPT09IHZvaWQgMClcbiAgICByZXR1cm4geDtcbiAgY2hlY2tJbnQzMihkcCwgMCwgTUFYX0RJR0lUUyk7XG4gIGlmIChybSA9PT0gdm9pZCAwKVxuICAgIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgZWxzZVxuICAgIGNoZWNrSW50MzIocm0sIDAsIDgpO1xuICByZXR1cm4gZmluYWxpc2UoeCwgZHAgKyB4LmUgKyAxLCBybSk7XG59O1xuUC50b0V4cG9uZW50aWFsID0gZnVuY3Rpb24oZHAsIHJtKSB7XG4gIHZhciBzdHIsIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKGRwID09PSB2b2lkIDApIHtcbiAgICBzdHIgPSBmaW5pdGVUb1N0cmluZyh4LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBjaGVja0ludDMyKGRwLCAwLCBNQVhfRElHSVRTKTtcbiAgICBpZiAocm0gPT09IHZvaWQgMClcbiAgICAgIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgICBlbHNlXG4gICAgICBjaGVja0ludDMyKHJtLCAwLCA4KTtcbiAgICB4ID0gZmluYWxpc2UobmV3IEN0b3IoeCksIGRwICsgMSwgcm0pO1xuICAgIHN0ciA9IGZpbml0ZVRvU3RyaW5nKHgsIHRydWUsIGRwICsgMSk7XG4gIH1cbiAgcmV0dXJuIHguaXNOZWcoKSAmJiAheC5pc1plcm8oKSA/IFwiLVwiICsgc3RyIDogc3RyO1xufTtcblAudG9GaXhlZCA9IGZ1bmN0aW9uKGRwLCBybSkge1xuICB2YXIgc3RyLCB5LCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmIChkcCA9PT0gdm9pZCAwKSB7XG4gICAgc3RyID0gZmluaXRlVG9TdHJpbmcoeCk7XG4gIH0gZWxzZSB7XG4gICAgY2hlY2tJbnQzMihkcCwgMCwgTUFYX0RJR0lUUyk7XG4gICAgaWYgKHJtID09PSB2b2lkIDApXG4gICAgICBybSA9IEN0b3Iucm91bmRpbmc7XG4gICAgZWxzZVxuICAgICAgY2hlY2tJbnQzMihybSwgMCwgOCk7XG4gICAgeSA9IGZpbmFsaXNlKG5ldyBDdG9yKHgpLCBkcCArIHguZSArIDEsIHJtKTtcbiAgICBzdHIgPSBmaW5pdGVUb1N0cmluZyh5LCBmYWxzZSwgZHAgKyB5LmUgKyAxKTtcbiAgfVxuICByZXR1cm4geC5pc05lZygpICYmICF4LmlzWmVybygpID8gXCItXCIgKyBzdHIgOiBzdHI7XG59O1xuUC50b0ZyYWN0aW9uID0gZnVuY3Rpb24obWF4RCkge1xuICB2YXIgZCwgZDAsIGQxLCBkMiwgZSwgaywgbiwgbjAsIG4xLCBwciwgcSwgciwgeCA9IHRoaXMsIHhkID0geC5kLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKCF4ZClcbiAgICByZXR1cm4gbmV3IEN0b3IoeCk7XG4gIG4xID0gZDAgPSBuZXcgQ3RvcigxKTtcbiAgZDEgPSBuMCA9IG5ldyBDdG9yKDApO1xuICBkID0gbmV3IEN0b3IoZDEpO1xuICBlID0gZC5lID0gZ2V0UHJlY2lzaW9uKHhkKSAtIHguZSAtIDE7XG4gIGsgPSBlICUgTE9HX0JBU0U7XG4gIGQuZFswXSA9IG1hdGhwb3coMTAsIGsgPCAwID8gTE9HX0JBU0UgKyBrIDogayk7XG4gIGlmIChtYXhEID09IG51bGwpIHtcbiAgICBtYXhEID0gZSA+IDAgPyBkIDogbjE7XG4gIH0gZWxzZSB7XG4gICAgbiA9IG5ldyBDdG9yKG1heEQpO1xuICAgIGlmICghbi5pc0ludCgpIHx8IG4ubHQobjEpKVxuICAgICAgdGhyb3cgRXJyb3IoaW52YWxpZEFyZ3VtZW50ICsgbik7XG4gICAgbWF4RCA9IG4uZ3QoZCkgPyBlID4gMCA/IGQgOiBuMSA6IG47XG4gIH1cbiAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgbiA9IG5ldyBDdG9yKGRpZ2l0c1RvU3RyaW5nKHhkKSk7XG4gIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIEN0b3IucHJlY2lzaW9uID0gZSA9IHhkLmxlbmd0aCAqIExPR19CQVNFICogMjtcbiAgZm9yICg7IDsgKSB7XG4gICAgcSA9IGRpdmlkZShuLCBkLCAwLCAxLCAxKTtcbiAgICBkMiA9IGQwLnBsdXMocS50aW1lcyhkMSkpO1xuICAgIGlmIChkMi5jbXAobWF4RCkgPT0gMSlcbiAgICAgIGJyZWFrO1xuICAgIGQwID0gZDE7XG4gICAgZDEgPSBkMjtcbiAgICBkMiA9IG4xO1xuICAgIG4xID0gbjAucGx1cyhxLnRpbWVzKGQyKSk7XG4gICAgbjAgPSBkMjtcbiAgICBkMiA9IGQ7XG4gICAgZCA9IG4ubWludXMocS50aW1lcyhkMikpO1xuICAgIG4gPSBkMjtcbiAgfVxuICBkMiA9IGRpdmlkZShtYXhELm1pbnVzKGQwKSwgZDEsIDAsIDEsIDEpO1xuICBuMCA9IG4wLnBsdXMoZDIudGltZXMobjEpKTtcbiAgZDAgPSBkMC5wbHVzKGQyLnRpbWVzKGQxKSk7XG4gIG4wLnMgPSBuMS5zID0geC5zO1xuICByID0gZGl2aWRlKG4xLCBkMSwgZSwgMSkubWludXMoeCkuYWJzKCkuY21wKGRpdmlkZShuMCwgZDAsIGUsIDEpLm1pbnVzKHgpLmFicygpKSA8IDEgPyBbbjEsIGQxXSA6IFtuMCwgZDBdO1xuICBDdG9yLnByZWNpc2lvbiA9IHByO1xuICBleHRlcm5hbCA9IHRydWU7XG4gIHJldHVybiByO1xufTtcblAudG9IZXhhZGVjaW1hbCA9IFAudG9IZXggPSBmdW5jdGlvbihzZCwgcm0pIHtcbiAgcmV0dXJuIHRvU3RyaW5nQmluYXJ5KHRoaXMsIDE2LCBzZCwgcm0pO1xufTtcblAudG9OZWFyZXN0ID0gZnVuY3Rpb24oeSwgcm0pIHtcbiAgdmFyIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgeCA9IG5ldyBDdG9yKHgpO1xuICBpZiAoeSA9PSBudWxsKSB7XG4gICAgaWYgKCF4LmQpXG4gICAgICByZXR1cm4geDtcbiAgICB5ID0gbmV3IEN0b3IoMSk7XG4gICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICB9IGVsc2Uge1xuICAgIHkgPSBuZXcgQ3Rvcih5KTtcbiAgICBpZiAocm0gPT09IHZvaWQgMCkge1xuICAgICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGVja0ludDMyKHJtLCAwLCA4KTtcbiAgICB9XG4gICAgaWYgKCF4LmQpXG4gICAgICByZXR1cm4geS5zID8geCA6IHk7XG4gICAgaWYgKCF5LmQpIHtcbiAgICAgIGlmICh5LnMpXG4gICAgICAgIHkucyA9IHgucztcbiAgICAgIHJldHVybiB5O1xuICAgIH1cbiAgfVxuICBpZiAoeS5kWzBdKSB7XG4gICAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgICB4ID0gZGl2aWRlKHgsIHksIDAsIHJtLCAxKS50aW1lcyh5KTtcbiAgICBleHRlcm5hbCA9IHRydWU7XG4gICAgZmluYWxpc2UoeCk7XG4gIH0gZWxzZSB7XG4gICAgeS5zID0geC5zO1xuICAgIHggPSB5O1xuICB9XG4gIHJldHVybiB4O1xufTtcblAudG9OdW1iZXIgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuICt0aGlzO1xufTtcblAudG9PY3RhbCA9IGZ1bmN0aW9uKHNkLCBybSkge1xuICByZXR1cm4gdG9TdHJpbmdCaW5hcnkodGhpcywgOCwgc2QsIHJtKTtcbn07XG5QLnRvUG93ZXIgPSBQLnBvdyA9IGZ1bmN0aW9uKHkpIHtcbiAgdmFyIGUsIGssIHByLCByLCBybSwgcywgeCA9IHRoaXMsIEN0b3IgPSB4LmNvbnN0cnVjdG9yLCB5biA9ICsoeSA9IG5ldyBDdG9yKHkpKTtcbiAgaWYgKCF4LmQgfHwgIXkuZCB8fCAheC5kWzBdIHx8ICF5LmRbMF0pXG4gICAgcmV0dXJuIG5ldyBDdG9yKG1hdGhwb3coK3gsIHluKSk7XG4gIHggPSBuZXcgQ3Rvcih4KTtcbiAgaWYgKHguZXEoMSkpXG4gICAgcmV0dXJuIHg7XG4gIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIHJtID0gQ3Rvci5yb3VuZGluZztcbiAgaWYgKHkuZXEoMSkpXG4gICAgcmV0dXJuIGZpbmFsaXNlKHgsIHByLCBybSk7XG4gIGUgPSBtYXRoZmxvb3IoeS5lIC8gTE9HX0JBU0UpO1xuICBpZiAoZSA+PSB5LmQubGVuZ3RoIC0gMSAmJiAoayA9IHluIDwgMCA/IC15biA6IHluKSA8PSBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgciA9IGludFBvdyhDdG9yLCB4LCBrLCBwcik7XG4gICAgcmV0dXJuIHkucyA8IDAgPyBuZXcgQ3RvcigxKS5kaXYocikgOiBmaW5hbGlzZShyLCBwciwgcm0pO1xuICB9XG4gIHMgPSB4LnM7XG4gIGlmIChzIDwgMCkge1xuICAgIGlmIChlIDwgeS5kLmxlbmd0aCAtIDEpXG4gICAgICByZXR1cm4gbmV3IEN0b3IoTmFOKTtcbiAgICBpZiAoKHkuZFtlXSAmIDEpID09IDApXG4gICAgICBzID0gMTtcbiAgICBpZiAoeC5lID09IDAgJiYgeC5kWzBdID09IDEgJiYgeC5kLmxlbmd0aCA9PSAxKSB7XG4gICAgICB4LnMgPSBzO1xuICAgICAgcmV0dXJuIHg7XG4gICAgfVxuICB9XG4gIGsgPSBtYXRocG93KCt4LCB5bik7XG4gIGUgPSBrID09IDAgfHwgIWlzRmluaXRlKGspID8gbWF0aGZsb29yKHluICogKE1hdGgubG9nKFwiMC5cIiArIGRpZ2l0c1RvU3RyaW5nKHguZCkpIC8gTWF0aC5MTjEwICsgeC5lICsgMSkpIDogbmV3IEN0b3IoayArIFwiXCIpLmU7XG4gIGlmIChlID4gQ3Rvci5tYXhFICsgMSB8fCBlIDwgQ3Rvci5taW5FIC0gMSlcbiAgICByZXR1cm4gbmV3IEN0b3IoZSA+IDAgPyBzIC8gMCA6IDApO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICBDdG9yLnJvdW5kaW5nID0geC5zID0gMTtcbiAgayA9IE1hdGgubWluKDEyLCAoZSArIFwiXCIpLmxlbmd0aCk7XG4gIHIgPSBuYXR1cmFsRXhwb25lbnRpYWwoeS50aW1lcyhuYXR1cmFsTG9nYXJpdGhtKHgsIHByICsgaykpLCBwcik7XG4gIGlmIChyLmQpIHtcbiAgICByID0gZmluYWxpc2UociwgcHIgKyA1LCAxKTtcbiAgICBpZiAoY2hlY2tSb3VuZGluZ0RpZ2l0cyhyLmQsIHByLCBybSkpIHtcbiAgICAgIGUgPSBwciArIDEwO1xuICAgICAgciA9IGZpbmFsaXNlKG5hdHVyYWxFeHBvbmVudGlhbCh5LnRpbWVzKG5hdHVyYWxMb2dhcml0aG0oeCwgZSArIGspKSwgZSksIGUgKyA1LCAxKTtcbiAgICAgIGlmICgrZGlnaXRzVG9TdHJpbmcoci5kKS5zbGljZShwciArIDEsIHByICsgMTUpICsgMSA9PSAxZTE0KSB7XG4gICAgICAgIHIgPSBmaW5hbGlzZShyLCBwciArIDEsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByLnMgPSBzO1xuICBleHRlcm5hbCA9IHRydWU7XG4gIEN0b3Iucm91bmRpbmcgPSBybTtcbiAgcmV0dXJuIGZpbmFsaXNlKHIsIHByLCBybSk7XG59O1xuUC50b1ByZWNpc2lvbiA9IGZ1bmN0aW9uKHNkLCBybSkge1xuICB2YXIgc3RyLCB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmIChzZCA9PT0gdm9pZCAwKSB7XG4gICAgc3RyID0gZmluaXRlVG9TdHJpbmcoeCwgeC5lIDw9IEN0b3IudG9FeHBOZWcgfHwgeC5lID49IEN0b3IudG9FeHBQb3MpO1xuICB9IGVsc2Uge1xuICAgIGNoZWNrSW50MzIoc2QsIDEsIE1BWF9ESUdJVFMpO1xuICAgIGlmIChybSA9PT0gdm9pZCAwKVxuICAgICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICAgIGVsc2VcbiAgICAgIGNoZWNrSW50MzIocm0sIDAsIDgpO1xuICAgIHggPSBmaW5hbGlzZShuZXcgQ3Rvcih4KSwgc2QsIHJtKTtcbiAgICBzdHIgPSBmaW5pdGVUb1N0cmluZyh4LCBzZCA8PSB4LmUgfHwgeC5lIDw9IEN0b3IudG9FeHBOZWcsIHNkKTtcbiAgfVxuICByZXR1cm4geC5pc05lZygpICYmICF4LmlzWmVybygpID8gXCItXCIgKyBzdHIgOiBzdHI7XG59O1xuUC50b1NpZ25pZmljYW50RGlnaXRzID0gUC50b1NEID0gZnVuY3Rpb24oc2QsIHJtKSB7XG4gIHZhciB4ID0gdGhpcywgQ3RvciA9IHguY29uc3RydWN0b3I7XG4gIGlmIChzZCA9PT0gdm9pZCAwKSB7XG4gICAgc2QgPSBDdG9yLnByZWNpc2lvbjtcbiAgICBybSA9IEN0b3Iucm91bmRpbmc7XG4gIH0gZWxzZSB7XG4gICAgY2hlY2tJbnQzMihzZCwgMSwgTUFYX0RJR0lUUyk7XG4gICAgaWYgKHJtID09PSB2b2lkIDApXG4gICAgICBybSA9IEN0b3Iucm91bmRpbmc7XG4gICAgZWxzZVxuICAgICAgY2hlY2tJbnQzMihybSwgMCwgOCk7XG4gIH1cbiAgcmV0dXJuIGZpbmFsaXNlKG5ldyBDdG9yKHgpLCBzZCwgcm0pO1xufTtcblAudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtcbiAgdmFyIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3Rvciwgc3RyID0gZmluaXRlVG9TdHJpbmcoeCwgeC5lIDw9IEN0b3IudG9FeHBOZWcgfHwgeC5lID49IEN0b3IudG9FeHBQb3MpO1xuICByZXR1cm4geC5pc05lZygpICYmICF4LmlzWmVybygpID8gXCItXCIgKyBzdHIgOiBzdHI7XG59O1xuUC50cnVuY2F0ZWQgPSBQLnRydW5jID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBmaW5hbGlzZShuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKSwgdGhpcy5lICsgMSwgMSk7XG59O1xuUC52YWx1ZU9mID0gUC50b0pTT04gPSBmdW5jdGlvbigpIHtcbiAgdmFyIHggPSB0aGlzLCBDdG9yID0geC5jb25zdHJ1Y3Rvciwgc3RyID0gZmluaXRlVG9TdHJpbmcoeCwgeC5lIDw9IEN0b3IudG9FeHBOZWcgfHwgeC5lID49IEN0b3IudG9FeHBQb3MpO1xuICByZXR1cm4geC5pc05lZygpID8gXCItXCIgKyBzdHIgOiBzdHI7XG59O1xuZnVuY3Rpb24gZGlnaXRzVG9TdHJpbmcoZCkge1xuICB2YXIgaSwgaywgd3MsIGluZGV4T2ZMYXN0V29yZCA9IGQubGVuZ3RoIC0gMSwgc3RyID0gXCJcIiwgdyA9IGRbMF07XG4gIGlmIChpbmRleE9mTGFzdFdvcmQgPiAwKSB7XG4gICAgc3RyICs9IHc7XG4gICAgZm9yIChpID0gMTsgaSA8IGluZGV4T2ZMYXN0V29yZDsgaSsrKSB7XG4gICAgICB3cyA9IGRbaV0gKyBcIlwiO1xuICAgICAgayA9IExPR19CQVNFIC0gd3MubGVuZ3RoO1xuICAgICAgaWYgKGspXG4gICAgICAgIHN0ciArPSBnZXRaZXJvU3RyaW5nKGspO1xuICAgICAgc3RyICs9IHdzO1xuICAgIH1cbiAgICB3ID0gZFtpXTtcbiAgICB3cyA9IHcgKyBcIlwiO1xuICAgIGsgPSBMT0dfQkFTRSAtIHdzLmxlbmd0aDtcbiAgICBpZiAoaylcbiAgICAgIHN0ciArPSBnZXRaZXJvU3RyaW5nKGspO1xuICB9IGVsc2UgaWYgKHcgPT09IDApIHtcbiAgICByZXR1cm4gXCIwXCI7XG4gIH1cbiAgZm9yICg7IHcgJSAxMCA9PT0gMDsgKVxuICAgIHcgLz0gMTA7XG4gIHJldHVybiBzdHIgKyB3O1xufVxuZnVuY3Rpb24gY2hlY2tJbnQzMihpLCBtaW4yLCBtYXgyKSB7XG4gIGlmIChpICE9PSB+fmkgfHwgaSA8IG1pbjIgfHwgaSA+IG1heDIpIHtcbiAgICB0aHJvdyBFcnJvcihpbnZhbGlkQXJndW1lbnQgKyBpKTtcbiAgfVxufVxuZnVuY3Rpb24gY2hlY2tSb3VuZGluZ0RpZ2l0cyhkLCBpLCBybSwgcmVwZWF0aW5nKSB7XG4gIHZhciBkaSwgaywgciwgcmQ7XG4gIGZvciAoayA9IGRbMF07IGsgPj0gMTA7IGsgLz0gMTApXG4gICAgLS1pO1xuICBpZiAoLS1pIDwgMCkge1xuICAgIGkgKz0gTE9HX0JBU0U7XG4gICAgZGkgPSAwO1xuICB9IGVsc2Uge1xuICAgIGRpID0gTWF0aC5jZWlsKChpICsgMSkgLyBMT0dfQkFTRSk7XG4gICAgaSAlPSBMT0dfQkFTRTtcbiAgfVxuICBrID0gbWF0aHBvdygxMCwgTE9HX0JBU0UgLSBpKTtcbiAgcmQgPSBkW2RpXSAlIGsgfCAwO1xuICBpZiAocmVwZWF0aW5nID09IG51bGwpIHtcbiAgICBpZiAoaSA8IDMpIHtcbiAgICAgIGlmIChpID09IDApXG4gICAgICAgIHJkID0gcmQgLyAxMDAgfCAwO1xuICAgICAgZWxzZSBpZiAoaSA9PSAxKVxuICAgICAgICByZCA9IHJkIC8gMTAgfCAwO1xuICAgICAgciA9IHJtIDwgNCAmJiByZCA9PSA5OTk5OSB8fCBybSA+IDMgJiYgcmQgPT0gNDk5OTkgfHwgcmQgPT0gNWU0IHx8IHJkID09IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHIgPSAocm0gPCA0ICYmIHJkICsgMSA9PSBrIHx8IHJtID4gMyAmJiByZCArIDEgPT0gayAvIDIpICYmIChkW2RpICsgMV0gLyBrIC8gMTAwIHwgMCkgPT0gbWF0aHBvdygxMCwgaSAtIDIpIC0gMSB8fCAocmQgPT0gayAvIDIgfHwgcmQgPT0gMCkgJiYgKGRbZGkgKyAxXSAvIGsgLyAxMDAgfCAwKSA9PSAwO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaSA8IDQpIHtcbiAgICAgIGlmIChpID09IDApXG4gICAgICAgIHJkID0gcmQgLyAxZTMgfCAwO1xuICAgICAgZWxzZSBpZiAoaSA9PSAxKVxuICAgICAgICByZCA9IHJkIC8gMTAwIHwgMDtcbiAgICAgIGVsc2UgaWYgKGkgPT0gMilcbiAgICAgICAgcmQgPSByZCAvIDEwIHwgMDtcbiAgICAgIHIgPSAocmVwZWF0aW5nIHx8IHJtIDwgNCkgJiYgcmQgPT0gOTk5OSB8fCAhcmVwZWF0aW5nICYmIHJtID4gMyAmJiByZCA9PSA0OTk5O1xuICAgIH0gZWxzZSB7XG4gICAgICByID0gKChyZXBlYXRpbmcgfHwgcm0gPCA0KSAmJiByZCArIDEgPT0gayB8fCAhcmVwZWF0aW5nICYmIHJtID4gMyAmJiByZCArIDEgPT0gayAvIDIpICYmIChkW2RpICsgMV0gLyBrIC8gMWUzIHwgMCkgPT0gbWF0aHBvdygxMCwgaSAtIDMpIC0gMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHI7XG59XG5mdW5jdGlvbiBjb252ZXJ0QmFzZShzdHIsIGJhc2VJbiwgYmFzZU91dCkge1xuICB2YXIgaiwgYXJyID0gWzBdLCBhcnJMLCBpID0gMCwgc3RyTCA9IHN0ci5sZW5ndGg7XG4gIGZvciAoOyBpIDwgc3RyTDsgKSB7XG4gICAgZm9yIChhcnJMID0gYXJyLmxlbmd0aDsgYXJyTC0tOyApXG4gICAgICBhcnJbYXJyTF0gKj0gYmFzZUluO1xuICAgIGFyclswXSArPSBOVU1FUkFMUy5pbmRleE9mKHN0ci5jaGFyQXQoaSsrKSk7XG4gICAgZm9yIChqID0gMDsgaiA8IGFyci5sZW5ndGg7IGorKykge1xuICAgICAgaWYgKGFycltqXSA+IGJhc2VPdXQgLSAxKSB7XG4gICAgICAgIGlmIChhcnJbaiArIDFdID09PSB2b2lkIDApXG4gICAgICAgICAgYXJyW2ogKyAxXSA9IDA7XG4gICAgICAgIGFycltqICsgMV0gKz0gYXJyW2pdIC8gYmFzZU91dCB8IDA7XG4gICAgICAgIGFycltqXSAlPSBiYXNlT3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gYXJyLnJldmVyc2UoKTtcbn1cbmZ1bmN0aW9uIGNvc2luZShDdG9yLCB4KSB7XG4gIHZhciBrLCBsZW4sIHk7XG4gIGlmICh4LmlzWmVybygpKVxuICAgIHJldHVybiB4O1xuICBsZW4gPSB4LmQubGVuZ3RoO1xuICBpZiAobGVuIDwgMzIpIHtcbiAgICBrID0gTWF0aC5jZWlsKGxlbiAvIDMpO1xuICAgIHkgPSAoMSAvIHRpbnlQb3coNCwgaykpLnRvU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgayA9IDE2O1xuICAgIHkgPSBcIjIuMzI4MzA2NDM2NTM4Njk2Mjg5MDYyNWUtMTBcIjtcbiAgfVxuICBDdG9yLnByZWNpc2lvbiArPSBrO1xuICB4ID0gdGF5bG9yU2VyaWVzKEN0b3IsIDEsIHgudGltZXMoeSksIG5ldyBDdG9yKDEpKTtcbiAgZm9yICh2YXIgaSA9IGs7IGktLTsgKSB7XG4gICAgdmFyIGNvczJ4ID0geC50aW1lcyh4KTtcbiAgICB4ID0gY29zMngudGltZXMoY29zMngpLm1pbnVzKGNvczJ4KS50aW1lcyg4KS5wbHVzKDEpO1xuICB9XG4gIEN0b3IucHJlY2lzaW9uIC09IGs7XG4gIHJldHVybiB4O1xufVxudmFyIGRpdmlkZSA9IGZ1bmN0aW9uKCkge1xuICBmdW5jdGlvbiBtdWx0aXBseUludGVnZXIoeCwgaywgYmFzZSkge1xuICAgIHZhciB0ZW1wLCBjYXJyeSA9IDAsIGkgPSB4Lmxlbmd0aDtcbiAgICBmb3IgKHggPSB4LnNsaWNlKCk7IGktLTsgKSB7XG4gICAgICB0ZW1wID0geFtpXSAqIGsgKyBjYXJyeTtcbiAgICAgIHhbaV0gPSB0ZW1wICUgYmFzZSB8IDA7XG4gICAgICBjYXJyeSA9IHRlbXAgLyBiYXNlIHwgMDtcbiAgICB9XG4gICAgaWYgKGNhcnJ5KVxuICAgICAgeC51bnNoaWZ0KGNhcnJ5KTtcbiAgICByZXR1cm4geDtcbiAgfVxuICBmdW5jdGlvbiBjb21wYXJlKGEsIGIsIGFMLCBiTCkge1xuICAgIHZhciBpLCByO1xuICAgIGlmIChhTCAhPSBiTCkge1xuICAgICAgciA9IGFMID4gYkwgPyAxIDogLTE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoaSA9IHIgPSAwOyBpIDwgYUw7IGkrKykge1xuICAgICAgICBpZiAoYVtpXSAhPSBiW2ldKSB7XG4gICAgICAgICAgciA9IGFbaV0gPiBiW2ldID8gMSA6IC0xO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG4gIGZ1bmN0aW9uIHN1YnRyYWN0MihhLCBiLCBhTCwgYmFzZSkge1xuICAgIHZhciBpID0gMDtcbiAgICBmb3IgKDsgYUwtLTsgKSB7XG4gICAgICBhW2FMXSAtPSBpO1xuICAgICAgaSA9IGFbYUxdIDwgYlthTF0gPyAxIDogMDtcbiAgICAgIGFbYUxdID0gaSAqIGJhc2UgKyBhW2FMXSAtIGJbYUxdO1xuICAgIH1cbiAgICBmb3IgKDsgIWFbMF0gJiYgYS5sZW5ndGggPiAxOyApXG4gICAgICBhLnNoaWZ0KCk7XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uKHgsIHksIHByLCBybSwgZHAsIGJhc2UpIHtcbiAgICB2YXIgY21wLCBlLCBpLCBrLCBsb2dCYXNlLCBtb3JlLCBwcm9kLCBwcm9kTCwgcSwgcWQsIHJlbSwgcmVtTCwgcmVtMCwgc2QsIHQsIHhpLCB4TCwgeWQwLCB5TCwgeXosIEN0b3IgPSB4LmNvbnN0cnVjdG9yLCBzaWduMiA9IHgucyA9PSB5LnMgPyAxIDogLTEsIHhkID0geC5kLCB5ZCA9IHkuZDtcbiAgICBpZiAoIXhkIHx8ICF4ZFswXSB8fCAheWQgfHwgIXlkWzBdKSB7XG4gICAgICByZXR1cm4gbmV3IEN0b3IoXG4gICAgICAgIC8vIFJldHVybiBOYU4gaWYgZWl0aGVyIE5hTiwgb3IgYm90aCBJbmZpbml0eSBvciAwLlxuICAgICAgICAheC5zIHx8ICF5LnMgfHwgKHhkID8geWQgJiYgeGRbMF0gPT0geWRbMF0gOiAheWQpID8gTmFOIDogKFxuICAgICAgICAgIC8vIFJldHVybiBcdTAwQjEwIGlmIHggaXMgMCBvciB5IGlzIFx1MDBCMUluZmluaXR5LCBvciByZXR1cm4gXHUwMEIxSW5maW5pdHkgYXMgeSBpcyAwLlxuICAgICAgICAgIHhkICYmIHhkWzBdID09IDAgfHwgIXlkID8gc2lnbjIgKiAwIDogc2lnbjIgLyAwXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChiYXNlKSB7XG4gICAgICBsb2dCYXNlID0gMTtcbiAgICAgIGUgPSB4LmUgLSB5LmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhc2UgPSBCQVNFO1xuICAgICAgbG9nQmFzZSA9IExPR19CQVNFO1xuICAgICAgZSA9IG1hdGhmbG9vcih4LmUgLyBsb2dCYXNlKSAtIG1hdGhmbG9vcih5LmUgLyBsb2dCYXNlKTtcbiAgICB9XG4gICAgeUwgPSB5ZC5sZW5ndGg7XG4gICAgeEwgPSB4ZC5sZW5ndGg7XG4gICAgcSA9IG5ldyBDdG9yKHNpZ24yKTtcbiAgICBxZCA9IHEuZCA9IFtdO1xuICAgIGZvciAoaSA9IDA7IHlkW2ldID09ICh4ZFtpXSB8fCAwKTsgaSsrKVxuICAgICAgO1xuICAgIGlmICh5ZFtpXSA+ICh4ZFtpXSB8fCAwKSlcbiAgICAgIGUtLTtcbiAgICBpZiAocHIgPT0gbnVsbCkge1xuICAgICAgc2QgPSBwciA9IEN0b3IucHJlY2lzaW9uO1xuICAgICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICAgIH0gZWxzZSBpZiAoZHApIHtcbiAgICAgIHNkID0gcHIgKyAoeC5lIC0geS5lKSArIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNkID0gcHI7XG4gICAgfVxuICAgIGlmIChzZCA8IDApIHtcbiAgICAgIHFkLnB1c2goMSk7XG4gICAgICBtb3JlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2QgPSBzZCAvIGxvZ0Jhc2UgKyAyIHwgMDtcbiAgICAgIGkgPSAwO1xuICAgICAgaWYgKHlMID09IDEpIHtcbiAgICAgICAgayA9IDA7XG4gICAgICAgIHlkID0geWRbMF07XG4gICAgICAgIHNkKys7XG4gICAgICAgIGZvciAoOyAoaSA8IHhMIHx8IGspICYmIHNkLS07IGkrKykge1xuICAgICAgICAgIHQgPSBrICogYmFzZSArICh4ZFtpXSB8fCAwKTtcbiAgICAgICAgICBxZFtpXSA9IHQgLyB5ZCB8IDA7XG4gICAgICAgICAgayA9IHQgJSB5ZCB8IDA7XG4gICAgICAgIH1cbiAgICAgICAgbW9yZSA9IGsgfHwgaSA8IHhMO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgayA9IGJhc2UgLyAoeWRbMF0gKyAxKSB8IDA7XG4gICAgICAgIGlmIChrID4gMSkge1xuICAgICAgICAgIHlkID0gbXVsdGlwbHlJbnRlZ2VyKHlkLCBrLCBiYXNlKTtcbiAgICAgICAgICB4ZCA9IG11bHRpcGx5SW50ZWdlcih4ZCwgaywgYmFzZSk7XG4gICAgICAgICAgeUwgPSB5ZC5sZW5ndGg7XG4gICAgICAgICAgeEwgPSB4ZC5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgeGkgPSB5TDtcbiAgICAgICAgcmVtID0geGQuc2xpY2UoMCwgeUwpO1xuICAgICAgICByZW1MID0gcmVtLmxlbmd0aDtcbiAgICAgICAgZm9yICg7IHJlbUwgPCB5TDsgKVxuICAgICAgICAgIHJlbVtyZW1MKytdID0gMDtcbiAgICAgICAgeXogPSB5ZC5zbGljZSgpO1xuICAgICAgICB5ei51bnNoaWZ0KDApO1xuICAgICAgICB5ZDAgPSB5ZFswXTtcbiAgICAgICAgaWYgKHlkWzFdID49IGJhc2UgLyAyKVxuICAgICAgICAgICsreWQwO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgayA9IDA7XG4gICAgICAgICAgY21wID0gY29tcGFyZSh5ZCwgcmVtLCB5TCwgcmVtTCk7XG4gICAgICAgICAgaWYgKGNtcCA8IDApIHtcbiAgICAgICAgICAgIHJlbTAgPSByZW1bMF07XG4gICAgICAgICAgICBpZiAoeUwgIT0gcmVtTClcbiAgICAgICAgICAgICAgcmVtMCA9IHJlbTAgKiBiYXNlICsgKHJlbVsxXSB8fCAwKTtcbiAgICAgICAgICAgIGsgPSByZW0wIC8geWQwIHwgMDtcbiAgICAgICAgICAgIGlmIChrID4gMSkge1xuICAgICAgICAgICAgICBpZiAoayA+PSBiYXNlKVxuICAgICAgICAgICAgICAgIGsgPSBiYXNlIC0gMTtcbiAgICAgICAgICAgICAgcHJvZCA9IG11bHRpcGx5SW50ZWdlcih5ZCwgaywgYmFzZSk7XG4gICAgICAgICAgICAgIHByb2RMID0gcHJvZC5sZW5ndGg7XG4gICAgICAgICAgICAgIHJlbUwgPSByZW0ubGVuZ3RoO1xuICAgICAgICAgICAgICBjbXAgPSBjb21wYXJlKHByb2QsIHJlbSwgcHJvZEwsIHJlbUwpO1xuICAgICAgICAgICAgICBpZiAoY21wID09IDEpIHtcbiAgICAgICAgICAgICAgICBrLS07XG4gICAgICAgICAgICAgICAgc3VidHJhY3QyKHByb2QsIHlMIDwgcHJvZEwgPyB5eiA6IHlkLCBwcm9kTCwgYmFzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChrID09IDApXG4gICAgICAgICAgICAgICAgY21wID0gayA9IDE7XG4gICAgICAgICAgICAgIHByb2QgPSB5ZC5zbGljZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvZEwgPSBwcm9kLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChwcm9kTCA8IHJlbUwpXG4gICAgICAgICAgICAgIHByb2QudW5zaGlmdCgwKTtcbiAgICAgICAgICAgIHN1YnRyYWN0MihyZW0sIHByb2QsIHJlbUwsIGJhc2UpO1xuICAgICAgICAgICAgaWYgKGNtcCA9PSAtMSkge1xuICAgICAgICAgICAgICByZW1MID0gcmVtLmxlbmd0aDtcbiAgICAgICAgICAgICAgY21wID0gY29tcGFyZSh5ZCwgcmVtLCB5TCwgcmVtTCk7XG4gICAgICAgICAgICAgIGlmIChjbXAgPCAxKSB7XG4gICAgICAgICAgICAgICAgaysrO1xuICAgICAgICAgICAgICAgIHN1YnRyYWN0MihyZW0sIHlMIDwgcmVtTCA/IHl6IDogeWQsIHJlbUwsIGJhc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZW1MID0gcmVtLmxlbmd0aDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNtcCA9PT0gMCkge1xuICAgICAgICAgICAgaysrO1xuICAgICAgICAgICAgcmVtID0gWzBdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBxZFtpKytdID0gaztcbiAgICAgICAgICBpZiAoY21wICYmIHJlbVswXSkge1xuICAgICAgICAgICAgcmVtW3JlbUwrK10gPSB4ZFt4aV0gfHwgMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVtID0gW3hkW3hpXV07XG4gICAgICAgICAgICByZW1MID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gd2hpbGUgKCh4aSsrIDwgeEwgfHwgcmVtWzBdICE9PSB2b2lkIDApICYmIHNkLS0pO1xuICAgICAgICBtb3JlID0gcmVtWzBdICE9PSB2b2lkIDA7XG4gICAgICB9XG4gICAgICBpZiAoIXFkWzBdKVxuICAgICAgICBxZC5zaGlmdCgpO1xuICAgIH1cbiAgICBpZiAobG9nQmFzZSA9PSAxKSB7XG4gICAgICBxLmUgPSBlO1xuICAgICAgaW5leGFjdCA9IG1vcmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoaSA9IDEsIGsgPSBxZFswXTsgayA+PSAxMDsgayAvPSAxMClcbiAgICAgICAgaSsrO1xuICAgICAgcS5lID0gaSArIGUgKiBsb2dCYXNlIC0gMTtcbiAgICAgIGZpbmFsaXNlKHEsIGRwID8gcHIgKyBxLmUgKyAxIDogcHIsIHJtLCBtb3JlKTtcbiAgICB9XG4gICAgcmV0dXJuIHE7XG4gIH07XG59KCk7XG5mdW5jdGlvbiBmaW5hbGlzZSh4LCBzZCwgcm0sIGlzVHJ1bmNhdGVkKSB7XG4gIHZhciBkaWdpdHMsIGksIGosIGssIHJkLCByb3VuZFVwLCB3LCB4ZCwgeGRpLCBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgb3V0OlxuICAgIGlmIChzZCAhPSBudWxsKSB7XG4gICAgICB4ZCA9IHguZDtcbiAgICAgIGlmICgheGQpXG4gICAgICAgIHJldHVybiB4O1xuICAgICAgZm9yIChkaWdpdHMgPSAxLCBrID0geGRbMF07IGsgPj0gMTA7IGsgLz0gMTApXG4gICAgICAgIGRpZ2l0cysrO1xuICAgICAgaSA9IHNkIC0gZGlnaXRzO1xuICAgICAgaWYgKGkgPCAwKSB7XG4gICAgICAgIGkgKz0gTE9HX0JBU0U7XG4gICAgICAgIGogPSBzZDtcbiAgICAgICAgdyA9IHhkW3hkaSA9IDBdO1xuICAgICAgICByZCA9IHcgLyBtYXRocG93KDEwLCBkaWdpdHMgLSBqIC0gMSkgJSAxMCB8IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB4ZGkgPSBNYXRoLmNlaWwoKGkgKyAxKSAvIExPR19CQVNFKTtcbiAgICAgICAgayA9IHhkLmxlbmd0aDtcbiAgICAgICAgaWYgKHhkaSA+PSBrKSB7XG4gICAgICAgICAgaWYgKGlzVHJ1bmNhdGVkKSB7XG4gICAgICAgICAgICBmb3IgKDsgaysrIDw9IHhkaTsgKVxuICAgICAgICAgICAgICB4ZC5wdXNoKDApO1xuICAgICAgICAgICAgdyA9IHJkID0gMDtcbiAgICAgICAgICAgIGRpZ2l0cyA9IDE7XG4gICAgICAgICAgICBpICU9IExPR19CQVNFO1xuICAgICAgICAgICAgaiA9IGkgLSBMT0dfQkFTRSArIDE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJyZWFrIG91dDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdyA9IGsgPSB4ZFt4ZGldO1xuICAgICAgICAgIGZvciAoZGlnaXRzID0gMTsgayA+PSAxMDsgayAvPSAxMClcbiAgICAgICAgICAgIGRpZ2l0cysrO1xuICAgICAgICAgIGkgJT0gTE9HX0JBU0U7XG4gICAgICAgICAgaiA9IGkgLSBMT0dfQkFTRSArIGRpZ2l0cztcbiAgICAgICAgICByZCA9IGogPCAwID8gMCA6IHcgLyBtYXRocG93KDEwLCBkaWdpdHMgLSBqIC0gMSkgJSAxMCB8IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlzVHJ1bmNhdGVkID0gaXNUcnVuY2F0ZWQgfHwgc2QgPCAwIHx8IHhkW3hkaSArIDFdICE9PSB2b2lkIDAgfHwgKGogPCAwID8gdyA6IHcgJSBtYXRocG93KDEwLCBkaWdpdHMgLSBqIC0gMSkpO1xuICAgICAgcm91bmRVcCA9IHJtIDwgNCA/IChyZCB8fCBpc1RydW5jYXRlZCkgJiYgKHJtID09IDAgfHwgcm0gPT0gKHgucyA8IDAgPyAzIDogMikpIDogcmQgPiA1IHx8IHJkID09IDUgJiYgKHJtID09IDQgfHwgaXNUcnVuY2F0ZWQgfHwgcm0gPT0gNiAmJiAvLyBDaGVjayB3aGV0aGVyIHRoZSBkaWdpdCB0byB0aGUgbGVmdCBvZiB0aGUgcm91bmRpbmcgZGlnaXQgaXMgb2RkLlxuICAgICAgKGkgPiAwID8gaiA+IDAgPyB3IC8gbWF0aHBvdygxMCwgZGlnaXRzIC0gaikgOiAwIDogeGRbeGRpIC0gMV0pICUgMTAgJiAxIHx8IHJtID09ICh4LnMgPCAwID8gOCA6IDcpKTtcbiAgICAgIGlmIChzZCA8IDEgfHwgIXhkWzBdKSB7XG4gICAgICAgIHhkLmxlbmd0aCA9IDA7XG4gICAgICAgIGlmIChyb3VuZFVwKSB7XG4gICAgICAgICAgc2QgLT0geC5lICsgMTtcbiAgICAgICAgICB4ZFswXSA9IG1hdGhwb3coMTAsIChMT0dfQkFTRSAtIHNkICUgTE9HX0JBU0UpICUgTE9HX0JBU0UpO1xuICAgICAgICAgIHguZSA9IC1zZCB8fCAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHhkWzBdID0geC5lID0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geDtcbiAgICAgIH1cbiAgICAgIGlmIChpID09IDApIHtcbiAgICAgICAgeGQubGVuZ3RoID0geGRpO1xuICAgICAgICBrID0gMTtcbiAgICAgICAgeGRpLS07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB4ZC5sZW5ndGggPSB4ZGkgKyAxO1xuICAgICAgICBrID0gbWF0aHBvdygxMCwgTE9HX0JBU0UgLSBpKTtcbiAgICAgICAgeGRbeGRpXSA9IGogPiAwID8gKHcgLyBtYXRocG93KDEwLCBkaWdpdHMgLSBqKSAlIG1hdGhwb3coMTAsIGopIHwgMCkgKiBrIDogMDtcbiAgICAgIH1cbiAgICAgIGlmIChyb3VuZFVwKSB7XG4gICAgICAgIGZvciAoOyA7ICkge1xuICAgICAgICAgIGlmICh4ZGkgPT0gMCkge1xuICAgICAgICAgICAgZm9yIChpID0gMSwgaiA9IHhkWzBdOyBqID49IDEwOyBqIC89IDEwKVxuICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICBqID0geGRbMF0gKz0gaztcbiAgICAgICAgICAgIGZvciAoayA9IDE7IGogPj0gMTA7IGogLz0gMTApXG4gICAgICAgICAgICAgIGsrKztcbiAgICAgICAgICAgIGlmIChpICE9IGspIHtcbiAgICAgICAgICAgICAgeC5lKys7XG4gICAgICAgICAgICAgIGlmICh4ZFswXSA9PSBCQVNFKVxuICAgICAgICAgICAgICAgIHhkWzBdID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB4ZFt4ZGldICs9IGs7XG4gICAgICAgICAgICBpZiAoeGRbeGRpXSAhPSBCQVNFKVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIHhkW3hkaS0tXSA9IDA7XG4gICAgICAgICAgICBrID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoaSA9IHhkLmxlbmd0aDsgeGRbLS1pXSA9PT0gMDsgKVxuICAgICAgICB4ZC5wb3AoKTtcbiAgICB9XG4gIGlmIChleHRlcm5hbCkge1xuICAgIGlmICh4LmUgPiBDdG9yLm1heEUpIHtcbiAgICAgIHguZCA9IG51bGw7XG4gICAgICB4LmUgPSBOYU47XG4gICAgfSBlbHNlIGlmICh4LmUgPCBDdG9yLm1pbkUpIHtcbiAgICAgIHguZSA9IDA7XG4gICAgICB4LmQgPSBbMF07XG4gICAgfVxuICB9XG4gIHJldHVybiB4O1xufVxuZnVuY3Rpb24gZmluaXRlVG9TdHJpbmcoeCwgaXNFeHAsIHNkKSB7XG4gIGlmICgheC5pc0Zpbml0ZSgpKVxuICAgIHJldHVybiBub25GaW5pdGVUb1N0cmluZyh4KTtcbiAgdmFyIGssIGUgPSB4LmUsIHN0ciA9IGRpZ2l0c1RvU3RyaW5nKHguZCksIGxlbiA9IHN0ci5sZW5ndGg7XG4gIGlmIChpc0V4cCkge1xuICAgIGlmIChzZCAmJiAoayA9IHNkIC0gbGVuKSA+IDApIHtcbiAgICAgIHN0ciA9IHN0ci5jaGFyQXQoMCkgKyBcIi5cIiArIHN0ci5zbGljZSgxKSArIGdldFplcm9TdHJpbmcoayk7XG4gICAgfSBlbHNlIGlmIChsZW4gPiAxKSB7XG4gICAgICBzdHIgPSBzdHIuY2hhckF0KDApICsgXCIuXCIgKyBzdHIuc2xpY2UoMSk7XG4gICAgfVxuICAgIHN0ciA9IHN0ciArICh4LmUgPCAwID8gXCJlXCIgOiBcImUrXCIpICsgeC5lO1xuICB9IGVsc2UgaWYgKGUgPCAwKSB7XG4gICAgc3RyID0gXCIwLlwiICsgZ2V0WmVyb1N0cmluZygtZSAtIDEpICsgc3RyO1xuICAgIGlmIChzZCAmJiAoayA9IHNkIC0gbGVuKSA+IDApXG4gICAgICBzdHIgKz0gZ2V0WmVyb1N0cmluZyhrKTtcbiAgfSBlbHNlIGlmIChlID49IGxlbikge1xuICAgIHN0ciArPSBnZXRaZXJvU3RyaW5nKGUgKyAxIC0gbGVuKTtcbiAgICBpZiAoc2QgJiYgKGsgPSBzZCAtIGUgLSAxKSA+IDApXG4gICAgICBzdHIgPSBzdHIgKyBcIi5cIiArIGdldFplcm9TdHJpbmcoayk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKChrID0gZSArIDEpIDwgbGVuKVxuICAgICAgc3RyID0gc3RyLnNsaWNlKDAsIGspICsgXCIuXCIgKyBzdHIuc2xpY2Uoayk7XG4gICAgaWYgKHNkICYmIChrID0gc2QgLSBsZW4pID4gMCkge1xuICAgICAgaWYgKGUgKyAxID09PSBsZW4pXG4gICAgICAgIHN0ciArPSBcIi5cIjtcbiAgICAgIHN0ciArPSBnZXRaZXJvU3RyaW5nKGspO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RyO1xufVxuZnVuY3Rpb24gZ2V0QmFzZTEwRXhwb25lbnQoZGlnaXRzLCBlKSB7XG4gIHZhciB3ID0gZGlnaXRzWzBdO1xuICBmb3IgKGUgKj0gTE9HX0JBU0U7IHcgPj0gMTA7IHcgLz0gMTApXG4gICAgZSsrO1xuICByZXR1cm4gZTtcbn1cbmZ1bmN0aW9uIGdldExuMTAoQ3Rvciwgc2QsIHByKSB7XG4gIGlmIChzZCA+IExOMTBfUFJFQ0lTSU9OKSB7XG4gICAgZXh0ZXJuYWwgPSB0cnVlO1xuICAgIGlmIChwcilcbiAgICAgIEN0b3IucHJlY2lzaW9uID0gcHI7XG4gICAgdGhyb3cgRXJyb3IocHJlY2lzaW9uTGltaXRFeGNlZWRlZCk7XG4gIH1cbiAgcmV0dXJuIGZpbmFsaXNlKG5ldyBDdG9yKExOMTApLCBzZCwgMSwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBnZXRQaShDdG9yLCBzZCwgcm0pIHtcbiAgaWYgKHNkID4gUElfUFJFQ0lTSU9OKVxuICAgIHRocm93IEVycm9yKHByZWNpc2lvbkxpbWl0RXhjZWVkZWQpO1xuICByZXR1cm4gZmluYWxpc2UobmV3IEN0b3IoUEkpLCBzZCwgcm0sIHRydWUpO1xufVxuZnVuY3Rpb24gZ2V0UHJlY2lzaW9uKGRpZ2l0cykge1xuICB2YXIgdyA9IGRpZ2l0cy5sZW5ndGggLSAxLCBsZW4gPSB3ICogTE9HX0JBU0UgKyAxO1xuICB3ID0gZGlnaXRzW3ddO1xuICBpZiAodykge1xuICAgIGZvciAoOyB3ICUgMTAgPT0gMDsgdyAvPSAxMClcbiAgICAgIGxlbi0tO1xuICAgIGZvciAodyA9IGRpZ2l0c1swXTsgdyA+PSAxMDsgdyAvPSAxMClcbiAgICAgIGxlbisrO1xuICB9XG4gIHJldHVybiBsZW47XG59XG5mdW5jdGlvbiBnZXRaZXJvU3RyaW5nKGspIHtcbiAgdmFyIHpzID0gXCJcIjtcbiAgZm9yICg7IGstLTsgKVxuICAgIHpzICs9IFwiMFwiO1xuICByZXR1cm4genM7XG59XG5mdW5jdGlvbiBpbnRQb3coQ3RvciwgeCwgbiwgcHIpIHtcbiAgdmFyIGlzVHJ1bmNhdGVkLCByID0gbmV3IEN0b3IoMSksIGsgPSBNYXRoLmNlaWwocHIgLyBMT0dfQkFTRSArIDQpO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICBmb3IgKDsgOyApIHtcbiAgICBpZiAobiAlIDIpIHtcbiAgICAgIHIgPSByLnRpbWVzKHgpO1xuICAgICAgaWYgKHRydW5jYXRlKHIuZCwgaykpXG4gICAgICAgIGlzVHJ1bmNhdGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgbiA9IG1hdGhmbG9vcihuIC8gMik7XG4gICAgaWYgKG4gPT09IDApIHtcbiAgICAgIG4gPSByLmQubGVuZ3RoIC0gMTtcbiAgICAgIGlmIChpc1RydW5jYXRlZCAmJiByLmRbbl0gPT09IDApXG4gICAgICAgICsrci5kW25dO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHggPSB4LnRpbWVzKHgpO1xuICAgIHRydW5jYXRlKHguZCwgayk7XG4gIH1cbiAgZXh0ZXJuYWwgPSB0cnVlO1xuICByZXR1cm4gcjtcbn1cbmZ1bmN0aW9uIGlzT2RkKG4pIHtcbiAgcmV0dXJuIG4uZFtuLmQubGVuZ3RoIC0gMV0gJiAxO1xufVxuZnVuY3Rpb24gbWF4T3JNaW4oQ3RvciwgYXJncywgbHRndCkge1xuICB2YXIgeSwgeCA9IG5ldyBDdG9yKGFyZ3NbMF0pLCBpID0gMDtcbiAgZm9yICg7ICsraSA8IGFyZ3MubGVuZ3RoOyApIHtcbiAgICB5ID0gbmV3IEN0b3IoYXJnc1tpXSk7XG4gICAgaWYgKCF5LnMpIHtcbiAgICAgIHggPSB5O1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIGlmICh4W2x0Z3RdKHkpKSB7XG4gICAgICB4ID0geTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHg7XG59XG5mdW5jdGlvbiBuYXR1cmFsRXhwb25lbnRpYWwoeCwgc2QpIHtcbiAgdmFyIGRlbm9taW5hdG9yLCBndWFyZCwgaiwgcG93Mywgc3VtMiwgdCwgd3ByLCByZXAgPSAwLCBpID0gMCwgayA9IDAsIEN0b3IgPSB4LmNvbnN0cnVjdG9yLCBybSA9IEN0b3Iucm91bmRpbmcsIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIGlmICgheC5kIHx8ICF4LmRbMF0gfHwgeC5lID4gMTcpIHtcbiAgICByZXR1cm4gbmV3IEN0b3IoeC5kID8gIXguZFswXSA/IDEgOiB4LnMgPCAwID8gMCA6IDEgLyAwIDogeC5zID8geC5zIDwgMCA/IDAgOiB4IDogMCAvIDApO1xuICB9XG4gIGlmIChzZCA9PSBudWxsKSB7XG4gICAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgICB3cHIgPSBwcjtcbiAgfSBlbHNlIHtcbiAgICB3cHIgPSBzZDtcbiAgfVxuICB0ID0gbmV3IEN0b3IoMC4wMzEyNSk7XG4gIHdoaWxlICh4LmUgPiAtMikge1xuICAgIHggPSB4LnRpbWVzKHQpO1xuICAgIGsgKz0gNTtcbiAgfVxuICBndWFyZCA9IE1hdGgubG9nKG1hdGhwb3coMiwgaykpIC8gTWF0aC5MTjEwICogMiArIDUgfCAwO1xuICB3cHIgKz0gZ3VhcmQ7XG4gIGRlbm9taW5hdG9yID0gcG93MyA9IHN1bTIgPSBuZXcgQ3RvcigxKTtcbiAgQ3Rvci5wcmVjaXNpb24gPSB3cHI7XG4gIGZvciAoOyA7ICkge1xuICAgIHBvdzMgPSBmaW5hbGlzZShwb3czLnRpbWVzKHgpLCB3cHIsIDEpO1xuICAgIGRlbm9taW5hdG9yID0gZGVub21pbmF0b3IudGltZXMoKytpKTtcbiAgICB0ID0gc3VtMi5wbHVzKGRpdmlkZShwb3czLCBkZW5vbWluYXRvciwgd3ByLCAxKSk7XG4gICAgaWYgKGRpZ2l0c1RvU3RyaW5nKHQuZCkuc2xpY2UoMCwgd3ByKSA9PT0gZGlnaXRzVG9TdHJpbmcoc3VtMi5kKS5zbGljZSgwLCB3cHIpKSB7XG4gICAgICBqID0gaztcbiAgICAgIHdoaWxlIChqLS0pXG4gICAgICAgIHN1bTIgPSBmaW5hbGlzZShzdW0yLnRpbWVzKHN1bTIpLCB3cHIsIDEpO1xuICAgICAgaWYgKHNkID09IG51bGwpIHtcbiAgICAgICAgaWYgKHJlcCA8IDMgJiYgY2hlY2tSb3VuZGluZ0RpZ2l0cyhzdW0yLmQsIHdwciAtIGd1YXJkLCBybSwgcmVwKSkge1xuICAgICAgICAgIEN0b3IucHJlY2lzaW9uID0gd3ByICs9IDEwO1xuICAgICAgICAgIGRlbm9taW5hdG9yID0gcG93MyA9IHQgPSBuZXcgQ3RvcigxKTtcbiAgICAgICAgICBpID0gMDtcbiAgICAgICAgICByZXArKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmluYWxpc2Uoc3VtMiwgQ3Rvci5wcmVjaXNpb24gPSBwciwgcm0sIGV4dGVybmFsID0gdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIEN0b3IucHJlY2lzaW9uID0gcHI7XG4gICAgICAgIHJldHVybiBzdW0yO1xuICAgICAgfVxuICAgIH1cbiAgICBzdW0yID0gdDtcbiAgfVxufVxuZnVuY3Rpb24gbmF0dXJhbExvZ2FyaXRobSh5LCBzZCkge1xuICB2YXIgYywgYzAsIGRlbm9taW5hdG9yLCBlLCBudW1lcmF0b3IsIHJlcCwgc3VtMiwgdCwgd3ByLCB4MSwgeDIsIG4gPSAxLCBndWFyZCA9IDEwLCB4ID0geSwgeGQgPSB4LmQsIEN0b3IgPSB4LmNvbnN0cnVjdG9yLCBybSA9IEN0b3Iucm91bmRpbmcsIHByID0gQ3Rvci5wcmVjaXNpb247XG4gIGlmICh4LnMgPCAwIHx8ICF4ZCB8fCAheGRbMF0gfHwgIXguZSAmJiB4ZFswXSA9PSAxICYmIHhkLmxlbmd0aCA9PSAxKSB7XG4gICAgcmV0dXJuIG5ldyBDdG9yKHhkICYmICF4ZFswXSA/IC0xIC8gMCA6IHgucyAhPSAxID8gTmFOIDogeGQgPyAwIDogeCk7XG4gIH1cbiAgaWYgKHNkID09IG51bGwpIHtcbiAgICBleHRlcm5hbCA9IGZhbHNlO1xuICAgIHdwciA9IHByO1xuICB9IGVsc2Uge1xuICAgIHdwciA9IHNkO1xuICB9XG4gIEN0b3IucHJlY2lzaW9uID0gd3ByICs9IGd1YXJkO1xuICBjID0gZGlnaXRzVG9TdHJpbmcoeGQpO1xuICBjMCA9IGMuY2hhckF0KDApO1xuICBpZiAoTWF0aC5hYnMoZSA9IHguZSkgPCAxNWUxNCkge1xuICAgIHdoaWxlIChjMCA8IDcgJiYgYzAgIT0gMSB8fCBjMCA9PSAxICYmIGMuY2hhckF0KDEpID4gMykge1xuICAgICAgeCA9IHgudGltZXMoeSk7XG4gICAgICBjID0gZGlnaXRzVG9TdHJpbmcoeC5kKTtcbiAgICAgIGMwID0gYy5jaGFyQXQoMCk7XG4gICAgICBuKys7XG4gICAgfVxuICAgIGUgPSB4LmU7XG4gICAgaWYgKGMwID4gMSkge1xuICAgICAgeCA9IG5ldyBDdG9yKFwiMC5cIiArIGMpO1xuICAgICAgZSsrO1xuICAgIH0gZWxzZSB7XG4gICAgICB4ID0gbmV3IEN0b3IoYzAgKyBcIi5cIiArIGMuc2xpY2UoMSkpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0ID0gZ2V0TG4xMChDdG9yLCB3cHIgKyAyLCBwcikudGltZXMoZSArIFwiXCIpO1xuICAgIHggPSBuYXR1cmFsTG9nYXJpdGhtKG5ldyBDdG9yKGMwICsgXCIuXCIgKyBjLnNsaWNlKDEpKSwgd3ByIC0gZ3VhcmQpLnBsdXModCk7XG4gICAgQ3Rvci5wcmVjaXNpb24gPSBwcjtcbiAgICByZXR1cm4gc2QgPT0gbnVsbCA/IGZpbmFsaXNlKHgsIHByLCBybSwgZXh0ZXJuYWwgPSB0cnVlKSA6IHg7XG4gIH1cbiAgeDEgPSB4O1xuICBzdW0yID0gbnVtZXJhdG9yID0geCA9IGRpdmlkZSh4Lm1pbnVzKDEpLCB4LnBsdXMoMSksIHdwciwgMSk7XG4gIHgyID0gZmluYWxpc2UoeC50aW1lcyh4KSwgd3ByLCAxKTtcbiAgZGVub21pbmF0b3IgPSAzO1xuICBmb3IgKDsgOyApIHtcbiAgICBudW1lcmF0b3IgPSBmaW5hbGlzZShudW1lcmF0b3IudGltZXMoeDIpLCB3cHIsIDEpO1xuICAgIHQgPSBzdW0yLnBsdXMoZGl2aWRlKG51bWVyYXRvciwgbmV3IEN0b3IoZGVub21pbmF0b3IpLCB3cHIsIDEpKTtcbiAgICBpZiAoZGlnaXRzVG9TdHJpbmcodC5kKS5zbGljZSgwLCB3cHIpID09PSBkaWdpdHNUb1N0cmluZyhzdW0yLmQpLnNsaWNlKDAsIHdwcikpIHtcbiAgICAgIHN1bTIgPSBzdW0yLnRpbWVzKDIpO1xuICAgICAgaWYgKGUgIT09IDApXG4gICAgICAgIHN1bTIgPSBzdW0yLnBsdXMoZ2V0TG4xMChDdG9yLCB3cHIgKyAyLCBwcikudGltZXMoZSArIFwiXCIpKTtcbiAgICAgIHN1bTIgPSBkaXZpZGUoc3VtMiwgbmV3IEN0b3IobiksIHdwciwgMSk7XG4gICAgICBpZiAoc2QgPT0gbnVsbCkge1xuICAgICAgICBpZiAoY2hlY2tSb3VuZGluZ0RpZ2l0cyhzdW0yLmQsIHdwciAtIGd1YXJkLCBybSwgcmVwKSkge1xuICAgICAgICAgIEN0b3IucHJlY2lzaW9uID0gd3ByICs9IGd1YXJkO1xuICAgICAgICAgIHQgPSBudW1lcmF0b3IgPSB4ID0gZGl2aWRlKHgxLm1pbnVzKDEpLCB4MS5wbHVzKDEpLCB3cHIsIDEpO1xuICAgICAgICAgIHgyID0gZmluYWxpc2UoeC50aW1lcyh4KSwgd3ByLCAxKTtcbiAgICAgICAgICBkZW5vbWluYXRvciA9IHJlcCA9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZpbmFsaXNlKHN1bTIsIEN0b3IucHJlY2lzaW9uID0gcHIsIHJtLCBleHRlcm5hbCA9IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBDdG9yLnByZWNpc2lvbiA9IHByO1xuICAgICAgICByZXR1cm4gc3VtMjtcbiAgICAgIH1cbiAgICB9XG4gICAgc3VtMiA9IHQ7XG4gICAgZGVub21pbmF0b3IgKz0gMjtcbiAgfVxufVxuZnVuY3Rpb24gbm9uRmluaXRlVG9TdHJpbmcoeCkge1xuICByZXR1cm4gU3RyaW5nKHgucyAqIHgucyAvIDApO1xufVxuZnVuY3Rpb24gcGFyc2VEZWNpbWFsKHgsIHN0cikge1xuICB2YXIgZSwgaSwgbGVuO1xuICBpZiAoKGUgPSBzdHIuaW5kZXhPZihcIi5cIikpID4gLTEpXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoXCIuXCIsIFwiXCIpO1xuICBpZiAoKGkgPSBzdHIuc2VhcmNoKC9lL2kpKSA+IDApIHtcbiAgICBpZiAoZSA8IDApXG4gICAgICBlID0gaTtcbiAgICBlICs9ICtzdHIuc2xpY2UoaSArIDEpO1xuICAgIHN0ciA9IHN0ci5zdWJzdHJpbmcoMCwgaSk7XG4gIH0gZWxzZSBpZiAoZSA8IDApIHtcbiAgICBlID0gc3RyLmxlbmd0aDtcbiAgfVxuICBmb3IgKGkgPSAwOyBzdHIuY2hhckNvZGVBdChpKSA9PT0gNDg7IGkrKylcbiAgICA7XG4gIGZvciAobGVuID0gc3RyLmxlbmd0aDsgc3RyLmNoYXJDb2RlQXQobGVuIC0gMSkgPT09IDQ4OyAtLWxlbilcbiAgICA7XG4gIHN0ciA9IHN0ci5zbGljZShpLCBsZW4pO1xuICBpZiAoc3RyKSB7XG4gICAgbGVuIC09IGk7XG4gICAgeC5lID0gZSA9IGUgLSBpIC0gMTtcbiAgICB4LmQgPSBbXTtcbiAgICBpID0gKGUgKyAxKSAlIExPR19CQVNFO1xuICAgIGlmIChlIDwgMClcbiAgICAgIGkgKz0gTE9HX0JBU0U7XG4gICAgaWYgKGkgPCBsZW4pIHtcbiAgICAgIGlmIChpKVxuICAgICAgICB4LmQucHVzaCgrc3RyLnNsaWNlKDAsIGkpKTtcbiAgICAgIGZvciAobGVuIC09IExPR19CQVNFOyBpIDwgbGVuOyApXG4gICAgICAgIHguZC5wdXNoKCtzdHIuc2xpY2UoaSwgaSArPSBMT0dfQkFTRSkpO1xuICAgICAgc3RyID0gc3RyLnNsaWNlKGkpO1xuICAgICAgaSA9IExPR19CQVNFIC0gc3RyLmxlbmd0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgaSAtPSBsZW47XG4gICAgfVxuICAgIGZvciAoOyBpLS07IClcbiAgICAgIHN0ciArPSBcIjBcIjtcbiAgICB4LmQucHVzaCgrc3RyKTtcbiAgICBpZiAoZXh0ZXJuYWwpIHtcbiAgICAgIGlmICh4LmUgPiB4LmNvbnN0cnVjdG9yLm1heEUpIHtcbiAgICAgICAgeC5kID0gbnVsbDtcbiAgICAgICAgeC5lID0gTmFOO1xuICAgICAgfSBlbHNlIGlmICh4LmUgPCB4LmNvbnN0cnVjdG9yLm1pbkUpIHtcbiAgICAgICAgeC5lID0gMDtcbiAgICAgICAgeC5kID0gWzBdO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB4LmUgPSAwO1xuICAgIHguZCA9IFswXTtcbiAgfVxuICByZXR1cm4geDtcbn1cbmZ1bmN0aW9uIHBhcnNlT3RoZXIoeCwgc3RyKSB7XG4gIHZhciBiYXNlLCBDdG9yLCBkaXZpc29yLCBpLCBpc0Zsb2F0LCBsZW4sIHAsIHhkLCB4ZTtcbiAgaWYgKHN0ci5pbmRleE9mKFwiX1wiKSA+IC0xKSB7XG4gICAgc3RyID0gc3RyLnJlcGxhY2UoLyhcXGQpXyg/PVxcZCkvZywgXCIkMVwiKTtcbiAgICBpZiAoaXNEZWNpbWFsLnRlc3Qoc3RyKSlcbiAgICAgIHJldHVybiBwYXJzZURlY2ltYWwoeCwgc3RyKTtcbiAgfSBlbHNlIGlmIChzdHIgPT09IFwiSW5maW5pdHlcIiB8fCBzdHIgPT09IFwiTmFOXCIpIHtcbiAgICBpZiAoIStzdHIpXG4gICAgICB4LnMgPSBOYU47XG4gICAgeC5lID0gTmFOO1xuICAgIHguZCA9IG51bGw7XG4gICAgcmV0dXJuIHg7XG4gIH1cbiAgaWYgKGlzSGV4LnRlc3Qoc3RyKSkge1xuICAgIGJhc2UgPSAxNjtcbiAgICBzdHIgPSBzdHIudG9Mb3dlckNhc2UoKTtcbiAgfSBlbHNlIGlmIChpc0JpbmFyeS50ZXN0KHN0cikpIHtcbiAgICBiYXNlID0gMjtcbiAgfSBlbHNlIGlmIChpc09jdGFsLnRlc3Qoc3RyKSkge1xuICAgIGJhc2UgPSA4O1xuICB9IGVsc2Uge1xuICAgIHRocm93IEVycm9yKGludmFsaWRBcmd1bWVudCArIHN0cik7XG4gIH1cbiAgaSA9IHN0ci5zZWFyY2goL3AvaSk7XG4gIGlmIChpID4gMCkge1xuICAgIHAgPSArc3RyLnNsaWNlKGkgKyAxKTtcbiAgICBzdHIgPSBzdHIuc3Vic3RyaW5nKDIsIGkpO1xuICB9IGVsc2Uge1xuICAgIHN0ciA9IHN0ci5zbGljZSgyKTtcbiAgfVxuICBpID0gc3RyLmluZGV4T2YoXCIuXCIpO1xuICBpc0Zsb2F0ID0gaSA+PSAwO1xuICBDdG9yID0geC5jb25zdHJ1Y3RvcjtcbiAgaWYgKGlzRmxvYXQpIHtcbiAgICBzdHIgPSBzdHIucmVwbGFjZShcIi5cIiwgXCJcIik7XG4gICAgbGVuID0gc3RyLmxlbmd0aDtcbiAgICBpID0gbGVuIC0gaTtcbiAgICBkaXZpc29yID0gaW50UG93KEN0b3IsIG5ldyBDdG9yKGJhc2UpLCBpLCBpICogMik7XG4gIH1cbiAgeGQgPSBjb252ZXJ0QmFzZShzdHIsIGJhc2UsIEJBU0UpO1xuICB4ZSA9IHhkLmxlbmd0aCAtIDE7XG4gIGZvciAoaSA9IHhlOyB4ZFtpXSA9PT0gMDsgLS1pKVxuICAgIHhkLnBvcCgpO1xuICBpZiAoaSA8IDApXG4gICAgcmV0dXJuIG5ldyBDdG9yKHgucyAqIDApO1xuICB4LmUgPSBnZXRCYXNlMTBFeHBvbmVudCh4ZCwgeGUpO1xuICB4LmQgPSB4ZDtcbiAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgaWYgKGlzRmxvYXQpXG4gICAgeCA9IGRpdmlkZSh4LCBkaXZpc29yLCBsZW4gKiA0KTtcbiAgaWYgKHApXG4gICAgeCA9IHgudGltZXMoTWF0aC5hYnMocCkgPCA1NCA/IG1hdGhwb3coMiwgcCkgOiBEZWNpbWFsLnBvdygyLCBwKSk7XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgcmV0dXJuIHg7XG59XG5mdW5jdGlvbiBzaW5lKEN0b3IsIHgpIHtcbiAgdmFyIGssIGxlbiA9IHguZC5sZW5ndGg7XG4gIGlmIChsZW4gPCAzKSB7XG4gICAgcmV0dXJuIHguaXNaZXJvKCkgPyB4IDogdGF5bG9yU2VyaWVzKEN0b3IsIDIsIHgsIHgpO1xuICB9XG4gIGsgPSAxLjQgKiBNYXRoLnNxcnQobGVuKTtcbiAgayA9IGsgPiAxNiA/IDE2IDogayB8IDA7XG4gIHggPSB4LnRpbWVzKDEgLyB0aW55UG93KDUsIGspKTtcbiAgeCA9IHRheWxvclNlcmllcyhDdG9yLCAyLCB4LCB4KTtcbiAgdmFyIHNpbjJfeCwgZDUgPSBuZXcgQ3Rvcig1KSwgZDE2ID0gbmV3IEN0b3IoMTYpLCBkMjAgPSBuZXcgQ3RvcigyMCk7XG4gIGZvciAoOyBrLS07ICkge1xuICAgIHNpbjJfeCA9IHgudGltZXMoeCk7XG4gICAgeCA9IHgudGltZXMoZDUucGx1cyhzaW4yX3gudGltZXMoZDE2LnRpbWVzKHNpbjJfeCkubWludXMoZDIwKSkpKTtcbiAgfVxuICByZXR1cm4geDtcbn1cbmZ1bmN0aW9uIHRheWxvclNlcmllcyhDdG9yLCBuLCB4LCB5LCBpc0h5cGVyYm9saWMpIHtcbiAgdmFyIGosIHQsIHUsIHgyLCBpID0gMSwgcHIgPSBDdG9yLnByZWNpc2lvbiwgayA9IE1hdGguY2VpbChwciAvIExPR19CQVNFKTtcbiAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgeDIgPSB4LnRpbWVzKHgpO1xuICB1ID0gbmV3IEN0b3IoeSk7XG4gIGZvciAoOyA7ICkge1xuICAgIHQgPSBkaXZpZGUodS50aW1lcyh4MiksIG5ldyBDdG9yKG4rKyAqIG4rKyksIHByLCAxKTtcbiAgICB1ID0gaXNIeXBlcmJvbGljID8geS5wbHVzKHQpIDogeS5taW51cyh0KTtcbiAgICB5ID0gZGl2aWRlKHQudGltZXMoeDIpLCBuZXcgQ3RvcihuKysgKiBuKyspLCBwciwgMSk7XG4gICAgdCA9IHUucGx1cyh5KTtcbiAgICBpZiAodC5kW2tdICE9PSB2b2lkIDApIHtcbiAgICAgIGZvciAoaiA9IGs7IHQuZFtqXSA9PT0gdS5kW2pdICYmIGotLTsgKVxuICAgICAgICA7XG4gICAgICBpZiAoaiA9PSAtMSlcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGogPSB1O1xuICAgIHUgPSB5O1xuICAgIHkgPSB0O1xuICAgIHQgPSBqO1xuICAgIGkrKztcbiAgfVxuICBleHRlcm5hbCA9IHRydWU7XG4gIHQuZC5sZW5ndGggPSBrICsgMTtcbiAgcmV0dXJuIHQ7XG59XG5mdW5jdGlvbiB0aW55UG93KGIsIGUpIHtcbiAgdmFyIG4gPSBiO1xuICB3aGlsZSAoLS1lKVxuICAgIG4gKj0gYjtcbiAgcmV0dXJuIG47XG59XG5mdW5jdGlvbiB0b0xlc3NUaGFuSGFsZlBpKEN0b3IsIHgpIHtcbiAgdmFyIHQsIGlzTmVnMiA9IHgucyA8IDAsIHBpID0gZ2V0UGkoQ3RvciwgQ3Rvci5wcmVjaXNpb24sIDEpLCBoYWxmUGkgPSBwaS50aW1lcygwLjUpO1xuICB4ID0geC5hYnMoKTtcbiAgaWYgKHgubHRlKGhhbGZQaSkpIHtcbiAgICBxdWFkcmFudCA9IGlzTmVnMiA/IDQgOiAxO1xuICAgIHJldHVybiB4O1xuICB9XG4gIHQgPSB4LmRpdlRvSW50KHBpKTtcbiAgaWYgKHQuaXNaZXJvKCkpIHtcbiAgICBxdWFkcmFudCA9IGlzTmVnMiA/IDMgOiAyO1xuICB9IGVsc2Uge1xuICAgIHggPSB4Lm1pbnVzKHQudGltZXMocGkpKTtcbiAgICBpZiAoeC5sdGUoaGFsZlBpKSkge1xuICAgICAgcXVhZHJhbnQgPSBpc09kZCh0KSA/IGlzTmVnMiA/IDIgOiAzIDogaXNOZWcyID8gNCA6IDE7XG4gICAgICByZXR1cm4geDtcbiAgICB9XG4gICAgcXVhZHJhbnQgPSBpc09kZCh0KSA/IGlzTmVnMiA/IDEgOiA0IDogaXNOZWcyID8gMyA6IDI7XG4gIH1cbiAgcmV0dXJuIHgubWludXMocGkpLmFicygpO1xufVxuZnVuY3Rpb24gdG9TdHJpbmdCaW5hcnkoeCwgYmFzZU91dCwgc2QsIHJtKSB7XG4gIHZhciBiYXNlLCBlLCBpLCBrLCBsZW4sIHJvdW5kVXAsIHN0ciwgeGQsIHksIEN0b3IgPSB4LmNvbnN0cnVjdG9yLCBpc0V4cCA9IHNkICE9PSB2b2lkIDA7XG4gIGlmIChpc0V4cCkge1xuICAgIGNoZWNrSW50MzIoc2QsIDEsIE1BWF9ESUdJVFMpO1xuICAgIGlmIChybSA9PT0gdm9pZCAwKVxuICAgICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICAgIGVsc2VcbiAgICAgIGNoZWNrSW50MzIocm0sIDAsIDgpO1xuICB9IGVsc2Uge1xuICAgIHNkID0gQ3Rvci5wcmVjaXNpb247XG4gICAgcm0gPSBDdG9yLnJvdW5kaW5nO1xuICB9XG4gIGlmICgheC5pc0Zpbml0ZSgpKSB7XG4gICAgc3RyID0gbm9uRmluaXRlVG9TdHJpbmcoeCk7XG4gIH0gZWxzZSB7XG4gICAgc3RyID0gZmluaXRlVG9TdHJpbmcoeCk7XG4gICAgaSA9IHN0ci5pbmRleE9mKFwiLlwiKTtcbiAgICBpZiAoaXNFeHApIHtcbiAgICAgIGJhc2UgPSAyO1xuICAgICAgaWYgKGJhc2VPdXQgPT0gMTYpIHtcbiAgICAgICAgc2QgPSBzZCAqIDQgLSAzO1xuICAgICAgfSBlbHNlIGlmIChiYXNlT3V0ID09IDgpIHtcbiAgICAgICAgc2QgPSBzZCAqIDMgLSAyO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBiYXNlID0gYmFzZU91dDtcbiAgICB9XG4gICAgaWYgKGkgPj0gMCkge1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoXCIuXCIsIFwiXCIpO1xuICAgICAgeSA9IG5ldyBDdG9yKDEpO1xuICAgICAgeS5lID0gc3RyLmxlbmd0aCAtIGk7XG4gICAgICB5LmQgPSBjb252ZXJ0QmFzZShmaW5pdGVUb1N0cmluZyh5KSwgMTAsIGJhc2UpO1xuICAgICAgeS5lID0geS5kLmxlbmd0aDtcbiAgICB9XG4gICAgeGQgPSBjb252ZXJ0QmFzZShzdHIsIDEwLCBiYXNlKTtcbiAgICBlID0gbGVuID0geGQubGVuZ3RoO1xuICAgIGZvciAoOyB4ZFstLWxlbl0gPT0gMDsgKVxuICAgICAgeGQucG9wKCk7XG4gICAgaWYgKCF4ZFswXSkge1xuICAgICAgc3RyID0gaXNFeHAgPyBcIjBwKzBcIiA6IFwiMFwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgZS0tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgeCA9IG5ldyBDdG9yKHgpO1xuICAgICAgICB4LmQgPSB4ZDtcbiAgICAgICAgeC5lID0gZTtcbiAgICAgICAgeCA9IGRpdmlkZSh4LCB5LCBzZCwgcm0sIDAsIGJhc2UpO1xuICAgICAgICB4ZCA9IHguZDtcbiAgICAgICAgZSA9IHguZTtcbiAgICAgICAgcm91bmRVcCA9IGluZXhhY3Q7XG4gICAgICB9XG4gICAgICBpID0geGRbc2RdO1xuICAgICAgayA9IGJhc2UgLyAyO1xuICAgICAgcm91bmRVcCA9IHJvdW5kVXAgfHwgeGRbc2QgKyAxXSAhPT0gdm9pZCAwO1xuICAgICAgcm91bmRVcCA9IHJtIDwgNCA/IChpICE9PSB2b2lkIDAgfHwgcm91bmRVcCkgJiYgKHJtID09PSAwIHx8IHJtID09PSAoeC5zIDwgMCA/IDMgOiAyKSkgOiBpID4gayB8fCBpID09PSBrICYmIChybSA9PT0gNCB8fCByb3VuZFVwIHx8IHJtID09PSA2ICYmIHhkW3NkIC0gMV0gJiAxIHx8IHJtID09PSAoeC5zIDwgMCA/IDggOiA3KSk7XG4gICAgICB4ZC5sZW5ndGggPSBzZDtcbiAgICAgIGlmIChyb3VuZFVwKSB7XG4gICAgICAgIGZvciAoOyArK3hkWy0tc2RdID4gYmFzZSAtIDE7ICkge1xuICAgICAgICAgIHhkW3NkXSA9IDA7XG4gICAgICAgICAgaWYgKCFzZCkge1xuICAgICAgICAgICAgKytlO1xuICAgICAgICAgICAgeGQudW5zaGlmdCgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAobGVuID0geGQubGVuZ3RoOyAheGRbbGVuIC0gMV07IC0tbGVuKVxuICAgICAgICA7XG4gICAgICBmb3IgKGkgPSAwLCBzdHIgPSBcIlwiOyBpIDwgbGVuOyBpKyspXG4gICAgICAgIHN0ciArPSBOVU1FUkFMUy5jaGFyQXQoeGRbaV0pO1xuICAgICAgaWYgKGlzRXhwKSB7XG4gICAgICAgIGlmIChsZW4gPiAxKSB7XG4gICAgICAgICAgaWYgKGJhc2VPdXQgPT0gMTYgfHwgYmFzZU91dCA9PSA4KSB7XG4gICAgICAgICAgICBpID0gYmFzZU91dCA9PSAxNiA/IDQgOiAzO1xuICAgICAgICAgICAgZm9yICgtLWxlbjsgbGVuICUgaTsgbGVuKyspXG4gICAgICAgICAgICAgIHN0ciArPSBcIjBcIjtcbiAgICAgICAgICAgIHhkID0gY29udmVydEJhc2Uoc3RyLCBiYXNlLCBiYXNlT3V0KTtcbiAgICAgICAgICAgIGZvciAobGVuID0geGQubGVuZ3RoOyAheGRbbGVuIC0gMV07IC0tbGVuKVxuICAgICAgICAgICAgICA7XG4gICAgICAgICAgICBmb3IgKGkgPSAxLCBzdHIgPSBcIjEuXCI7IGkgPCBsZW47IGkrKylcbiAgICAgICAgICAgICAgc3RyICs9IE5VTUVSQUxTLmNoYXJBdCh4ZFtpXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0ciA9IHN0ci5jaGFyQXQoMCkgKyBcIi5cIiArIHN0ci5zbGljZSgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3RyID0gc3RyICsgKGUgPCAwID8gXCJwXCIgOiBcInArXCIpICsgZTtcbiAgICAgIH0gZWxzZSBpZiAoZSA8IDApIHtcbiAgICAgICAgZm9yICg7ICsrZTsgKVxuICAgICAgICAgIHN0ciA9IFwiMFwiICsgc3RyO1xuICAgICAgICBzdHIgPSBcIjAuXCIgKyBzdHI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoKytlID4gbGVuKVxuICAgICAgICAgIGZvciAoZSAtPSBsZW47IGUtLTsgKVxuICAgICAgICAgICAgc3RyICs9IFwiMFwiO1xuICAgICAgICBlbHNlIGlmIChlIDwgbGVuKVxuICAgICAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBlKSArIFwiLlwiICsgc3RyLnNsaWNlKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBzdHIgPSAoYmFzZU91dCA9PSAxNiA/IFwiMHhcIiA6IGJhc2VPdXQgPT0gMiA/IFwiMGJcIiA6IGJhc2VPdXQgPT0gOCA/IFwiMG9cIiA6IFwiXCIpICsgc3RyO1xuICB9XG4gIHJldHVybiB4LnMgPCAwID8gXCItXCIgKyBzdHIgOiBzdHI7XG59XG5mdW5jdGlvbiB0cnVuY2F0ZShhcnIsIGxlbikge1xuICBpZiAoYXJyLmxlbmd0aCA+IGxlbikge1xuICAgIGFyci5sZW5ndGggPSBsZW47XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGFicyh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5hYnMoKTtcbn1cbmZ1bmN0aW9uIGFjb3MoeCkge1xuICByZXR1cm4gbmV3IHRoaXMoeCkuYWNvcygpO1xufVxuZnVuY3Rpb24gYWNvc2goeCkge1xuICByZXR1cm4gbmV3IHRoaXMoeCkuYWNvc2goKTtcbn1cbmZ1bmN0aW9uIGFkZCh4LCB5KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5wbHVzKHkpO1xufVxuZnVuY3Rpb24gYXNpbih4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5hc2luKCk7XG59XG5mdW5jdGlvbiBhc2luaCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5hc2luaCgpO1xufVxuZnVuY3Rpb24gYXRhbih4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5hdGFuKCk7XG59XG5mdW5jdGlvbiBhdGFuaCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5hdGFuaCgpO1xufVxuZnVuY3Rpb24gYXRhbjIoeSwgeCkge1xuICB5ID0gbmV3IHRoaXMoeSk7XG4gIHggPSBuZXcgdGhpcyh4KTtcbiAgdmFyIHIsIHByID0gdGhpcy5wcmVjaXNpb24sIHJtID0gdGhpcy5yb3VuZGluZywgd3ByID0gcHIgKyA0O1xuICBpZiAoIXkucyB8fCAheC5zKSB7XG4gICAgciA9IG5ldyB0aGlzKE5hTik7XG4gIH0gZWxzZSBpZiAoIXkuZCAmJiAheC5kKSB7XG4gICAgciA9IGdldFBpKHRoaXMsIHdwciwgMSkudGltZXMoeC5zID4gMCA/IDAuMjUgOiAwLjc1KTtcbiAgICByLnMgPSB5LnM7XG4gIH0gZWxzZSBpZiAoIXguZCB8fCB5LmlzWmVybygpKSB7XG4gICAgciA9IHgucyA8IDAgPyBnZXRQaSh0aGlzLCBwciwgcm0pIDogbmV3IHRoaXMoMCk7XG4gICAgci5zID0geS5zO1xuICB9IGVsc2UgaWYgKCF5LmQgfHwgeC5pc1plcm8oKSkge1xuICAgIHIgPSBnZXRQaSh0aGlzLCB3cHIsIDEpLnRpbWVzKDAuNSk7XG4gICAgci5zID0geS5zO1xuICB9IGVsc2UgaWYgKHgucyA8IDApIHtcbiAgICB0aGlzLnByZWNpc2lvbiA9IHdwcjtcbiAgICB0aGlzLnJvdW5kaW5nID0gMTtcbiAgICByID0gdGhpcy5hdGFuKGRpdmlkZSh5LCB4LCB3cHIsIDEpKTtcbiAgICB4ID0gZ2V0UGkodGhpcywgd3ByLCAxKTtcbiAgICB0aGlzLnByZWNpc2lvbiA9IHByO1xuICAgIHRoaXMucm91bmRpbmcgPSBybTtcbiAgICByID0geS5zIDwgMCA/IHIubWludXMoeCkgOiByLnBsdXMoeCk7XG4gIH0gZWxzZSB7XG4gICAgciA9IHRoaXMuYXRhbihkaXZpZGUoeSwgeCwgd3ByLCAxKSk7XG4gIH1cbiAgcmV0dXJuIHI7XG59XG5mdW5jdGlvbiBjYnJ0KHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLmNicnQoKTtcbn1cbmZ1bmN0aW9uIGNlaWwoeCkge1xuICByZXR1cm4gZmluYWxpc2UoeCA9IG5ldyB0aGlzKHgpLCB4LmUgKyAxLCAyKTtcbn1cbmZ1bmN0aW9uIGNsYW1wKHgsIG1pbjIsIG1heDIpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLmNsYW1wKG1pbjIsIG1heDIpO1xufVxuZnVuY3Rpb24gY29uZmlnKG9iaikge1xuICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKVxuICAgIHRocm93IEVycm9yKGRlY2ltYWxFcnJvciArIFwiT2JqZWN0IGV4cGVjdGVkXCIpO1xuICB2YXIgaSwgcCwgdiwgdXNlRGVmYXVsdHMgPSBvYmouZGVmYXVsdHMgPT09IHRydWUsIHBzID0gW1xuICAgIFwicHJlY2lzaW9uXCIsXG4gICAgMSxcbiAgICBNQVhfRElHSVRTLFxuICAgIFwicm91bmRpbmdcIixcbiAgICAwLFxuICAgIDgsXG4gICAgXCJ0b0V4cE5lZ1wiLFxuICAgIC1FWFBfTElNSVQsXG4gICAgMCxcbiAgICBcInRvRXhwUG9zXCIsXG4gICAgMCxcbiAgICBFWFBfTElNSVQsXG4gICAgXCJtYXhFXCIsXG4gICAgMCxcbiAgICBFWFBfTElNSVQsXG4gICAgXCJtaW5FXCIsXG4gICAgLUVYUF9MSU1JVCxcbiAgICAwLFxuICAgIFwibW9kdWxvXCIsXG4gICAgMCxcbiAgICA5XG4gIF07XG4gIGZvciAoaSA9IDA7IGkgPCBwcy5sZW5ndGg7IGkgKz0gMykge1xuICAgIGlmIChwID0gcHNbaV0sIHVzZURlZmF1bHRzKVxuICAgICAgdGhpc1twXSA9IERFRkFVTFRTW3BdO1xuICAgIGlmICgodiA9IG9ialtwXSkgIT09IHZvaWQgMCkge1xuICAgICAgaWYgKG1hdGhmbG9vcih2KSA9PT0gdiAmJiB2ID49IHBzW2kgKyAxXSAmJiB2IDw9IHBzW2kgKyAyXSlcbiAgICAgICAgdGhpc1twXSA9IHY7XG4gICAgICBlbHNlXG4gICAgICAgIHRocm93IEVycm9yKGludmFsaWRBcmd1bWVudCArIHAgKyBcIjogXCIgKyB2KTtcbiAgICB9XG4gIH1cbiAgaWYgKHAgPSBcImNyeXB0b1wiLCB1c2VEZWZhdWx0cylcbiAgICB0aGlzW3BdID0gREVGQVVMVFNbcF07XG4gIGlmICgodiA9IG9ialtwXSkgIT09IHZvaWQgMCkge1xuICAgIGlmICh2ID09PSB0cnVlIHx8IHYgPT09IGZhbHNlIHx8IHYgPT09IDAgfHwgdiA9PT0gMSkge1xuICAgICAgaWYgKHYpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjcnlwdG8gIT0gXCJ1bmRlZmluZWRcIiAmJiBjcnlwdG8gJiYgKGNyeXB0by5nZXRSYW5kb21WYWx1ZXMgfHwgY3J5cHRvLnJhbmRvbUJ5dGVzKSkge1xuICAgICAgICAgIHRoaXNbcF0gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IEVycm9yKGNyeXB0b1VuYXZhaWxhYmxlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1twXSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihpbnZhbGlkQXJndW1lbnQgKyBwICsgXCI6IFwiICsgdik7XG4gICAgfVxuICB9XG4gIHJldHVybiB0aGlzO1xufVxuZnVuY3Rpb24gY29zKHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLmNvcygpO1xufVxuZnVuY3Rpb24gY29zaCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5jb3NoKCk7XG59XG5mdW5jdGlvbiBjbG9uZShvYmopIHtcbiAgdmFyIGksIHAsIHBzO1xuICBmdW5jdGlvbiBEZWNpbWFsMih2KSB7XG4gICAgdmFyIGUsIGkyLCB0LCB4ID0gdGhpcztcbiAgICBpZiAoISh4IGluc3RhbmNlb2YgRGVjaW1hbDIpKVxuICAgICAgcmV0dXJuIG5ldyBEZWNpbWFsMih2KTtcbiAgICB4LmNvbnN0cnVjdG9yID0gRGVjaW1hbDI7XG4gICAgaWYgKGlzRGVjaW1hbEluc3RhbmNlKHYpKSB7XG4gICAgICB4LnMgPSB2LnM7XG4gICAgICBpZiAoZXh0ZXJuYWwpIHtcbiAgICAgICAgaWYgKCF2LmQgfHwgdi5lID4gRGVjaW1hbDIubWF4RSkge1xuICAgICAgICAgIHguZSA9IE5hTjtcbiAgICAgICAgICB4LmQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKHYuZSA8IERlY2ltYWwyLm1pbkUpIHtcbiAgICAgICAgICB4LmUgPSAwO1xuICAgICAgICAgIHguZCA9IFswXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB4LmUgPSB2LmU7XG4gICAgICAgICAgeC5kID0gdi5kLnNsaWNlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHguZSA9IHYuZTtcbiAgICAgICAgeC5kID0gdi5kID8gdi5kLnNsaWNlKCkgOiB2LmQ7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHQgPSB0eXBlb2YgdjtcbiAgICBpZiAodCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgaWYgKHYgPT09IDApIHtcbiAgICAgICAgeC5zID0gMSAvIHYgPCAwID8gLTEgOiAxO1xuICAgICAgICB4LmUgPSAwO1xuICAgICAgICB4LmQgPSBbMF07XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh2IDwgMCkge1xuICAgICAgICB2ID0gLXY7XG4gICAgICAgIHgucyA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgeC5zID0gMTtcbiAgICAgIH1cbiAgICAgIGlmICh2ID09PSB+fnYgJiYgdiA8IDFlNykge1xuICAgICAgICBmb3IgKGUgPSAwLCBpMiA9IHY7IGkyID49IDEwOyBpMiAvPSAxMClcbiAgICAgICAgICBlKys7XG4gICAgICAgIGlmIChleHRlcm5hbCkge1xuICAgICAgICAgIGlmIChlID4gRGVjaW1hbDIubWF4RSkge1xuICAgICAgICAgICAgeC5lID0gTmFOO1xuICAgICAgICAgICAgeC5kID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2UgaWYgKGUgPCBEZWNpbWFsMi5taW5FKSB7XG4gICAgICAgICAgICB4LmUgPSAwO1xuICAgICAgICAgICAgeC5kID0gWzBdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB4LmUgPSBlO1xuICAgICAgICAgICAgeC5kID0gW3ZdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB4LmUgPSBlO1xuICAgICAgICAgIHguZCA9IFt2XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKHYgKiAwICE9PSAwKSB7XG4gICAgICAgIGlmICghdilcbiAgICAgICAgICB4LnMgPSBOYU47XG4gICAgICAgIHguZSA9IE5hTjtcbiAgICAgICAgeC5kID0gbnVsbDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcnNlRGVjaW1hbCh4LCB2LnRvU3RyaW5nKCkpO1xuICAgIH0gZWxzZSBpZiAodCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhyb3cgRXJyb3IoaW52YWxpZEFyZ3VtZW50ICsgdik7XG4gICAgfVxuICAgIGlmICgoaTIgPSB2LmNoYXJDb2RlQXQoMCkpID09PSA0NSkge1xuICAgICAgdiA9IHYuc2xpY2UoMSk7XG4gICAgICB4LnMgPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGkyID09PSA0MylcbiAgICAgICAgdiA9IHYuc2xpY2UoMSk7XG4gICAgICB4LnMgPSAxO1xuICAgIH1cbiAgICByZXR1cm4gaXNEZWNpbWFsLnRlc3QodikgPyBwYXJzZURlY2ltYWwoeCwgdikgOiBwYXJzZU90aGVyKHgsIHYpO1xuICB9XG4gIERlY2ltYWwyLnByb3RvdHlwZSA9IFA7XG4gIERlY2ltYWwyLlJPVU5EX1VQID0gMDtcbiAgRGVjaW1hbDIuUk9VTkRfRE9XTiA9IDE7XG4gIERlY2ltYWwyLlJPVU5EX0NFSUwgPSAyO1xuICBEZWNpbWFsMi5ST1VORF9GTE9PUiA9IDM7XG4gIERlY2ltYWwyLlJPVU5EX0hBTEZfVVAgPSA0O1xuICBEZWNpbWFsMi5ST1VORF9IQUxGX0RPV04gPSA1O1xuICBEZWNpbWFsMi5ST1VORF9IQUxGX0VWRU4gPSA2O1xuICBEZWNpbWFsMi5ST1VORF9IQUxGX0NFSUwgPSA3O1xuICBEZWNpbWFsMi5ST1VORF9IQUxGX0ZMT09SID0gODtcbiAgRGVjaW1hbDIuRVVDTElEID0gOTtcbiAgRGVjaW1hbDIuY29uZmlnID0gRGVjaW1hbDIuc2V0ID0gY29uZmlnO1xuICBEZWNpbWFsMi5jbG9uZSA9IGNsb25lO1xuICBEZWNpbWFsMi5pc0RlY2ltYWwgPSBpc0RlY2ltYWxJbnN0YW5jZTtcbiAgRGVjaW1hbDIuYWJzID0gYWJzO1xuICBEZWNpbWFsMi5hY29zID0gYWNvcztcbiAgRGVjaW1hbDIuYWNvc2ggPSBhY29zaDtcbiAgRGVjaW1hbDIuYWRkID0gYWRkO1xuICBEZWNpbWFsMi5hc2luID0gYXNpbjtcbiAgRGVjaW1hbDIuYXNpbmggPSBhc2luaDtcbiAgRGVjaW1hbDIuYXRhbiA9IGF0YW47XG4gIERlY2ltYWwyLmF0YW5oID0gYXRhbmg7XG4gIERlY2ltYWwyLmF0YW4yID0gYXRhbjI7XG4gIERlY2ltYWwyLmNicnQgPSBjYnJ0O1xuICBEZWNpbWFsMi5jZWlsID0gY2VpbDtcbiAgRGVjaW1hbDIuY2xhbXAgPSBjbGFtcDtcbiAgRGVjaW1hbDIuY29zID0gY29zO1xuICBEZWNpbWFsMi5jb3NoID0gY29zaDtcbiAgRGVjaW1hbDIuZGl2ID0gZGl2O1xuICBEZWNpbWFsMi5leHAgPSBleHA7XG4gIERlY2ltYWwyLmZsb29yID0gZmxvb3I7XG4gIERlY2ltYWwyLmh5cG90ID0gaHlwb3Q7XG4gIERlY2ltYWwyLmxuID0gbG47XG4gIERlY2ltYWwyLmxvZyA9IGxvZztcbiAgRGVjaW1hbDIubG9nMTAgPSBsb2cxMDtcbiAgRGVjaW1hbDIubG9nMiA9IGxvZzI7XG4gIERlY2ltYWwyLm1heCA9IG1heDtcbiAgRGVjaW1hbDIubWluID0gbWluO1xuICBEZWNpbWFsMi5tb2QgPSBtb2Q7XG4gIERlY2ltYWwyLm11bCA9IG11bDtcbiAgRGVjaW1hbDIucG93ID0gcG93O1xuICBEZWNpbWFsMi5yYW5kb20gPSByYW5kb207XG4gIERlY2ltYWwyLnJvdW5kID0gcm91bmQ7XG4gIERlY2ltYWwyLnNpZ24gPSBzaWduO1xuICBEZWNpbWFsMi5zaW4gPSBzaW47XG4gIERlY2ltYWwyLnNpbmggPSBzaW5oO1xuICBEZWNpbWFsMi5zcXJ0ID0gc3FydDtcbiAgRGVjaW1hbDIuc3ViID0gc3ViO1xuICBEZWNpbWFsMi5zdW0gPSBzdW07XG4gIERlY2ltYWwyLnRhbiA9IHRhbjtcbiAgRGVjaW1hbDIudGFuaCA9IHRhbmg7XG4gIERlY2ltYWwyLnRydW5jID0gdHJ1bmM7XG4gIGlmIChvYmogPT09IHZvaWQgMClcbiAgICBvYmogPSB7fTtcbiAgaWYgKG9iaikge1xuICAgIGlmIChvYmouZGVmYXVsdHMgIT09IHRydWUpIHtcbiAgICAgIHBzID0gW1wicHJlY2lzaW9uXCIsIFwicm91bmRpbmdcIiwgXCJ0b0V4cE5lZ1wiLCBcInRvRXhwUG9zXCIsIFwibWF4RVwiLCBcIm1pbkVcIiwgXCJtb2R1bG9cIiwgXCJjcnlwdG9cIl07XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgcHMubGVuZ3RoOyApXG4gICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KHAgPSBwc1tpKytdKSlcbiAgICAgICAgICBvYmpbcF0gPSB0aGlzW3BdO1xuICAgIH1cbiAgfVxuICBEZWNpbWFsMi5jb25maWcob2JqKTtcbiAgcmV0dXJuIERlY2ltYWwyO1xufVxuZnVuY3Rpb24gZGl2KHgsIHkpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLmRpdih5KTtcbn1cbmZ1bmN0aW9uIGV4cCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5leHAoKTtcbn1cbmZ1bmN0aW9uIGZsb29yKHgpIHtcbiAgcmV0dXJuIGZpbmFsaXNlKHggPSBuZXcgdGhpcyh4KSwgeC5lICsgMSwgMyk7XG59XG5mdW5jdGlvbiBoeXBvdCgpIHtcbiAgdmFyIGksIG4sIHQgPSBuZXcgdGhpcygwKTtcbiAgZXh0ZXJuYWwgPSBmYWxzZTtcbiAgZm9yIChpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7ICkge1xuICAgIG4gPSBuZXcgdGhpcyhhcmd1bWVudHNbaSsrXSk7XG4gICAgaWYgKCFuLmQpIHtcbiAgICAgIGlmIChuLnMpIHtcbiAgICAgICAgZXh0ZXJuYWwgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMoMSAvIDApO1xuICAgICAgfVxuICAgICAgdCA9IG47XG4gICAgfSBlbHNlIGlmICh0LmQpIHtcbiAgICAgIHQgPSB0LnBsdXMobi50aW1lcyhuKSk7XG4gICAgfVxuICB9XG4gIGV4dGVybmFsID0gdHJ1ZTtcbiAgcmV0dXJuIHQuc3FydCgpO1xufVxuZnVuY3Rpb24gaXNEZWNpbWFsSW5zdGFuY2Uob2JqKSB7XG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiBEZWNpbWFsIHx8IG9iaiAmJiBvYmoudG9TdHJpbmdUYWcgPT09IHRhZyB8fCBmYWxzZTtcbn1cbmZ1bmN0aW9uIGxuKHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLmxuKCk7XG59XG5mdW5jdGlvbiBsb2coeCwgeSkge1xuICByZXR1cm4gbmV3IHRoaXMoeCkubG9nKHkpO1xufVxuZnVuY3Rpb24gbG9nMih4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5sb2coMik7XG59XG5mdW5jdGlvbiBsb2cxMCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5sb2coMTApO1xufVxuZnVuY3Rpb24gbWF4KCkge1xuICByZXR1cm4gbWF4T3JNaW4odGhpcywgYXJndW1lbnRzLCBcImx0XCIpO1xufVxuZnVuY3Rpb24gbWluKCkge1xuICByZXR1cm4gbWF4T3JNaW4odGhpcywgYXJndW1lbnRzLCBcImd0XCIpO1xufVxuZnVuY3Rpb24gbW9kKHgsIHkpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLm1vZCh5KTtcbn1cbmZ1bmN0aW9uIG11bCh4LCB5KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5tdWwoeSk7XG59XG5mdW5jdGlvbiBwb3coeCwgeSkge1xuICByZXR1cm4gbmV3IHRoaXMoeCkucG93KHkpO1xufVxuZnVuY3Rpb24gcmFuZG9tKHNkKSB7XG4gIHZhciBkLCBlLCBrLCBuLCBpID0gMCwgciA9IG5ldyB0aGlzKDEpLCByZCA9IFtdO1xuICBpZiAoc2QgPT09IHZvaWQgMClcbiAgICBzZCA9IHRoaXMucHJlY2lzaW9uO1xuICBlbHNlXG4gICAgY2hlY2tJbnQzMihzZCwgMSwgTUFYX0RJR0lUUyk7XG4gIGsgPSBNYXRoLmNlaWwoc2QgLyBMT0dfQkFTRSk7XG4gIGlmICghdGhpcy5jcnlwdG8pIHtcbiAgICBmb3IgKDsgaSA8IGs7IClcbiAgICAgIHJkW2krK10gPSBNYXRoLnJhbmRvbSgpICogMWU3IHwgMDtcbiAgfSBlbHNlIGlmIChjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKSB7XG4gICAgZCA9IGNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KGspKTtcbiAgICBmb3IgKDsgaSA8IGs7ICkge1xuICAgICAgbiA9IGRbaV07XG4gICAgICBpZiAobiA+PSA0MjllNykge1xuICAgICAgICBkW2ldID0gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDMyQXJyYXkoMSkpWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmRbaSsrXSA9IG4gJSAxZTc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKGNyeXB0by5yYW5kb21CeXRlcykge1xuICAgIGQgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoayAqPSA0KTtcbiAgICBmb3IgKDsgaSA8IGs7ICkge1xuICAgICAgbiA9IGRbaV0gKyAoZFtpICsgMV0gPDwgOCkgKyAoZFtpICsgMl0gPDwgMTYpICsgKChkW2kgKyAzXSAmIDEyNykgPDwgMjQpO1xuICAgICAgaWYgKG4gPj0gMjE0ZTcpIHtcbiAgICAgICAgY3J5cHRvLnJhbmRvbUJ5dGVzKDQpLmNvcHkoZCwgaSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZC5wdXNoKG4gJSAxZTcpO1xuICAgICAgICBpICs9IDQ7XG4gICAgICB9XG4gICAgfVxuICAgIGkgPSBrIC8gNDtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBFcnJvcihjcnlwdG9VbmF2YWlsYWJsZSk7XG4gIH1cbiAgayA9IHJkWy0taV07XG4gIHNkICU9IExPR19CQVNFO1xuICBpZiAoayAmJiBzZCkge1xuICAgIG4gPSBtYXRocG93KDEwLCBMT0dfQkFTRSAtIHNkKTtcbiAgICByZFtpXSA9IChrIC8gbiB8IDApICogbjtcbiAgfVxuICBmb3IgKDsgcmRbaV0gPT09IDA7IGktLSlcbiAgICByZC5wb3AoKTtcbiAgaWYgKGkgPCAwKSB7XG4gICAgZSA9IDA7XG4gICAgcmQgPSBbMF07XG4gIH0gZWxzZSB7XG4gICAgZSA9IC0xO1xuICAgIGZvciAoOyByZFswXSA9PT0gMDsgZSAtPSBMT0dfQkFTRSlcbiAgICAgIHJkLnNoaWZ0KCk7XG4gICAgZm9yIChrID0gMSwgbiA9IHJkWzBdOyBuID49IDEwOyBuIC89IDEwKVxuICAgICAgaysrO1xuICAgIGlmIChrIDwgTE9HX0JBU0UpXG4gICAgICBlIC09IExPR19CQVNFIC0gaztcbiAgfVxuICByLmUgPSBlO1xuICByLmQgPSByZDtcbiAgcmV0dXJuIHI7XG59XG5mdW5jdGlvbiByb3VuZCh4KSB7XG4gIHJldHVybiBmaW5hbGlzZSh4ID0gbmV3IHRoaXMoeCksIHguZSArIDEsIHRoaXMucm91bmRpbmcpO1xufVxuZnVuY3Rpb24gc2lnbih4KSB7XG4gIHggPSBuZXcgdGhpcyh4KTtcbiAgcmV0dXJuIHguZCA/IHguZFswXSA/IHgucyA6IDAgKiB4LnMgOiB4LnMgfHwgTmFOO1xufVxuZnVuY3Rpb24gc2luKHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLnNpbigpO1xufVxuZnVuY3Rpb24gc2luaCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5zaW5oKCk7XG59XG5mdW5jdGlvbiBzcXJ0KHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLnNxcnQoKTtcbn1cbmZ1bmN0aW9uIHN1Yih4LCB5KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS5zdWIoeSk7XG59XG5mdW5jdGlvbiBzdW0oKSB7XG4gIHZhciBpID0gMCwgYXJncyA9IGFyZ3VtZW50cywgeCA9IG5ldyB0aGlzKGFyZ3NbaV0pO1xuICBleHRlcm5hbCA9IGZhbHNlO1xuICBmb3IgKDsgeC5zICYmICsraSA8IGFyZ3MubGVuZ3RoOyApXG4gICAgeCA9IHgucGx1cyhhcmdzW2ldKTtcbiAgZXh0ZXJuYWwgPSB0cnVlO1xuICByZXR1cm4gZmluYWxpc2UoeCwgdGhpcy5wcmVjaXNpb24sIHRoaXMucm91bmRpbmcpO1xufVxuZnVuY3Rpb24gdGFuKHgpIHtcbiAgcmV0dXJuIG5ldyB0aGlzKHgpLnRhbigpO1xufVxuZnVuY3Rpb24gdGFuaCh4KSB7XG4gIHJldHVybiBuZXcgdGhpcyh4KS50YW5oKCk7XG59XG5mdW5jdGlvbiB0cnVuYyh4KSB7XG4gIHJldHVybiBmaW5hbGlzZSh4ID0gbmV3IHRoaXMoeCksIHguZSArIDEsIDEpO1xufVxuUFtTeW1ib2wuZm9yKFwibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b21cIildID0gUC50b1N0cmluZztcblBbU3ltYm9sLnRvU3RyaW5nVGFnXSA9IFwiRGVjaW1hbFwiO1xudmFyIERlY2ltYWwgPSBQLmNvbnN0cnVjdG9yID0gY2xvbmUoREVGQVVMVFMpO1xuTE4xMCA9IG5ldyBEZWNpbWFsKExOMTApO1xuUEkgPSBuZXcgRGVjaW1hbChQSSk7XG52YXIgZGVjaW1hbF9kZWZhdWx0ID0gRGVjaW1hbDtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2NvbXB1dGUtZW5naW5lLnRzXG52YXIgaW1wb3J0X2NvbXBsZXgyMCA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xuXG4vLyBzcmMvY29tbW9uL2dyYXBoZW1lLXNwbGl0dGVyLnRzXG5mdW5jdGlvbiBzdHJpbmdUb0NvZGVwb2ludHMoc3RyaW5nKSB7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjb2RlID0gc3RyaW5nLmNoYXJDb2RlQXQoaSk7XG4gICAgaWYgKGNvZGUgPj0gNTUyOTYgJiYgY29kZSA8PSA1NjMxOSkge1xuICAgICAgY29uc3QgbmV4dENvZGUgPSBzdHJpbmcuY2hhckNvZGVBdChpICsgMSk7XG4gICAgICBpZiAobmV4dENvZGUgPj0gNTYzMjAgJiYgbmV4dENvZGUgPD0gNTczNDMpIHtcbiAgICAgICAgY29uc3QgbGVhZCA9IGNvZGUgLSA1NTI5NjtcbiAgICAgICAgY29uc3QgdHJhaWwgPSBuZXh0Q29kZSAtIDU2MzIwO1xuICAgICAgICBjb2RlID0gMiAqKiAxNiArIGxlYWQgKiAyICoqIDEwICsgdHJhaWw7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY29kZSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbnZhciBaV0ogPSA4MjA1O1xudmFyIFJFR0lPTkFMX0lORElDQVRPUiA9IFsxMjc0NjIsIDEyNzQ4N107XG5mdW5jdGlvbiBpc0Vtb2ppQ29tYmluYXRvcihjb2RlKSB7XG4gIGlmIChjb2RlID09PSBaV0opXG4gICAgcmV0dXJuIHRydWU7XG4gIGlmIChjb2RlID09PSA2NTAzOCB8fCBjb2RlID09PSA2NTAzOSlcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPj0gMTI3OTk1ICYmIGNvZGUgPD0gMTI3OTk1ICsgNSlcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPj0gMTI5NDU2ICYmIGNvZGUgPD0gMTI5NDU2ICsgNClcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPj0gOTE3NTM2ICYmIGNvZGUgPD0gOTE3NTM2ICsgOTYpXG4gICAgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzUmVnaW9uYWxJbmRpY2F0b3IoY29kZSkge1xuICByZXR1cm4gY29kZSA+PSBSRUdJT05BTF9JTkRJQ0FUT1JbMF0gJiYgY29kZSA8PSBSRUdJT05BTF9JTkRJQ0FUT1JbMV07XG59XG5mdW5jdGlvbiBzcGxpdEdyYXBoZW1lcyhzdHJpbmcpIHtcbiAgaWYgKC9eW1xcdTAwMjAtXFx1MDBGRl0qJC8udGVzdChzdHJpbmcpKVxuICAgIHJldHVybiBzdHJpbmc7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBjb25zdCBjb2RlUG9pbnRzID0gc3RyaW5nVG9Db2RlcG9pbnRzKHN0cmluZyk7XG4gIGxldCBpbmRleCA9IDA7XG4gIHdoaWxlIChpbmRleCA8IGNvZGVQb2ludHMubGVuZ3RoKSB7XG4gICAgY29uc3QgY29kZSA9IGNvZGVQb2ludHNbaW5kZXgrK107XG4gICAgY29uc3QgbmV4dCA9IGNvZGVQb2ludHNbaW5kZXhdO1xuICAgIGlmIChuZXh0ID09PSBaV0opIHtcbiAgICAgIGNvbnN0IGJhc2VJbmRleCA9IGluZGV4IC0gMTtcbiAgICAgIGluZGV4ICs9IDI7XG4gICAgICB3aGlsZSAoY29kZVBvaW50c1tpbmRleF0gPT09IFpXSikge1xuICAgICAgICBpbmRleCArPSAyO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgIFN0cmluZy5mcm9tQ29kZVBvaW50KFxuICAgICAgICAgIC4uLmNvZGVQb2ludHMuc2xpY2UoYmFzZUluZGV4LCAyICogaW5kZXggLSBiYXNlSW5kZXggKyAxKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNFbW9qaUNvbWJpbmF0b3IobmV4dCkpIHtcbiAgICAgIGNvbnN0IGJhc2VJbmRleCA9IGluZGV4IC0gMTtcbiAgICAgIHdoaWxlIChpc0Vtb2ppQ29tYmluYXRvcihjb2RlUG9pbnRzW2luZGV4XSkpIHtcbiAgICAgICAgaW5kZXggKz0gY29kZVBvaW50c1tpbmRleF0gPT09IFpXSiA/IDIgOiAxO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgIFN0cmluZy5mcm9tQ29kZVBvaW50KFxuICAgICAgICAgIC4uLmNvZGVQb2ludHMuc2xpY2UoYmFzZUluZGV4LCAyICogaW5kZXggLSBiYXNlSW5kZXggLSAxKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNSZWdpb25hbEluZGljYXRvcihjb2RlKSkge1xuICAgICAgaW5kZXggKz0gMTtcbiAgICAgIHJlc3VsdC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KC4uLmNvZGVQb2ludHMuc2xpY2UoaW5kZXggLSAyLCAyKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvdG9rZW5pemVyLnRzXG52YXIgVG9rZW5pemVyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihzKSB7XG4gICAgdGhpcy5vYmV5c3BhY2VzID0gZmFsc2U7XG4gICAgcyA9IHMucmVwbGFjZSgvW1xcdTIwMEVcXHUyMDBGXFx1MjA2Ni1cXHUyMDY5XFx1MjAyQS1cXHUyMDJFXS9nLCBcIlwiKTtcbiAgICB0aGlzLnMgPSBzcGxpdEdyYXBoZW1lcyhzKTtcbiAgICB0aGlzLnBvcyA9IDA7XG4gIH1cbiAgLyoqXG4gICAqIEByZXR1cm4gVHJ1ZSBpZiB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIHN0cmVhbVxuICAgKi9cbiAgZW5kKCkge1xuICAgIHJldHVybiB0aGlzLnBvcyA+PSB0aGlzLnMubGVuZ3RoO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5leHQgY2hhciBhbmQgYWR2YW5jZVxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLnBvcyA8IHRoaXMucy5sZW5ndGggPyB0aGlzLnNbdGhpcy5wb3MrK10gOiBcIlwiO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5leHQgY2hhciwgYnV0IGRvIG5vdCBhZHZhbmNlXG4gICAqL1xuICBwZWVrKCkge1xuICAgIHJldHVybiB0aGlzLnNbdGhpcy5wb3NdO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5leHQgc3Vic3RyaW5nIG1hdGNoaW5nIHJlZ0V4IGFuZCBhZHZhbmNlLlxuICAgKi9cbiAgbWF0Y2gocmVnRXgpIHtcbiAgICBsZXQgZXhlY1Jlc3VsdDtcbiAgICBpZiAodHlwZW9mIHRoaXMucyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgZXhlY1Jlc3VsdCA9IHJlZ0V4LmV4ZWModGhpcy5zLnNsaWNlKHRoaXMucG9zKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4ZWNSZXN1bHQgPSByZWdFeC5leGVjKHRoaXMucy5zbGljZSh0aGlzLnBvcykuam9pbihcIlwiKSk7XG4gICAgfVxuICAgIGlmIChleGVjUmVzdWx0Py5bMF0pIHtcbiAgICAgIHRoaXMucG9zICs9IGV4ZWNSZXN1bHRbMF0ubGVuZ3RoO1xuICAgICAgcmV0dXJuIGV4ZWNSZXN1bHRbMF07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5leHQgdG9rZW4sIG9yIG51bGwuXG4gICAqL1xuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLmVuZCgpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKCF0aGlzLm9iZXlzcGFjZXMgJiYgdGhpcy5tYXRjaCgvXlsgXFxmXFxuXFxyXFx0XFx2XFx4QTBcXHUyMDI4XFx1MjAyOV0rLykpIHtcbiAgICAgIHJldHVybiBcIjxzcGFjZT5cIjtcbiAgICB9IGVsc2UgaWYgKHRoaXMub2JleXNwYWNlcyAmJiB0aGlzLm1hdGNoKC9eWyBcXGZcXG5cXHJcXHRcXHZcXHhBMFxcdTIwMjhcXHUyMDI5XS8pKSB7XG4gICAgICByZXR1cm4gXCI8c3BhY2U+XCI7XG4gICAgfVxuICAgIGNvbnN0IG5leHQgPSB0aGlzLmdldCgpO1xuICAgIGlmIChuZXh0ID09PSBcIlxcXFxcIikge1xuICAgICAgaWYgKCF0aGlzLmVuZCgpKSB7XG4gICAgICAgIGxldCBjb21tYW5kID0gdGhpcy5tYXRjaCgvXlthLXpBLVoqXSsvKTtcbiAgICAgICAgaWYgKGNvbW1hbmQpIHtcbiAgICAgICAgICB0aGlzLm1hdGNoKC9eWyBcXGZcXG5cXHJcXHRcXHZcXHhBMFxcdTIwMjhcXHUyMDI5XSovKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21tYW5kID0gdGhpcy5nZXQoKTtcbiAgICAgICAgICBpZiAoY29tbWFuZCA9PT0gXCIgXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBcIjxzcGFjZT5cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwiXFxcXFwiICsgY29tbWFuZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5leHQgPT09IFwie1wiKSB7XG4gICAgICByZXR1cm4gXCI8ez5cIjtcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09IFwifVwiKSB7XG4gICAgICByZXR1cm4gXCI8fT5cIjtcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09IFwiXlwiKSB7XG4gICAgICBpZiAodGhpcy5wZWVrKCkgPT09IFwiXlwiKSB7XG4gICAgICAgIHRoaXMuZ2V0KCk7XG4gICAgICAgIGNvbnN0IGhleCA9IHRoaXMubWF0Y2goXG4gICAgICAgICAgL14oXFxeKFxcXihcXF4oXFxeWzAtOWEtZl0pP1swLTlhLWZdKT9bMC05YS1mXSk/WzAtOWEtZl0pP1swLTlhLWZdWzAtOWEtZl0vXG4gICAgICAgICk7XG4gICAgICAgIGlmIChoZXgpIHtcbiAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoXG4gICAgICAgICAgICBwYXJzZUludChoZXguc2xpY2UoaGV4Lmxhc3RJbmRleE9mKFwiXlwiKSArIDEpLCAxNilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09IFwiI1wiKSB7XG4gICAgICBpZiAoIXRoaXMuZW5kKCkpIHtcbiAgICAgICAgbGV0IGlzUGFyYW0gPSBmYWxzZTtcbiAgICAgICAgaWYgKC9bMC05P10vLnRlc3QodGhpcy5wZWVrKCkpKSB7XG4gICAgICAgICAgaXNQYXJhbSA9IHRydWU7XG4gICAgICAgICAgaWYgKHRoaXMucG9zICsgMSA8IHRoaXMucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFmdGVyID0gdGhpcy5zW3RoaXMucG9zICsgMV07XG4gICAgICAgICAgICBpc1BhcmFtID0gL1teMC05QS1aYS16XS8udGVzdChhZnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc1BhcmFtKSB7XG4gICAgICAgICAgcmV0dXJuIFwiI1wiICsgdGhpcy5nZXQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCIjXCI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChuZXh0ID09PSBcIiRcIikge1xuICAgICAgaWYgKHRoaXMucGVlaygpID09PSBcIiRcIikge1xuICAgICAgICB0aGlzLmdldCgpO1xuICAgICAgICByZXR1cm4gXCI8JCQ+XCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCI8JD5cIjtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQ7XG4gIH1cbn07XG5mdW5jdGlvbiBleHBhbmQobGV4MiwgYXJncykge1xuICBsZXQgdG9rZW4gPSBsZXgyLm5leHQoKTtcbiAgaWYgKCF0b2tlbilcbiAgICByZXR1cm4gW107XG4gIGxldCByZXN1bHQgPSBbXTtcbiAgaWYgKHRva2VuID09PSBcIlxcXFxyZWxheFwiKSB7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09IFwiXFxcXG5vZXhwYW5kXCIpIHtcbiAgICB0b2tlbiA9IGxleDIubmV4dCgpO1xuICAgIGlmICh0b2tlbikge1xuICAgICAgcmVzdWx0LnB1c2godG9rZW4pO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0b2tlbiA9PT0gXCJcXFxcb2JleXNwYWNlc1wiKSB7XG4gICAgbGV4Mi5vYmV5c3BhY2VzID0gdHJ1ZTtcbiAgfSBlbHNlIGlmICh0b2tlbiA9PT0gXCJcXFxcc3BhY2VcIiB8fCB0b2tlbiA9PT0gXCJ+XCIpIHtcbiAgICByZXN1bHQucHVzaChcIjxzcGFjZT5cIik7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09IFwiXFxcXGJncm91cFwiKSB7XG4gICAgcmVzdWx0LnB1c2goXCI8ez5cIik7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09IFwiXFxcXGVncm91cFwiKSB7XG4gICAgcmVzdWx0LnB1c2goXCI8fT5cIik7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09IFwiXFxcXHN0cmluZ1wiKSB7XG4gICAgdG9rZW4gPSBsZXgyLm5leHQoKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIGlmICh0b2tlblswXSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgQXJyYXkuZnJvbSh0b2tlbikuZm9yRWFjaChcbiAgICAgICAgICAoeCkgPT4gcmVzdWx0LnB1c2goeCA9PT0gXCJcXFxcXCIgPyBcIlxcXFxiYWNrc2xhc2hcIiA6IHgpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuID09PSBcIjx7PlwiKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFwiXFxcXHtcIik7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuID09PSBcIjxzcGFjZT5cIikge1xuICAgICAgICByZXN1bHQucHVzaChcIn5cIik7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuID09PSBcIjx9PlwiKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKFwiXFxcXH1cIik7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKHRva2VuID09PSBcIlxcXFxjc25hbWVcIikge1xuICAgIHdoaWxlIChsZXgyLnBlZWsoKSA9PT0gXCI8c3BhY2U+XCIpIHtcbiAgICAgIGxleDIubmV4dCgpO1xuICAgIH1cbiAgICBsZXQgY29tbWFuZCA9IFwiXCI7XG4gICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICBsZXQgdG9rZW5zID0gW107XG4gICAgZG8ge1xuICAgICAgaWYgKHRva2Vucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKC9eI1swLTk/XSQvLnRlc3QobGV4Mi5wZWVrKCkpKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW0gPSBsZXgyLmdldCgpLnNsaWNlKDEpO1xuICAgICAgICAgIHRva2VucyA9IHRva2VuaXplKFxuICAgICAgICAgICAgYXJncz8uW3BhcmFtXSA/PyBhcmdzPy5bXCI/XCJdID8/IFwiXFxcXHBsYWNlaG9sZGVye31cIixcbiAgICAgICAgICAgIGFyZ3NcbiAgICAgICAgICApO1xuICAgICAgICAgIHRva2VuID0gdG9rZW5zWzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRva2VuID0gbGV4Mi5uZXh0KCk7XG4gICAgICAgICAgdG9rZW5zID0gdG9rZW4gPyBbdG9rZW5dIDogW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRvbmUgPSB0b2tlbnMubGVuZ3RoID09PSAwO1xuICAgICAgaWYgKCFkb25lICYmIHRva2VuID09PSBcIlxcXFxlbmRjc25hbWVcIikge1xuICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgICAgdG9rZW5zLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgICBpZiAoIWRvbmUpIHtcbiAgICAgICAgZG9uZSA9IHRva2VuID09PSBcIjwkPlwiIHx8IHRva2VuID09PSBcIjwkJD5cIiB8fCB0b2tlbiA9PT0gXCI8ez5cIiB8fCB0b2tlbiA9PT0gXCI8fT5cIiB8fCAhIXRva2VuICYmIHRva2VuLmxlbmd0aCA+IDEgJiYgdG9rZW5bMF0gPT09IFwiXFxcXFwiO1xuICAgICAgfVxuICAgICAgaWYgKCFkb25lKSB7XG4gICAgICAgIGNvbW1hbmQgKz0gdG9rZW5zLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfSB3aGlsZSAoIWRvbmUpO1xuICAgIGlmIChjb21tYW5kKSB7XG4gICAgICByZXN1bHQucHVzaChcIlxcXFxcIiArIGNvbW1hbmQpO1xuICAgIH1cbiAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRva2Vucyk7XG4gIH0gZWxzZSBpZiAodG9rZW4gPT09IFwiXFxcXGVuZGNzbmFtZVwiKSB7XG4gIH0gZWxzZSBpZiAodG9rZW4ubGVuZ3RoID4gMSAmJiB0b2tlblswXSA9PT0gXCIjXCIpIHtcbiAgICBjb25zdCBwYXJhbSA9IHRva2VuLnNsaWNlKDEpO1xuICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoXG4gICAgICB0b2tlbml6ZShhcmdzPy5bcGFyYW1dID8/IGFyZ3M/LltcIj9cIl0gPz8gXCJcXFxccGxhY2Vob2xkZXJ7fVwiLCBhcmdzKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnB1c2godG9rZW4pO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiB0b2tlbml6ZShzLCBhcmdzKSB7XG4gIGNvbnN0IGxpbmVzID0gcy50b1N0cmluZygpLnNwbGl0KC9cXHI/XFxuLyk7XG4gIGxldCBzdHJlYW0gPSBcIlwiO1xuICBsZXQgc2VwID0gXCJcIjtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgc3RyZWFtICs9IHNlcDtcbiAgICBzZXAgPSBcIiBcIjtcbiAgICBjb25zdCBtID0gbGluZS5tYXRjaCgvKCg/OlxcXFwlKXxbXiVdKSovKTtcbiAgICBpZiAobSAhPT0gbnVsbClcbiAgICAgIHN0cmVhbSArPSBtWzBdO1xuICB9XG4gIGNvbnN0IHRva2VuaXplciA9IG5ldyBUb2tlbml6ZXIoc3RyZWFtKTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGRvXG4gICAgcmVzdWx0LnB1c2goLi4uZXhwYW5kKHRva2VuaXplciwgYXJncykpO1xuICB3aGlsZSAoIXRva2VuaXplci5lbmQoKSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBjb3VudFRva2VucyhzKSB7XG4gIHJldHVybiB0b2tlbml6ZShzLCBbXSkubGVuZ3RoO1xufVxuZnVuY3Rpb24gam9pbkxhdGV4KHNlZ21lbnRzKSB7XG4gIGxldCBzZXAgPSBcIlwiO1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgZm9yIChjb25zdCBzZWdtZW50IG9mIHNlZ21lbnRzKSB7XG4gICAgaWYgKHNlZ21lbnQpIHtcbiAgICAgIGlmICgvW2EtekEtWipdLy50ZXN0KHNlZ21lbnRbMF0pKSB7XG4gICAgICAgIHJlc3VsdCArPSBzZXA7XG4gICAgICB9XG4gICAgICBpZiAoL1xcXFxbYS16QS1aXStcXCo/JC8udGVzdChzZWdtZW50KSkge1xuICAgICAgICBzZXAgPSBcIiBcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlcCA9IFwiXCI7XG4gICAgICB9XG4gICAgICByZXN1bHQgKz0gc2VnbWVudDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHRva2Vuc1RvU3RyaW5nKHRva2Vucykge1xuICBsZXQgZmxhdCA9IFtdO1xuICBpZiAoQXJyYXkuaXNBcnJheSh0b2tlbnMpKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRva2Vucykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgICAgZmxhdCA9IFsuLi5mbGF0LCAuLi5pdGVtXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZsYXQucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZmxhdCA9IFt0b2tlbnNdO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IGpvaW5MYXRleChcbiAgICBmbGF0Lm1hcCgodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFwiPHNwYWNlPlwiOiBcIiBcIixcbiAgICAgICAgXCI8JCQ+XCI6IFwiJCRcIixcbiAgICAgICAgXCI8JD5cIjogXCIkXCIsXG4gICAgICAgIFwiPHs+XCI6IFwie1wiLFxuICAgICAgICBcIjx9PlwiOiBcIn1cIlxuICAgICAgfVt0b2tlbl0gPz8gdG9rZW47XG4gICAgfSlcbiAgKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xhdGV4LXN5bnRheC9kaWN0aW9uYXJ5L2RlZmluaXRpb25zLWFsZ2VicmEudHNcbnZhciBERUZJTklUSU9OU19BTEdFQlJBID0gW1xuICB7XG4gICAgbmFtZTogXCJUb1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRvXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAyNzBcbiAgICAvLyBNYXRoTUwgcmlnaHR3YXJkcyBhcnJvd1xuICB9XG5dO1xuXG4vLyBzcmMvbWF0aC1qc29uL3V0aWxzLnRzXG52YXIgTUlTU0lORyA9IFtcIkVycm9yXCIsIFwiJ21pc3NpbmcnXCJdO1xuZnVuY3Rpb24gaXNOdW1iZXJFeHByZXNzaW9uKGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAodHlwZW9mIGV4cHIgPT09IFwibnVtYmVyXCIgfHwgaXNOdW1iZXJPYmplY3QoZXhwcikpXG4gICAgcmV0dXJuIHRydWU7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJzdHJpbmdcIiAmJiAvXlsrLV0/WzAtOVxcLl0vLnRlc3QoZXhwcikpXG4gICAgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzTnVtYmVyT2JqZWN0KGV4cHIpIHtcbiAgcmV0dXJuIGV4cHIgIT09IG51bGwgJiYgdHlwZW9mIGV4cHIgPT09IFwib2JqZWN0XCIgJiYgXCJudW1cIiBpbiBleHByO1xufVxuZnVuY3Rpb24gaXNTeW1ib2xPYmplY3QoZXhwcikge1xuICByZXR1cm4gZXhwciAhPT0gbnVsbCAmJiB0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBcInN5bVwiIGluIGV4cHI7XG59XG5mdW5jdGlvbiBpc1N0cmluZ09iamVjdChleHByKSB7XG4gIHJldHVybiBleHByICE9PSBudWxsICYmIHR5cGVvZiBleHByID09PSBcIm9iamVjdFwiICYmIFwic3RyXCIgaW4gZXhwcjtcbn1cbmZ1bmN0aW9uIGlzRnVuY3Rpb25PYmplY3QoZXhwcikge1xuICByZXR1cm4gZXhwciAhPT0gbnVsbCAmJiB0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBcImZuXCIgaW4gZXhwcjtcbn1cbnZhciByZWNvbW1lbmRlZFNjcmlwdHNSZWdleDtcbmZ1bmN0aW9uIGlzUmVjb21tZW5kZWRTY3JpcHRzKHRleHQpIHtcbiAgaWYgKCFyZWNvbW1lbmRlZFNjcmlwdHNSZWdleCkge1xuICAgIGNvbnN0IHJlY29tbWVuZGVkU2NyaXB0cyA9IFtcbiAgICAgIFwiWnl5eVwiLFxuICAgICAgXCJaaW5oXCIsXG4gICAgICBcIkFyYWJcIixcbiAgICAgIFwiQXJtblwiLFxuICAgICAgXCJCZW5nXCIsXG4gICAgICBcIkJvcG9cIixcbiAgICAgIFwiQ3lybFwiLFxuICAgICAgXCJEZXZhXCIsXG4gICAgICBcIkV0aGlcIixcbiAgICAgIFwiR2VvclwiLFxuICAgICAgXCJHcmVrXCIsXG4gICAgICBcIkd1anJcIixcbiAgICAgIFwiR3VydVwiLFxuICAgICAgXCJIYW5nXCIsXG4gICAgICBcIkhhbmlcIixcbiAgICAgIFwiSGViclwiLFxuICAgICAgXCJIaXJhXCIsXG4gICAgICBcIkthbmFcIixcbiAgICAgIFwiS25kYVwiLFxuICAgICAgXCJLaG1yXCIsXG4gICAgICBcIkxhb29cIixcbiAgICAgIFwiTGF0blwiLFxuICAgICAgXCJNbHltXCIsXG4gICAgICBcIk15bXJcIixcbiAgICAgIFwiT3J5YVwiLFxuICAgICAgXCJTaW5oXCIsXG4gICAgICBcIlRhbWxcIixcbiAgICAgIFwiVGVsdVwiLFxuICAgICAgXCJUaGFhXCIsXG4gICAgICBcIlRoYWlcIixcbiAgICAgIFwiVGlidFwiXG4gICAgXTtcbiAgICBjb25zdCByZWdleFBhdHRlcm4gPSBgXlske3JlY29tbWVuZGVkU2NyaXB0cy5tYXAoKHgpID0+IGBcXFxccHtTY3JpcHQ9JHt4fX1gKS5qb2luKFwiXCIpfV0qJGA7XG4gICAgcmVjb21tZW5kZWRTY3JpcHRzUmVnZXggPSBuZXcgUmVnRXhwKHJlZ2V4UGF0dGVybiwgXCJ1XCIpO1xuICB9XG4gIHJldHVybiByZWNvbW1lbmRlZFNjcmlwdHNSZWdleC50ZXN0KHRleHQpO1xufVxuZnVuY3Rpb24gaXNWYWxpZElkZW50aWZpZXIocykge1xuICBpZiAoL15bYS16QS1aX11bYS16QS1aMC05X10qJC8udGVzdChzKSlcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKE9OTFlfRU1PSklTLnRlc3QocykpXG4gICAgcmV0dXJuIHRydWU7XG4gIGlmICghaXNSZWNvbW1lbmRlZFNjcmlwdHMocykpXG4gICAgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gL15bXFxwe1hJRFN9X11cXHB7WElEQ30qJC91LnRlc3Qocyk7XG59XG52YXIgVlMxNiA9IFwiXFxcXHV7RkUwRn1cIjtcbnZhciBLRVlDQVAgPSBcIlxcXFx1ezIwRTN9XCI7XG52YXIgWldKMiA9IFwiXFxcXHV7MjAwRH1cIjtcbnZhciBGTEFHX1NFUVVFTkNFID0gXCJcXFxccHtSSX1cXFxccHtSSX1cIjtcbnZhciBUQUdfTU9EID0gYCg/OltcXFxcdXtFMDAyMH0tXFxcXHV7RTAwN0V9XStcXFxcdXtFMDA3Rn0pYDtcbnZhciBFTU9KSV9NT0QgPSBgKD86XFxcXHB7RU1vZH18JHtWUzE2fSR7S0VZQ0FQfT98JHtUQUdfTU9EfSlgO1xudmFyIEVNT0pJX05PVF9JREVOVElGSUVSID0gYCg/Oig/PVxcXFxQe1hJREN9KVxcXFxwe0Vtb2ppfSlgO1xudmFyIFpXSl9FTEVNRU5UID0gYCg/OiR7RU1PSklfTk9UX0lERU5USUZJRVJ9JHtFTU9KSV9NT0R9KnxcXFxccHtFbW9qaX0ke0VNT0pJX01PRH0rfCR7RkxBR19TRVFVRU5DRX0pYDtcbnZhciBQT1NTSUJMRV9FTU9KSSA9IGAoPzoke1pXSl9FTEVNRU5UfSkoJHtaV0oyfSR7WldKX0VMRU1FTlR9KSpgO1xudmFyIFNPTUVfRU1PSkkgPSBuZXcgUmVnRXhwKGAoPzoke1BPU1NJQkxFX0VNT0pJfSkrYCwgXCJ1XCIpO1xudmFyIE9OTFlfRU1PSklTID0gbmV3IFJlZ0V4cChgXig/OiR7UE9TU0lCTEVfRU1PSkl9KSskYCwgXCJ1XCIpO1xuZnVuY3Rpb24gdmFsaWRhdGVJZGVudGlmaWVyKHMpIHtcbiAgaWYgKHR5cGVvZiBzICE9PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBcIm5vdC1hLXN0cmluZ1wiO1xuICBpZiAocyA9PT0gXCJcIilcbiAgICByZXR1cm4gXCJlbXB0eS1zdHJpbmdcIjtcbiAgaWYgKHMubm9ybWFsaXplKCkgIT09IHMpXG4gICAgcmV0dXJuIFwiZXhwZWN0ZWQtbmZjXCI7XG4gIGlmICgvW1xcdTIwMEVcXHUyMDBGXFx1MjA2Ni1cXHUyMDY5XFx1MjAyQS1cXHUyMDJFXS8udGVzdChzKSlcbiAgICByZXR1cm4gXCJ1bmV4cGVjdGVkLWJpZGktbWFya2VyXCI7XG4gIGlmIChPTkxZX0VNT0pJUy50ZXN0KHMpKVxuICAgIHJldHVybiBcInZhbGlkXCI7XG4gIGlmICgvXFxwe1hJREN9L3UudGVzdChzKSAmJiBTT01FX0VNT0pJLnRlc3QocykpXG4gICAgcmV0dXJuIFwidW5leHBlY3RlZC1taXhlZC1lbW9qaVwiO1xuICBpZiAoIWlzUmVjb21tZW5kZWRTY3JpcHRzKHMpKVxuICAgIHJldHVybiBcInVuZXhwZWN0ZWQtc2NyaXB0XCI7XG4gIGlmICghaXNWYWxpZElkZW50aWZpZXIocykpIHtcbiAgICBpZiAoIWlzVmFsaWRJZGVudGlmaWVyKHNbMF0pKVxuICAgICAgcmV0dXJuIFwiaW52YWxpZC1maXJzdC1jaGFyXCI7XG4gICAgcmV0dXJuIFwiaW52YWxpZC1jaGFyXCI7XG4gIH1cbiAgcmV0dXJuIFwidmFsaWRcIjtcbn1cbmZ1bmN0aW9uIHN0cmluZ1ZhbHVlKGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwgfHwgZXhwciA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAodHlwZW9mIGV4cHIgPT09IFwib2JqZWN0XCIgJiYgXCJzdHJcIiBpbiBleHByKVxuICAgIHJldHVybiBleHByLnN0cjtcbiAgaWYgKHR5cGVvZiBleHByICE9PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAoZXhwci5sZW5ndGggPCAyKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAoZXhwclswXSAhPT0gXCInXCIgfHwgZXhwcltleHByLmxlbmd0aCAtIDFdICE9PSBcIidcIilcbiAgICByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIGV4cHIuc3Vic3RyaW5nKDEsIGV4cHIubGVuZ3RoIC0gMSk7XG59XG5mdW5jdGlvbiBzdHJpcFRleHQoZXhwcikge1xuICBpZiAoZXhwciA9PT0gbnVsbCB8fCBleHByID09PSB2b2lkIDAgfHwgc3RyaW5nVmFsdWUoZXhwcikgIT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICBpZiAoaCAhPT0gbnVsbCkge1xuICAgIHJldHVybiBbXG4gICAgICBoLFxuICAgICAgLi4uKG9wcyhleHByKSA/PyBbXSkubWFwKCh4KSA9PiBzdHJpcFRleHQoeCkpLmZpbHRlcigoeCkgPT4geCAhPT0gbnVsbClcbiAgICBdO1xuICB9XG4gIHJldHVybiBleHByO1xufVxuZnVuY3Rpb24gaGVhZChleHByKSB7XG4gIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwcikpIHtcbiAgICBpZiAodHlwZW9mIGV4cHJbMF0gPT09IFwic3RyaW5nXCIgJiYgIWlzVmFsaWRJZGVudGlmaWVyKGV4cHJbMF0pKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgSW52YWxpZCBpZGVudGlmaWVyIFwiJHtleHByWzBdfVwiOiAke3ZhbGlkYXRlSWRlbnRpZmllcihleHByWzBdKX1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBleHByWzBdO1xuICB9XG4gIGlmIChpc0Z1bmN0aW9uT2JqZWN0KGV4cHIpKVxuICAgIHJldHVybiBleHByLmZuWzBdO1xuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGhlYWROYW1lKGV4cHIpIHtcbiAgY29uc3QgaCA9IGhlYWQoZXhwcik7XG4gIHJldHVybiB0eXBlb2YgaCA9PT0gXCJzdHJpbmdcIiA/IGggOiBcIlwiO1xufVxuZnVuY3Rpb24gb3BzKGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwgfHwgZXhwciA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAoQXJyYXkuaXNBcnJheShleHByKSlcbiAgICByZXR1cm4gZXhwci5zbGljZSgxKTtcbiAgaWYgKGlzRnVuY3Rpb25PYmplY3QoZXhwcikpXG4gICAgcmV0dXJuIGV4cHIuZm4uc2xpY2UoMSk7XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gb3AoZXhwciwgbikge1xuICBpZiAoZXhwciA9PT0gbnVsbCB8fCBleHByID09PSB2b2lkIDApXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmIChBcnJheS5pc0FycmF5KGV4cHIpKVxuICAgIHJldHVybiBleHByW25dID8/IG51bGw7XG4gIGlmIChpc0Z1bmN0aW9uT2JqZWN0KGV4cHIpKVxuICAgIHJldHVybiBleHByLmZuW25dID8/IG51bGw7XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gb3AxKGV4cHIpIHtcbiAgcmV0dXJuIG9wKGV4cHIsIDEpO1xufVxuZnVuY3Rpb24gb3AyKGV4cHIpIHtcbiAgcmV0dXJuIG9wKGV4cHIsIDIpO1xufVxuZnVuY3Rpb24gbm9wcyhleHByKSB7XG4gIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICByZXR1cm4gMDtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwcikpXG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIGV4cHIubGVuZ3RoIC0gMSk7XG4gIGlmIChpc0Z1bmN0aW9uT2JqZWN0KGV4cHIpKVxuICAgIHJldHVybiBNYXRoLm1heCgwLCBleHByLmZuLmxlbmd0aCAtIDEpO1xuICByZXR1cm4gMDtcbn1cbmZ1bmN0aW9uIHN5bWJvbChleHByKSB7XG4gIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKC9eWytcXC1cXC4wLTldLy50ZXN0KGV4cHIpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKGV4cHIubGVuZ3RoID49IDIgJiYgZXhwclswXSA9PT0gXCInXCIgJiYgZXhwcltleHByLmxlbmd0aCAtIDFdID09PSBcIidcIilcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHMgPSBpc1N5bWJvbE9iamVjdChleHByKSA/IGV4cHIuc3ltIDogZXhwcjtcbiAgaWYgKHR5cGVvZiBzICE9PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBudWxsO1xuICByZXR1cm4gcztcbn1cbmZ1bmN0aW9uIGlzTGlzdExpa2UoZXhwcikge1xuICBpZiAoZXhwciA9PT0gbnVsbClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICBpZiAoIWggfHwgdHlwZW9mIGggIT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gL14oTGlzdHxTZXF1ZW5jZXxUdXBsZXxTaW5nbGV8UGFpcnxUcmlwbGUpJC8udGVzdChoKTtcbn1cbmZ1bmN0aW9uIGtleVZhbHVlUGFpcihleHByKSB7XG4gIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICBpZiAoaCA9PT0gXCJLZXlWYWx1ZVBhaXJcIiB8fCBoID09PSBcIlR1cGxlXCIgfHwgaCA9PT0gXCJQYWlyXCIpIHtcbiAgICBjb25zdCBrZXkgPSBzdHJpbmdWYWx1ZShvcDEoZXhwcikpO1xuICAgIGlmICgha2V5KVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIFtrZXksIG9wMihleHByKSA/PyBcIk5vdGhpbmdcIl07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBkaWN0aW9uYXJ5KGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBcImRpY3RcIiBpbiBleHByKVxuICAgIHJldHVybiBleHByLmRpY3Q7XG4gIGNvbnN0IGt2ID0ga2V5VmFsdWVQYWlyKGV4cHIpO1xuICBpZiAoa3YpXG4gICAgcmV0dXJuIHsgW2t2WzBdXToga3ZbMV0gfTtcbiAgY29uc3QgaCA9IGhlYWQoZXhwcik7XG4gIGlmIChoID09PSBcIkRpY3Rpb25hcnlcIikge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbm9wcyhleHByKTsgaSsrKSB7XG4gICAgICBjb25zdCBrdjIgPSBrZXlWYWx1ZVBhaXIob3AoZXhwciwgaSkpO1xuICAgICAgaWYgKGt2MilcbiAgICAgICAgcmVzdWx0W2t2MlswXV0gPSBrdjJbMV07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBtYWNoaW5lVmFsdWVPZlN0cmluZyhzKSB7XG4gIHMgPSBzLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW25kXSQvZywgXCJcIikucmVwbGFjZSgvW1xcdTAwMDktXFx1MDAwZFxcdTAwMjBcXHUwMGEwXS9nLCBcIlwiKTtcbiAgaWYgKHMgPT09IFwibmFuXCIpXG4gICAgcmV0dXJuIE5hTjtcbiAgaWYgKHMgPT09IFwiK2luZmluaXR5XCIpXG4gICAgcmV0dXJuIEluZmluaXR5O1xuICBpZiAocyA9PT0gXCItaW5maW5pdHlcIilcbiAgICByZXR1cm4gLUluZmluaXR5O1xuICBpZiAoL1xcKFswLTldK1xcKS8udGVzdChzKSkge1xuICAgIGNvbnN0IFtfLCBib2R5LCByZXBlYXQsIHRyYWlsXSA9IHMubWF0Y2goLyguKylcXCgoWzAtOV0rKVxcKSguKikkLykgPz8gW107XG4gICAgcyA9IGJvZHkgKyByZXBlYXQucmVwZWF0KE1hdGguY2VpbCgxNiAvIHJlcGVhdC5sZW5ndGgpKSArICh0cmFpbCA/PyBcIlwiKTtcbiAgfVxuICByZXR1cm4gcGFyc2VGbG9hdChzKTtcbn1cbmZ1bmN0aW9uIG1hY2hpbmVWYWx1ZShleHByKSB7XG4gIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKHR5cGVvZiBleHByID09PSBcIm51bWJlclwiKVxuICAgIHJldHVybiBleHByO1xuICBpZiAodHlwZW9mIGV4cHIgPT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIG1hY2hpbmVWYWx1ZU9mU3RyaW5nKGV4cHIpO1xuICBpZiAoaXNOdW1iZXJPYmplY3QoZXhwcikpXG4gICAgcmV0dXJuIG1hY2hpbmVWYWx1ZShleHByLm51bSk7XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gcmF0aW9uYWxWYWx1ZShleHByKSB7XG4gIGlmIChleHByID09PSB2b2lkIDAgfHwgZXhwciA9PT0gbnVsbClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKHN5bWJvbChleHByKSA9PT0gXCJIYWxmXCIpXG4gICAgcmV0dXJuIFsxLCAyXTtcbiAgY29uc3QgaCA9IGhlYWQoZXhwcik7XG4gIGlmICghaClcbiAgICByZXR1cm4gbnVsbDtcbiAgbGV0IG51bWVyID0gbnVsbDtcbiAgbGV0IGRlbm9tID0gbnVsbDtcbiAgaWYgKGggPT09IFwiTmVnYXRlXCIpIHtcbiAgICBjb25zdCByID0gcmF0aW9uYWxWYWx1ZShvcDEoZXhwcikpO1xuICAgIGlmIChyKVxuICAgICAgcmV0dXJuIFstclswXSwgclsxXV07XG4gIH1cbiAgaWYgKGggPT09IFwiUmF0aW9uYWxcIiB8fCBoID09PSBcIkRpdmlkZVwiKSB7XG4gICAgbnVtZXIgPSBtYWNoaW5lVmFsdWUob3AxKGV4cHIpKSA/PyBOYU47XG4gICAgZGVub20gPSBtYWNoaW5lVmFsdWUob3AyKGV4cHIpKSA/PyBOYU47XG4gIH1cbiAgaWYgKGggPT09IFwiUG93ZXJcIikge1xuICAgIGNvbnN0IGV4cG9uZW50ID0gbWFjaGluZVZhbHVlKG9wMihleHByKSk7XG4gICAgaWYgKGV4cG9uZW50ID09PSAxKSB7XG4gICAgICBudW1lciA9IG1hY2hpbmVWYWx1ZShvcDEoZXhwcikpO1xuICAgICAgZGVub20gPSAxO1xuICAgIH0gZWxzZSBpZiAoZXhwb25lbnQgPT09IC0xKSB7XG4gICAgICBudW1lciA9IDE7XG4gICAgICBkZW5vbSA9IG1hY2hpbmVWYWx1ZShvcDEoZXhwcikpO1xuICAgIH1cbiAgfVxuICBpZiAoaCA9PT0gXCJNdWx0aXBseVwiICYmIGhlYWQob3AyKGV4cHIpKSA9PT0gXCJQb3dlclwiICYmIG1hY2hpbmVWYWx1ZShvcDIob3AyKGV4cHIpKSkgPT09IC0xKSB7XG4gICAgbnVtZXIgPSBtYWNoaW5lVmFsdWUob3AxKGV4cHIpKTtcbiAgICBkZW5vbSA9IG1hY2hpbmVWYWx1ZShvcDEob3AyKGV4cHIpKSk7XG4gIH1cbiAgaWYgKG51bWVyID09PSBudWxsIHx8IGRlbm9tID09PSBudWxsKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAoTnVtYmVyLmlzSW50ZWdlcihudW1lcikgJiYgTnVtYmVyLmlzSW50ZWdlcihkZW5vbSkpXG4gICAgcmV0dXJuIFtudW1lciwgZGVub21dO1xuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIHN1YnMoZXhwciwgcykge1xuICBjb25zdCBoID0gaGVhZChleHByKTtcbiAgaWYgKGggIT09IG51bGwpXG4gICAgcmV0dXJuIFtzdWJzKGgsIHMpLCAuLi4ob3BzKGV4cHIpID8/IFtdKS5tYXAoKHgpID0+IHN1YnMoeCwgcykpXTtcbiAgY29uc3QgZGljdCA9IGRpY3Rpb25hcnkoZXhwcik7XG4gIGlmIChkaWN0ICE9PSBudWxsKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRpY3QpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpXG4gICAgICByZXN1bHRba2V5XSA9IHN1YnMoZGljdFtrZXldLCBzKTtcbiAgICByZXR1cm4geyBkaWN0OiByZXN1bHQgfTtcbiAgfVxuICBjb25zdCBzeW0gPSBzeW1ib2woZXhwcik7XG4gIGlmIChzeW0gJiYgc1tzeW1dKVxuICAgIHJldHVybiBzW3N5bV07XG4gIHJldHVybiBleHByO1xufVxuZnVuY3Rpb24gbWFwQXJncyhleHByLCBmbikge1xuICBsZXQgYXJncyA9IG51bGw7XG4gIGlmIChBcnJheS5pc0FycmF5KGV4cHIpKVxuICAgIGFyZ3MgPSBleHByO1xuICBpZiAoaXNGdW5jdGlvbk9iamVjdChleHByKSlcbiAgICBhcmdzID0gZXhwci5mbjtcbiAgaWYgKGFyZ3MgPT09IG51bGwpXG4gICAgcmV0dXJuIFtdO1xuICBsZXQgaSA9IDE7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICB3aGlsZSAoaSA8IGFyZ3MubGVuZ3RoKSB7XG4gICAgcmVzdWx0LnB1c2goZm4oYXJnc1tpXSkpO1xuICAgIGkgKz0gMTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gYXBwbHlBc3NvY2lhdGl2ZU9wZXJhdG9yKG9wMywgbGhzLCByaHMsIGFzc29jaWF0aXZpdHkgPSBcImJvdGhcIikge1xuICBpZiAoYXNzb2NpYXRpdml0eSA9PT0gXCJub25cIilcbiAgICByZXR1cm4gW29wMywgbGhzLCByaHNdO1xuICBjb25zdCBsaHNOYW1lID0gaGVhZChsaHMpO1xuICBjb25zdCByaHNOYW1lID0gaGVhZChyaHMpO1xuICBpZiAoYXNzb2NpYXRpdml0eSA9PT0gXCJsZWZ0XCIpIHtcbiAgICBpZiAobGhzTmFtZSA9PT0gb3AzKVxuICAgICAgcmV0dXJuIFtvcDMsIC4uLm9wcyhsaHMpID8/IFtdLCByaHNdO1xuICAgIHJldHVybiBbb3AzLCBsaHMsIHJoc107XG4gIH1cbiAgaWYgKGFzc29jaWF0aXZpdHkgPT09IFwicmlnaHRcIikge1xuICAgIGlmIChyaHNOYW1lID09PSBvcDMpXG4gICAgICByZXR1cm4gW29wMywgbGhzLCAuLi5vcHMocmhzKSA/PyBbXV07XG4gICAgcmV0dXJuIFtvcDMsIGxocywgcmhzXTtcbiAgfVxuICBpZiAobGhzTmFtZSA9PT0gb3AzICYmIHJoc05hbWUgPT09IG9wMykge1xuICAgIHJldHVybiBbb3AzLCAuLi5vcHMobGhzKSA/PyBbXSwgLi4ub3BzKHJocykgPz8gW11dO1xuICB9XG4gIGlmIChsaHNOYW1lID09PSBvcDMpXG4gICAgcmV0dXJuIFtvcDMsIC4uLm9wcyhsaHMpID8/IFtdLCByaHNdO1xuICBpZiAocmhzTmFtZSA9PT0gb3AzKVxuICAgIHJldHVybiBbb3AzLCBsaHMsIC4uLm9wcyhyaHMpID8/IFtdXTtcbiAgcmV0dXJuIFtvcDMsIGxocywgcmhzXTtcbn1cbmZ1bmN0aW9uIGdldFNlcXVlbmNlKGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGxldCBoID0gaGVhZChleHByKTtcbiAgaWYgKGggPT09IFwiRGVsaW1pdGVyXCIpIHtcbiAgICBleHByID0gb3AoZXhwciwgMSk7XG4gICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gW107XG4gICAgaWYgKGhlYWQoZXhwcikgIT09IFwiU2VxdWVuY2VcIilcbiAgICAgIHJldHVybiBbZXhwcl07XG4gIH1cbiAgaCA9IGhlYWQoZXhwcik7XG4gIGlmIChoICE9PSBcIlNlcXVlbmNlXCIpXG4gICAgcmV0dXJuIG51bGw7XG4gIHJldHVybiBvcHMoZXhwcikgPz8gW107XG59XG5mdW5jdGlvbiBpc0VtcHR5U2VxdWVuY2UoZXhwcikge1xuICByZXR1cm4gZXhwciAhPT0gbnVsbCAmJiBoZWFkKGV4cHIpID09PSBcIlNlcXVlbmNlXCIgJiYgbm9wcyhleHByKSA9PT0gMDtcbn1cbmZ1bmN0aW9uIG1pc3NpbmdJZkVtcHR5KGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwgfHwgaXNFbXB0eVNlcXVlbmNlKGV4cHIpKVxuICAgIHJldHVybiBNSVNTSU5HO1xuICByZXR1cm4gZXhwcjtcbn1cbmZ1bmN0aW9uIGNvdW50RnVuY3Rpb25MZWF2ZXMoeHMpIHtcbiAgaWYgKHhzWzBdID09PSBcIlNxdWFyZVwiKSB7XG4gICAgcmV0dXJuIGNvdW50RnVuY3Rpb25MZWF2ZXMoeHMuc2xpY2UoMSkpICsgMjtcbiAgfVxuICByZXR1cm4geHMucmVkdWNlKChhY2MsIHgpID0+IGFjYyArIGNvdW50TGVhdmVzKHgpLCAwKTtcbn1cbmZ1bmN0aW9uIGNvdW50TGVhdmVzKGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIDA7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgZXhwciA9PT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gMTtcbiAgaWYgKGlzTnVtYmVyRXhwcmVzc2lvbihleHByKSB8fCBpc1N5bWJvbE9iamVjdChleHByKSB8fCBpc1N0cmluZ09iamVjdChleHByKSlcbiAgICByZXR1cm4gMTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwcikpXG4gICAgcmV0dXJuIGNvdW50RnVuY3Rpb25MZWF2ZXMoZXhwcik7XG4gIGlmIChcImZuXCIgaW4gZXhwcilcbiAgICByZXR1cm4gY291bnRGdW5jdGlvbkxlYXZlcyhleHByLmZuKTtcbiAgY29uc3QgZGljdCA9IGRpY3Rpb25hcnkoZXhwcik7XG4gIGlmIChkaWN0KSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRpY3QpO1xuICAgIHJldHVybiAxICsga2V5cy5sZW5ndGggKyBrZXlzLnJlZHVjZSgoYWNjLCB4KSA9PiBhY2MgKyBjb3VudExlYXZlcyhkaWN0W3hdKSwgMCk7XG4gIH1cbiAgcmV0dXJuIDA7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvc2VyaWFsaXplci1zdHlsZS50c1xuZnVuY3Rpb24gZ2V0QXBwbHlGdW5jdGlvblN0eWxlKF9leHByLCBfbGV2ZWwpIHtcbiAgcmV0dXJuIFwicGFyZW5cIjtcbn1cbmZ1bmN0aW9uIGdldEdyb3VwU3R5bGUoX2V4cHIsIF9sZXZlbCkge1xuICByZXR1cm4gXCJwYXJlblwiO1xufVxuZnVuY3Rpb24gZ2V0Um9vdFN0eWxlKF9leHByLCBsZXZlbCkge1xuICByZXR1cm4gbGV2ZWwgPiAyID8gXCJzb2xpZHVzXCIgOiBcInJhZGljYWxcIjtcbn1cbmZ1bmN0aW9uIGdldEZyYWN0aW9uU3R5bGUoZXhwciwgbGV2ZWwpIHtcbiAgaWYgKGxldmVsID4gMylcbiAgICByZXR1cm4gXCJpbmxpbmUtc29saWR1c1wiO1xuICBpZiAoaGVhZChleHByKSA9PT0gXCJEaXZpZGVcIikge1xuICAgIGNvbnN0IFtuLCBkXSA9IFtjb3VudExlYXZlcyhvcDEoZXhwcikpLCBjb3VudExlYXZlcyhvcDIoZXhwcikpXTtcbiAgICBpZiAoZCA8PSAyICYmIG4gPiA1KVxuICAgICAgcmV0dXJuIFwiZmFjdG9yXCI7XG4gICAgaWYgKG4gPD0gMiAmJiBkID4gNSlcbiAgICAgIHJldHVybiBcInJlY2lwcm9jYWxcIjtcbiAgfVxuICByZXR1cm4gXCJxdW90aWVudFwiO1xufVxuZnVuY3Rpb24gZ2V0TG9naWNTdHlsZShfZXhwciwgX2xldmVsKSB7XG4gIHJldHVybiBcImJvb2xlYW5cIjtcbn1cbmZ1bmN0aW9uIGdldFBvd2VyU3R5bGUoX2V4cHIsIF9sZXZlbCkge1xuICByZXR1cm4gXCJzb2xpZHVzXCI7XG59XG5mdW5jdGlvbiBnZXROdW1lcmljU2V0U3R5bGUoX2V4cHIsIF9sZXZlbCkge1xuICByZXR1cm4gXCJjb21wYWN0XCI7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1hcml0aG1ldGljLnRzXG5mdW5jdGlvbiBudW1lcmF0b3JEZW5vbWluYXRvcihleHByKSB7XG4gIGlmIChoZWFkKGV4cHIpICE9PSBcIk11bHRpcGx5XCIpXG4gICAgcmV0dXJuIFtbXSwgW11dO1xuICBjb25zdCBudW1lcmF0b3IgPSBbXTtcbiAgY29uc3QgZGVub21pbmF0b3IgPSBbXTtcbiAgY29uc3QgYXJncyA9IG9wcyhleHByKSA/PyBbXTtcbiAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xuICAgIGlmIChoZWFkKGFyZykgPT09IFwiUG93ZXJcIikge1xuICAgICAgY29uc3Qgb3AxMiA9IG9wKGFyZywgMSk7XG4gICAgICBjb25zdCBvcDIyID0gb3AoYXJnLCAyKTtcbiAgICAgIGlmIChoZWFkKG9wMjIpID09PSBcIk5lZ2F0ZVwiKSB7XG4gICAgICAgIGNvbnN0IGIgPSBvcChvcDIyLCAxKTtcbiAgICAgICAgaWYgKG9wMTIgJiYgYilcbiAgICAgICAgICBkZW5vbWluYXRvci5wdXNoKFtcIlBvd2VyXCIsIG9wMTIsIGJdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGV4cG9uZW50VmFsID0gbWFjaGluZVZhbHVlKG9wMjIpID8/IE5hTjtcbiAgICAgICAgaWYgKGV4cG9uZW50VmFsID09PSAtMSkge1xuICAgICAgICAgIGlmIChvcDEyKVxuICAgICAgICAgICAgZGVub21pbmF0b3IucHVzaChvcDEyKTtcbiAgICAgICAgfSBlbHNlIGlmIChleHBvbmVudFZhbCA8IDApIHtcbiAgICAgICAgICBpZiAob3AxMilcbiAgICAgICAgICAgIGRlbm9taW5hdG9yLnB1c2goW1wiUG93ZXJcIiwgb3AxMiwgLWV4cG9uZW50VmFsXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbnVtZXJhdG9yLnB1c2goYXJnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaGVhZChhcmcpID09PSBcIlJhdGlvbmFsXCIgJiYgbm9wcyhhcmcpID09PSAyKSB7XG4gICAgICBjb25zdCBvcDEyID0gb3AoYXJnLCAxKTtcbiAgICAgIGNvbnN0IG9wMjIgPSBvcChhcmcsIDIpO1xuICAgICAgaWYgKG1hY2hpbmVWYWx1ZShvcDEyKSAhPT0gMSlcbiAgICAgICAgbnVtZXJhdG9yLnB1c2gob3AxMik7XG4gICAgICBpZiAobWFjaGluZVZhbHVlKG9wMjIpICE9PSAxKVxuICAgICAgICBkZW5vbWluYXRvci5wdXNoKG9wMjIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByID0gcmF0aW9uYWxWYWx1ZShhcmcpO1xuICAgICAgaWYgKHIgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHJbMF0gIT09IDEpXG4gICAgICAgICAgbnVtZXJhdG9yLnB1c2goclswXSk7XG4gICAgICAgIGRlbm9taW5hdG9yLnB1c2goclsxXSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgbnVtZXJhdG9yLnB1c2goYXJnKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtudW1lcmF0b3IsIGRlbm9taW5hdG9yXTtcbn1cbmZ1bmN0aW9uIHBhcnNlUm9vdChwYXJzZXIpIHtcbiAgY29uc3QgZGVncmVlID0gcGFyc2VyLnBhcnNlT3B0aW9uYWxHcm91cCgpO1xuICBjb25zdCBiYXNlID0gcGFyc2VyLnBhcnNlR3JvdXAoKSA/PyBwYXJzZXIucGFyc2VUb2tlbigpO1xuICBpZiAoYmFzZSA9PT0gbnVsbCB8fCBpc0VtcHR5U2VxdWVuY2UoYmFzZSkpIHtcbiAgICBpZiAoZGVncmVlICE9PSBudWxsKVxuICAgICAgcmV0dXJuIFtcIlJvb3RcIiwgTUlTU0lORywgbWlzc2luZ0lmRW1wdHkoZGVncmVlKV07XG4gICAgcmV0dXJuIFtcIlNxcnRcIiwgTUlTU0lOR107XG4gIH1cbiAgaWYgKGRlZ3JlZSAhPT0gbnVsbClcbiAgICByZXR1cm4gW1wiUm9vdFwiLCBiYXNlLCBkZWdyZWVdO1xuICByZXR1cm4gW1wiU3FydFwiLCBiYXNlXTtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZVJvb3Qoc2VyaWFsaXplciwgc3R5bGUsIGJhc2UsIGRlZ3JlZSkge1xuICBpZiAoYmFzZSA9PT0gbnVsbClcbiAgICByZXR1cm4gXCJcXFxcc3FydHt9XCI7XG4gIGRlZ3JlZSA9IGRlZ3JlZSA/PyAyO1xuICBpZiAoc3R5bGUgPT09IFwic29saWR1c1wiKSB7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZXIud3JhcFNob3J0KGJhc2UpICsgXCJeezFcXFxcL1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUoZGVncmVlKSArIFwifVwiO1xuICB9IGVsc2UgaWYgKHN0eWxlID09PSBcInF1b3RpZW50XCIpIHtcbiAgICByZXR1cm4gc2VyaWFsaXplci53cmFwU2hvcnQoYmFzZSkgKyBcIl57XFxcXGZyYWN7MX17XCIgKyBzZXJpYWxpemVyLnNlcmlhbGl6ZShkZWdyZWUpICsgXCJ9fVwiO1xuICB9XG4gIGNvbnN0IGRlZ3JlZVZhbHVlID0gbWFjaGluZVZhbHVlKGRlZ3JlZSk7XG4gIGlmIChkZWdyZWVWYWx1ZSA9PT0gMilcbiAgICByZXR1cm4gXCJcXFxcc3FydHtcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKGJhc2UpICsgXCJ9XCI7XG4gIHJldHVybiBcIlxcXFxzcXJ0W1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUoZGVncmVlKSArIFwiXXtcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKGJhc2UpICsgXCJ9XCI7XG59XG5mdW5jdGlvbiBzZXJpYWxpemVBZGQoc2VyaWFsaXplciwgZXhwcikge1xuICBzZXJpYWxpemVyLmxldmVsIC09IDE7XG4gIGNvbnN0IG5hbWUgPSBoZWFkKGV4cHIpO1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgbGV0IGFyZyA9IG9wKGV4cHIsIDEpO1xuICBpZiAobmFtZSA9PT0gXCJOZWdhdGVcIikge1xuICAgIHJlc3VsdCA9IFwiLVwiICsgc2VyaWFsaXplci53cmFwKGFyZywgMjc2KTtcbiAgfSBlbHNlIGlmIChuYW1lID09PSBcIkFkZFwiKSB7XG4gICAgaWYgKHNlcmlhbGl6ZXIuY2Fub25pY2FsICYmIG5vcHMoZXhwcikgPT09IDIgJiYgc2VyaWFsaXplci5vcHRpb25zLmludmlzaWJsZVBsdXMgIT09IFwiK1wiKSB7XG4gICAgICBjb25zdCBbb3AxMiwgb3AyMl0gPSBbb3AoZXhwciwgMSksIG9wKGV4cHIsIDIpXTtcbiAgICAgIGxldCBbbGhzLCByaHNdID0gW29wMTIsIG9wMjJdO1xuICAgICAgbGV0IGxoc1ZhbHVlID0gbWFjaGluZVZhbHVlKGxocyk7XG4gICAgICBsZXQgcmhzVmFsdWUgPSByYXRpb25hbFZhbHVlKHJocyk7XG4gICAgICBpZiAobGhzVmFsdWUgPT09IG51bGwgfHwgcmhzVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgW2xocywgcmhzXSA9IFtvcDIyLCBvcDEyXTtcbiAgICAgICAgbGhzVmFsdWUgPSBtYWNoaW5lVmFsdWUobGhzKTtcbiAgICAgICAgcmhzVmFsdWUgPSByYXRpb25hbFZhbHVlKHJocyk7XG4gICAgICB9XG4gICAgICBpZiAobGhzVmFsdWUgIT09IG51bGwgJiYgcmhzVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGlzRmluaXRlKGxoc1ZhbHVlKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKGxoc1ZhbHVlKSAmJiBsaHNWYWx1ZSA+PSAwICYmIGxoc1ZhbHVlIDw9IDFlMyAmJiBpc0Zpbml0ZShyaHNWYWx1ZVswXSkgJiYgaXNGaW5pdGUocmhzVmFsdWVbMV0pICYmIHJoc1ZhbHVlWzBdID4gMCAmJiByaHNWYWx1ZVswXSA8PSAxMDAgJiYgcmhzVmFsdWVbMV0gPD0gMTAwKSB7XG4gICAgICAgICAgcmVzdWx0ID0gam9pbkxhdGV4KFtcbiAgICAgICAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKGxocyksXG4gICAgICAgICAgICBzZXJpYWxpemVyLm9wdGlvbnMuaW52aXNpYmxlUGx1cyxcbiAgICAgICAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKHJocylcbiAgICAgICAgICBdKTtcbiAgICAgICAgICBzZXJpYWxpemVyLmxldmVsICs9IDE7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgdmFsID0gbWFjaGluZVZhbHVlKGFyZykgPz8gTmFOO1xuICAgIHJlc3VsdCA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKGFyZyk7XG4gICAgY29uc3QgbGFzdCA9IG5vcHMoZXhwcikgKyAxO1xuICAgIGZvciAobGV0IGkgPSAyOyBpIDwgbGFzdDsgaSsrKSB7XG4gICAgICBhcmcgPSBvcChleHByLCBpKTtcbiAgICAgIHZhbCA9IG1hY2hpbmVWYWx1ZShhcmcpID8/IE5hTjtcbiAgICAgIGlmICh2YWwgPCAwKSB7XG4gICAgICAgIHJlc3VsdCArPSBzZXJpYWxpemVyLnNlcmlhbGl6ZShhcmcpO1xuICAgICAgfSBlbHNlIGlmIChoZWFkKGFyZykgPT09IFwiTmVnYXRlXCIpIHtcbiAgICAgICAgcmVzdWx0ICs9IHNlcmlhbGl6ZXIud3JhcChhcmcsIDI3NSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0ZXJtID0gc2VyaWFsaXplci53cmFwKGFyZywgMjc1KTtcbiAgICAgICAgaWYgKHRlcm1bMF0gPT09IFwiLVwiIHx8IHRlcm1bMF0gPT09IFwiK1wiKVxuICAgICAgICAgIHJlc3VsdCArPSB0ZXJtO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgcmVzdWx0ICs9IFwiK1wiICsgdGVybTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAobmFtZSA9PT0gXCJTdWJ0cmFjdFwiKSB7XG4gICAgcmVzdWx0ID0gc2VyaWFsaXplci53cmFwKGFyZywgMjc1KTtcbiAgICBjb25zdCBhcmcyID0gb3AoZXhwciwgMik7XG4gICAgaWYgKGFyZzIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm0gPSBzZXJpYWxpemVyLndyYXAoYXJnMiwgMjc1KTtcbiAgICAgIGlmICh0ZXJtWzBdID09PSBcIi1cIilcbiAgICAgICAgcmVzdWx0ICs9IFwiK1wiICsgdGVybS5zbGljZSgxKTtcbiAgICAgIGVsc2UgaWYgKHRlcm1bMF0gPT09IFwiK1wiKVxuICAgICAgICByZXN1bHQgKz0gXCItXCIgKyB0ZXJtLnNsaWNlKDEpO1xuICAgICAgZWxzZVxuICAgICAgICByZXN1bHQgPSByZXN1bHQgKyBcIi1cIiArIHRlcm07XG4gICAgfVxuICB9XG4gIHNlcmlhbGl6ZXIubGV2ZWwgKz0gMTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZU11bHRpcGx5KHNlcmlhbGl6ZXIsIGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIFwiXCI7XG4gIHNlcmlhbGl6ZXIubGV2ZWwgLT0gMTtcbiAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gIGlmIChzZXJpYWxpemVyLmNhbm9uaWNhbCA9PT0gdHJ1ZSkge1xuICAgIGNvbnN0IFtudW1lciwgZGVub21dID0gbnVtZXJhdG9yRGVub21pbmF0b3IoZXhwcik7XG4gICAgaWYgKGRlbm9tLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChkZW5vbS5sZW5ndGggPT09IDEgJiYgZGVub21bMF0gPT09IDEpIHtcbiAgICAgICAgaWYgKG51bWVyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICByZXN1bHQgPSBcIjFcIjtcbiAgICAgICAgZWxzZSBpZiAobnVtZXIubGVuZ3RoID09PSAxKVxuICAgICAgICAgIHJlc3VsdCA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKG51bWVyWzBdKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHJlc3VsdCA9IHNlcmlhbGl6ZU11bHRpcGx5KHNlcmlhbGl6ZXIsIFtcIk11bHRpcGx5XCIsIC4uLm51bWVyXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBzZXJpYWxpemVyLnNlcmlhbGl6ZShbXG4gICAgICAgICAgXCJEaXZpZGVcIixcbiAgICAgICAgICBudW1lci5sZW5ndGggPT09IDEgPyBudW1lclswXSA6IFtcIk11bHRpcGx5XCIsIC4uLm51bWVyXSxcbiAgICAgICAgICBkZW5vbS5sZW5ndGggPT09IDEgPyBkZW5vbVswXSA6IFtcIk11bHRpcGx5XCIsIC4uLmRlbm9tXVxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKHJlc3VsdCkge1xuICAgIHNlcmlhbGl6ZXIubGV2ZWwgKz0gMTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGxldCBpc05lZ2F0aXZlID0gZmFsc2U7XG4gIGxldCBhcmcgPSBudWxsO1xuICBjb25zdCBjb3VudCA9IG5vcHMoZXhwcikgKyAxO1xuICBsZXQgcHJldldhc051bWJlciA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IGNvdW50OyBpKyspIHtcbiAgICBhcmcgPSBvcChleHByLCBpKTtcbiAgICBpZiAoYXJnID09PSBudWxsKVxuICAgICAgY29udGludWU7XG4gICAgbGV0IHRlcm07XG4gICAgaWYgKGlzTnVtYmVyRXhwcmVzc2lvbihhcmcpKSB7XG4gICAgICB0ZXJtID0gc2VyaWFsaXplci5zZXJpYWxpemUoYXJnKTtcbiAgICAgIGlmICh0ZXJtID09PSBcIi0xXCIgJiYgIXJlc3VsdCkge1xuICAgICAgICByZXN1bHQgPSBcIlwiO1xuICAgICAgICBpc05lZ2F0aXZlID0gIWlzTmVnYXRpdmU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGVybVswXSA9PT0gXCItXCIpIHtcbiAgICAgICAgICB0ZXJtID0gdGVybS5zbGljZSgxKTtcbiAgICAgICAgICBpc05lZ2F0aXZlID0gIWlzTmVnYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gIXJlc3VsdCA/IHRlcm0gOiBqb2luTGF0ZXgoW3Jlc3VsdCwgc2VyaWFsaXplci5vcHRpb25zLm11bHRpcGx5LCB0ZXJtXSk7XG4gICAgICB9XG4gICAgICBwcmV2V2FzTnVtYmVyID0gdHJ1ZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoaGVhZChhcmcpID09PSBcIlBvd2VyXCIpIHtcbiAgICAgIGNvbnN0IHIgPSByYXRpb25hbFZhbHVlKG9wKGFyZywgMikpO1xuICAgICAgaWYgKHIpIHtcbiAgICAgICAgY29uc3QgW24sIGRdID0gcjtcbiAgICAgICAgaWYgKG4gPT09IDEgJiYgZCAhPT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdCArPSBzZXJpYWxpemVSb290KFxuICAgICAgICAgICAgc2VyaWFsaXplcixcbiAgICAgICAgICAgIGdldFJvb3RTdHlsZShhcmcsIHNlcmlhbGl6ZXIubGV2ZWwpLFxuICAgICAgICAgICAgb3AoYXJnLCAxKSxcbiAgICAgICAgICAgIGRcbiAgICAgICAgICApO1xuICAgICAgICAgIHByZXZXYXNOdW1iZXIgPSBmYWxzZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaGVhZChhcmcpID09PSBcIlBvd2VyXCIgJiYgIWlzTmFOKG1hY2hpbmVWYWx1ZShvcChhcmcsIDEpKSA/PyBOYU4pKSB7XG4gICAgICB0ZXJtID0gc2VyaWFsaXplci5zZXJpYWxpemUoYXJnKTtcbiAgICAgIHJlc3VsdCA9ICFyZXN1bHQgPyB0ZXJtIDogam9pbkxhdGV4KFtyZXN1bHQsIHNlcmlhbGl6ZXIub3B0aW9ucy5tdWx0aXBseSwgdGVybV0pO1xuICAgICAgcHJldldhc051bWJlciA9IHRydWU7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGhlYWQoYXJnKSA9PT0gXCJOZWdhdGVcIikge1xuICAgICAgYXJnID0gb3AoYXJnLCAxKTtcbiAgICAgIGlzTmVnYXRpdmUgPSAhaXNOZWdhdGl2ZTtcbiAgICB9XG4gICAgdGVybSA9IHNlcmlhbGl6ZXIud3JhcChhcmcsIDM5MCk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHJlc3VsdCA9IHRlcm07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGggPSBoZWFkKGFyZyk7XG4gICAgICBpZiAocHJldldhc051bWJlciAmJiAoaCA9PT0gXCJEaXZpZGVcIiB8fCBoID09PSBcIlJhdGlvbmFsXCIpKSB7XG4gICAgICAgIHJlc3VsdCA9IGpvaW5MYXRleChbcmVzdWx0LCBzZXJpYWxpemVyLm9wdGlvbnMubXVsdGlwbHksIHRlcm1dKTtcbiAgICAgIH0gZWxzZSBpZiAoIXNlcmlhbGl6ZXIub3B0aW9ucy5pbnZpc2libGVNdWx0aXBseSkge1xuICAgICAgICByZXN1bHQgPSBqb2luTGF0ZXgoW3Jlc3VsdCwgdGVybV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gam9pbkxhdGV4KFtcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgc2VyaWFsaXplci5vcHRpb25zLmludmlzaWJsZU11bHRpcGx5LFxuICAgICAgICAgIHRlcm1cbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHByZXZXYXNOdW1iZXIgPSBmYWxzZTtcbiAgfVxuICBzZXJpYWxpemVyLmxldmVsICs9IDE7XG4gIHJldHVybiBpc05lZ2F0aXZlID8gXCItXCIgKyByZXN1bHQgOiByZXN1bHQ7XG59XG5mdW5jdGlvbiBwYXJzZUZyYWN0aW9uKHBhcnNlcikge1xuICBsZXQgbnVtZXIgPSBwYXJzZXIucGFyc2VHcm91cCgpO1xuICBsZXQgZGVub20gPSBudWxsO1xuICBpZiAobnVtZXIgPT09IG51bGwpIHtcbiAgICBudW1lciA9IHBhcnNlci5wYXJzZVRva2VuKCk7XG4gICAgZGVub20gPSBwYXJzZXIucGFyc2VUb2tlbigpO1xuICB9IGVsc2Uge1xuICAgIGRlbm9tID0gcGFyc2VyLnBhcnNlR3JvdXAoKTtcbiAgfVxuICBudW1lciA9IG1pc3NpbmdJZkVtcHR5KG51bWVyKTtcbiAgZGVub20gPSBtaXNzaW5nSWZFbXB0eShkZW5vbSk7XG4gIGlmIChoZWFkKG51bWVyKSA9PT0gXCJQYXJ0aWFsRGVyaXZhdGl2ZVwiICYmIChoZWFkKGRlbm9tKSA9PT0gXCJQYXJ0aWFsRGVyaXZhdGl2ZVwiIHx8IGhlYWQoZGVub20pID09PSBcIk11bHRpcGx5XCIgJiYgaGVhZChvcChkZW5vbSwgMSkpID09PSBcIlBhcnRpYWxEZXJpdmF0aXZlXCIpKSB7XG4gICAgY29uc3QgZGVncmVlID0gb3AobnVtZXIsIDMpID8/IG51bGw7XG4gICAgbGV0IGZuID0gb3AobnVtZXIsIDEpO1xuICAgIGlmIChmbiA9PT0gbnVsbClcbiAgICAgIGZuID0gbWlzc2luZ0lmRW1wdHkocGFyc2VyLnBhcnNlRXhwcmVzc2lvbigpKTtcbiAgICBsZXQgdmFycyA9IFtdO1xuICAgIGlmIChoZWFkKGRlbm9tKSA9PT0gXCJNdWx0aXBseVwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyZyBvZiBvcHMoZGVub20pID8/IFtdKSB7XG4gICAgICAgIGlmIChoZWFkKGFyZykgPT09IFwiUGFydGlhbERlcml2YXRpdmVcIikge1xuICAgICAgICAgIGNvbnN0IHYgPSBvcChhcmcsIDIpO1xuICAgICAgICAgIGlmICh2KVxuICAgICAgICAgICAgdmFycy5wdXNoKHYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHYgPSBvcChkZW5vbSwgMik7XG4gICAgICBpZiAodilcbiAgICAgICAgdmFycy5wdXNoKHYpO1xuICAgIH1cbiAgICBpZiAodmFycy5sZW5ndGggPiAxKSB7XG4gICAgICB2YXJzID0gW1wiTGlzdFwiLCAuLi52YXJzXTtcbiAgICB9XG4gICAgcmV0dXJuIFtcIlBhcnRpYWxEZXJpdmF0aXZlXCIsIGZuLCAuLi52YXJzLCBkZWdyZWUgPT09IG51bGwgPyAxIDogZGVncmVlXTtcbiAgfVxuICByZXR1cm4gW1wiRGl2aWRlXCIsIG51bWVyLCBkZW5vbV07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVGcmFjdGlvbihzZXJpYWxpemVyLCBleHByKSB7XG4gIGlmIChleHByID09PSBudWxsKVxuICAgIHJldHVybiBcIlwiO1xuICBjb25zdCBudW1lciA9IG1pc3NpbmdJZkVtcHR5KG9wKGV4cHIsIDEpKTtcbiAgY29uc3QgZGVub20gPSBtaXNzaW5nSWZFbXB0eShvcChleHByLCAyKSk7XG4gIGNvbnN0IHN0eWxlID0gc2VyaWFsaXplci5jYW5vbmljYWwgPyBnZXRGcmFjdGlvblN0eWxlKGV4cHIsIHNlcmlhbGl6ZXIubGV2ZWwpIDogXCJxdW90aWVudFwiO1xuICBpZiAoc3R5bGUgPT09IFwiaW5saW5lLXNvbGlkdXNcIiB8fCBzdHlsZSA9PT0gXCJuaWNlLXNvbGlkdXNcIikge1xuICAgIGNvbnN0IG51bWVyU3RyID0gc2VyaWFsaXplci53cmFwU2hvcnQobnVtZXIpO1xuICAgIGNvbnN0IGRlbm9tU3RyID0gc2VyaWFsaXplci53cmFwU2hvcnQoZGVub20pO1xuICAgIGlmIChzdHlsZSA9PT0gXCJpbmxpbmUtc29saWR1c1wiKVxuICAgICAgcmV0dXJuIGAke251bWVyU3RyfVxcXFwvJHtkZW5vbVN0cn1gO1xuICAgIHJldHVybiBge31eeyR7bnVtZXJTdHJ9fVxcXFwhXFxcXCEvXFxcXCF7fV97JHtkZW5vbVN0cn19YDtcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gXCJyZWNpcHJvY2FsXCIpIHtcbiAgICBpZiAobWFjaGluZVZhbHVlKG51bWVyKSA9PT0gMSlcbiAgICAgIHJldHVybiBzZXJpYWxpemVyLndyYXAoZGVub20pICsgXCJeey0xfVwiO1xuICAgIHJldHVybiBzZXJpYWxpemVyLndyYXAobnVtZXIpICsgc2VyaWFsaXplci53cmFwKGRlbm9tKSArIFwiXnstMX1cIjtcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gXCJmYWN0b3JcIikge1xuICAgIGlmIChtYWNoaW5lVmFsdWUoZGVub20pID09PSAxKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZXIud3JhcChudW1lcik7XG4gICAgcmV0dXJuIFwiXFxcXGZyYWN7MX17XCIgKyBzZXJpYWxpemVyLnNlcmlhbGl6ZShkZW5vbSkgKyBcIn17XCIgKyBzZXJpYWxpemVyLndyYXAobnVtZXIpICsgXCJ9XCI7XG4gIH1cbiAgY29uc3QgbnVtZXJMYXRleCA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKG51bWVyKTtcbiAgY29uc3QgZGVub21MYXRleCA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKGRlbm9tKTtcbiAgcmV0dXJuIGBcXFxcZnJhY3ske251bWVyTGF0ZXh9fXske2Rlbm9tTGF0ZXh9fWA7XG59XG5mdW5jdGlvbiBzZXJpYWxpemVQb3dlcihzZXJpYWxpemVyLCBleHByKSB7XG4gIGNvbnN0IG5hbWUgPSBoZWFkKGV4cHIpO1xuICBjb25zdCBiYXNlID0gbWlzc2luZ0lmRW1wdHkob3AoZXhwciwgMSkpO1xuICBpZiAobmFtZSA9PT0gXCJTcXJ0XCIpIHtcbiAgICByZXR1cm4gc2VyaWFsaXplUm9vdChcbiAgICAgIHNlcmlhbGl6ZXIsXG4gICAgICBnZXRSb290U3R5bGUoZXhwciwgc2VyaWFsaXplci5sZXZlbCAtIDEpLFxuICAgICAgYmFzZSxcbiAgICAgIDJcbiAgICApO1xuICB9XG4gIGNvbnN0IGV4cDIgPSBtaXNzaW5nSWZFbXB0eShvcChleHByLCAyKSk7XG4gIGlmIChuYW1lID09PSBcIlJvb3RcIilcbiAgICByZXR1cm4gc2VyaWFsaXplUm9vdChcbiAgICAgIHNlcmlhbGl6ZXIsXG4gICAgICBnZXRSb290U3R5bGUoZXhwciwgc2VyaWFsaXplci5sZXZlbCAtIDEpLFxuICAgICAgYmFzZSxcbiAgICAgIGV4cDJcbiAgICApO1xuICBpZiAoc2VyaWFsaXplci5jYW5vbmljYWwpIHtcbiAgICBjb25zdCB2YWwyID0gbWFjaGluZVZhbHVlKGV4cDIpID8/IDE7XG4gICAgaWYgKHZhbDIgPT09IC0xKSB7XG4gICAgICByZXR1cm4gc2VyaWFsaXplci5zZXJpYWxpemUoW1wiRGl2aWRlXCIsIFwiMVwiLCBiYXNlXSk7XG4gICAgfSBlbHNlIGlmICh2YWwyIDwgMCkge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZXIuc2VyaWFsaXplKFtcIkRpdmlkZVwiLCBcIjFcIiwgW1wiUG93ZXJcIiwgYmFzZSwgLXZhbDJdXSk7XG4gICAgfSBlbHNlIGlmIChoZWFkKGV4cDIpID09PSBcIkRpdmlkZVwiIHx8IGhlYWQoZXhwMikgPT09IFwiUmF0aW9uYWxcIikge1xuICAgICAgaWYgKG1hY2hpbmVWYWx1ZShvcChleHAyLCAxKSkgPT09IDEpIHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBnZXRSb290U3R5bGUoZXhwciwgc2VyaWFsaXplci5sZXZlbCk7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVSb290KHNlcmlhbGl6ZXIsIHN0eWxlLCBiYXNlLCBvcChleHAyLCAyKSk7XG4gICAgICB9XG4gICAgICBpZiAobWFjaGluZVZhbHVlKG9wKGV4cDIsIDIpKSA9PT0gMikge1xuICAgICAgICByZXR1cm4gYCR7c2VyaWFsaXplci5zZXJpYWxpemUoW1wiU3FydFwiLCBiYXNlXSl9Xnske3NlcmlhbGl6ZXIuc2VyaWFsaXplKFxuICAgICAgICAgIG9wKGV4cDIsIDEpXG4gICAgICAgICl9fWA7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChoZWFkKGV4cDIpID09PSBcIlBvd2VyXCIpIHtcbiAgICAgIGlmIChtYWNoaW5lVmFsdWUob3AoZXhwMiwgMikpID09PSAtMSkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGdldFJvb3RTdHlsZShleHByLCBzZXJpYWxpemVyLmxldmVsKTtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVJvb3Qoc2VyaWFsaXplciwgc3R5bGUsIGJhc2UsIG9wKGV4cDIsIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlcmlhbGl6ZXIud3JhcFNob3J0KGJhc2UpICsgXCJee1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUoZXhwMikgKyBcIn1cIjtcbn1cbnZhciBERUZJTklUSU9OU19BUklUSE1FVElDID0gW1xuICAvLyBDb25zdGFudHNcbiAgeyBuYW1lOiBcIkNhdGFsYW5Db25zdGFudFwiLCBzZXJpYWxpemU6IFwiR1wiIH0sXG4gIHsgbmFtZTogXCJHb2xkZW5SYXRpb1wiLCBzZXJpYWxpemU6IFwiXFxcXHZhcnBoaVwiIH0sXG4gIHsgbmFtZTogXCJFdWxlckdhbW1hXCIsIHNlcmlhbGl6ZTogXCJcXFxcZ2FtbWFcIiB9LFxuICB7XG4gICAgbmFtZTogXCJEZWdyZWVzXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZGVncmVlXCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDg4MCxcbiAgICBwYXJzZTogKF9wYXJzZXIsIGxocykgPT4gW1wiRGVncmVlc1wiLCBsaHNdLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW3NlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSwgXCJcXFxcZGVncmVlXCJdKTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxkZWdyZWVcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcHJlY2VkZW5jZTogODgwLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgbGhzKSA9PiBbXCJEZWdyZWVzXCIsIGxoc11cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIjx7PlwiLCBcIlxcXFxjaXJjXCIsIFwiPH0+XCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgbGhzKSA9PiBbXCJEZWdyZWVzXCIsIGxoc11cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlxcXFxjaXJjXCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgbGhzKSA9PiBbXCJEZWdyZWVzXCIsIGxoc11cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFx4QjBcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcHJlY2VkZW5jZTogODgwLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgbGhzKSA9PiBbXCJEZWdyZWVzXCIsIGxoc11cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGFuZ1wiXSxcbiAgICBwYXJzZTogKHBhcnNlcikgPT4ge1xuICAgICAgY29uc3QgYXJnID0gcGFyc2VyLnBhcnNlR3JvdXAoKTtcbiAgICAgIHJldHVybiBhcmcgPT09IG51bGwgPyBbXCJEZWdyZWVzXCJdIDogW1wiRGVncmVlc1wiLCBhcmddO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGluZnR5XCJdLFxuICAgIHBhcnNlOiB7IG51bTogXCIrSW5maW5pdHlcIiB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvbXBsZXhJbmZpbml0eVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRpbGRlXCIsIFwiXFxcXGluZnR5XCJdLFxuICAgIHNlcmlhbGl6ZTogXCJcXFxcdGlsZGVcXFxcaW5mdHlcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdGlsZGVcIiwgXCI8ez5cIiwgXCJcXFxcaW5mdHlcIiwgXCI8fT5cIl0sXG4gICAgcGFyc2U6IFwiQ29tcGxleEluZmluaXR5XCJcbiAgfSxcbiAgeyBuYW1lOiBcIlBpXCIsIGtpbmQ6IFwic3ltYm9sXCIsIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHBpXCJdIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBbXCJcXHUwM0MwXCJdLCBwYXJzZTogXCJQaVwiIH0sXG4gIHtcbiAgICBuYW1lOiBcIkV4cG9uZW50aWFsRVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGV4cG9uZW50aWFsRVwiXSxcbiAgICBwYXJzZTogXCJFeHBvbmVudGlhbEVcIixcbiAgICBzZXJpYWxpemU6IFwiXFxcXGV4cG9uZW50aWFsRVwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFwiXFxcXG9wZXJhdG9ybmFtZXtlfVwiLFxuICAgIHBhcnNlOiBcIkV4cG9uZW50aWFsRVwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFwiXFxcXG1hdGhybXtlfVwiLFxuICAgIHBhcnNlOiBcIkV4cG9uZW50aWFsRVwiXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwiZXhwXCIsXG4gICAgcGFyc2U6IFwiRXhwXCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcZXhwXCIsXG4gICAgcGFyc2U6IFwiRXhwXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiSW1hZ2luYXJ5VW5pdFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGltYWdpbmFyeUlcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcb3BlcmF0b3JuYW1le2l9XCIsXG4gICAgcGFyc2U6IFwiSW1hZ2luYXJ5VW5pdFwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFwiXFxcXG1hdGhybXtpfVwiLFxuICAgIHBhcnNlOiBcIkltYWdpbmFyeVVuaXRcIlxuICB9LFxuICAvLyBPcGVyYXRpb25zXG4gIHtcbiAgICAvKiogQ291bGQgYmUgdGhlIGRldGVybWluYW50IGlmIHRoZSBhcmd1bWVudCBpcyBhIG1hdHJpeCAqL1xuICAgIC8qKiBAdG9kbzogZG9tYWluIGNoZWNrICovXG4gICAgLyoqIElmIGEgbGl0ZXJhbCBtYXRyaXgsIHRoZSBgc2VyaWFsaXplYCBzaG91bGQgYmUgY3VzdG9tLCB0aGUgcGFyZW5zIGFyZVxuICAgICAqIHJlcGxhY2VkIHdpdGggYmFycyAqL1xuICAgIG5hbWU6IFwiQWJzXCIsXG4gICAga2luZDogXCJtYXRjaGZpeFwiLFxuICAgIG9wZW5UcmlnZ2VyOiBcInxcIixcbiAgICBjbG9zZVRyaWdnZXI6IFwifFwiLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgYm9keSkgPT4gaXNFbXB0eVNlcXVlbmNlKGJvZHkpID8gbnVsbCA6IFtcIkFic1wiLCBib2R5XVxuICB9LFxuICB7XG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwiYWJzXCIsXG4gICAga2luZDogXCJmdW5jdGlvblwiLFxuICAgIHBhcnNlOiBcIkFic1wiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkFkZFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiK1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJib3RoXCIsXG4gICAgcHJlY2VkZW5jZTogMjc1LFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMsIHVudGlsKSA9PiB7XG4gICAgICBpZiAodW50aWwgJiYgMjc1IDwgdW50aWwubWluUHJlYylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBjb25zdCByaHMgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHsgLi4udW50aWwsIG1pblByZWM6IDI3NSB9KTtcbiAgICAgIGlmIChyaHMgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIGFwcGx5QXNzb2NpYXRpdmVPcGVyYXRvcihcIkFkZFwiLCBsaHMsIHJocyk7XG4gICAgfSxcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZUFkZFxuICB9LFxuICB7XG4gICAga2luZDogXCJwcmVmaXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIitcIl0sXG4gICAgcHJlY2VkZW5jZTogMjc1LFxuICAgIHBhcnNlOiAocGFyc2VyLCB1bnRpbCkgPT4ge1xuICAgICAgaWYgKHVudGlsICYmIDI3NSA8IHVudGlsLm1pblByZWMpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZUV4cHJlc3Npb24oeyAuLi51bnRpbCwgbWluUHJlYzogNDAwIH0pO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQ2VpbFwiLFxuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogXCJcXFxcbGNlaWxcIixcbiAgICBjbG9zZVRyaWdnZXI6IFwiXFxcXHJjZWlsXCIsXG4gICAgcGFyc2U6IChfcGFyc2VyLCBib2R5KSA9PiBpc0VtcHR5U2VxdWVuY2UoYm9keSkgPyBudWxsIDogW1wiQ2VpbFwiLCBib2R5XVxuICB9LFxuICB7XG4gICAga2luZDogXCJtYXRjaGZpeFwiLFxuICAgIG9wZW5UcmlnZ2VyOiBbXCJcXHUyMzA4XCJdLFxuICAgIGNsb3NlVHJpZ2dlcjogW1wiXFx1MjMwOVwiXSxcbiAgICBwYXJzZTogKF9wYXJzZXIsIGJvZHkpID0+IGlzRW1wdHlTZXF1ZW5jZShib2R5KSA/IG51bGwgOiBbXCJDZWlsXCIsIGJvZHldXG4gIH0sXG4gIHtcbiAgICBpZGVudGlmaWVyVHJpZ2dlcjogXCJjZWlsXCIsXG4gICAga2luZDogXCJmdW5jdGlvblwiLFxuICAgIHBhcnNlOiBcIkNlaWxcIlxuICB9LFxuICB7IG5hbWU6IFwiQ2hvcFwiLCBpZGVudGlmaWVyVHJpZ2dlcjogXCJjaG9wXCIsIGtpbmQ6IFwiZnVuY3Rpb25cIiwgcGFyc2U6IFwiQ2hvcFwiIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvbXBsZXhcIixcbiAgICBwcmVjZWRlbmNlOiAyNzQsXG4gICAgLy8gT25lIGxlc3MgdGhhbiBwcmVjZWRlbmNlIG9mIGBBZGRgOiB1c2VkIGZvciBjb3JyZWN0IHdyYXBwaW5nXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgY29uc3QgcmUgPSBtYWNoaW5lVmFsdWUob3AoZXhwciwgMSkpO1xuICAgICAgY29uc3QgaW0gPSBtYWNoaW5lVmFsdWUob3AoZXhwciwgMikpO1xuICAgICAgaWYgKGltID09PSAwKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpO1xuICAgICAgY29uc3QgaW1QYXJ0ID0gaW0gPT09IDEgPyBcIlxcXFxpbWFnaW5hcnlJXCIgOiBpbSA9PT0gLTEgPyBcIi1cXFxcaW1hZ2luYXJ5SVwiIDogam9pbkxhdGV4KFtzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAyKSksIFwiXFxcXGltYWdpbmFyeUlcIl0pO1xuICAgICAgaWYgKHJlID09PSAwKVxuICAgICAgICByZXR1cm4gaW1QYXJ0O1xuICAgICAgaWYgKGltICE9PSBudWxsICYmIGltIDwgMClcbiAgICAgICAgcmV0dXJuIGpvaW5MYXRleChbc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpLCBpbVBhcnRdKTtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW3NlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSwgXCIrXCIsIGltUGFydF0pO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRGl2aWRlXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxmcmFjXCIsXG4gICAgcHJlY2VkZW5jZTogNjYwLFxuICAgIC8vIEZvciBcXGZyYWMgc3BlY2lmaWNhbGx5LCBub3QgZm9yIFxcZGl2LCBldGMuLlxuICAgIC8vIGhhbmRsZXMgTGVpYm5pdHogbm90YXRpb24gZm9yIHBhcnRpYWwgZGVyaXZhdGl2ZXNcbiAgICBwYXJzZTogcGFyc2VGcmFjdGlvbixcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZUZyYWN0aW9uXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxvdmVyXCIsXG4gICAgcHJlY2VkZW5jZTogNjYwLFxuICAgIHBhcnNlOiBcIkRpdmlkZVwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFwvXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcIm5vblwiLFxuICAgIHByZWNlZGVuY2U6IDY2MCxcbiAgICAvLyA/Pz8gTWF0aE1MIGhhcyAyNjUsIGJ1dCBpdCdzIHdyb25nLlxuICAgIC8vIEl0IGhhcyB0byBiZSBhdCBsZWFzdCBoaWdoZXIgdGhhbiBtdWx0aXBseVxuICAgIC8vIGUuZy4gYDEvMiszKnhgIC0+IGAxLzIgKyAzKnhgICwgbm90IGAxLygyKzMqeClgXG4gICAgcGFyc2U6IFwiRGl2aWRlXCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiL1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJub25cIixcbiAgICBwcmVjZWRlbmNlOiA2NjAsXG4gICAgcGFyc2U6IFwiRGl2aWRlXCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGRpdlwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJub25cIixcbiAgICBwcmVjZWRlbmNlOiA2NjAsXG4gICAgLy8gPz8/IGFjY29yZGluZyB0byBNYXRoTUxcbiAgICBwYXJzZTogXCJEaXZpZGVcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFeHBcIixcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBjb25zdCBvcDEyID0gb3AoZXhwciwgMSk7XG4gICAgICBpZiAoc3ltYm9sKG9wMTIpIHx8IG1hY2hpbmVWYWx1ZShvcDEyKSAhPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGpvaW5MYXRleChbXCJcXFxcZXhwb25lbnRpYWxFXntcIiwgc2VyaWFsaXplci5zZXJpYWxpemUob3AxMildKTtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW1wiXFxcXGV4cFwiLCBzZXJpYWxpemVyLndyYXAobWlzc2luZ0lmRW1wdHkob3AxMikpXSk7XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJGYWN0b3JpYWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIiFcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcHJlY2VkZW5jZTogODEwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkZhY3RvcmlhbDJcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIiFcIiwgXCIhXCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDgxMFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJGbG9vclwiLFxuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogXCJcXFxcbGZsb29yXCIsXG4gICAgY2xvc2VUcmlnZ2VyOiBcIlxcXFxyZmxvb3JcIixcbiAgICBwYXJzZTogKF9wYXJzZXIsIGJvZHkpID0+IGlzRW1wdHlTZXF1ZW5jZShib2R5KSA/IG51bGwgOiBbXCJGbG9vclwiLCBib2R5XVxuICB9LFxuICB7XG4gICAga2luZDogXCJtYXRjaGZpeFwiLFxuICAgIG9wZW5UcmlnZ2VyOiBbXCJcXHUyMzBBXCJdLFxuICAgIGNsb3NlVHJpZ2dlcjogW1wiXFx1MjMwQlwiXSxcbiAgICBwYXJzZTogKF9wYXJzZXIsIGJvZHkpID0+IGlzRW1wdHlTZXF1ZW5jZShib2R5KSA/IG51bGwgOiBbXCJGbG9vclwiLCBib2R5XVxuICB9LFxuICB7XG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwiZmxvb3JcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgcGFyc2U6IFwiRmxvb3JcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcR2FtbWFcIl0sXG4gICAgcGFyc2U6IFwiR2FtbWFcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJHY2RcIixcbiAgICBpZGVudGlmaWVyVHJpZ2dlcjogXCJnY2RcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiSGFsZlwiLFxuICAgIHNlcmlhbGl6ZTogXCJcXFxcZnJhYzEyXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTGdcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsZ1wiXSxcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiBcIlxcXFxsb2dfezEwfVwiICsgc2VyaWFsaXplci53cmFwQXJndW1lbnRzKGV4cHIpLFxuICAgIHBhcnNlOiAocGFyc2VyKSA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gcGFyc2VyLnBhcnNlQXJndW1lbnRzKFwiaW1wbGljaXRcIik7XG4gICAgICBpZiAoYXJncyA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiTGdcIjtcbiAgICAgIHJldHVybiBbXCJMb2dcIiwgLi4uYXJncywgMTBdO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTGJcIixcbiAgICBsYXRleFRyaWdnZXI6IFwiXFxcXGxiXCIsXG4gICAgcGFyc2U6IChwYXJzZXIpID0+IHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBwYXJzZXIucGFyc2VBcmd1bWVudHMoXCJpbXBsaWNpdFwiKTtcbiAgICAgIGlmIChhcmdzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gXCJMb2dcIjtcbiAgICAgIHJldHVybiBbXCJMb2dcIiwgLi4uYXJncywgMl07XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJMblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGxuXCJdLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IFwiXFxcXGxuXCIgKyBzZXJpYWxpemVyLndyYXBBcmd1bWVudHMoZXhwciksXG4gICAgcGFyc2U6IChwYXJzZXIpID0+IHBhcnNlTG9nKFwiTG5cIiwgcGFyc2VyKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJMb2dcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsb2dcIl0sXG4gICAgcGFyc2U6IChwYXJzZXIpID0+IHBhcnNlTG9nKFwiTG9nXCIsIHBhcnNlciksXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgY29uc3QgYmFzZSA9IG9wMihleHByKTtcbiAgICAgIGlmIChiYXNlKVxuICAgICAgICByZXR1cm4gam9pbkxhdGV4KFtcbiAgICAgICAgICBcIlxcXFxsb2dfe1wiLFxuICAgICAgICAgIGJhc2UudG9TdHJpbmcoKSxcbiAgICAgICAgICBcIn1cIixcbiAgICAgICAgICBzZXJpYWxpemVyLndyYXAob3AxKGV4cHIpKVxuICAgICAgICBdKTtcbiAgICAgIHJldHVybiBcIlxcXFxsb2dcIiArIHNlcmlhbGl6ZXIud3JhcEFyZ3VtZW50cyhleHByKTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkxjbVwiLFxuICAgIGlkZW50aWZpZXJUcmlnZ2VyOiBcImxjbVwiLFxuICAgIGtpbmQ6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7IG5hbWU6IFwiTWF4XCIsIGlkZW50aWZpZXJUcmlnZ2VyOiBcIm1heFwiLCBraW5kOiBcImZ1bmN0aW9uXCIgfSxcbiAgeyBuYW1lOiBcIk1pblwiLCBpZGVudGlmaWVyVHJpZ2dlcjogXCJtaW5cIiwga2luZDogXCJmdW5jdGlvblwiIH0sXG4gIHtcbiAgICBuYW1lOiBcIk1pbnVzUGx1c1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG1wXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcImJvdGhcIixcbiAgICBwcmVjZWRlbmNlOiAyNzBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTXVsdGlwbHlcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0aW1lc1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJib3RoXCIsXG4gICAgcHJlY2VkZW5jZTogMzkwLFxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplTXVsdGlwbHlcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNkb3RcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwiYm90aFwiLFxuICAgIHByZWNlZGVuY2U6IDM5MCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzLCB0ZXJtaW5hdG9yKSA9PiB7XG4gICAgICBjb25zdCByaHMgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHsgLi4udGVybWluYXRvciwgbWluUHJlYzogMzkyIH0pO1xuICAgICAgaWYgKHJocyA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFtcIk11bHRpcGx5XCIsIGxocywgTUlTU0lOR107XG4gICAgICByZXR1cm4gYXBwbHlBc3NvY2lhdGl2ZU9wZXJhdG9yKFwiTXVsdGlwbHlcIiwgbGhzLCByaHMpO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiKlwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJib3RoXCIsXG4gICAgcHJlY2VkZW5jZTogMzkwLFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMsIHRlcm1pbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHJocyA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oeyAuLi50ZXJtaW5hdG9yLCBtaW5QcmVjOiAzOTIgfSk7XG4gICAgICBpZiAocmhzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gW1wiTXVsdGlwbHlcIiwgbGhzLCBNSVNTSU5HXTtcbiAgICAgIHJldHVybiBhcHBseUFzc29jaWF0aXZlT3BlcmF0b3IoXCJNdWx0aXBseVwiLCBsaHMsIHJocyk7XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJOZWdhdGVcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIi1cIl0sXG4gICAga2luZDogXCJwcmVmaXhcIixcbiAgICBwYXJzZTogKHBhcnNlciwgdGVybWluYXRvcikgPT4ge1xuICAgICAgY29uc3QgcmhzID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7IC4uLnRlcm1pbmF0b3IsIG1pblByZWM6IDQwMCB9KTtcbiAgICAgIHJldHVybiBbXCJOZWdhdGVcIiwgbWlzc2luZ0lmRW1wdHkocmhzKV07XG4gICAgfSxcbiAgICBwcmVjZWRlbmNlOiAyNzVcbiAgfSxcbiAgLy8ge1xuICAvLyAgIC8qKiBJZiB0aGUgYXJndW1lbnQgaXMgYSB2ZWN0b3IgKi9cbiAgLy8gICAvKiogQHRvZG86IGRvbWFpbiBjaGVjayAqL1xuICAvLyAgIG5hbWU6ICdOb3JtJyxcbiAgLy8gICBraW5kOiAnbWF0Y2hmaXgnLFxuICAvLyAgIG9wZW5EZWxpbWl0ZXI6ICd8JyxcbiAgLy8gICBjbG9zZURlbGltaXRlcjogJ3wnLFxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgLyoqIElmIHRoZSBhcmd1bWVudCBpcyBhIHNldCAqL1xuICAvLyAgIC8qKiBAdG9kbzogZG9tYWluIGNoZWNrICovXG4gIC8vICAgbmFtZTogJ0NhcmRpbmFsaXR5JyxcbiAgLy8gICBraW5kOiAnbWF0Y2hmaXgnLFxuICAvLyAgIG9wZW5EZWxpbWl0ZXI6ICd8JyxcbiAgLy8gICBjbG9zZURlbGltaXRlcjogJ3wnLFxuICAvLyB9LFxuICB7XG4gICAgLy8gICAvKiogSWYgdGhlIGFyZ3VtZW50IGlzIGEgdmVjdG9yICovXG4gICAgLyoqIEB0b2RvOiBkb21haW4gY2hlY2sgKi9cbiAgICBraW5kOiBcIm1hdGNoZml4XCIsXG4gICAgb3BlblRyaWdnZXI6IFwifHxcIixcbiAgICBjbG9zZVRyaWdnZXI6IFwifHxcIixcbiAgICBwYXJzZTogKF9wYXJzZXIsIGV4cHIpID0+IGlzRW1wdHlTZXF1ZW5jZShleHByKSA/IG51bGwgOiBbXCJOb3JtXCIsIGV4cHJdXG4gIH0sXG4gIHtcbiAgICAvLyAgIC8qKiBJZiB0aGUgYXJndW1lbnQgaXMgYSB2ZWN0b3IgKi9cbiAgICAvKiogQHRvZG86IGRvbWFpbiBjaGVjayAqL1xuICAgIG5hbWU6IFwiTm9ybVwiLFxuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogW1wiXFxcXGxlZnRcIiwgXCJcXFxcVmVydFwiXSxcbiAgICBjbG9zZVRyaWdnZXI6IFtcIlxcXFxyaWdodFwiLCBcIlxcXFxWZXJ0XCJdLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgZXhwcikgPT4gaXNFbXB0eVNlcXVlbmNlKGV4cHIpID8gbnVsbCA6IFtcIk5vcm1cIiwgZXhwcl1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUGx1c01pbnVzXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxccG1cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwiYm90aFwiLFxuICAgIHByZWNlZGVuY2U6IDI3MCxcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBjb25zdCBvcDEyID0gb3AoZXhwciwgMSk7XG4gICAgICBpZiAob3AxMiA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiXFxcXHBtXCI7XG4gICAgICBpZiAobm9wcyhleHByKSA9PT0gMSlcbiAgICAgICAgcmV0dXJuIGpvaW5MYXRleChbXCJcXFxccG1cIiwgc2VyaWFsaXplci5zZXJpYWxpemUob3AxMildKTtcbiAgICAgIGNvbnN0IG9wMjIgPSBvcChleHByLCAyKTtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW1xuICAgICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcDEyKSxcbiAgICAgICAgXCJcXFxccG1cIixcbiAgICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUob3AyMilcbiAgICAgIF0pO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHBtXCJdLFxuICAgIGtpbmQ6IFwicHJlZml4XCIsXG4gICAgcHJlY2VkZW5jZTogMjcwLFxuICAgIHBhcnNlOiAocGFyc2VyLCB0ZXJtaW5hdG9yKSA9PiB7XG4gICAgICBjb25zdCByaHMgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHsgLi4udGVybWluYXRvciwgbWluUHJlYzogNDAwIH0pO1xuICAgICAgcmV0dXJuIFtcIlBsdXNNaW51c1wiLCBtaXNzaW5nSWZFbXB0eShyaHMpXTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxwbHVzbW5cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwiYm90aFwiLFxuICAgIHByZWNlZGVuY2U6IDI3MCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzLCB0ZXJtaW5hdG9yKSA9PiB7XG4gICAgICBjb25zdCByaHMgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHsgLi4udGVybWluYXRvciwgbWluUHJlYzogNDAwIH0pO1xuICAgICAgcmV0dXJuIFtcIlBsdXNNaW51c1wiLCBsaHMsIG1pc3NpbmdJZkVtcHR5KHJocyldO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHBsdXNtblwiXSxcbiAgICBraW5kOiBcInByZWZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDI3MCxcbiAgICBwYXJzZTogKHBhcnNlciwgdGVybWluYXRvcikgPT4ge1xuICAgICAgY29uc3QgcmhzID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7IC4uLnRlcm1pbmF0b3IsIG1pblByZWM6IDQwMCB9KTtcbiAgICAgIHJldHVybiBbXCJQbHVzTWludXNcIiwgbWlzc2luZ0lmRW1wdHkocmhzKV07XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJQb3dlclwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgc2VyaWFsaXplOiBzZXJpYWxpemVQb3dlclxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxwcm9kXCIsXG4gICAgcHJlY2VkZW5jZTogMzkwLFxuICAgIG5hbWU6IFwiUHJvZHVjdFwiLFxuICAgIHBhcnNlOiBwYXJzZUJpZ09wKFwiUHJvZHVjdFwiLCAzOTApLFxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplQmlnT3AoXCJcXFxccHJvZFwiKVxuICB9LFxuICAvLyB7XG4gIC8vICAgdHJpZ2dlcjogWycqJywgJyonXSxcbiAgLy8gICBraW5kOiAnaW5maXgnLFxuICAvLyAgIGFzc29jaWF0aXZpdHk6ICdub24nLFxuICAvLyAgIHByZWNlZGVuY2U6IDcyMCxcbiAgLy8gfSxcbiAge1xuICAgIG5hbWU6IFwiUmF0aW9uYWxcIixcbiAgICBwcmVjZWRlbmNlOiA2NjAsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgaWYgKGV4cHIgJiYgbm9wcyhleHByKSA9PT0gMSlcbiAgICAgICAgcmV0dXJuIFwiXFxcXG9wZXJhdG9ybmFtZXtSYXRpb25hbH1cIiArIHNlcmlhbGl6ZXIud3JhcEFyZ3VtZW50cyhleHByKTtcbiAgICAgIHJldHVybiBzZXJpYWxpemVGcmFjdGlvbihzZXJpYWxpemVyLCBleHByKTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlJvb3RcIixcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZVBvd2VyXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlJvdW5kXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwicm91bmRcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU3F1YXJlXCIsXG4gICAgcHJlY2VkZW5jZTogNzIwLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHNlcmlhbGl6ZXIud3JhcFNob3J0KG9wKGV4cHIsIDEpKSArIFwiXjJcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3VtXCJdLFxuICAgIHByZWNlZGVuY2U6IDI3NSxcbiAgICBuYW1lOiBcIlN1bVwiLFxuICAgIHBhcnNlOiBwYXJzZUJpZ09wKFwiU3VtXCIsIDI3NSksXG4gICAgc2VyaWFsaXplOiBzZXJpYWxpemVCaWdPcChcIlxcXFxzdW1cIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU2lnblwiLFxuICAgIC8vIEFzIHBlciBJU08gODAwMDAtMiwgXCJzaWdudW1cIiBpcyAnc2duJ1xuICAgIGlkZW50aWZpZXJUcmlnZ2VyOiBcInNnblwiLFxuICAgIGtpbmQ6IFwiZnVuY3Rpb25cIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTcXJ0XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3FydFwiXSxcbiAgICBwYXJzZTogcGFyc2VSb290LFxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplUG93ZXJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU3VidHJhY3RcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIi1cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwiYm90aFwiLFxuICAgIHByZWNlZGVuY2U6IDI3NSxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzLCB0ZXJtaW5hdG9yKSA9PiB7XG4gICAgICBjb25zdCByaHMgPSBwYXJzZXIucGFyc2VFeHByZXNzaW9uKHsgLi4udGVybWluYXRvciwgbWluUHJlYzogMjc3IH0pO1xuICAgICAgcmV0dXJuIFtcIlN1YnRyYWN0XCIsIGxocywgbWlzc2luZ0lmRW1wdHkocmhzKV07XG4gICAgfVxuICB9XG5dO1xuZnVuY3Rpb24gcGFyc2VCaWdPcChuYW1lLCBwcmVjKSB7XG4gIHJldHVybiAocGFyc2VyKSA9PiB7XG4gICAgcGFyc2VyLnNraXBTcGFjZSgpO1xuICAgIGxldCBzdXAgPSBudWxsO1xuICAgIGxldCBzdWIyID0gbnVsbDtcbiAgICB3aGlsZSAoIShzdWIyICYmIHN1cCkgJiYgKHBhcnNlci5wZWVrID09PSBcIl9cIiB8fCBwYXJzZXIucGVlayA9PT0gXCJeXCIpKSB7XG4gICAgICBpZiAocGFyc2VyLm1hdGNoKFwiX1wiKSlcbiAgICAgICAgc3ViMiA9IHBhcnNlci5wYXJzZUdyb3VwKCkgPz8gcGFyc2VyLnBhcnNlVG9rZW4oKTtcbiAgICAgIGVsc2UgaWYgKHBhcnNlci5tYXRjaChcIl5cIikpXG4gICAgICAgIHN1cCA9IHBhcnNlci5wYXJzZUdyb3VwKCkgPz8gcGFyc2VyLnBhcnNlVG9rZW4oKTtcbiAgICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICB9XG4gICAgaWYgKHN1YjIgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShzdWIyKSlcbiAgICAgIHN1YjIgPSBudWxsO1xuICAgIGlmIChzdXAgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShzdXApKVxuICAgICAgc3VwID0gbnVsbDtcbiAgICBsZXQgaW5kZXggPSBudWxsO1xuICAgIGxldCBsb3dlciA9IG51bGw7XG4gICAgaWYgKGhlYWQoc3ViMikgPT09IFwiRXF1YWxcIikge1xuICAgICAgaW5kZXggPSBvcChzdWIyLCAxKTtcbiAgICAgIGxvd2VyID0gb3Aoc3ViMiwgMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZGV4ID0gc3ViMjtcbiAgICB9XG4gICAgY29uc3Qgc3ltID0gc3ltYm9sKGluZGV4KTtcbiAgICBpZiAoc3ltKVxuICAgICAgcGFyc2VyLmNvbXB1dGVFbmdpbmU/LnB1c2hTY29wZSh7IFtzeW1dOiB7IGRvbWFpbjogXCJJbnRlZ2VyXCIgfSB9KTtcbiAgICBjb25zdCBmbiA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oeyBtaW5QcmVjOiBwcmVjICsgMSB9KTtcbiAgICBpZiAoc3ltKVxuICAgICAgcGFyc2VyLmNvbXB1dGVFbmdpbmU/LnBvcFNjb3BlKCk7XG4gICAgaWYgKCFmbilcbiAgICAgIHJldHVybiBbbmFtZV07XG4gICAgaWYgKHN1cClcbiAgICAgIHJldHVybiBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGZuLFxuICAgICAgICBbXCJUdXBsZVwiLCBpbmRleCA/IFtcIkhvbGRcIiwgaW5kZXhdIDogXCJOb3RoaW5nXCIsIGxvd2VyID8/IDEsIHN1cF1cbiAgICAgIF07XG4gICAgaWYgKGxvd2VyKVxuICAgICAgcmV0dXJuIFtuYW1lLCBmbiwgW1wiVHVwbGVcIiwgaW5kZXggPyBbXCJIb2xkXCIsIGluZGV4XSA6IFwiTm90aGluZ1wiLCBsb3dlcl1dO1xuICAgIGlmIChpbmRleClcbiAgICAgIHJldHVybiBbbmFtZSwgZm4sIFtcIlR1cGxlXCIsIFtcIkhvbGRcIiwgaW5kZXhdXV07XG4gICAgcmV0dXJuIFtuYW1lLCBmbl07XG4gIH07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVCaWdPcChjb21tYW5kKSB7XG4gIHJldHVybiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgIGlmICghb3AoZXhwciwgMSkpXG4gICAgICByZXR1cm4gY29tbWFuZDtcbiAgICBsZXQgYXJnID0gb3AoZXhwciwgMik7XG4gICAgY29uc3QgaCA9IGhlYWQoYXJnKTtcbiAgICBpZiAoaCAhPT0gXCJUdXBsZVwiICYmIGggIT09IFwiVHJpcGxlXCIgJiYgaCAhPT0gXCJQYWlyXCIgJiYgaCAhPT0gXCJTaW5nbGVcIilcbiAgICAgIGFyZyA9IG51bGw7XG4gICAgbGV0IGluZGV4ID0gb3AoYXJnLCAxKTtcbiAgICBpZiAoaW5kZXggJiYgaGVhZChpbmRleCkgPT09IFwiSG9sZFwiKVxuICAgICAgaW5kZXggPSBvcChpbmRleCwgMSk7XG4gICAgY29uc3QgZm4gPSBvcChleHByLCAxKTtcbiAgICBpZiAoIWFyZykge1xuICAgICAgaWYgKCFvcChleHByLCAyKSlcbiAgICAgICAgcmV0dXJuIGpvaW5MYXRleChbY29tbWFuZCwgXCJfblwiLCBzZXJpYWxpemVyLnNlcmlhbGl6ZShmbildKTtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW1xuICAgICAgICBjb21tYW5kLFxuICAgICAgICBcIl97XCIsXG4gICAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDIpKSxcbiAgICAgICAgXCJ9XCIsXG4gICAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKGZuKVxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnN0IGxvd2VyID0gb3AoYXJnLCAyKTtcbiAgICBsZXQgc3ViMiA9IFtdO1xuICAgIGlmIChpbmRleCAmJiBzeW1ib2woaW5kZXgpICE9PSBcIk5vdGhpbmdcIiAmJiBsb3dlcilcbiAgICAgIHN1YjIgPSBbc2VyaWFsaXplci5zZXJpYWxpemUoaW5kZXgpLCBcIj1cIiwgc2VyaWFsaXplci5zZXJpYWxpemUobG93ZXIpXTtcbiAgICBlbHNlIGlmIChpbmRleCAmJiBzeW1ib2woaW5kZXgpICE9PSBcIk5vdGhpbmdcIilcbiAgICAgIHN1YjIgPSBbc2VyaWFsaXplci5zZXJpYWxpemUoaW5kZXgpXTtcbiAgICBlbHNlIGlmIChsb3dlcilcbiAgICAgIHN1YjIgPSBbc2VyaWFsaXplci5zZXJpYWxpemUobG93ZXIpXTtcbiAgICBpZiAoc3ViMi5sZW5ndGggPiAwKVxuICAgICAgc3ViMiA9IFtcIl97XCIsIC4uLnN1YjIsIFwifVwiXTtcbiAgICBsZXQgc3VwID0gW107XG4gICAgaWYgKG9wKGFyZywgMykpXG4gICAgICBzdXAgPSBbXCJee1wiLCBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChhcmcsIDMpKSwgXCJ9XCJdO1xuICAgIHJldHVybiBqb2luTGF0ZXgoW2NvbW1hbmQsIC4uLnN1cCwgLi4uc3ViMiwgc2VyaWFsaXplci5zZXJpYWxpemUoZm4pXSk7XG4gIH07XG59XG5mdW5jdGlvbiBwYXJzZUxvZyhjb21tYW5kLCBwYXJzZXIpIHtcbiAgbGV0IHN1YjIgPSBudWxsO1xuICBsZXQgYmFzZSA9IG51bGw7XG4gIGlmIChwYXJzZXIubWF0Y2goXCJfXCIpKSB7XG4gICAgc3ViMiA9IHBhcnNlci5wYXJzZVN0cmluZ0dyb3VwKCk/LnRyaW0oKSA/PyBwYXJzZXIubmV4dFRva2VuKCk7XG4gICAgYmFzZSA9IE51bWJlci5wYXJzZUZsb2F0KHN1YjIgPz8gXCIxMFwiKTtcbiAgfVxuICBjb25zdCBhcmdzID0gcGFyc2VyLnBhcnNlQXJndW1lbnRzKFwiaW1wbGljaXRcIik7XG4gIGlmIChhcmdzID09PSBudWxsKVxuICAgIHJldHVybiBbY29tbWFuZF07XG4gIGlmIChiYXNlID09PSAxMClcbiAgICByZXR1cm4gW1wiTG9nXCIsIGFyZ3NbMF1dO1xuICBpZiAoYmFzZSA9PT0gMilcbiAgICByZXR1cm4gW1wiTGJcIiwgLi4uYXJnc107XG4gIGlmIChzdWIyID09PSBudWxsKVxuICAgIHJldHVybiBbY29tbWFuZCwgLi4uYXJnc107XG4gIHJldHVybiBbXCJMb2dcIiwgLi4uYXJncywgc3ViMl07XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1jb3JlLnRzXG5mdW5jdGlvbiBwYXJzZVNlcXVlbmNlKHBhcnNlciwgdGVybWluYXRvciwgbGhzLCBwcmVjLCBzZXApIHtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGxocyAhPT0gbnVsbCk7XG4gIGlmICh0ZXJtaW5hdG9yLm1pblByZWMgPj0gcHJlYylcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3QgcmVzdWx0ID0gW2xoc107XG4gIGxldCBkb25lID0gZmFsc2U7XG4gIHdoaWxlICghZG9uZSkge1xuICAgIGRvbmUgPSB0cnVlO1xuICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICB3aGlsZSAocGFyc2VyLm1hdGNoKHNlcCkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKFwiTm90aGluZ1wiKTtcbiAgICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICB9XG4gICAgaWYgKHBhcnNlci5hdFRlcm1pbmF0b3IodGVybWluYXRvcikpIHtcbiAgICAgIHJlc3VsdC5wdXNoKFwiTm90aGluZ1wiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcmhzID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7IC4uLnRlcm1pbmF0b3IsIG1pblByZWM6IHByZWMgfSk7XG4gICAgICByZXN1bHQucHVzaChyaHMgPz8gXCJOb3RoaW5nXCIpO1xuICAgICAgZG9uZSA9IHJocyA9PT0gbnVsbDtcbiAgICB9XG4gICAgaWYgKCFkb25lKSB7XG4gICAgICBwYXJzZXIuc2tpcFNwYWNlKCk7XG4gICAgICBkb25lID0gIXBhcnNlci5tYXRjaChzZXApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gc2VyaWFsaXplT3BzKHNlcCA9IFwiXCIpIHtcbiAgcmV0dXJuIChzZXJpYWxpemVyLCBleHByKSA9PiAob3BzKGV4cHIpID8/IFtdKS5tYXAoKHgpID0+IHNlcmlhbGl6ZXIuc2VyaWFsaXplKHgpKS5qb2luKHNlcCk7XG59XG52YXIgREVGSU5JVElPTlNfQ09SRSA9IFtcbiAgLy9cbiAgLy8gQ29uc3RhbnRzXG4gIC8vXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxwbGFjZWhvbGRlclwiXSxcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIHBhcnNlOiAocGFyc2VyKSA9PiB7XG4gICAgICB3aGlsZSAocGFyc2VyLm1hdGNoKFwiPHNwYWNlPlwiKSkge1xuICAgICAgfVxuICAgICAgaWYgKHBhcnNlci5tYXRjaChcIltcIikpXG4gICAgICAgIHdoaWxlICghcGFyc2VyLm1hdGNoKFwiXVwiKSAmJiAhcGFyc2VyLmF0Qm91bmRhcnkpXG4gICAgICAgICAgcGFyc2VyLm5leHRUb2tlbigpO1xuICAgICAgd2hpbGUgKHBhcnNlci5tYXRjaChcIjxzcGFjZT5cIikpIHtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJzZXIubWF0Y2goXCI8ez5cIikpXG4gICAgICAgIHdoaWxlICghcGFyc2VyLm1hdGNoKFwiPH0+XCIpICYmICFwYXJzZXIuYXRCb3VuZGFyeSlcbiAgICAgICAgICBwYXJzZXIubmV4dFRva2VuKCk7XG4gICAgICByZXR1cm4gXCJOb3RoaW5nXCI7XG4gICAgfVxuICB9LFxuICAvL1xuICAvLyBGdW5jdGlvbnNcbiAgLy9cbiAge1xuICAgIG5hbWU6IFwiQXBwbHlcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwiYXBwbHlcIixcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiBzZXJpYWxpemVyLnNlcmlhbGl6ZUZ1bmN0aW9uKG9wcyhleHByKSlcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxccmhkXCIsXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDIwLFxuICAgIHBhcnNlOiBcIkFwcGx5XCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcbGhkXCIsXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDIwLFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMpID0+IHtcbiAgICAgIGNvbnN0IHJocyA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oeyBtaW5QcmVjOiAyMCB9KSA/PyBcIk5vdGhpbmdcIjtcbiAgICAgIHJldHVybiBbXCJBcHBseVwiLCByaHMsIGxoc107XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJCYXNlRm9ybVwiLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGNvbnN0IHJhZGl4ID0gbWFjaGluZVZhbHVlKG9wKGV4cHIsIDIpKSA/PyBOYU47XG4gICAgICBpZiAoaXNGaW5pdGUocmFkaXgpICYmIHJhZGl4ID49IDIgJiYgcmFkaXggPD0gMzYpIHtcbiAgICAgICAgY29uc3QgbnVtID0gbWFjaGluZVZhbHVlKG9wKGV4cHIsIDEpKSA/PyBOYU47XG4gICAgICAgIGlmIChpc0Zpbml0ZShudW0pICYmIE51bWJlci5pc0ludGVnZXIobnVtKSkge1xuICAgICAgICAgIGxldCBkaWdpdHMgPSBOdW1iZXIobnVtKS50b1N0cmluZyhyYWRpeCk7XG4gICAgICAgICAgbGV0IGdyb3VwTGVuZ3RoID0gMDtcbiAgICAgICAgICBpZiAocmFkaXggPT09IDIpIHtcbiAgICAgICAgICAgIGdyb3VwTGVuZ3RoID0gNDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJhZGl4ID09PSAxMCkge1xuICAgICAgICAgICAgZ3JvdXBMZW5ndGggPSA0O1xuICAgICAgICAgIH0gZWxzZSBpZiAocmFkaXggPT09IDE2KSB7XG4gICAgICAgICAgICBncm91cExlbmd0aCA9IDI7XG4gICAgICAgICAgfSBlbHNlIGlmIChyYWRpeCA+IDE2KSB7XG4gICAgICAgICAgICBncm91cExlbmd0aCA9IDQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChncm91cExlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG9sZERpZ2l0cyA9IGRpZ2l0cztcbiAgICAgICAgICAgIGRpZ2l0cyA9IFwiXCI7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9sZERpZ2l0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgaSAlIGdyb3VwTGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgIGRpZ2l0cyA9IFwiXFxcXCwgXCIgKyBkaWdpdHM7XG4gICAgICAgICAgICAgIGRpZ2l0cyA9IG9sZERpZ2l0c1tvbGREaWdpdHMubGVuZ3RoIC0gaSAtIDFdICsgZGlnaXRzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYChcXFxcdGV4dHske2RpZ2l0c319X3ske3JhZGl4fX1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJcXFxcb3BlcmF0b3JuYW1le0Jhc2VGb3JtfShcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSArIFwiLCBcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDIpKSArIFwiKVwiO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRGVsaW1pdGVyXCIsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgY29uc3QgYXJnQ291bnQgPSBub3BzKGV4cHIpO1xuICAgICAgaWYgKGFyZ0NvdW50ID09PSAwKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIGNvbnN0IHN0eWxlID0gc2VyaWFsaXplci5vcHRpb25zLmdyb3VwU3R5bGUoZXhwciwgc2VyaWFsaXplci5sZXZlbCArIDEpO1xuICAgICAgY29uc3QgYXJnMSA9IG9wKGV4cHIsIDEpO1xuICAgICAgY29uc3QgaDEgPSBoZWFkKGFyZzEpO1xuICAgICAgY29uc3QgZGVmYXVsdEZlbmNlID0geyBMaXN0OiBcIltdLFwiLCBTZXF1ZW5jZTogXCJcIiB9W3R5cGVvZiBoMSA9PT0gXCJzdHJpbmdcIiA/IGgxIDogXCJcIl0gPz8gXCIoKSxcIjtcbiAgICAgIGxldCBvcGVuID0gZGVmYXVsdEZlbmNlWzBdID8/IFwiXCI7XG4gICAgICBsZXQgY2xvc2UgPSBkZWZhdWx0RmVuY2VbMV0gPz8gXCJcIjtcbiAgICAgIGxldCBzZXAgPSBkZWZhdWx0RmVuY2VbMl0gPz8gXCJcIjtcbiAgICAgIGlmIChhcmdDb3VudCA+IDEpIHtcbiAgICAgICAgY29uc3Qgb3AyMiA9IHN0cmluZ1ZhbHVlKG9wKGV4cHIsIDIpKSA/PyBcIlwiO1xuICAgICAgICBvcGVuID0gb3AyMlswXSA/PyBkZWZhdWx0RmVuY2VbMF07XG4gICAgICAgIGNsb3NlID0gb3AyMlsxXSA/PyBkZWZhdWx0RmVuY2VbMV07XG4gICAgICAgIHNlcCA9IG9wMjJbMl0gPz8gZGVmYXVsdEZlbmNlWzJdO1xuICAgICAgfVxuICAgICAgY29uc3QgYm9keSA9IGlzTGlzdExpa2UoYXJnMSkgPyBzZXJpYWxpemVPcHMoc2VwKShzZXJpYWxpemVyLCBhcmcxKSA6IHNlcmlhbGl6ZXIuc2VyaWFsaXplKGFyZzEpO1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZXIud3JhcFN0cmluZyhib2R5LCBzdHlsZSwgb3BlbiArIGNsb3NlKTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkRvbWFpblwiLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGlmIChoZWFkKGV4cHIpID09PSBcIkVycm9yXCIpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVyLnNlcmlhbGl6ZShleHByKTtcbiAgICAgIHJldHVybiBgXFxcXG1hdGhiZnske3NlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKX19YDtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxtYXRodGlwXCJdLFxuICAgIHBhcnNlOiAocGFyc2VyKSA9PiB7XG4gICAgICBjb25zdCBvcDEyID0gcGFyc2VyLnBhcnNlR3JvdXAoKTtcbiAgICAgIGNvbnN0IG9wMjIgPSBwYXJzZXIucGFyc2VHcm91cCgpO1xuICAgICAgcmV0dXJuIG9wMTI7XG4gICAgfVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdGV4dHRpcFwiXSxcbiAgICBwYXJzZTogKHBhcnNlcikgPT4ge1xuICAgICAgY29uc3Qgb3AxMiA9IHBhcnNlci5wYXJzZUdyb3VwKCk7XG4gICAgICBjb25zdCBvcDIyID0gcGFyc2VyLnBhcnNlR3JvdXAoKTtcbiAgICAgIHJldHVybiBvcDEyO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGVycm9yXCJdLFxuICAgIHBhcnNlOiAocGFyc2VyKSA9PiBbXCJFcnJvclwiLCBwYXJzZXIucGFyc2VHcm91cCgpXVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFcnJvclwiLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGlmIChzdHJpbmdWYWx1ZShvcChleHByLCAxKSkgPT09IFwibWlzc2luZ1wiKVxuICAgICAgICByZXR1cm4gYFxcXFxlcnJvcnske3NlcmlhbGl6ZXIub3B0aW9ucy5taXNzaW5nU3ltYm9sID8/IFwiXFxcXHBsYWNlaG9sZGVye31cIn19YDtcbiAgICAgIGNvbnN0IHdoZXJlID0gZXJyb3JDb250ZXh0QXNMYXRleChzZXJpYWxpemVyLCBleHByKSB8fCBcIlxcXFxibGFja3NxdWFyZVwiO1xuICAgICAgY29uc3Qgb3AxMiA9IG9wKGV4cHIsIDEpO1xuICAgICAgY29uc3QgY29kZSA9IGhlYWQob3AxMikgPT09IFwiRXJyb3JDb2RlXCIgPyBzdHJpbmdWYWx1ZShvcChvcDEyLCAxKSkgOiBzdHJpbmdWYWx1ZShvcDEyKTtcbiAgICAgIGlmIChjb2RlID09PSBcImluY29tcGF0aWJsZS1kb21haW5cIikge1xuICAgICAgICByZXR1cm4gYFxcXFxtYXRodGlwe1xcXFxlcnJvcnske3doZXJlfX19e1xcXFxpbiAke3NlcmlhbGl6ZXIuc2VyaWFsaXplKFxuICAgICAgICAgIG9wKG9wMTIsIDMpXG4gICAgICAgICl9XFxcXG5vdGluICR7c2VyaWFsaXplci5zZXJpYWxpemUob3Aob3AxMiwgMikpfX1gO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBjb2RlID09PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4gYFxcXFxlcnJvcnske3doZXJlfX1gO1xuICAgICAgcmV0dXJuIGBcXFxcZXJyb3J7JHt3aGVyZX19YDtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkVycm9yQ29kZVwiLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGNvbnN0IGNvZGUgPSBzdHJpbmdWYWx1ZShvcChleHByLCAxKSk7XG4gICAgICBpZiAoY29kZSA9PT0gXCJtaXNzaW5nXCIpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVyLm9wdGlvbnMubWlzc2luZ1N5bWJvbCA/PyBcIlxcXFxwbGFjZWhvbGRlcnt9XCI7XG4gICAgICBpZiAoY29kZSA9PT0gXCJ1bmV4cGVjdGVkLWNvbW1hbmRcIiB8fCBjb2RlID09PSBcInVuZXhwZWN0ZWQtb3BlcmF0b3JcIiB8fCBjb2RlID09PSBcInVuZXhwZWN0ZWQtdG9rZW5cIiB8fCBjb2RlID09PSBcImludmFsaWQtaWRlbnRpZmllclwiIHx8IGNvZGUgPT09IFwidW5rbm93bi1lbnZpcm9ubWVudFwiIHx8IGNvZGUgPT09IFwidW5leHBlY3RlZC1iYXNlXCIgfHwgY29kZSA9PT0gXCJpbmNvbXBhdGlibGUtZG9tYWluXCIgfHwgY29kZSA9PT0gXCJpbnZhbGlkLWRvbWFpblwiKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGBcXFxcdGV4dHRpcHtcXFxcZXJyb3J7XFxcXGJsYWNrc3F1YXJlfX17XFxcXG1hdGh0dHske2NvZGV9fX1gO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRnJvbUxhdGV4XCIsXG4gICAgc2VyaWFsaXplOiAoX3NlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIHJldHVybiBgXFxcXHRleHR0dHske3Nhbml0aXplTGF0ZXgoc3RyaW5nVmFsdWUob3AoZXhwciwgMSkpKX19YDtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkxhdGV4XCIsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgcmV0dXJuIGpvaW5MYXRleChcbiAgICAgICAgbWFwQXJncyhleHByLCAoeCkgPT4gc3RyaW5nVmFsdWUoeCkgPz8gc2VyaWFsaXplci5zZXJpYWxpemUoeCkpXG4gICAgICApO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTGF0ZXhTdHJpbmdcIixcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBpZiAoZXhwciA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICByZXR1cm4gam9pbkxhdGV4KG1hcEFyZ3MoZXhwciwgKHgpID0+IHNlcmlhbGl6ZXIuc2VyaWFsaXplKHgpKSk7XG4gICAgfVxuICB9LFxuICB7IG5hbWU6IFwiTGF0ZXhUb2tlbnNcIiwgc2VyaWFsaXplOiBzZXJpYWxpemVMYXRleFRva2VucyB9LFxuICB7XG4gICAgbmFtZTogXCJMaXN0XCIsXG4gICAga2luZDogXCJtYXRjaGZpeFwiLFxuICAgIG9wZW5UcmlnZ2VyOiBcIlxcXFxsYnJhY2tcIixcbiAgICBjbG9zZVRyaWdnZXI6IFwiXFxcXHJicmFja1wiLFxuICAgIHBhcnNlOiBwYXJzZUxpc3QsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgcmV0dXJuIGpvaW5MYXRleChbXG4gICAgICAgIFwiXFxcXGxicmFja1wiLFxuICAgICAgICBzZXJpYWxpemVPcHMoXCIsIFwiKShzZXJpYWxpemVyLCBleHByKSxcbiAgICAgICAgXCJcXFxccmJyYWNrXCJcbiAgICAgIF0pO1xuICAgIH1cbiAgfSxcbiAgLy8gU3lub255bXMgZm9yIExpc3RcbiAge1xuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogXCJbXCIsXG4gICAgY2xvc2VUcmlnZ2VyOiBcIl1cIixcbiAgICBwYXJzZTogcGFyc2VMaXN0XG4gIH0sXG4gIHtcbiAgICBraW5kOiBcIm1hdGNoZml4XCIsXG4gICAgb3BlblRyaWdnZXI6IFwiXFxcXFtcIixcbiAgICBjbG9zZVRyaWdnZXI6IFwiXFxcXF1cIixcbiAgICBwYXJzZTogcGFyc2VMaXN0XG4gIH0sXG4gIC8vIFN5bm9ueW1zIGZvciBEZWxpbWl0ZXJcbiAge1xuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogXCIoXCIsXG4gICAgY2xvc2VUcmlnZ2VyOiBcIilcIixcbiAgICBwYXJzZTogcGFyc2VEZWxpbWl0ZXJcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwibWF0Y2hmaXhcIixcbiAgICBvcGVuVHJpZ2dlcjogXCJcXFxcbHBhcmVuXCIsXG4gICAgY2xvc2VUcmlnZ2VyOiBcIlxcXFxycGFyZW5cIixcbiAgICBwYXJzZTogcGFyc2VEZWxpbWl0ZXJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiLFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgcHJlY2VkZW5jZTogMjAsXG4gICAgLy8gVW5saWtlIHRoZSBtYXRjaGZpeCB2ZXJzaW9uIG9mIExpc3QsXG4gICAgLy8gd2hlbiB0aGUgY29tbWEgb3BlcmF0b3IgaXMgdXNlZCwgdGhlIGxocyBhbmQgcmhzIGFyZSBmbGF0dGVuZWQsXG4gICAgLy8gaS5lLiBgMSwyLDNgIC0+IGBbXCJEZWxpbWl0ZXJcIiwgW1wiTGlzdFwiLCAxLCAyLCAzXSwgIFwiLFwiXWAsXG4gICAgLy8gYW5kIGAxLCAoMiwgMylgIC0+IGBbXCJEZWxpbWl0ZXJcIixcbiAgICAvLyBbXCJTZXF1ZW5jZVwiLCAxLCBbXCJEZWxpbWl0ZXJcIiwgW1wiTGlzdFwiLCAyLCAzXSwgIFwiKClcIiwgXCIsXCJdXV0sXG4gICAgcGFyc2U6IChwYXJzZXIsIGxocywgdGVybWluYXRvcikgPT4ge1xuICAgICAgY29uc3Qgc2VxID0gcGFyc2VTZXF1ZW5jZShwYXJzZXIsIHRlcm1pbmF0b3IsIGxocywgMjAsIFwiLFwiKTtcbiAgICAgIGlmIChzZXEgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIFtcIlNlcXVlbmNlXCIsIC4uLnNlcV07XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTZXF1ZW5jZVwiLFxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplT3BzKFwiXCIpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIjtcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDE5LFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMsIHRlcm1pbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHNlcSA9IHBhcnNlU2VxdWVuY2UocGFyc2VyLCB0ZXJtaW5hdG9yLCBsaHMsIDE5LCBcIjtcIik7XG4gICAgICBpZiAoc2VxID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFwiU2VxdWVuY2VcIixcbiAgICAgICAgLi4uc2VxLm1hcChcbiAgICAgICAgICAoeCkgPT4gaGVhZCh4KSA9PT0gXCJTZXF1ZW5jZVwiID8gW1wiTGlzdFwiLCAuLi5vcHMoeCkgPz8gW11dIDogeFxuICAgICAgICApXG4gICAgICBdO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU3RyaW5nXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdGV4dFwiXSxcbiAgICBwYXJzZTogKHNjYW5uZXIpID0+IHBhcnNlVGV4dFJ1bihzY2FubmVyKSxcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gb3BzKGV4cHIpO1xuICAgICAgaWYgKGFyZ3MgPT09IG51bGwgfHwgYXJncy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBcIlxcXFx0ZXh0e31cIjtcbiAgICAgIHJldHVybiBqb2luTGF0ZXgoW1xuICAgICAgICBcIlxcXFx0ZXh0e1wiLFxuICAgICAgICBhcmdzLm1hcCgoeCkgPT4gc2VyaWFsaXplci5zZXJpYWxpemUoeCkpLmpvaW4oXCJcIiksXG4gICAgICAgIFwifVwiXG4gICAgICBdKTtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN1YnNjcmlwdFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiX1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgaWYgKG5vcHMoZXhwcikgPT09IDIpIHtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSArIFwiX3tcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDIpKSArIFwifVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiX3tcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSArIFwifVwiO1xuICAgIH1cbiAgfSxcbiAgeyBuYW1lOiBcIlN1cGVycGx1c1wiLCBsYXRleFRyaWdnZXI6IFtcIl5cIiwgXCIrXCJdLCBraW5kOiBcInBvc3RmaXhcIiB9LFxuICB7IG5hbWU6IFwiU3VicGx1c1wiLCBsYXRleFRyaWdnZXI6IFtcIl9cIiwgXCIrXCJdLCBraW5kOiBcInBvc3RmaXhcIiB9LFxuICB7IG5hbWU6IFwiU3VwZXJtaW51c1wiLCBsYXRleFRyaWdnZXI6IFtcIl5cIiwgXCItXCJdLCBraW5kOiBcInBvc3RmaXhcIiB9LFxuICB7IG5hbWU6IFwiU3VibWludXNcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJfXCIsIFwiLVwiXSwga2luZDogXCJwb3N0Zml4XCIgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIipcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcGFyc2U6IChfcGFyc2VyLCBsaHMpID0+IFtcIlN1cGVyc3RhclwiLCBsaHNdXG4gIH0sXG4gIC8vIHsgbmFtZTogJ1N1cGVyc3RhcicsIGxhdGV4VHJpZ2dlcjogWydeJywgJ1xcXFxzdGFyJ10sIGtpbmQ6ICdwb3N0Zml4JyB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJfXCIsIFwiKlwiXSxcbiAgICBraW5kOiBcInBvc3RmaXhcIixcbiAgICBwYXJzZTogKF9wYXJzZXIsIGxocykgPT4gW1wiU3Vic3RhclwiLCBsaHNdXG4gIH0sXG4gIHsgbmFtZTogXCJTdWJzdGFyXCIsIGxhdGV4VHJpZ2dlcjogW1wiX1wiLCBcIlxcXFxzdGFyXCJdLCBraW5kOiBcInBvc3RmaXhcIiB9LFxuICB7IG5hbWU6IFwiU3VwZXJkYWdnZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJeXCIsIFwiXFxcXGRhZ2dlclwiXSwga2luZDogXCJwb3N0Zml4XCIgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlxcXFxkYWdcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcGFyc2U6IChfcGFyc2VyLCBsaHMpID0+IFtcIlN1cGVyZGFnZ2VyXCIsIGxoc11cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUHJpbWVcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIl5cIiwgXCJcXFxccHJpbWVcIl0sXG4gICAgLy8gTm90ZTogd2UgZG9uJ3QgbmVlZCBhIHByZWNlZGVuY2UgYmVjYXVzZSB0aGUgdHJpZ2dlciBpcyAnXidcbiAgICAvLyBhbmQgJ14nIChhbmQgJ18nKSBhcmUgdHJlYXRlZCBzcGVjaWFsbHkgYnkgdGhlIHBhcnNlci5cbiAgICBraW5kOiBcInBvc3RmaXhcIixcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAxKSxcbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBjb25zdCBuMiA9IG1hY2hpbmVWYWx1ZShvcChleHByLCAyKSkgPz8gMTtcbiAgICAgIGNvbnN0IGJhc2UgPSBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSk7XG4gICAgICBpZiAobjIgPT09IDEpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJeXFxcXHByaW1lXCI7XG4gICAgICBpZiAobjIgPT09IDIpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJeXFxcXGRvdWJsZXByaW1lXCI7XG4gICAgICBpZiAobjIgPT09IDMpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJeXFxcXHRyaXBsZXByaW1lXCI7XG4gICAgICByZXR1cm4gYmFzZSArIFwiXnsoXCIgKyBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAyKSkgKyBcIil9XCI7XG4gICAgfVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBcIl57XFxcXHByaW1lXFxcXHByaW1lfVwiLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMpID0+IHBhcnNlUHJpbWUocGFyc2VyLCBsaHMsIDIpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFwiXntcXFxccHJpbWVcXFxccHJpbWVcXFxccHJpbWV9XCIsXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcGFyc2U6IChwYXJzZXIsIGxocykgPT4gcGFyc2VQcmltZShwYXJzZXIsIGxocywgMylcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlxcXFxkb3VibGVwcmltZVwiXSxcbiAgICBraW5kOiBcInBvc3RmaXhcIixcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAyKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJeXCIsIFwiXFxcXHRyaXBsZXByaW1lXCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMpID0+IHBhcnNlUHJpbWUocGFyc2VyLCBsaHMsIDMpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFwiJ1wiLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDgxMCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAxKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxwcmltZVwiLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDgxMCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAxKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxkb3VibGVwcmltZVwiLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDgxMCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAyKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFx0cmlwbGVwcmltZVwiLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDgxMCxcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiBwYXJzZVByaW1lKHBhcnNlciwgbGhzLCAzKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJeXCIsIFwiPHs+XCIsIFwiKFwiXSxcbiAgICBraW5kOiBcInBvc3RmaXhcIixcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiB7XG4gICAgICBpZiAoIXBhcnNlci5jb21wdXRlRW5naW5lPy5ib3gobGhzKT8uZG9tYWluLmlzRnVuY3Rpb24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgY29uc3Qgc3RhcnQgPSBwYXJzZXIuaW5kZXg7XG4gICAgICBwYXJzZXIuYWRkQm91bmRhcnkoW1wiKVwiXSk7XG4gICAgICBjb25zdCBleHByID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgaWYgKCFwYXJzZXIubWF0Y2hCb3VuZGFyeSgpKSB7XG4gICAgICAgIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICghcGFyc2VyLm1hdGNoKFwiPH0+XCIpKSB7XG4gICAgICAgIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbXCJEZXJpdmF0aXZlXCIsIGxocywgZXhwcl07XG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJJbnZlcnNlRnVuY3Rpb25cIixcbiAgICBsYXRleFRyaWdnZXI6IFwiXnstMX1cIixcbiAgICBraW5kOiBcInBvc3RmaXhcIixcbiAgICBwYXJzZTogKHBhcnNlciwgbGhzKSA9PiB7XG4gICAgICBpZiAocGFyc2VyLmNvbXB1dGVFbmdpbmU/LmJveChsaHMpPy5kb21haW4uaXNGdW5jdGlvbilcbiAgICAgICAgcmV0dXJuIFtcIkludmVyc2VGdW5jdGlvblwiLCBsaHNdO1xuICAgICAgcmV0dXJuIFtcIlBvd2VyXCIsIG1pc3NpbmdJZkVtcHR5KGxocyksIC0xXTtcbiAgICB9LFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSArIFwiXnstMX1cIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJEZXJpdmF0aXZlXCIsXG4gICAgc2VyaWFsaXplOiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgICAgY29uc3QgZGVncmVlID0gbWFjaGluZVZhbHVlKG9wKGV4cHIsIDIpKSA/PyAxO1xuICAgICAgY29uc3QgYmFzZSA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKTtcbiAgICAgIGlmIChkZWdyZWUgPT09IDEpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJee1xcXFxwcmltZX1cIjtcbiAgICAgIGlmIChkZWdyZWUgPT09IDIpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJee1xcXFxkb3VibGVwcmltZX1cIjtcbiAgICAgIGlmIChkZWdyZWUgPT09IDMpXG4gICAgICAgIHJldHVybiBiYXNlICsgXCJee1xcXFx0cmlwbGVwcmltZX1cIjtcbiAgICAgIHJldHVybiBiYXNlICsgXCJeeyhcIiArIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDIpKSArIFwiKX1cIjtcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImVudmlyb25tZW50XCIsXG4gICAgbmFtZTogXCJXaGljaFwiLFxuICAgIGlkZW50aWZpZXJUcmlnZ2VyOiBcImNhc2VzXCIsXG4gICAgcGFyc2U6IChwYXJzZXIpID0+IHtcbiAgICAgIGNvbnN0IHRhYnVsYXIgPSBwYXJzZXIucGFyc2VUYWJ1bGFyKCk7XG4gICAgICBpZiAoIXRhYnVsYXIpXG4gICAgICAgIHJldHVybiBbXCJXaGljaFwiXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtcIldoaWNoXCJdO1xuICAgICAgZm9yIChjb25zdCByb3cgb2YgdGFidWxhcikge1xuICAgICAgICBpZiAocm93Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKFwiVHJ1ZVwiKTtcbiAgICAgICAgICByZXN1bHQucHVzaChyb3dbMF0pO1xuICAgICAgICB9IGVsc2UgaWYgKHJvdy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICBjb25zdCBzID0gc3RyaW5nVmFsdWUocm93WzFdKTtcbiAgICAgICAgICByZXN1bHQucHVzaChzID8gXCJUcnVlXCIgOiBzdHJpcFRleHQocm93WzFdKSA/PyBcIlRydWVcIik7XG4gICAgICAgICAgcmVzdWx0LnB1c2gocm93WzBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZTIsIGV4cHIpID0+IHtcbiAgICAgIGNvbnN0IHJvd3MgPSBbXTtcbiAgICAgIGNvbnN0IGFyZ3MgPSBvcHMoZXhwcik7XG4gICAgICBpZiAoYXJncykge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBhcmdzLmxlbmd0aCAtIDI7IGkgKz0gMikge1xuICAgICAgICAgIGNvbnN0IHJvdyA9IFtdO1xuICAgICAgICAgIHJvdy5wdXNoKHNlcmlhbGl6ZTIuc2VyaWFsaXplKGFyZ3NbaSArIDFdKSk7XG4gICAgICAgICAgcm93LnB1c2goc2VyaWFsaXplMi5zZXJpYWxpemUoYXJnc1tpXSkpO1xuICAgICAgICAgIHJvd3MucHVzaChyb3cuam9pbihcIiZcIikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gam9pbkxhdGV4KFtcIlxcXFxiZWdpbntjYXNlc31cIiwgcm93cy5qb2luKFwiXFxcXFxcXFxcIiksIFwiXFxcXGVuZHtjYXNlc31cIl0pO1xuICAgIH1cbiAgfVxuXTtcbmZ1bmN0aW9uIHBhcnNlVGV4dFJ1bihwYXJzZXIsIHN0eWxlKSB7XG4gIGlmICghcGFyc2VyLm1hdGNoKFwiPHs+XCIpKVxuICAgIHJldHVybiBcIicnXCI7XG4gIGNvbnN0IHJ1bnMgPSBbXTtcbiAgbGV0IHRleHQgPSBcIlwiO1xuICBsZXQgcnVuaW5TdHlsZSA9IG51bGw7XG4gIHdoaWxlICghcGFyc2VyLmF0RW5kICYmICFwYXJzZXIubWF0Y2goXCI8fT5cIikpIHtcbiAgICBpZiAocGFyc2VyLnBlZWsgPT09IFwiPHs+XCIpIHtcbiAgICAgIHJ1bnMucHVzaChwYXJzZVRleHRSdW4ocGFyc2VyKSk7XG4gICAgfSBlbHNlIGlmIChwYXJzZXIubWF0Y2goXCJcXFxcdGV4dGJmXCIpICYmIHBhcnNlci5tYXRjaChcIjx7PlwiKSkge1xuICAgICAgcnVucy5wdXNoKHBhcnNlVGV4dFJ1bihwYXJzZXIsIHsgXCJmb250LXdlaWdodFwiOiBcImJvbGRcIiB9KSk7XG4gICAgfSBlbHNlIGlmIChwYXJzZXIubWF0Y2goXCJcXFxcY29sb3JcIikpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gcGFyc2VyLnBhcnNlU3RyaW5nR3JvdXAoKTtcbiAgICAgIGlmIChjb2xvciAhPT0gbnVsbCkge1xuICAgICAgICBpZiAocnVuaW5TdHlsZSAhPT0gbnVsbCAmJiB0ZXh0KSB7XG4gICAgICAgICAgcnVucy5wdXNoKFtcIlN0eWxlXCIsIHRleHQsIHsgZGljdDogcnVuaW5TdHlsZSB9XSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGV4dCkge1xuICAgICAgICAgIHJ1bnMucHVzaChbXCJTdHJpbmdcIiwgdGV4dF0pO1xuICAgICAgICB9XG4gICAgICAgIHRleHQgPSBcIlwiO1xuICAgICAgICBydW5pblN0eWxlID0geyBjb2xvciB9O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocGFyc2VyLm1hdGNoKFwiPHNwYWNlPlwiKSkge1xuICAgICAgdGV4dCArPSBcIiBcIjtcbiAgICB9IGVsc2UgaWYgKHBhcnNlci5tYXRjaChcIjwkPlwiKSkge1xuICAgICAgY29uc3QgaW5kZXggPSBwYXJzZXIuaW5kZXg7XG4gICAgICBjb25zdCBleHByID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbigpID8/IFtcIlNlcXVlbmNlXCJdO1xuICAgICAgcGFyc2VyLnNraXBTcGFjZSgpO1xuICAgICAgaWYgKHBhcnNlci5tYXRjaChcIjwkPlwiKSkge1xuICAgICAgICBydW5zLnB1c2goZXhwcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ICs9IFwiJFwiO1xuICAgICAgICBwYXJzZXIuaW5kZXggPSBpbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhcnNlci5tYXRjaChcIjwkJD5cIikpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gcGFyc2VyLmluZGV4O1xuICAgICAgY29uc3QgZXhwciA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oKSA/PyBbXCJTZXF1ZW5jZVwiXTtcbiAgICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICAgIGlmIChwYXJzZXIubWF0Y2goXCI8JCQ+XCIpKSB7XG4gICAgICAgIHJ1bnMucHVzaChleHByKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHQgKz0gXCIkJFwiO1xuICAgICAgICBwYXJzZXIuaW5kZXggPSBpbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2VcbiAgICAgIHRleHQgKz0gcGFyc2VyLm1hdGNoQ2hhcigpID8/IHBhcnNlci5uZXh0VG9rZW4oKTtcbiAgfVxuICBpZiAocnVuaW5TdHlsZSAhPT0gbnVsbCAmJiB0ZXh0KSB7XG4gICAgcnVucy5wdXNoKFtcIlN0eWxlXCIsIGAnJHt0ZXh0fSdgLCB7IGRpY3Q6IHJ1bmluU3R5bGUgfV0pO1xuICB9IGVsc2UgaWYgKHRleHQpIHtcbiAgICBydW5zLnB1c2goYCcke3RleHR9J2ApO1xuICB9XG4gIGxldCBib2R5O1xuICBpZiAocnVucy5sZW5ndGggPT09IDEpXG4gICAgYm9keSA9IHJ1bnNbMF07XG4gIGVsc2Uge1xuICAgIGlmIChydW5zLmV2ZXJ5KCh4KSA9PiBzdHJpbmdWYWx1ZSh4KSAhPT0gbnVsbCkpXG4gICAgICBib2R5ID0gXCInXCIgKyBydW5zLm1hcCgoeCkgPT4gc3RyaW5nVmFsdWUoeCkpLmpvaW4oKSArIFwiJ1wiO1xuICAgIGVsc2VcbiAgICAgIGJvZHkgPSBbXCJTdHJpbmdcIiwgLi4ucnVuc107XG4gIH1cbiAgcmV0dXJuIHN0eWxlID8gW1wiU3R5bGVcIiwgYm9keSwgeyBkaWN0OiBzdHlsZSB9XSA6IGJvZHk7XG59XG5mdW5jdGlvbiBzZXJpYWxpemVMYXRleFRva2VucyhzZXJpYWxpemVyLCBleHByKSB7XG4gIGlmIChleHByID09PSBudWxsKVxuICAgIHJldHVybiBcIlwiO1xuICByZXR1cm4gam9pbkxhdGV4KFxuICAgIG1hcEFyZ3MoZXhwciwgKHgpID0+IHtcbiAgICAgIGNvbnN0IHMgPSBzdHJpbmdWYWx1ZSh4KTtcbiAgICAgIGlmIChzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplci5zZXJpYWxpemUoeCk7XG4gICAgICBpZiAocyA9PT0gXCI8ez5cIilcbiAgICAgICAgcmV0dXJuIFwie1wiO1xuICAgICAgaWYgKHMgPT09IFwiPH0+XCIpXG4gICAgICAgIHJldHVybiBcIn1cIjtcbiAgICAgIGlmIChzID09PSBcIjwkPlwiKVxuICAgICAgICByZXR1cm4gXCIkXCI7XG4gICAgICBpZiAocyA9PT0gXCI8JCQ+XCIpXG4gICAgICAgIHJldHVybiBcIiQkXCI7XG4gICAgICBpZiAocyA9PT0gXCI8c3BhY2U+XCIpXG4gICAgICAgIHJldHVybiBcIiBcIjtcbiAgICAgIHJldHVybiBzO1xuICAgIH0pXG4gICk7XG59XG5mdW5jdGlvbiBzYW5pdGl6ZUxhdGV4KHMpIHtcbiAgaWYgKHMgPT09IG51bGwpXG4gICAgcmV0dXJuIFwiXCI7XG4gIHJldHVybiBzLnJlcGxhY2UoXG4gICAgL1t7fVxcW1xcXVxcXFw6XFwtXFwkJV0vZyxcbiAgICAoYykgPT4gKHtcbiAgICAgIFwie1wiOiBcIlxcXFxsYnJhY2UgXCIsXG4gICAgICBcIn1cIjogXCJcXFxccmJyYWNlIFwiLFxuICAgICAgXCJbXCI6IFwiXFxcXGxicmFjayBcIixcbiAgICAgIFwiXVwiOiBcIlxcXFxyYnJhY2sgXCIsXG4gICAgICBcIjpcIjogXCJcXFxcY29sb24gXCIsXG4gICAgICBcIlxcXFxcIjogXCJcXFxcYmFja3NsYXNoIFwiXG4gICAgfSlbY10gPz8gXCJcXFxcXCIgKyBjXG4gICk7XG59XG5mdW5jdGlvbiBlcnJvckNvbnRleHRBc0xhdGV4KHNlcmlhbGl6ZXIsIGVycm9yKSB7XG4gIGNvbnN0IGFyZyA9IG9wKGVycm9yLCAyKTtcbiAgaWYgKCFhcmcpXG4gICAgcmV0dXJuIFwiXCI7XG4gIGlmIChoZWFkKGFyZykgPT09IFwiTGF0ZXhcIilcbiAgICByZXR1cm4gYFxcXFx0ZXh0dHR7JHtzYW5pdGl6ZUxhdGV4KHN0cmluZ1ZhbHVlKG9wKGFyZywgMSkpID8/IFwiXCIpfX1gO1xuICBpZiAoaGVhZChhcmcpID09PSBcIkhvbGRcIilcbiAgICByZXR1cm4gc2VyaWFsaXplci5zZXJpYWxpemUob3AoYXJnLCAxKSk7XG4gIHJldHVybiBzZXJpYWxpemVyLnNlcmlhbGl6ZShhcmcpO1xufVxuZnVuY3Rpb24gcGFyc2VQcmltZShwYXJzZXIsIGxocywgb3JkZXIyKSB7XG4gIGNvbnN0IGxoc2ggPSBoZWFkKGxocyk7XG4gIGlmIChsaHNoID09PSBcIkRlcml2YXRpdmVcIiB8fCBsaHNoID09PSBcIlByaW1lXCIpIHtcbiAgICBjb25zdCBuID0gbWFjaGluZVZhbHVlKG9wKGxocywgMikpID8/IDE7XG4gICAgcmV0dXJuIFtsaHNoLCBtaXNzaW5nSWZFbXB0eShvcChsaHMsIDEpKSwgbiArIG9yZGVyMl07XG4gIH1cbiAgaWYgKHBhcnNlci5jb21wdXRlRW5naW5lPy5ib3gobGhzKT8uZG9tYWluLmlzRnVuY3Rpb24pIHtcbiAgICBpZiAob3JkZXIyID09PSAxKVxuICAgICAgcmV0dXJuIFtcIkRlcml2YXRpdmVcIiwgbGhzXTtcbiAgICByZXR1cm4gW1wiRGVyaXZhdGl2ZVwiLCBsaHMsIG9yZGVyMl07XG4gIH1cbiAgaWYgKG9yZGVyMiA9PT0gMSlcbiAgICByZXR1cm4gW1wiUHJpbWVcIiwgbWlzc2luZ0lmRW1wdHkobGhzKV07XG4gIHJldHVybiBbXCJQcmltZVwiLCBtaXNzaW5nSWZFbXB0eShsaHMpLCBvcmRlcjJdO1xufVxuZnVuY3Rpb24gcGFyc2VEZWxpbWl0ZXIocGFyc2VyLCBib2R5KSB7XG4gIGlmIChib2R5ID09PSBudWxsIHx8IGlzRW1wdHlTZXF1ZW5jZShib2R5KSlcbiAgICByZXR1cm4gW1wiU2VxdWVuY2VcIl07XG4gIGlmIChoZWFkKGJvZHkpID09PSBcIlNlcXVlbmNlXCIpIHtcbiAgICBpZiAobm9wcyhib2R5KSA9PT0gMClcbiAgICAgIHJldHVybiBbXCJEZWxpbWl0ZXJcIl07XG4gICAgcmV0dXJuIFtcIkRlbGltaXRlclwiLCBbXCJTZXF1ZW5jZVwiLCAuLi5vcHMoYm9keSkgPz8gW11dXTtcbiAgfVxuICByZXR1cm4gW1wiRGVsaW1pdGVyXCIsIGJvZHldO1xufVxuZnVuY3Rpb24gcGFyc2VMaXN0KF9wYXJzZXIsIGJvZHkpIHtcbiAgaWYgKGJvZHkgPT09IG51bGwgfHwgaXNFbXB0eVNlcXVlbmNlKGJvZHkpKVxuICAgIHJldHVybiBbXCJMaXN0XCJdO1xuICBpZiAoaGVhZChib2R5KSAhPT0gXCJTZXF1ZW5jZVwiICYmIGhlYWQoYm9keSkgIT09IFwiTGlzdFwiKVxuICAgIHJldHVybiBbXCJMaXN0XCIsIGJvZHldO1xuICByZXR1cm4gW1wiTGlzdFwiLCAuLi5vcHMoYm9keSkgPz8gW11dO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGF0ZXgtc3ludGF4L2RpY3Rpb25hcnkvZGVmaW5pdGlvbnMtaW5lcXVhbGl0aWVzLnRzXG52YXIgREVGSU5JVElPTlNfSU5FUVVBTElUSUVTID0gW1xuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbm90XCIsIFwiPFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0NixcbiAgICBwYXJzZTogXCJOb3RMZXNzXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90TGVzc1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5sZXNzXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQ2XG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIjxcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNDUsXG4gICAgcGFyc2U6IFwiTGVzc1wiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkxlc3NcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsdFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0NVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCI8XCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MSxcbiAgICBwYXJzZTogXCJMZXNzRXF1YWxcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJMZXNzRXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsZVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbGVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQxLFxuICAgIHBhcnNlOiBcIkxlc3NFcXVhbFwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsZXFzbGFudFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2NSxcbiAgICAvLyBOb3RlIGRpZmZlcmVudCBwcmVjZWRlbmNlIHRoYW4gYDw9YCBhcyBwZXIgTWF0aE1MXG4gICAgcGFyc2U6IFwiTGVzc0VxdWFsXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTGVzc05vdEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbG5lcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90TGVzc05vdEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbmxlcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTGVzc092ZXJFcXVhbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGxlcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjVcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiR3JlYXRlck92ZXJFcXVhbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGdlcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjUsXG4gICAgcGFyc2U6IFwiR3JlYXRlckVxdWFsXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIj1cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiKlwiLCBcIj1cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjAsXG4gICAgcGFyc2U6IFwiU3RhckVxdWFsXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU3RhckVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3RhclwiLCBcIj1cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUGx1c0VxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCIrXCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJNaW51c0VxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCItXCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTbGFzaEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCIvXCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFcXVhbEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCI9XCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFcXVhbEVxdWFsRXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIj1cIiwgXCI9XCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2NVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJUaWxkZUZ1bGxFcXVhbFwiLFxuICAgIC8vIE1hdGhNTDogYXBwcm94aW1hdGVseSBlcXVhbCB0b1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNvbmdcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90VGlsZGVGdWxsRXF1YWxcIixcbiAgICAvLyBNYXRoTUw6IGFwcHJveGltYXRlbHkgYnV0IG5vdCBhY3R1YWxseSBlcXVhbCB0b1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5jb25nXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIjpcIiwgXCI9XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwLFxuICAgIHBhcnNlOiBcIkFzc2lnblwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkFzc2lnblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNvbG9uZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXBwcm94XCIsXG4gICAgLy8gTm90ZTogTWF0aGVtYXRpY2EgVGlsZGVUaWxkZVxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGFwcHJveFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0N1xuICB9LFxuICB7XG4gICAgbmFtZTogXCJOb3RBcHByb3hcIixcbiAgICAvLyBOb3RlOiBNYXRoZW1hdGljYSBUaWxkZVRpbGRlXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbm90XCIsIFwiXFxcXGFwcHJveFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0N1xuICB9LFxuICB7XG4gICAgbmFtZTogXCJBcHByb3hFcXVhbFwiLFxuICAgIC8vIE5vdGU6IE1hdGhlbWF0aWNhIFRpbGRlRXF1YWwsIE1hdGhNTDogYGFzeW1wdG90aWNhbGx5IGVxdWFsIHRvYFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGFwcHJveGVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk5vdEFwcHJveEVxdWFsXCIsXG4gICAgLy8gTm90ZTogTWF0aGVtYXRpY2EgTm90VGlsZGVFcXVhbFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5vdFwiLCBcIlxcXFxhcHByb3hlcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgLy8gTm90ZTogbm8gTGFUZVggc3ltYm9sIGZvciBjaGFyIFUrMjI0OVxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNTBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90RXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxuZVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI1NVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJVbmVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCIhXCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICAgIC8vIE5vdGUgZGlmZmVyZW50IHByZWNlbmRlbmNlIHRoYW4gXFxcXG5lIHBlciBNYXRoTUxcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiR3JlYXRlckVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZ2VcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNDJcbiAgICAvLyBOb3RlOiBkaWZmZXJlbnQgcHJlY2VuZGVuY2UgdGhhbiBgPj1gIGFzIHBlciBNYXRoTUxcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGdlcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MixcbiAgICAvLyBOb3RlOiBkaWZmZXJlbnQgcHJlY2VuZGVuY2UgdGhhbiBgPj1gIGFzIHBlciBNYXRoTUxcbiAgICBwYXJzZTogXCJHcmVhdGVyRXF1YWxcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCI+XCIsIFwiPVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MyxcbiAgICBwYXJzZTogXCJHcmVhdGVyRXF1YWxcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZ2Vxc2xhbnRcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjUsXG4gICAgLy8gTm90ZTogZGlmZmVyZW50IHByZWNlbmRlbmNlIHRoYW4gYD49YCBhcyBwZXIgTWF0aE1MXG4gICAgcGFyc2U6IFwiR3JlYXRlckVxdWFsXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiR3JlYXRlck5vdEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZ25lcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90R3JlYXRlck5vdEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbmdlcXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiPlwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0NSxcbiAgICBwYXJzZTogXCJHcmVhdGVyXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiR3JlYXRlclwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGd0XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQ1XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk5vdEdyZWF0ZXJcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxuZ3RyXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQ0XG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxub3RcIiwgXCI+XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQ0LFxuICAgIHBhcnNlOiBcIk5vdEdyZWF0ZXJcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJSaW5nRXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjaXJjZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiVHJpYW5nbGVFcXVhbFwiLFxuICAgIC8vIE1hdGhNTDogZGVsdGEgZXF1YWwgdG9cbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0cmlhbmdsZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRG90RXF1YWxcIixcbiAgICAvLyBNYXRoTUw6IGFwcHJvYWNoZXMgdGhlIGxpbWl0XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZG90ZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjVcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRG90RXF1YWxEb3RcIixcbiAgICAvLyBNYXRoTUw6IEdlb21ldHJpY2FsbHkgZXF1YWxcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxkb3RlcWRvdFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2NVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJGYWxsaW5nRG90RXF1YWxcIixcbiAgICAvLyBNYXRoTUw6IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gb3IgdGhlIGltYWdlIG9mXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZmFsbGluZ2RvdHNlcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2NVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJSaXNpbmdEb3RFcXVhbFwiLFxuICAgIC8vIE1hdGhNTDogaW1hZ2Ugb2Ygb3IgYXBwcm94aW1hdGVseSBlcXVhbCB0b1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGZhbGxpbmdkb3RzZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjVcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUXVlc3Rpb25FcXVhbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHF1ZXN0ZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTXVjaExlc3NcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsbFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJNdWNoR3JlYXRlclwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGdnXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlByZWNlZGVzXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxccHJlY1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTdWNjZWVkc1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHN1Y2NcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUHJlY2VkZXNFcXVhbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHByZWNjdXJseWVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN1Y2NlZWRzRXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjdXJseWVxcHJlY1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJOb3RQcmVjZWRlc1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5wcmVjXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjYwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk5vdFN1Y2NlZWRzXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbnN1Y2NcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQmV0d2VlblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGJldHdlZW5cIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNjVcbiAgfVxuXTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xhdGV4LXN5bnRheC9kaWN0aW9uYXJ5L2RlZmluaXRpb25zLWxvZ2ljLnRzXG52YXIgREVGSU5JVElPTlNfTE9HSUMgPSBbXG4gIC8vIENvbnN0YW50c1xuICB7XG4gICAgbmFtZTogXCJUcnVlXCIsXG4gICAga2luZDogXCJzeW1ib2xcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0b3BcIl1cbiAgICAvLyBcdTIyQTQgVSsyMkE0XG4gIH0sXG4gIHtcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcbWF0aHJte1RydWV9XCIsXG4gICAgcGFyc2U6IFwiVHJ1ZVwiXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcb3BlcmF0b3J7VHJ1ZX1cIixcbiAgICBwYXJzZTogXCJUcnVlXCJcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwic3ltYm9sXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxtYXRoc2Z7VH1cIixcbiAgICBwYXJzZTogXCJUcnVlXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRmFsc2VcIixcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGJvdFwiXVxuICAgIC8vIFx1MjJBNSBVKzIyQTVcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwic3ltYm9sXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxvcGVyYXRvcntGYWxzZX1cIixcbiAgICBwYXJzZTogXCJUcnVlXCJcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwic3ltYm9sXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxtYXRoc2Z7Rn1cIixcbiAgICBwYXJzZTogXCJUcnVlXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTWF5YmVcIixcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcb3BlcmF0b3JuYW1le01heWJlfVwiLFxuICAgIHNlcmlhbGl6ZTogXCJcXFxcb3BlcmF0b3JuYW1le01heWJlfVwiXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcbWF0aHJte01heWJlfVwiLFxuICAgIHBhcnNlOiBcIk1heWJlXCJcbiAgfSxcbiAgLy8gT3BlcmF0b3JzXG4gIHtcbiAgICBuYW1lOiBcIkFuZFwiLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsYW5kXCJdLFxuICAgIHByZWNlZGVuY2U6IDMxN1xuICAgIC8vIHNlcmlhbGl6ZTogJ1xcXFxsYW5kJyxcbiAgfSxcbiAgeyBraW5kOiBcImluZml4XCIsIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHdlZGdlXCJdLCBwYXJzZTogXCJBbmRcIiwgcHJlY2VkZW5jZTogMzE3IH0sXG4gIHsga2luZDogXCJpbmZpeFwiLCBsYXRleFRyaWdnZXI6IFwiXFxcXCZcIiwgcGFyc2U6IFwiQW5kXCIsIHByZWNlZGVuY2U6IDMxNyB9LFxuICB7XG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogXCJcXFxcb3BlcmF0b3JuYW1le2FuZH1cIixcbiAgICBwYXJzZTogXCJBbmRcIixcbiAgICBwcmVjZWRlbmNlOiAzMTdcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3JcIixcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbG9yXCJdLFxuICAgIHByZWNlZGVuY2U6IDMxMFxuICB9LFxuICB7IGtpbmQ6IFwiaW5maXhcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdmVlXCJdLCBwYXJzZTogXCJPclwiLCBwcmVjZWRlbmNlOiAzMTAgfSxcbiAgeyBraW5kOiBcImluZml4XCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxccGFyYWxsZWxcIiwgcGFyc2U6IFwiT3JcIiwgcHJlY2VkZW5jZTogMzEwIH0sXG4gIHtcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxvcGVyYXRvcm5hbWV7b3J9XCIsXG4gICAgcGFyc2U6IFwiQW5kXCIsXG4gICAgcHJlY2VkZW5jZTogMzEwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlhvclwiLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx2ZWViYXJcIl0sXG4gICAgcHJlY2VkZW5jZTogMzE1XG4gIH0sXG4gIC8vIFBvc3NpYmxlIGFsdDogXFxvcGx1cyBcdTIyOTUgVSsyMjk1XG4gIHtcbiAgICBuYW1lOiBcIk5vdFwiLFxuICAgIGtpbmQ6IFwicHJlZml4XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbG5vdFwiXSxcbiAgICBwcmVjZWRlbmNlOiA4ODBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTmFuZFwiLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxiYXJ3ZWRnZVwiXSxcbiAgICBwcmVjZWRlbmNlOiAzMTVcbiAgICAvLyBzZXJpYWxpemU6ICdcXFxcbWlkJyxcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm9yXCIsXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFx1MjJCRFwiXSxcbiAgICAvLyBiYXIgdmVlXG4gICAgcHJlY2VkZW5jZTogMzE1XG4gICAgLy8gc2VyaWFsaXplOiAnXFxcXGRvd25hcnJvdycsXG4gIH0sXG4gIC8vIEZ1bmN0aW9uc1xuICB7XG4gICAga2luZDogXCJmdW5jdGlvblwiLFxuICAgIGlkZW50aWZpZXJUcmlnZ2VyOiBcImFuZFwiLFxuICAgIHBhcnNlOiBcIkFuZFwiXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwib3JcIixcbiAgICBwYXJzZTogXCJPclwiXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwibm90XCIsXG4gICAgcGFyc2U6IFwiTm90XCJcbiAgfSxcbiAgLy8gUmVsYXRpb25zXG4gIHtcbiAgICBuYW1lOiBcIkltcGxpZXNcIixcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgcHJlY2VkZW5jZTogMjIwLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxpbXBsaWVzXCJdLFxuICAgIHNlcmlhbGl6ZTogXCJcXFxcaW1wbGllc1wiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxSaWdodGFycm93XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAyMjAsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHBhcnNlOiBcIkltcGxpZXNcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFcXVpdmFsZW50XCIsXG4gICAgLy8gTWF0aE1MOiBpZGVudGljYWwgdG8sIE1hdGhlbWF0aWNhOiBDb25ncnVlbnRcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxpZmZcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyMTlcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXExlZnRyaWdodGFycm93XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjE5LFxuICAgIHBhcnNlOiBcIkVxdWl2YWxlbnRcIlxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZXF1aXZcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyMTksXG4gICAgcGFyc2U6IFwiRXF1aXZhbGVudFwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlByb3Zlc1wiLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx2ZGFzaFwiXSxcbiAgICBwcmVjZWRlbmNlOiAyMjAsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHNlcmlhbGl6ZTogXCJcXFxcdmRhc2hcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJFbnRhaWxzXCIsXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHZEYXNoXCJdLFxuICAgIHByZWNlZGVuY2U6IDIyMCxcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgc2VyaWFsaXplOiBcIlxcXFx2RGFzaFwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlNhdGlzZmllc1wiLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxtb2RlbHNcIl0sXG4gICAgcHJlY2VkZW5jZTogMjIwLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBzZXJpYWxpemU6IFwiXFxcXG1vZGVsc1wiXG4gIH1cbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1vdGhlci50c1xuZnVuY3Rpb24gcGFyc2VTaW5nbGVBcmcoY21kKSB7XG4gIHJldHVybiAocGFyc2VyKSA9PiB7XG4gICAgY29uc3QgYXJnID0gcGFyc2VyLnBhcnNlR3JvdXAoKTtcbiAgICByZXR1cm4gYXJnID09PSBudWxsID8gW2NtZF0gOiBbY21kLCBhcmddO1xuICB9O1xufVxudmFyIERFRklOSVRJT05TX09USEVSUyA9IFtcbiAge1xuICAgIG5hbWU6IFwiT3ZlcnNjcmlwdFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG92ZXJzZXRcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDcwMFxuICAgIC8vIEB0b2RvOiBub3QgaW4gTWF0aE1MXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlVuZGVyc2NyaXB0XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdW5kZXJzZXRcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDcwMFxuICAgIC8vIEB0b2RvOiBub3QgaW4gTWF0aE1MXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkluY3JlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiK1wiLCBcIitcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcHJlY2VkZW5jZTogODgwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkRlY3JlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiLVwiLCBcIi1cIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCIsXG4gICAgcHJlY2VkZW5jZTogODgwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlByZUluY3JlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiK1wiLCBcIitcIl0sXG4gICAga2luZDogXCJwcmVmaXhcIixcbiAgICBwcmVjZWRlbmNlOiA4ODBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUHJlRGVjcmVtZW50XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCItXCIsIFwiLVwiXSxcbiAgICBraW5kOiBcInByZWZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDg4MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJSaW5nXCIsXG4gICAgLy8gQWthICdDb21wb3NpdGlvbicsIGkuZS4gZnVuY3Rpb24gY29tcG9zaXRpb25cbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjaXJjXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAyNjVcbiAgICAvLyBAdG9kbzogTWF0aE1MIGlzIDk1MFxuICAgIC8vIEB0b2RvOiBjaGVjayBsaHMgYW5kIHJocyBhcmUgZnVuY3Rpb25zXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlRyYW5zcG9zZVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlRcIl0sXG4gICAga2luZDogXCJwb3N0Zml4XCJcbiAgICAvLyBAdG9kbzogaWYgbGhzIGlzIGEgbGlzdC90ZW5zb3JcbiAgfSxcbiAge1xuICAgIC8vIEB0b2RvOiBpZiBsaHMgaXMgYSBsaXN0L3RlbnNvclxuICAgIG5hbWU6IFwiQ29uanVnYXRlVHJhbnNwb3NlXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJeXCIsIFwiSFwiXSxcbiAgICBraW5kOiBcInBvc3RmaXhcIlxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTdHJpbmdKb2luXCIsXG4gICAgLy8gQHRvZG8gRnJvbSBNYXRoZW1hdGljYS4uLj9cbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxsdFwiLCBcIlxcXFxndFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgcHJlY2VkZW5jZTogNzgwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN0YXJzdGFyXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3RhclwiLCBcIlxcXFxzdGFyXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiA3ODBcbiAgfSxcbiAge1xuICAgIC8vIFBhcnRpYWwgZGVyaXZhdGl2ZSB1c2luZyBhIHZhcmlhdGlvbiBvZiB0aGUgRXVsZXIgbm90YXRpb246IGBcdTIyMDJfeGYoeClgXG4gICAgLy8gKHRoZSBFdWxlciBub3RhdGlvbiB1c2VzIGBEXzFmKHgpYCB3aGVyZSBcIjFcIiBpcyBmb3IgdGhlIGZpcnN0IHZhcmlhYmxlXG4gICAgLy8gRm9yIHRoZSBMZWlibml6IG5vdGF0aW9uIHNlZSAnRGl2aWRlJyB0aGF0IGhhbmRsZXMgYFx1MjIwMmYvXHUyMjAyeGBcbiAgICBuYW1lOiBcIlBhcnRpYWxEZXJpdmF0aXZlXCIsXG4gICAgLy8gUGFydGlhbERlcml2YXRpdmUoZXhwciwge2xpc3RzIG9mIHZhcnN9LCBkZWdyZWUpXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxccGFydGlhbFwiXSxcbiAgICBraW5kOiBcInByZWZpeFwiLFxuICAgIHBhcnNlOiAocGFyc2VyKSA9PiB7XG4gICAgICBsZXQgZG9uZSA9IGZhbHNlO1xuICAgICAgbGV0IHN1cCA9IFwiTm90aGluZ1wiO1xuICAgICAgbGV0IHN1YjIgPSBcIk5vdGhpbmdcIjtcbiAgICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgICBwYXJzZXIuc2tpcFNwYWNlKCk7XG4gICAgICAgIGlmIChwYXJzZXIubWF0Y2goXCJfXCIpKSB7XG4gICAgICAgICAgc3ViMiA9IHBhcnNlci5wYXJzZUdyb3VwKCkgPz8gcGFyc2VyLnBhcnNlVG9rZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJzZXIubWF0Y2goXCJeXCIpKSB7XG4gICAgICAgICAgc3VwID0gcGFyc2VyLnBhcnNlR3JvdXAoKSA/PyBwYXJzZXIucGFyc2VUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBzZXEgPSBnZXRTZXF1ZW5jZShzdWIyKTtcbiAgICAgIGlmIChzZXEpXG4gICAgICAgIHN1YjIgPSBbXCJMaXN0XCIsIC4uLnNlcV07XG4gICAgICBpZiAoc3ViMiA9PT0gbnVsbCB8fCBzdXAgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgbGV0IHJocyA9IHBhcnNlci5wYXJzZUdyb3VwKCkgPz8gXCJOb3RoaW5nXCI7XG4gICAgICBpZiAocmhzICE9PSBcIk5vdGhpbmdcIiAmJiAhaXNFbXB0eVNlcXVlbmNlKHJocykpIHtcbiAgICAgICAgY29uc3QgYXJncyA9IHBhcnNlci5wYXJzZUFyZ3VtZW50cygpID8/IFtcIk5vdGhpbmdcIl07XG4gICAgICAgIHJocyA9IFtyaHMsIC4uLmFyZ3NdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtcIlBhcnRpYWxEZXJpdmF0aXZlXCIsIHJocywgc3ViMiwgc3VwXTtcbiAgICB9LFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBcIlxcXFxwYXJ0aWFsXCI7XG4gICAgICBjb25zdCBmbiA9IG9wKGV4cHIsIDEpO1xuICAgICAgY29uc3QgdmFycyA9IG9wKGV4cHIsIDIpO1xuICAgICAgY29uc3QgZGVncmVlID0gb3AoZXhwciwgMyk7XG4gICAgICBpZiAodmFycyAhPT0gbnVsbCAmJiB2YXJzICE9PSBcIk5vdGhpbmdcIikge1xuICAgICAgICBpZiAoaGVhZCh2YXJzKSA9PT0gXCJMaXN0XCIpIHtcbiAgICAgICAgICByZXN1bHQgKz0gXCJfe1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUoW1wiU2VxdWVuY2VcIiwgLi4ub3BzKHZhcnMpID8/IFtdXSkgKyBcIn1cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgKz0gXCJfe1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUodmFycykgKyBcIn1cIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGRlZ3JlZSAhPT0gbnVsbCAmJiBkZWdyZWUgIT09IFwiTm90aGluZ1wiKVxuICAgICAgICByZXN1bHQgKz0gXCJee1wiICsgc2VyaWFsaXplci5zZXJpYWxpemUoZGVncmVlKSArIFwifVwiO1xuICAgICAgaWYgKGZuICE9PSBudWxsICYmIGZuICE9PSBcIk5vdGhpbmdcIilcbiAgICAgICAgcmVzdWx0ICs9IHNlcmlhbGl6ZXIuc2VyaWFsaXplKGZuKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgICBwcmVjZWRlbmNlOiA3NDBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3ZlckJhclwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG92ZXJsaW5lXCJdLFxuICAgIHBhcnNlOiBwYXJzZVNpbmdsZUFyZyhcIk92ZXJCYXJcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiVW5kZXJCYXJcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx1bmRlcmxpbmVcIl0sXG4gICAgcGFyc2U6IHBhcnNlU2luZ2xlQXJnKFwiVW5kZXJCYXJcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3ZlclZlY3RvclwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHZlY1wiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyVmVjdG9yXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk92ZXJUaWxkZVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRpbGRlXCJdLFxuICAgIHBhcnNlOiBwYXJzZVNpbmdsZUFyZyhcIk92ZXJUaWxkZVwiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJPdmVySGF0XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcaGF0XCJdLFxuICAgIHBhcnNlOiBwYXJzZVNpbmdsZUFyZyhcIk92ZXJIYXRcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3ZlclJpZ2h0QXJyb3dcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxvdmVycmlnaHRhcnJvd1wiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyUmlnaHRBcnJvd1wiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJPdmVyTGVmdEFycm93XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcb3ZlcmxlZnRhcnJvd1wiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyTGVmdEFycm93XCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk92ZXJSaWdodERvdWJsZUFycm93XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcT3ZlcnJpZ2h0YXJyb3dcIl0sXG4gICAgcGFyc2U6IHBhcnNlU2luZ2xlQXJnKFwiT3ZlclJpZ2h0RG91YmxlQXJyb3dcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3ZlckxlZnRIYXJwb29uXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcb3ZlcmxlZnRoYXJwb29uXCJdLFxuICAgIHBhcnNlOiBwYXJzZVNpbmdsZUFyZyhcIk92ZXJMZWZ0SGFycG9vblwiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJPdmVyUmlnaHRIYXJwb29uXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcb3ZlcnJpZ2h0aGFycG9vblwiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyUmlnaHRIYXJwb29uXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk92ZXJMZWZ0UmlnaHRBcnJvd1wiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG92ZXJsZWZ0cmlnaHRhcnJvd1wiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyTGVmdFJpZ2h0QXJyb3dcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiT3ZlckJyYWNlXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcb3ZlcmJyYWNlXCJdLFxuICAgIHBhcnNlOiBwYXJzZVNpbmdsZUFyZyhcIk92ZXJCcmFjZVwiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJPdmVyTGluZVNlZ21lbnRcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxvdmVybGluZXNlZ21lbnRcIl0sXG4gICAgcGFyc2U6IHBhcnNlU2luZ2xlQXJnKFwiT3ZlckxpbmVTZWdtZW50XCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIk92ZXJHcm91cFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG92ZXJncm91cFwiXSxcbiAgICBwYXJzZTogcGFyc2VTaW5nbGVBcmcoXCJPdmVyR3JvdXBcIilcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGRpc3BsYXlzdHlsZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRleHRzdHlsZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHNjcmlwdHN0eWxlXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJTZXF1ZW5jZVwiXVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc2NyaXB0c2NyaXB0c3R5bGVcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIlNlcXVlbmNlXCJdXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0aW55XCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJTZXF1ZW5jZVwiXVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc2NyaXB0c2l6ZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGZvb3Rub3Rlc2l6ZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHNtYWxsXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJTZXF1ZW5jZVwiXVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbm9ybWFsc2l6ZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGxhcmdlXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJTZXF1ZW5jZVwiXVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcTGFyZ2VcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIlNlcXVlbmNlXCJdXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxMQVJHRVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiU2VxdWVuY2VcIl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGh1Z2VcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIlNlcXVlbmNlXCJdXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxIdWdlXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJTZXF1ZW5jZVwiXVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTdHlsZVwiLFxuICAgIHNlcmlhbGl6ZTogKHNlcmlhbGl6ZXIsIGV4cHIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSk7XG4gICAgICBjb25zdCBkaWN0ID0gZGljdGlvbmFyeShvcChleHByLCAyKSk7XG4gICAgICBpZiAoZGljdCA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIGlmIChzdHJpbmdWYWx1ZShkaWN0LmRpc3BsYXkpID09PSBcImJsb2NrXCIpXG4gICAgICAgIHJlc3VsdCA9IGpvaW5MYXRleChbXCJ7XFxcXGRpc3BsYXlzdHlsZVwiLCByZXN1bHQsIFwifVwiXSk7XG4gICAgICBlbHNlIGlmIChzdHJpbmdWYWx1ZShkaWN0LmRpc3BsYXkpID09PSBcImlubGluZVwiKVxuICAgICAgICByZXN1bHQgPSBqb2luTGF0ZXgoW1wie1xcXFx0ZXh0c3R5bGVcIiwgcmVzdWx0LCBcIn1cIl0pO1xuICAgICAgZWxzZSBpZiAoc3RyaW5nVmFsdWUoZGljdC5kaXNwbGF5KSA9PT0gXCJzY3JpcHRcIilcbiAgICAgICAgcmVzdWx0ID0gam9pbkxhdGV4KFtcIntcXFxcc2NyaXB0c3R5bGVcIiwgcmVzdWx0LCBcIn1cIl0pO1xuICAgICAgZWxzZSBpZiAoc3RyaW5nVmFsdWUoZGljdC5kaXNwbGF5KSA9PT0gXCJzY3JpcHRzY3JpcHRcIilcbiAgICAgICAgcmVzdWx0ID0gam9pbkxhdGV4KFtcIntcXFxcc2NyaXB0c2NyaXB0c3R5bGVcIiwgcmVzdWx0LCBcIn1cIl0pO1xuICAgICAgY29uc3QgdiA9IG1hY2hpbmVWYWx1ZShkaWN0LnNpemUpO1xuICAgICAgaWYgKHYgIT09IG51bGwgJiYgdiA+PSAxICYmIHYgPD0gMTApIHtcbiAgICAgICAgcmVzdWx0ID0gam9pbkxhdGV4KFtcbiAgICAgICAgICBcIntcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICAxOiBcIlxcXFx0aW55XCIsXG4gICAgICAgICAgICAyOiBcIlxcXFxzY3JpcHRzaXplXCIsXG4gICAgICAgICAgICAzOiBcIlxcXFxmb290bm90ZXNpemVcIixcbiAgICAgICAgICAgIDQ6IFwiXFxcXHNtYWxsXCIsXG4gICAgICAgICAgICA1OiBcIlxcXFxub3JtYWxzaXplXCIsXG4gICAgICAgICAgICA2OiBcIlxcXFxsYXJnZVwiLFxuICAgICAgICAgICAgNzogXCJcXFxcTGFyZ2VcIixcbiAgICAgICAgICAgIDg6IFwiXFxcXExBUkdFXCIsXG4gICAgICAgICAgICA5OiBcIlxcXFxodWdlXCIsXG4gICAgICAgICAgICAxMDogXCJcXFxcSHVnZVwiXG4gICAgICAgICAgfVt2XSxcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgXCJ9XCJcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXCFcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIkhvcml6b250YWxTcGFjaW5nXCIsIC0zXVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcIFwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiSG9yaXpvbnRhbFNwYWNpbmdcIiwgNl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXDpcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIkhvcml6b250YWxTcGFjaW5nXCIsIDRdXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxlbnNraXBcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIkhvcml6b250YWxTcGFjaW5nXCIsIDldXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxxdWFkXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJIb3Jpem9udGFsU3BhY2luZ1wiLCAxOF1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHFxdWFkXCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJIb3Jpem9udGFsU3BhY2luZ1wiLCAzNl1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXCxcIl0sXG4gICAgcGFyc2U6ICgpID0+IFtcIkhvcml6b250YWxTcGFjaW5nXCIsIDNdXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFw7XCJdLFxuICAgIHBhcnNlOiAoKSA9PiBbXCJIb3Jpem9udGFsU3BhY2luZ1wiLCA1XVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcZW5zcGFjZVwiXSxcbiAgICBwYXJzZTogKCkgPT4gW1wiSG9yaXpvbnRhbFNwYWNpbmdcIiwgOV1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiSG9yaXpvbnRhbFNwYWNpbmdcIixcbiAgICAvLyBUaGUgYEhvcml6b250YWxTcGFjaW5nYCBmdW5jdGlvbiBoYXMgdHdvIGZvcm1zXG4gICAgLy8gYFtcIkhvcml6b250YWxTcGFjaW5nXCIsIG51bWJlcl1gIC0+IGluZGljYXRlIGEgc3BhY2Ugb2YgbXUgdW5pdHNcbiAgICAvLyBgW1wiSG9yaXpvbnRhbFNwYWNpbmdcIiwgZXhwciwgJ29wJ3wnYmluJ3xyZWxdYCAtPiBpbmRpY2F0ZSBhIHNwYWNpbmcgYXJvdW5kIGFuZCBleHByZXNzaW9uLCBpLmUuIGBcXG1hdGhiaW57eH1gLCBldGMuLi5cbiAgICBzZXJpYWxpemU6IChzZXJpYWxpemVyLCBleHByKSA9PiB7XG4gICAgICBpZiAob3AoZXhwciwgMikpIHtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHYgPSBtYWNoaW5lVmFsdWUob3AoZXhwciwgMSkpO1xuICAgICAgaWYgKHYgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgXCItM1wiOiBcIlxcXFwhXCIsXG4gICAgICAgIDY6IFwiXFxcXCBcIixcbiAgICAgICAgMzogXCJcXFxcLFwiLFxuICAgICAgICA0OiBcIlxcXFw6XCIsXG4gICAgICAgIDU6IFwiXFxcXDtcIixcbiAgICAgICAgOTogXCJcXFxcZW5zcGFjZVwiLFxuICAgICAgICAxODogXCJcXFxccXVhZFwiLFxuICAgICAgICAzNjogXCJcXFxccXF1YWRcIlxuICAgICAgfVt2XSA/PyBcIlwiO1xuICAgIH1cbiAgfVxuICAvLyBpZiAoXG4gIC8vICAgW1xuICAvLyAgICAgJ1xcXFwhJyxcbiAgLy8gICAgICdcXFxcOicsXG4gIC8vICAgICAnXFxcXGVuc2tpcCcsXG4gIC8vICAgICAnXFxcXHF1YWQnLFxuICAvLyAgICAgJ1xcXFwsJyxcbiAgLy8gICAgICdcXFxcOycsXG4gIC8vICAgICAnXFxcXGVuc3BhY2UnLFxuICAvLyAgICAgJ1xcXFxxcXVhZCcsXG4gIC8vICAgICAnXFxcXHNlbGVjdGZvbnQnLFxuICAvLyAgIF0uaW5jbHVkZXModG9rZW4pXG4gIC8vICkge1xuICAvLyAgIHJldHVybiAnc2tpcCc7XG4gIC8vIH1cbiAgLy8ge1xuICAvLyAgICAgbmFtZTogJycsXG4gIC8vICAgICB0cmlnZ2VyOiAnXFxcXG1hdGhyaW5nJyxcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgICAgbmFtZTogJycsXG4gIC8vICAgICB0cmlnZ2VyOiAnXFxcXGNoZWNrJyxcbiAgLy8gfSxcbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy10cmlnb25vbWV0cnkudHNcbmZ1bmN0aW9uIHBhcnNlVHJpZyhvcDMpIHtcbiAgcmV0dXJuIChwYXJzZXIsIHVudGlsKSA9PiB7XG4gICAgY29uc3QgaGVhZDIgPSB7XG4gICAgICBcIlxcXFxhcmNzaW5cIjogXCJBcmNzaW5cIixcbiAgICAgIFwiXFxcXGFyY2Nvc1wiOiBcIkFyY2Nvc1wiLFxuICAgICAgXCJcXFxcYXJjdGFuXCI6IFwiQXJjdGFuXCIsXG4gICAgICBcIlxcXFxhcmN0Z1wiOiBcIkFyY3RhblwiLFxuICAgICAgXCJcXFxcYXJjY3RnXCI6IFwiQXJjdGFuXCIsXG4gICAgICBcIlxcXFxhcmNzZWNcIjogXCJBcmNzZWNcIixcbiAgICAgIFwiXFxcXGFyY2NzY1wiOiBcIiBBcmNjc2NcIixcbiAgICAgIFwiXFxcXGFyc2luaFwiOiBcIkFyc2luaFwiLFxuICAgICAgXCJcXFxcYXJjb3NoXCI6IFwiQXJjb3NoXCIsXG4gICAgICBcIlxcXFxhcnRhbmhcIjogXCJBcnRhbmhcIixcbiAgICAgIFwiXFxcXGFyY3NlY2hcIjogXCJBcmNzZWNoXCIsXG4gICAgICBcIlxcXFxhcmNjc2NoXCI6IFwiQXJjc2NoXCIsXG4gICAgICAvLyAnXFxcXGFyZycsXG4gICAgICBcIlxcXFxjaFwiOiBcIkNvc2hcIixcbiAgICAgIFwiXFxcXGNvc1wiOiBcIkNvc1wiLFxuICAgICAgXCJcXFxcY29zZWNcIjogXCJDc2NcIixcbiAgICAgIFwiXFxcXGNvc2hcIjogXCJDc2NoXCIsXG4gICAgICBcIlxcXFxjb3RcIjogXCJDb3RcIixcbiAgICAgIFwiXFxcXGNvdGdcIjogXCJDb3RcIixcbiAgICAgIFwiXFxcXGNvdGhcIjogXCJDb3RoXCIsXG4gICAgICBcIlxcXFxjc2NcIjogXCJDc2NcIixcbiAgICAgIFwiXFxcXGN0Z1wiOiBcIkNvdFwiLFxuICAgICAgXCJcXFxcY3RoXCI6IFwiQ290aFwiLFxuICAgICAgXCJcXFxcc2VjXCI6IFwiU2VjXCIsXG4gICAgICBcIlxcXFxzaW5cIjogXCJTaW5cIixcbiAgICAgIFwiXFxcXHNpbmhcIjogXCJTaW5oXCIsXG4gICAgICBcIlxcXFxzaFwiOiBcIlNpbmhcIixcbiAgICAgIFwiXFxcXHRhblwiOiBcIlRhblwiLFxuICAgICAgXCJcXFxcdGFuaFwiOiBcIlRhbmhcIixcbiAgICAgIFwiXFxcXHRnXCI6IFwiVGFuXCIsXG4gICAgICBcIlxcXFx0aFwiOiBcIlRhbmhcIlxuICAgIH1bb3AzID8/IFwiXCJdID8/IG9wMyA/PyBcIlwiO1xuICAgIGlmIChwYXJzZXIuYXRUZXJtaW5hdG9yKHVudGlsKSlcbiAgICAgIHJldHVybiBoZWFkMjtcbiAgICBjb25zdCBmbiA9IHBhcnNlci5wYXJzZVBvc3RmaXhPcGVyYXRvcihoZWFkMiwgdW50aWwpO1xuICAgIGlmIChmbiAhPT0gbnVsbClcbiAgICAgIHJldHVybiBmbjtcbiAgICBjb25zdCBhcmdzID0gcGFyc2VyLnBhcnNlQXJndW1lbnRzKFwiaW1wbGljaXRcIiwgdW50aWwpO1xuICAgIHJldHVybiBhcmdzID09PSBudWxsID8gaGVhZDIgOiBbaGVhZDIsIC4uLmFyZ3NdO1xuICB9O1xufVxudmFyIERFRklOSVRJT05TX1RSSUdPTk9NRVRSWSA9IFtcbiAge1xuICAgIG5hbWU6IFwiQXJjc2luXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjc2luXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNzaW5cIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjY29zXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjY29zXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNjb3NcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjdGFuXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjdGFuXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmN0YW5cIilcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGFyY3RnXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmN0YW5cIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjY290XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjY3RnXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNjb3RcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjc2VjXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBcImFyY3NlY1wiLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNzZWNcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjY3NjXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjY3NjXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNjc2NcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJzaW5oXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJzaW5oXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcnNpbmhcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjb3NoXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjb3NoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNvc2hcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJ0YW5oXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJ0YW5oXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcnRhbmhcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJzZWNoXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJzZWNoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcnNlY2hcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJjc2NoXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJjc2NoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJBcmNzY2hcIilcbiAgfSxcbiAge1xuICAgIC8vIFJ1c2lhbiBoeXBlcmJvbGljIGNvc2luZVxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJDb3NoXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvc2VjXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcY29zZWNcIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIkNvc2VjXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvc2hcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjb3NoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJDb3NoXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvdFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNvdFwiXSxcbiAgICBwYXJzZTogcGFyc2VUcmlnKFwiQ290XCIpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjb3RnXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJDb3RcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQ290aFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNvdGhcIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIkNvdGhcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQ3NjXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcY3NjXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJDc2NcIilcbiAgfSxcbiAge1xuICAgIC8vIFJ1c2lhbiBjb3RhbmdlbnRcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjdGdcIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIkNvdFwiKVxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcY3RoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJDb3RhbmhcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU2VjXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc2VjXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJTZWNcIilcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiU2luaFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHNpbmhcIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIlNpbmhcIilcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHNoXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJTaW5oXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlRhblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRhblwiXSxcbiAgICBwYXJzZTogcGFyc2VUcmlnKFwiVGFuXCIpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0Z1wiXSxcbiAgICBwYXJzZTogcGFyc2VUcmlnKFwiVGFuXCIpXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlRhbmhcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0YW5oXCJdLFxuICAgIHBhcnNlOiBwYXJzZVRyaWcoXCJUYW5oXCIpXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0aFwiXSxcbiAgICBwYXJzZTogcGFyc2VUcmlnKFwiVGFuaFwiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJDb3NcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxjb3NcIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIkNvc1wiKVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTaW5cIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzaW5cIl0sXG4gICAgcGFyc2U6IHBhcnNlVHJpZyhcIlNpblwiKVxuICB9XG5dO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGF0ZXgtc3ludGF4L2RpY3Rpb25hcnkvZGVmaW5pdGlvbnMtc2V0cy50c1xudmFyIERFRklOSVRJT05TX1NFVFMgPSBbXG4gIC8vIENvbnN0YW50c1xuICB7IG5hbWU6IFwiQWxnZWJyYWljTnVtYmVyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcYmFyXFxcXFFcIiB9LFxuICB7IG5hbWU6IFwiQ29tcGxleE51bWJlclwiLCBsYXRleFRyaWdnZXI6IFtcIlxcXFxDXCJdIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxtYXRoYmJ7Q31cIiwgcGFyc2U6IFwiQ29tcGxleE51bWJlclwiIH0sXG4gIHsgbmFtZTogXCJJbWFnaW5hcnlOdW1iZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcaW1hZ2luYXJ5SVwiLCBcIlxcXFxSXCJdIH0sXG4gIHsgbmFtZTogXCJFeHRlbmRlZENvbXBsZXhOdW1iZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYmFyXCIsIFwiXFxcXENcIl0gfSxcbiAgeyBuYW1lOiBcIkVtcHR5U2V0XCIsIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGVtcHR5c2V0XCJdIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcdmFybm90aGluZ1wiXSwgcGFyc2U6IFwiRW1wdHlTZXRcIiB9LFxuICAvLyBQYXJzaW5nIG9ubHlcbiAgeyBuYW1lOiBcIkludGVnZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcWlwiXSB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcbWF0aGJie1p9XCIsIHBhcnNlOiBcIkludGVnZXJcIiB9LFxuICB7IG5hbWU6IFwiUmF0aW9uYWxOdW1iZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcUVwiXSB9LFxuICB7IG5hbWU6IFwiUmVhbE51bWJlclwiLCBsYXRleFRyaWdnZXI6IFtcIlxcXFxSXCJdIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxtYXRoYmJ7Un1cIiwgcGFyc2U6IFwiUmVhbE51bWJlclwiIH0sXG4gIHsgbmFtZTogXCJFeHRlbmRlZFJlYWxOdW1iZXJcIiwgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYmFyXCIsIFwiXFxcXFJcIl0gfSxcbiAgeyBuYW1lOiBcIlRyYW5zY2VuZGVudGFsTnVtYmVyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcUi1cXFxcYmFyXFxcXFFcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcUlxcXFxiYWNrc2xhc2hcXFxcYmFyXFxcXFFcIiwgcGFyc2U6IFwiVHJhbnNjZW5kZW50YWxOdW1iZXJcIiB9LFxuICAvLyBSZWFsIG51bWJlcnMgPCAwXG4gIHsgbmFtZTogXCJOZWdhdGl2ZU51bWJlclwiLCBsYXRleFRyaWdnZXI6IFwiXFxcXFJeLVwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxSXnstfVwiLCBwYXJzZTogXCJOZWdhdGl2ZU51bWJlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxSXy1cIiwgcGFyc2U6IFwiTmVnYXRpdmVOdW1iZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcUl97LX1cIiwgcGFyc2U6IFwiTmVnYXRpdmVOdW1iZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcUl57XFxcXGx0fVwiLCBwYXJzZTogXCJOZWdhdGl2ZU51bWJlclwiIH0sXG4gIC8vIFJlYWwgbnVtYmVycyA+IDBcbiAgeyBuYW1lOiBcIlBvc2l0aXZlTnVtYmVyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcUl4rXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFJeeyt9XCIsIHBhcnNlOiBcIlBvc2l0aXZlTnVtYmVyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFJfK1wiLCBwYXJzZTogXCJQb3NpdGl2ZU51bWJlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxSX3srfVwiLCBwYXJzZTogXCJQb3NpdGl2ZU51bWJlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxSXntcXFxcZ3R9XCIsIHBhcnNlOiBcIlBvc2l0aXZlTnVtYmVyXCIgfSxcbiAgLy8gUmVhbCBudW1iZXJzIDw9IDBcbiAgeyBuYW1lOiBcIk5vblBvc2l0aXZlTnVtYmVyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcUl57MC19XCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFJeey0wfVwiLCBwYXJzZTogXCJOb25Qb3NpdGl2ZU51bWJlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxSXntcXFxcbGVxfVwiLCBwYXJzZTogXCJOb25Qb3NpdGl2ZU51bWJlclwiIH0sXG4gIC8vIEludGVnZXJzIDwgMFxuICB7IG5hbWU6IFwiTmVnYXRpdmVJbnRlZ2VyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcWl4tXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpeLVwiLCBwYXJzZTogXCJOZWdhdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcWl57LX1cIiwgcGFyc2U6IFwiTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpfLVwiLCBwYXJzZTogXCJOZWdhdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcWl97LX1cIiwgcGFyc2U6IFwiTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpee1xcXFxsdH1cIiwgcGFyc2U6IFwiTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgLy8gSW50ZWdlcnMgPiAgMFxuICB7IG5hbWU6IFwiUG9zaXRpdmVJbnRlZ2VyXCIsIGxhdGV4VHJpZ2dlcjogXCJcXFxcWl4rXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpeeyt9XCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxaXytcIiwgcGFyc2U6IFwiUG9zaXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpfeyt9XCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxaXntcXFxcZ3R9XCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxaXntcXFxcZ3QwfVwiLCBwYXJzZTogXCJQb3NpdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcTl4rXCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxOXnsrfVwiLCBwYXJzZTogXCJQb3NpdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcTl4qXCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxOXnsqfVwiLCBwYXJzZTogXCJQb3NpdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcTl5cXFxcc3RhclwiLCBwYXJzZTogXCJQb3NpdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcTl57XFxcXHN0YXJ9XCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxOXzFcIiwgcGFyc2U6IFwiUG9zaXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXE5fezF9XCIsIHBhcnNlOiBcIlBvc2l0aXZlSW50ZWdlclwiIH0sXG4gIC8vIGh0dHBzOi8vbWF0aHZhdWx0LmNhL2h1Yi9oaWdoZXItbWF0aC9tYXRoLXN5bWJvbHMvYWxnZWJyYS1zeW1ib2xzL1xuICAvLyBJbnRlZ2VycyA+PSAgMFxuICB7IG5hbWU6IFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCIsIGxhdGV4VHJpZ2dlcjogW1wiXFxcXE5cIl0gfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpeeyswfVwiLCBwYXJzZTogXCJOb25OZWdhdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcWl57XFxcXGdlcX1cIiwgcGFyc2U6IFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXFpee1xcXFxnZXEwfVwiLCBwYXJzZTogXCJOb25OZWdhdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcWl57MCt9XCIsIHBhcnNlOiBcIk5vbk5lZ2F0aXZlSW50ZWdlclwiIH0sXG4gIHsgbGF0ZXhUcmlnZ2VyOiBcIlxcXFxtYXRoYmJ7Tn1cIiwgcGFyc2U6IFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgeyBsYXRleFRyaWdnZXI6IFwiXFxcXE5fMFwiLCBwYXJzZTogXCJOb25OZWdhdGl2ZUludGVnZXJcIiB9LFxuICB7IGxhdGV4VHJpZ2dlcjogXCJcXFxcTl97MH1cIiwgcGFyc2U6IFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgLy9cbiAgLy8gU2V0IEV4cHJlc3Npb25zXG4gIC8vXG4gIC8vIEB0b2RvOiBjb3VsZCBhbHNvIGhhdmUgYSBgQ2FydGVzaWFuUG93ZXJgIGZ1bmN0aW9uIHdpdGggYSBudW1iZXIgYHJoc2BcbiAge1xuICAgIG5hbWU6IFwiQ2FydGVzaWFuUHJvZHVjdFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHRpbWVzXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgLy8gQ2F1dGlvbjogY2FydGVzaWFuIHByb2R1Y3QgaXMgbm90IGFzc29jaWF0aXZlXG4gICAgcHJlY2VkZW5jZTogMzkwLFxuICAgIC8vIFNhbWUgYXMgTXVsdGlwbHk/XG4gICAgcGFyc2U6IChwYXJzZXIsIGxocywgdW50aWwpID0+IHtcbiAgICAgIGlmICgzOTAgPCB1bnRpbC5taW5QcmVjKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IGNlID0gcGFyc2VyLmNvbXB1dGVFbmdpbmU7XG4gICAgICBpZiAoIWNlIHx8ICFjZS5ib3gobGhzKS5kb21haW4uaXNDb21wYXRpYmxlKFwiU2V0XCIpKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IGluZGV4ID0gcGFyc2VyLmluZGV4O1xuICAgICAgY29uc3QgcmhzID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7IC4uLnVudGlsLCBtaW5QcmVjOiAzOTAgfSk7XG4gICAgICBpZiAocmhzID09PSBudWxsIHx8IGNlLmJveChsaHMpLmRvbWFpbi5pc0NvbXBhdGlibGUoXCJTZXRcIikgIT09IHRydWUpIHtcbiAgICAgICAgcGFyc2VyLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtcIkNhcnRlc2lhblByb2R1Y3RcIiwgbGhzLCByaHNdO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlxcXFxjb21wbGVtZW50XCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiLFxuICAgIHBhcnNlOiAoX3BhcnNlciwgbGhzKSA9PiB7XG4gICAgICByZXR1cm4gW1wiQ29tcGxlbWVudFwiLCBsaHNdO1xuICAgIH1cbiAgICAvLyBwcmVjZWRlbmNlOiAyNDAsXG4gICAgLy8gQHRvZG86IHNlcmlhbGl6ZSBmb3IgdGhlIG11bHRpcGxlIGFyZ3VtZW50IGNhc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQ29tcGxlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIjx7PlwiLCBcIlxcXFxjb21wbGVtZW50XCIsIFwiPH0+XCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiXG4gICAgLy8gcHJlY2VkZW5jZTogMjQwLFxuICAgIC8vIEB0b2RvOiBzZXJpYWxpemUgZm9yIHRoZSBtdWx0aXBsZSBhcmd1bWVudCBjYXNlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkludGVyc2VjdGlvblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGNhcFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgcHJlY2VkZW5jZTogMzUwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkludGVydmFsXCIsXG4gICAgLy8gQHRvZG86IHBhcnNlIG9wZW5pbmcgJ1snIG9yICddJyBvciAnKCdcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZVNldFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJNdWx0aXBsZVwiLFxuICAgIC8vIEB0b2RvOiBwYXJzZVxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplU2V0XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlVuaW9uXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcY3VwXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAzNTBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiUmFuZ2VcIixcbiAgICAvLyBAdG9kbzogcGFyc2Ugb3BlbmluZyAnWycgb3IgJ10nIG9yICcoJ1xuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplU2V0XG4gIH0sXG4gIC8vIHtcbiAgLy8gICBuYW1lOiAnU2V0JyxcbiAgLy8gICBraW5kOiAnbWF0Y2hmaXgnLFxuICAvLyAgIG9wZW5EZWxpbWl0ZXI6ICd7JyxcbiAgLy8gICBjbG9zZURlbGltaXRlcjogJ30nLFxuICAvLyAgIHByZWNlZGVuY2U6IDIwLFxuICAvLyAgIC8vIEB0b2RvOiB0aGUgc2V0IHN5bnRheCBjYW4gYWxzbyBpbmNsdWRlIGNvbmRpdGlvbnMuLi5cbiAgLy8gfSxcbiAge1xuICAgIG5hbWU6IFwiU2V0TWludXNcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzZXRtaW51c1wiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgcHJlY2VkZW5jZTogNjUwXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN5bW1ldHJpY0RpZmZlcmVuY2VcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx0cmlhbmdsZVwiXSxcbiAgICAvLyBvciBcXFxcb21pbnVzXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIC8vIEB0b2RvOiBwYXJzZXIgY291bGQgY2hlY2sgdGhhdCBsaHMgYW5kIHJocyBhcmUgc2V0c1xuICAgIHByZWNlZGVuY2U6IDI2MFxuICB9LFxuICAvLyBQcmVkaWNhdGVzL1JlbGF0aW9uc1xuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbmlcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAxNjAsXG4gICAgLy8gQXMgcGVyIE1hdGhNTCwgbG93ZXIgcHJlY2VkZW5jZVxuICAgIHBhcnNlOiAocGFyc2VyLCBsaHMsIHRlcm1pbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHJocyA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24odGVybWluYXRvcik7XG4gICAgICByZXR1cm4gcmhzID09PSBudWxsID8gbnVsbCA6IFtcIkVsZW1lbnRcIiwgcmhzLCBsaHNdO1xuICAgIH1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiRWxlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGluXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAyNDBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90RWxlbWVudFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5vdGluXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBwcmVjZWRlbmNlOiAyNDBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90U3Vic2V0XCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcbnN1YnNldFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJOb3RTdXBlcnNldFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5zdXBzZXRcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNDBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90U3Vic2V0Tm90RXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxuc3Vic2V0ZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIGFzc29jaWF0aXZpdHk6IFwicmlnaHRcIixcbiAgICBwcmVjZWRlbmNlOiAyNDBcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTm90U3VwZXJzZXROb3RFcXVhbFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG5zdXBzZXRlcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTcXVhcmVTdWJzZXRcIixcbiAgICAvLyBNYXRoTUw6IHNxdWFyZSBpbWFnZSBvZlxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHNxc3Vic2V0XCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjY1XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlNxdWFyZVN1YnNldEVxdWFsXCIsXG4gICAgLy8gTWF0aE1MOiBzcXVhcmUgaW1hZ2Ugb2Ygb3IgZXF1YWwgdG9cbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzcXN1YnNldGVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjY1XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlNxdWFyZVN1cGVyc2V0XCIsXG4gICAgLy8gTWF0aE1MOiBzcXVhcmUgb3JpZ2luYWwgb2ZcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzcXN1cHNldFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI2NVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTcXVhcmVTdXBlcnNldEVxdWFsXCIsXG4gICAgLy8gTWF0aE1MOiBzcXVhcmUgb3JpZ2luYWwgb2Ygb3IgZXF1YWxcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzcXN1cHNldGVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjY1XG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN1YnNldFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHN1YnNldFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3Vic2V0bmVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQwLFxuICAgIHBhcnNlOiBcIlN1YnNldFwiXG4gIH0sXG4gIHtcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFx2YXJzdWJzZXRuZXFxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQwLFxuICAgIHBhcnNlOiBcIlN1YnNldFwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN1YnNldEVxdWFsXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3Vic2V0ZXFcIl0sXG4gICAga2luZDogXCJpbmZpeFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJTdXBlcnNldFwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHN1cHNldFwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9LFxuICB7XG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcc3Vwc2V0bmVxXCJdLFxuICAgIGtpbmQ6IFwiaW5maXhcIixcbiAgICBhc3NvY2lhdGl2aXR5OiBcInJpZ2h0XCIsXG4gICAgcHJlY2VkZW5jZTogMjQwLFxuICAgIHBhcnNlOiBcIlN1cGVyc2V0XCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXHZhcnN1cHNldG5lcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MCxcbiAgICBwYXJzZTogXCJTdXBlcnNldFwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN1cGVyc2V0RXF1YWxcIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxzdXBzZXRlcVwiXSxcbiAgICBraW5kOiBcImluZml4XCIsXG4gICAgYXNzb2NpYXRpdml0eTogXCJyaWdodFwiLFxuICAgIHByZWNlZGVuY2U6IDI0MFxuICB9XG5dO1xuZnVuY3Rpb24gc2VyaWFsaXplU2V0KHNlcmlhbGl6ZXIsIGV4cHIpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIFwiXCI7XG4gIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICBpZiAoaCA9PT0gbnVsbClcbiAgICByZXR1cm4gXCJcIjtcbiAgaWYgKGggPT09IFwiU2V0XCIpIHtcbiAgICBpZiAobm9wcyhleHByKSA9PT0gMClcbiAgICAgIHJldHVybiBcIlxcXFxlbXB0eXNldFwiO1xuICAgIGlmIChub3BzKGV4cHIpID09PSAyICYmIGhlYWQob3AoZXhwciwgMikpID09PSBcIkNvbmRpdGlvblwiKSB7XG4gICAgICByZXR1cm4gam9pbkxhdGV4KFtcbiAgICAgICAgXCJcXFxcbGVmdFxcXFxsYnJhY2VcIixcbiAgICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpLFxuICAgICAgICBcIlxcXFxtaWRkbGVcXFxcbWlkXCIsXG4gICAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDIpKSxcbiAgICAgICAgXCJcXFxccmlnaHRcXFxccmJyYWNlXCJcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gam9pbkxhdGV4KFtcbiAgICAgIFwiXFxcXGxlZnRcXFxcbGJyYWNlXCIsXG4gICAgICAuLi4ob3BzKGV4cHIpID8/IFtdKS5tYXAoKHgpID0+IHNlcmlhbGl6ZXIuc2VyaWFsaXplKHgpICsgXCIgLFwiKSxcbiAgICAgIFwiXFxcXHJpZ2h0XFxcXHJicmFjZVwiXG4gICAgXSk7XG4gIH1cbiAgaWYgKGggPT09IFwiTXVsdGlwbGVcIikge1xuICB9XG4gIGlmIChoID09PSBcIlJhbmdlXCIpIHtcbiAgICByZXR1cm4gam9pbkxhdGV4KFtcbiAgICAgIFwiXFxcXG1hdGhvcGVuXFxcXGxicmFja1wiLFxuICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpLFxuICAgICAgXCIsIFwiLFxuICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMikpLFxuICAgICAgXCJcXFxcbWF0aGNsb3NlXFxcXHJicmFja1wiXG4gICAgXSk7XG4gIH1cbiAgaWYgKGggPT09IFwiSW50ZXJ2YWxcIikge1xuICAgIGxldCBvcDEyID0gb3AoZXhwciwgMSk7XG4gICAgbGV0IG9wMjIgPSBvcChleHByLCAyKTtcbiAgICBsZXQgb3BlbkxlZnQgPSBmYWxzZTtcbiAgICBsZXQgb3BlblJpZ2h0ID0gZmFsc2U7XG4gICAgaWYgKGhlYWQob3AxMikgPT09IFwiT3BlblwiKSB7XG4gICAgICBvcDEyID0gb3Aob3AxMiwgMSk7XG4gICAgICBvcGVuTGVmdCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChoZWFkKG9wMjIpID09PSBcIk9wZW5cIikge1xuICAgICAgb3AyMiA9IG9wKG9wMjIsIDEpO1xuICAgICAgb3BlblJpZ2h0ID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGpvaW5MYXRleChbXG4gICAgICBgXFxcXG1hdGhvcGVuJHtvcGVuTGVmdCA/IFwiXFxcXHJicmFja1wiIDogXCJcXFxcbGJyYWNrXCJ9YCxcbiAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wMTIpLFxuICAgICAgXCIsIFwiLFxuICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUob3AyMiksXG4gICAgICBgXFxcXG1hdGhjbG9zZSR7b3BlblJpZ2h0ID8gXCJcXFxcbGJyYWNrXCIgOiBcIlxcXFxyYnJhY2tcIn1gXG4gICAgXSk7XG4gIH1cbiAgY29uc3Qgc3R5bGUgPSBzZXJpYWxpemVyLm51bWVyaWNTZXRTdHlsZShleHByLCBzZXJpYWxpemVyLmxldmVsKTtcbiAgaWYgKHN0eWxlID09PSBcImNvbXBhY3RcIikge1xuICB9IGVsc2UgaWYgKHN0eWxlID09PSBcImludGVydmFsXCIpIHtcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gXCJyZWd1bGFyXCIpIHtcbiAgfSBlbHNlIGlmIChzdHlsZSA9PT0gXCJzZXQtYnVpbGRlclwiKSB7XG4gIH1cbiAgcmV0dXJuIFwiXCI7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1jYWxjdWx1cy50c1xuZnVuY3Rpb24gcGFyc2VJbnRlZ3JhbChjb21tYW5kLCBuID0gMSkge1xuICByZXR1cm4gKHBhcnNlcikgPT4ge1xuICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICBsZXQgc3VwID0gbnVsbDtcbiAgICBsZXQgc3ViMiA9IG51bGw7XG4gICAgd2hpbGUgKCEoc3ViMiAhPT0gbnVsbCAmJiBzdXAgIT09IG51bGwpICYmIChwYXJzZXIucGVlayA9PT0gXCJfXCIgfHwgcGFyc2VyLnBlZWsgPT09IFwiXlwiKSkge1xuICAgICAgaWYgKHBhcnNlci5tYXRjaChcIl9cIikpXG4gICAgICAgIHN1YjIgPSBwYXJzZXIucGFyc2VHcm91cCgpID8/IHBhcnNlci5wYXJzZVRva2VuKCk7XG4gICAgICBlbHNlIGlmIChwYXJzZXIubWF0Y2goXCJeXCIpKSB7XG4gICAgICAgIHN1cCA9IHBhcnNlci5wYXJzZUdyb3VwKCkgPz8gcGFyc2VyLnBhcnNlVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHBhcnNlci5za2lwU3BhY2UoKTtcbiAgICB9XG4gICAgaWYgKHN1YjIgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShzdWIyKSlcbiAgICAgIHN1YjIgPSBudWxsO1xuICAgIGlmIChzdXAgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShzdXApKVxuICAgICAgc3VwID0gbnVsbDtcbiAgICBsZXQgW2ZuLCBpbmRleF0gPSBwYXJzZUludGVncmFsQm9keShwYXJzZXIsIG4pO1xuICAgIGlmIChmbiAmJiAhaW5kZXgpIHtcbiAgICAgIGlmIChoZWFkKGZuKSA9PT0gXCJBZGRcIiB8fCBoZWFkKGZuKSA9PT0gXCJTdWJ0cmFjdFwiKSB7XG4gICAgICAgIGNvbnN0IG5ld09wID0gW107XG4gICAgICAgIGNvbnN0IHJlc3QgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvcDMgb2Ygb3BzKGZuKSA/PyBbXSkge1xuICAgICAgICAgIGlmIChpbmRleClcbiAgICAgICAgICAgIHJlc3QucHVzaChvcDMpO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IG9wMjI7XG4gICAgICAgICAgICBbb3AyMiwgaW5kZXhdID0gcGFyc2VJbnRlZ3JhbEJvZHlFeHByZXNzaW9uKG9wMyk7XG4gICAgICAgICAgICBuZXdPcC5wdXNoKG9wMjIgPz8gb3AzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ICE9PSBudWxsICYmIHJlc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBcIkFkZFwiLFxuICAgICAgICAgICAgbWFrZUludGVncmFsKFxuICAgICAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgICAgIGNvbW1hbmQsXG4gICAgICAgICAgICAgIFtcIkFkZFwiLCAuLi5uZXdPcF0sXG4gICAgICAgICAgICAgIFt7IGluZGV4LCBzdWI6IHN1YjIsIHN1cCB9XVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGhlYWQoZm4pID09PSBcIkRpdmlkZVwiKSB7XG4gICAgICAgIGxldCBhbHROdW1lcmF0b3I7XG4gICAgICAgIFthbHROdW1lcmF0b3IsIGluZGV4XSA9IHBhcnNlSW50ZWdyYWxCb2R5RXhwcmVzc2lvbihvcChmbiwgMSkpO1xuICAgICAgICBpZiAoYWx0TnVtZXJhdG9yICE9PSBudWxsICYmIGluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgZm4gPSBbXCJEaXZpZGVcIiwgYWx0TnVtZXJhdG9yLCBvcChmbiwgMildO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYWtlSW50ZWdyYWwocGFyc2VyLCBjb21tYW5kLCBmbiwgW3sgaW5kZXgsIHN1Yjogc3ViMiwgc3VwIH1dKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG1ha2VJbnRlZ3JhbChwYXJzZXIsIGNvbW1hbmQsIGZuLCByYW5nZXMpIHtcbiAgaWYgKGZuICYmIHJhbmdlcy5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIFtjb21tYW5kLCBmbl07XG4gIGZuID8/IChmbiA9IFwiTm90aGluZ1wiKTtcbiAgaWYgKHBhcnNlci5jb21wdXRlRW5naW5lKSB7XG4gICAgY29uc3QgY2UgPSBwYXJzZXIuY29tcHV0ZUVuZ2luZTtcbiAgICBsZXQgaGFzSW5kZXggPSBmYWxzZTtcbiAgICBjb25zdCBpZFRhYmxlID0ge307XG4gICAgZm9yIChjb25zdCByIG9mIHJhbmdlcylcbiAgICAgIGlmIChyLmluZGV4KSB7XG4gICAgICAgIGhhc0luZGV4ID0gdHJ1ZTtcbiAgICAgICAgaWRUYWJsZVtyLmluZGV4XSA9IHsgZG9tYWluOiBcIkV4dGVuZGVkUmVhbE51bWJlclwiIH07XG4gICAgICB9XG4gICAgaWYgKGhhc0luZGV4KVxuICAgICAgY2UucHVzaFNjb3BlKGlkVGFibGUpO1xuICAgIGZuID0gY2UuYm94KGZuKS5qc29uO1xuICAgIGlmIChoYXNJbmRleClcbiAgICAgIGNlLnBvcFNjb3BlKCk7XG4gIH1cbiAgcmV0dXJuIFtjb21tYW5kLCBmbiwgLi4ucmFuZ2VzLm1hcCgocikgPT4gbWFrZVJhbmdlKHIpKV07XG59XG5mdW5jdGlvbiBtYWtlUmFuZ2UocmFuZ2UpIHtcbiAgY29uc3QgaGVsZEluZGV4ID0gcmFuZ2UuaW5kZXggPyBbXCJIb2xkXCIsIHJhbmdlLmluZGV4XSA6IFwiTm90aGluZ1wiO1xuICBpZiAocmFuZ2Uuc3VwICE9PSBudWxsKVxuICAgIHJldHVybiBbXCJUdXBsZVwiLCBoZWxkSW5kZXgsIHJhbmdlLnN1YiA/PyBcIk5vdGhpbmdcIiwgcmFuZ2Uuc3VwXTtcbiAgaWYgKHJhbmdlLnN1YiAhPT0gbnVsbClcbiAgICByZXR1cm4gW1wiVHVwbGVcIiwgaGVsZEluZGV4LCByYW5nZS5zdWJdO1xuICByZXR1cm4gaGVsZEluZGV4O1xufVxuZnVuY3Rpb24gcGFyc2VJbnRlZ3JhbEJvZHkocGFyc2VyLCBuID0gMSkge1xuICBjb25zdCBzdGFydCA9IHBhcnNlci5pbmRleDtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG4gIGxldCBmbiA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oe1xuICAgIG1pblByZWM6IDI2NixcbiAgICBjb25kaXRpb246ICgpID0+IHtcbiAgICAgIGlmIChwYXJzZXIubWF0Y2hBbGwoW1wiXFxcXG1hdGhybVwiLCBcIjx7PlwiLCBcImRcIiwgXCI8fT5cIl0pKVxuICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICBlbHNlIGlmIChwYXJzZXIubWF0Y2hBbGwoW1wiXFxcXG9wZXJhdG9ybmFtZVwiLCBcIjx7PlwiLCBcImRcIiwgXCI8fT5cIl0pKVxuICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuICB9KTtcbiAgaWYgKCFmb3VuZCkge1xuICAgIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICAgIGZuID0gcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7XG4gICAgICBtaW5QcmVjOiAyNjYsXG4gICAgICBjb25kaXRpb246ICgpID0+IHtcbiAgICAgICAgaWYgKHBhcnNlci5tYXRjaChcImRcIikpXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgaWYgKGZuICYmICFmb3VuZClcbiAgICByZXR1cm4gcGFyc2VJbnRlZ3JhbEJvZHlFeHByZXNzaW9uKGZuKTtcbiAgY29uc3QgaW5kZXhlcyA9IHBhcnNlSW5kZXhlcyhwYXJzZXIsIG4pO1xuICByZXR1cm4gW2ZuLCBpbmRleGVzWzBdID8/IG51bGxdO1xufVxuZnVuY3Rpb24gcGFyc2VJbmRleGVzKHBhcnNlciwgbiA9IDEpIHtcbiAgcGFyc2VyLnNraXBTcGFjZSgpO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgY29uc3QgaW5kZXggPSBzeW1ib2wocGFyc2VyLnBhcnNlU3ltYm9sKCkpO1xuICBpZiAoaW5kZXggPT09IG51bGwpXG4gICAgcmV0dXJuIFtdO1xuICByZXN1bHQucHVzaChpbmRleCk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBwYXJzZUludGVncmFsQm9keUV4cHJlc3Npb24oZXhwcikge1xuICBjb25zdCBoID0gaGVhZChleHByKTtcbiAgY29uc3Qgb3AxMiA9IG9wKGV4cHIsIDEpO1xuICBpZiAoIW9wMTIpXG4gICAgcmV0dXJuIFtleHByLCBudWxsXTtcbiAgaWYgKGggPT09IFwiTXVsdGlwbHlcIikge1xuICAgIGNvbnN0IGFyZ3MgPSBvcHMoZXhwcik7XG4gICAgaWYgKGFyZ3MgJiYgYXJncy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBzeW0gPSBzeW1ib2woYXJnc1thcmdzLmxlbmd0aCAtIDJdKTtcbiAgICAgIGlmIChzeW0gPT09IFwiZFwiIHx8IHN5bSA9PT0gXCJkX3VwcmlnaHRcIikge1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpXG4gICAgICAgICAgcmV0dXJuIFtudWxsLCBzeW1ib2woYXJnc1sxXSldO1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDMpXG4gICAgICAgICAgcmV0dXJuIFthcmdzWzBdLCBzeW1ib2woYXJnc1syXSldO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIFtcIk11bHRpcGx5XCIsIC4uLmFyZ3Muc2xpY2UoMCwgLTIpXSxcbiAgICAgICAgICBzeW1ib2woYXJnc1thcmdzLmxlbmd0aCAtIDFdKVxuICAgICAgICBdO1xuICAgICAgfVxuICAgICAgY29uc3QgW2ZuMiwgaW5kZXhdID0gcGFyc2VJbnRlZ3JhbEJvZHlFeHByZXNzaW9uKGFyZ3NbYXJncy5sZW5ndGggLSAxXSk7XG4gICAgICBpZiAoZm4yKVxuICAgICAgICByZXR1cm4gW1tcIk11bHRpcGx5XCIsIC4uLmFyZ3Muc2xpY2UoMCwgLTEpLCBmbjJdLCBpbmRleF07XG4gICAgfVxuICB9IGVsc2UgaWYgKGggPT09IFwiRGVsaW1pdGVyXCIpIHtcbiAgICBjb25zdCBbZm4yLCBpbmRleF0gPSBwYXJzZUludGVncmFsQm9keUV4cHJlc3Npb24ob3AxMik7XG4gICAgaWYgKGluZGV4KSB7XG4gICAgICBpZiAoIWZuMilcbiAgICAgICAgcmV0dXJuIFtudWxsLCBpbmRleF07XG4gICAgICByZXR1cm4gW1tcIkRlbGltaXRlclwiLCBmbjIsIC4uLm9wcyhleHByKS5zbGljZSgxKV0sIGluZGV4XTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaCA9PT0gXCJBZGRcIikge1xuICAgIGNvbnN0IGFyZ3MgPSBvcHMoZXhwcik7XG4gICAgaWYgKGFyZ3MgJiYgYXJncy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBbZm4yLCBpbmRleF0gPSBwYXJzZUludGVncmFsQm9keUV4cHJlc3Npb24oYXJnc1thcmdzLmxlbmd0aCAtIDFdKTtcbiAgICAgIGlmIChpbmRleCkge1xuICAgICAgICBpZiAoZm4yKVxuICAgICAgICAgIHJldHVybiBbW1wiQWRkXCIsIC4uLmFyZ3Muc2xpY2UoMCwgLTEpLCBmbjJdLCBpbmRleF07XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA+IDIpXG4gICAgICAgICAgcmV0dXJuIFtbXCJBZGRcIiwgLi4uYXJncy5zbGljZSgwLCAtMSldLCBpbmRleF07XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA+IDIpXG4gICAgICAgICAgcmV0dXJuIFthcmdzWzBdLCBpbmRleF07XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKGggPT09IFwiTmVnYXRlXCIpIHtcbiAgICBjb25zdCBbZm4yLCBpbmRleF0gPSBwYXJzZUludGVncmFsQm9keUV4cHJlc3Npb24ob3AxMik7XG4gICAgaWYgKGluZGV4KVxuICAgICAgcmV0dXJuIFtmbjIgPyBbXCJOZWdhdGVcIiwgZm4yXSA6IG51bGwsIGluZGV4XTtcbiAgfSBlbHNlIGlmIChoID09PSBcIkRpdmlkZVwiKSB7XG4gICAgY29uc3QgW2ZuMiwgaW5kZXhdID0gcGFyc2VJbnRlZ3JhbEJvZHlFeHByZXNzaW9uKG9wMTIpO1xuICAgIGlmIChpbmRleClcbiAgICAgIHJldHVybiBbW1wiRGl2aWRlXCIsIGZuMiA/PyAxLCBvcChleHByLCAyKV0sIGluZGV4XTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhcmdzID0gb3BzKGV4cHIpO1xuICAgIGlmIChhcmdzPy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IFthcmcyLCBpbmRleF0gPSBwYXJzZUludGVncmFsQm9keUV4cHJlc3Npb24oYXJnc1swXSk7XG4gICAgICBpZiAoaW5kZXgpXG4gICAgICAgIHJldHVybiBbW2hlYWQoZXhwciksIGFyZzJdLCBpbmRleF07XG4gICAgfVxuICB9XG4gIHJldHVybiBbZXhwciwgbnVsbF07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVJbnRlZ3JhbChjb21tYW5kKSB7XG4gIHJldHVybiAoc2VyaWFsaXplciwgZXhwcikgPT4ge1xuICAgIGlmICghb3AoZXhwciwgMSkpXG4gICAgICByZXR1cm4gY29tbWFuZDtcbiAgICBsZXQgYXJnID0gb3AoZXhwciwgMik7XG4gICAgY29uc3QgaCA9IGhlYWQoYXJnKTtcbiAgICBsZXQgaW5kZXhFeHByID0gbnVsbDtcbiAgICBpZiAoaCA9PT0gXCJUdXBsZVwiIHx8IGggPT09IFwiVHJpcGxlXCIgfHwgaCA9PT0gXCJQYWlyXCIgfHwgaCA9PT0gXCJTaW5nbGVcIikge1xuICAgICAgaW5kZXhFeHByID0gb3AoYXJnLCAxKTtcbiAgICB9IGVsc2UgaWYgKGggPT09IFwiSG9sZFwiKSB7XG4gICAgICBpbmRleEV4cHIgPSBvcChhcmcsIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleEV4cHIgPSBvcChhcmcsIDEpID8/IFwieFwiO1xuICAgICAgYXJnID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGhlYWQoaW5kZXhFeHByKSA9PT0gXCJIb2xkXCIpXG4gICAgICBpbmRleEV4cHIgPSBvcChpbmRleEV4cHIsIDEpO1xuICAgIGNvbnN0IGluZGV4ID0gaW5kZXhFeHByICE9PSBudWxsID8gc3ltYm9sKGluZGV4RXhwcikgOiBudWxsO1xuICAgIGxldCBmbiA9IG9wKGV4cHIsIDEpO1xuICAgIGlmIChoZWFkKGZuKSA9PT0gXCJMYW1iZGFcIiAmJiBvcChmbiwgMSkpXG4gICAgICBmbiA9IHN1YnMob3AoZm4sIDEpLCB7IF86IGluZGV4ID8/IFwieFwiLCBfMTogaW5kZXggPz8gXCJ4XCIgfSk7XG4gICAgaWYgKCFhcmcpIHtcbiAgICAgIGlmICghaW5kZXggfHwgaW5kZXggPT09IFwiTm90aGluZ1wiKVxuICAgICAgICByZXR1cm4gam9pbkxhdGV4KFtjb21tYW5kLCBcIlxcXFwhXCIsIHNlcmlhbGl6ZXIuc2VyaWFsaXplKGZuKV0pO1xuICAgICAgcmV0dXJuIGpvaW5MYXRleChbXG4gICAgICAgIGNvbW1hbmQsXG4gICAgICAgIFwiXFxcXCFcIixcbiAgICAgICAgc2VyaWFsaXplci5zZXJpYWxpemUoZm4pLFxuICAgICAgICBcIlxcXFwsXFxcXG9wZXJhdG9ybmFtZXtkfVwiLFxuICAgICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShpbmRleClcbiAgICAgIF0pO1xuICAgIH1cbiAgICBjb25zdCBzdWJTeW1ib2wgPSBvcChhcmcsIDIpID8gc3ltYm9sKG9wKGFyZywgMikpIDogbnVsbDtcbiAgICBsZXQgc3ViMiA9IGFyZyAmJiBzdWJTeW1ib2wgIT09IFwiTm90aGluZ1wiID8gc2VyaWFsaXplci5zZXJpYWxpemUob3AoYXJnLCAyKSkgOiBcIlwiO1xuICAgIGlmIChzdWIyLmxlbmd0aCA+IDApXG4gICAgICBzdWIyID0gYF97JHtzdWIyfX1gO1xuICAgIGxldCBzdXAgPSBcIlwiO1xuICAgIGNvbnN0IHN1cFN5bWJvbCA9IG9wKGFyZywgMykgPyBzeW1ib2wob3AoYXJnLCAzKSkgOiBudWxsO1xuICAgIGlmIChvcChhcmcsIDMpICYmIHN1cFN5bWJvbCAhPT0gXCJOb3RoaW5nXCIpXG4gICAgICBzdXAgPSBgXnske3NlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGFyZywgMykpfX1gO1xuICAgIHJldHVybiBqb2luTGF0ZXgoW1xuICAgICAgY29tbWFuZCxcbiAgICAgIHN1cCxcbiAgICAgIHN1YjIsXG4gICAgICBcIlxcXFwhXCIsXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShmbiksXG4gICAgICAuLi5pbmRleCAmJiBzeW1ib2woaW5kZXgpICE9PSBcIk5vdGhpbmdcIiA/IFtcIlxcXFwsXFxcXG9wZXJhdG9ybmFtZXtkfVwiLCBzZXJpYWxpemVyLnNlcmlhbGl6ZShpbmRleCldIDogW11cbiAgICBdKTtcbiAgfTtcbn1cbnZhciBERUZJTklUSU9OU19DQUxDVUxVUyA9IFtcbiAge1xuICAgIGtpbmQ6IFwiZXhwcmVzc2lvblwiLFxuICAgIG5hbWU6IFwiSW50ZWdyYXRlXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcaW50XCJdLFxuICAgIHBhcnNlOiBwYXJzZUludGVncmFsKFwiSW50ZWdyYXRlXCIpLFxuICAgIHNlcmlhbGl6ZTogc2VyaWFsaXplSW50ZWdyYWwoXCJcXFxcaW50XCIpXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImV4cHJlc3Npb25cIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxpaW50XCJdLFxuICAgIHBhcnNlOiBwYXJzZUludGVncmFsKFwiSW50ZWdyYXRlXCIsIDIpXG4gIH0sXG4gIHtcbiAgICBraW5kOiBcImV4cHJlc3Npb25cIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxpaWludFwiXSxcbiAgICBwYXJzZTogcGFyc2VJbnRlZ3JhbChcIkludGVncmF0ZVwiLCAzKVxuICB9LFxuICB7XG4gICAga2luZDogXCJleHByZXNzaW9uXCIsXG4gICAgbmFtZTogXCJDaXJjdWxhckludGVncmF0ZVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG9pbnRcIl0sXG4gICAgcGFyc2U6IHBhcnNlSW50ZWdyYWwoXCJDaXJjdWxhckludGVncmF0ZVwiKSxcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZUludGVncmFsKFwiXFxcXG9pbnRcIilcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwiZXhwcmVzc2lvblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG9paW50XCJdLFxuICAgIHBhcnNlOiBwYXJzZUludGVncmFsKFwiQ2lyY3VsYXJJbnRlZ3JhdGVcIiwgMilcbiAgfSxcbiAge1xuICAgIGtpbmQ6IFwiZXhwcmVzc2lvblwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXG9paWludFwiXSxcbiAgICBwYXJzZTogcGFyc2VJbnRlZ3JhbChcIkNpcmN1bGFySW50ZWdyYXRlXCIsIDMpXG4gIH1cbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1zeW1ib2xzLnRzXG52YXIgU1lNQk9MUyA9IFtcbiAgLy8gR3JlZWtcbiAgW1wiYWxwaGFcIiwgXCJcXFxcYWxwaGFcIiwgOTQ1XSxcbiAgW1wiYmV0YVwiLCBcIlxcXFxiZXRhXCIsIDk0Nl0sXG4gIFtcImdhbW1hXCIsIFwiXFxcXGdhbW1hXCIsIDk0N10sXG4gIFtcImRlbHRhXCIsIFwiXFxcXGRlbHRhXCIsIDk0OF0sXG4gIFtcImVwc2lsb25cIiwgXCJcXFxcZXBzaWxvblwiLCA5NDldLFxuICBbXCJlcHNpbG9uU3ltYm9sXCIsIFwiXFxcXHZhcmVwc2lsb25cIiwgMTAxM10sXG4gIC8vIEdSRUVLIExVTkFURSBFUFNJTE9OIFNZTUJPTFxuICBbXCJ6ZXRhXCIsIFwiXFxcXHpldGFcIiwgOTUwXSxcbiAgW1wiZXRhXCIsIFwiXFxcXGV0YVwiLCA5NTFdLFxuICBbXCJ0aGV0YVwiLCBcIlxcXFx0aGV0YVwiLCA5NTJdLFxuICBbXCJ0aGV0YVN5bWJvbFwiLCBcIlxcXFx2YXJ0aGV0YVwiLCA5NzddLFxuICAvLyBVbmljb2RlIEdSRUVLIFRIRVRBIFNZTUJPTFxuICBbXCJpb3RhXCIsIFwiXFxcXGlvdGFcIiwgOTUzXSxcbiAgW1wia2FwcGFcIiwgXCJcXFxca2FwcGFcIiwgOTU0XSxcbiAgW1wia2FwcGFTeW1ib2xcIiwgXCJcXFxcdmFya2FwcGFcIiwgMTAwOF0sXG4gIC8vIEdSRUVLIEtBUFBBIFNZTUJPTFxuICBbXCJsYW1iZGFcIiwgXCJcXFxcbGFtYmRhXCIsIDk1NV0sXG4gIFtcIm11XCIsIFwiXFxcXG11XCIsIDk1Nl0sXG4gIFtcIm51XCIsIFwiXFxcXG51XCIsIDk1N10sXG4gIFtcInhpXCIsIFwiXFxcXHhpXCIsIDk1OF0sXG4gIFtcIm9taWNyb25cIiwgXCJcXFxcb21pY3JvblwiLCA5NTldLFxuICBbXCJwaVwiLCBcIlxcXFxwaVwiLCA5NjBdLFxuICBbXCJwaVN5bWJvbFwiLCBcIlxcXFx2YXJwaVwiLCA5ODJdLFxuICAvLyBHUkVFSyBQSSBTWU1CT0xcbiAgW1wicmhvXCIsIFwiXFxcXHJob1wiLCA5NjFdLFxuICBbXCJyaG9TeW1ib2xcIiwgXCJcXFxcdmFycmhvXCIsIDEwMDldLFxuICAvLyBHUkVFSyBSSE8gU1lNQk9MXG4gIFtcInNpZ21hXCIsIFwiXFxcXHNpZ21hXCIsIDk2M10sXG4gIFtcImZpbmFsU2lnbWFcIiwgXCJcXFxcdmFyc2lnbWFcIiwgOTYyXSxcbiAgLy9HUkVFSyBTTUFMTCBMRVRURVIgRklOQUwgU0lHTUFcbiAgW1widGF1XCIsIFwiXFxcXHRhdVwiLCA5NjRdLFxuICBbXCJwaGlcIiwgXCJcXFxccGhpXCIsIDk4MV0sXG4gIC8vIE5vdGUgR1JFRUsgUEhJIFNZTUJPTCwgYnV0IGNvbW1vbiB1c2FnZSBpbiBtYXRoXG4gIFtcInBoaUxldHRlclwiLCBcIlxcXFx2YXJwaGlcIiwgOTY2XSxcbiAgW1widXBzaWxvblwiLCBcIlxcXFx1cHNpbG9uXCIsIDk2NV0sXG4gIFtcImNoaVwiLCBcIlxcXFxjaGlcIiwgOTY3XSxcbiAgW1wicHNpXCIsIFwiXFxcXHBzaVwiLCA5NjhdLFxuICBbXCJvbWVnYVwiLCBcIlxcXFxvbWVnYVwiLCA5NjldLFxuICBbXCJBbHBoYVwiLCBcIlxcXFxBbHBoYVwiLCA5MTNdLFxuICBbXCJCZXRhXCIsIFwiXFxcXEJldGFcIiwgOTE0XSxcbiAgW1wiR2FtbWFcIiwgXCJcXFxcR2FtbWFcIiwgOTE1XSxcbiAgW1wiRGVsdGFcIiwgXCJcXFxcRGVsdGFcIiwgOTE2XSxcbiAgW1wiRXBzaWxvblwiLCBcIlxcXFxFcHNpbG9uXCIsIDkxN10sXG4gIFtcIlpldGFcIiwgXCJcXFxcWmV0YVwiLCA5MThdLFxuICBbXCJFdGFcIiwgXCJcXFxcRXRhXCIsIDkxOV0sXG4gIFtcIlRoZXRhXCIsIFwiXFxcXFRoZXRhXCIsIDkyMF0sXG4gIFtcIklvdGFcIiwgXCJcXFxcSW90YVwiLCA5MjFdLFxuICBbXCJLYXBwYVwiLCBcIlxcXFxLYXBwYVwiLCA5MjJdLFxuICBbXCJMYW1iZGFcIiwgXCJcXFxcTGFtYmRhXCIsIDkyM10sXG4gIFtcIk11XCIsIFwiXFxcXE11XCIsIDkyNF0sXG4gIFtcIk51XCIsIFwiXFxcXE51XCIsIDkyNV0sXG4gIFtcIlhpXCIsIFwiXFxcXFhpXCIsIDkyNl0sXG4gIFtcIk9taWNyb25cIiwgXCJcXFxcT21pY3JvblwiLCA5MjddLFxuICAvLyBbJ1BpJywgJ1xcXFxQaScsIDB4MDNhMF0sXG4gIFtcIlJob1wiLCBcIlxcXFxSaG9cIiwgOTI5XSxcbiAgW1wiU2lnbWFcIiwgXCJcXFxcU2lnbWFcIiwgOTMxXSxcbiAgW1wiVGF1XCIsIFwiXFxcXFRhdVwiLCA5MzJdLFxuICBbXCJQaGlcIiwgXCJcXFxcUGhpXCIsIDkzNF0sXG4gIFtcIlVwc2lsb25cIiwgXCJcXFxcVXBzaWxvblwiLCA5MzNdLFxuICBbXCJDaGlcIiwgXCJcXFxcQ2hpXCIsIDkzNV0sXG4gIFtcIlBzaVwiLCBcIlxcXFxQc2lcIiwgOTM2XSxcbiAgW1wiT21lZ2FcIiwgXCJcXFxcT21lZ2FcIiwgOTM3XSxcbiAgW1wiZGlnYW1tYVwiLCBcIlxcXFxkaWdhbW1hXCIsIDk4OV0sXG4gIC8vIEhlYnJld1xuICBbXCJhbGVwaFwiLCBcIlxcXFxhbGVwaFwiLCA4NTAxXSxcbiAgLy8gVW5pY29kZSBBTEVGIFNZTUJPTFxuICBbXCJiZXRcIiwgXCJcXFxcYmV0aFwiLCA4NTAyXSxcbiAgW1wiZ2ltZWxcIiwgXCJcXFxcZ2ltZWxcIiwgODUwM10sXG4gIFtcImRhbGV0XCIsIFwiXFxcXGRhbGV0aFwiLCA4NTA0XSxcbiAgLy8gTGV0dGVyLWxpa2VcbiAgW1wiZWxsXCIsIFwiXFxcXGVsbFwiLCA4NDk5XSxcbiAgLy8gVW5pY29kZSBTQ1JJUFQgU01BTEwgTFxuICBbXCJ0dXJuZWRDYXBpdGFsRlwiLCBcIlxcXFxGaW52XCIsIDg0OThdLFxuICAvLyBVbmljb2RlIFRVUk5FRCBDQVBJVEFMIEYnXG4gIFtcInR1cm5lZENhcGl0YWxHXCIsIFwiXFxcXEdhbWVcIiwgODUxM10sXG4gIC8vIFRVUk5FRCBTQU5TLVNFUklGIENBUElUQUwgR1xuICBbXCJ3ZWllcnN0cmFzc1wiLCBcIlxcXFx3cFwiLCA4NDcyXSxcbiAgLy8gVW5pY29kZSBTQ1JJUFQgQ0FQSVRBTCBQXG4gIFtcImV0aFwiLCBcIlxcXFxldGhcIiwgMjQwXSxcbiAgW1wiaW52ZXJ0ZWRPaG1cIiwgXCJcXFxcbWhvXCIsIDg0ODddLFxuICAvLyBVbmljb2RlIElOVkVSVEVEIE9ITSBTSUdOXG4gIFtcImhCYXJcIiwgXCJcXFxcaGJhclwiLCAyOTVdLFxuICAvLyBVbmljb2RlIExBVElOIFNNQUxMIExFVFRFUiBIIFdJVEggU1RST0tFXG4gIFtcImhTbGFzaFwiLCBcIlxcXFxoc2xhc2hcIiwgODQ2M10sXG4gIC8vIFVuaWNvZGUgUExBTkNLIENPTlNUQU5UIE9WRVIgVFdPIFBJXG4gIC8vIFN5bWJvbHNcbiAgW1wiYmxhY2tDbHViU3VpdFwiLCBcIlxcXFxjbHVic3VpdFwiLCA5ODI3XSxcbiAgW1wid2hpdGVIZWFydFN1aXRcIiwgXCJcXFxcaGVhcnRzdWl0XCIsIDk4MjVdLFxuICBbXCJibGFja1NwYWRlU3VpdFwiLCBcIlxcXFxzcGFkZXN1aXRcIiwgOTgyNF0sXG4gIFtcIndoaXRlRGlhbW9uZFN1aXRcIiwgXCJcXFxcZGlhbW9uZHN1aXRcIiwgOTgyNl0sXG4gIFtcInNoYXJwXCIsIFwiXFxcXHNoYXJwXCIsIDk4MzldLFxuICBbXCJmbGF0XCIsIFwiXFxcXGZsYXRcIiwgOTgzN10sXG4gIFtcIm5hdHVyYWxcIiwgXCJcXFxcbmF0dXJhbFwiLCA5ODM4XVxuXTtcbnZhciBERUZJTklUSU9OU19TWU1CT0xTID0gW1xuICAuLi5TWU1CT0xTLm1hcCgoW3N5bWJvbDIsIGxhdGV4LCBfY29kZXBvaW50XSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBraW5kOiBcInN5bWJvbFwiLFxuICAgICAgbmFtZTogc3ltYm9sMixcbiAgICAgIGxhdGV4VHJpZ2dlcjogW2xhdGV4XSxcbiAgICAgIHBhcnNlOiBzeW1ib2wyXG4gICAgfTtcbiAgfSksXG4gIC4uLlNZTUJPTFMubWFwKChbc3ltYm9sMiwgX2xhdGV4LCBjb2RlcG9pbnRdKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQ6IFwic3ltYm9sXCIsXG4gICAgICBsYXRleFRyaWdnZXI6IFtTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlcG9pbnQpXSxcbiAgICAgIHBhcnNlOiBzeW1ib2wyXG4gICAgfTtcbiAgfSlcbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1jb21wbGV4LnRzXG52YXIgREVGSU5JVElPTlNfQ09NUExFWCA9IFtcbiAge1xuICAgIG5hbWU6IFwiUmVhbFwiLFxuICAgIGtpbmQ6IFwiZnVuY3Rpb25cIixcbiAgICBsYXRleFRyaWdnZXI6IFtcIlxcXFxSZVwiXVxuICB9LFxuICB7XG4gICAgbmFtZTogXCJJbWFnaW5hcnlcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcSW1cIl1cbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiQXJndW1lbnRcIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgbGF0ZXhUcmlnZ2VyOiBbXCJcXFxcYXJnXCJdXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIkNvbmp1Z2F0ZVwiLFxuICAgIGxhdGV4VHJpZ2dlcjogW1wiXlwiLCBcIlxcXFxzdGFyXCJdLFxuICAgIGtpbmQ6IFwicG9zdGZpeFwiXG4gIH1cbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvZGljdGlvbmFyeS9kZWZpbml0aW9ucy1zdGF0aXN0aWNzLnRzXG52YXIgREVGSU5JVElPTlNfU1RBVElTVElDUyA9IFtcbiAge1xuICAgIG5hbWU6IFwiTWVhblwiLFxuICAgIGtpbmQ6IFwiZnVuY3Rpb25cIixcbiAgICBpZGVudGlmaWVyVHJpZ2dlcjogXCJtZWFuXCJcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTWVkaWFuXCIsXG4gICAga2luZDogXCJmdW5jdGlvblwiLFxuICAgIGlkZW50aWZpZXJUcmlnZ2VyOiBcIm1lZGlhblwiXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcIlN0YW5kYXJEZXZpYXRpb25cIixcbiAgICBraW5kOiBcImZ1bmN0aW9uXCIsXG4gICAgaWRlbnRpZmllclRyaWdnZXI6IFwic3RkZGV2XCJcbiAgfSxcbiAge1xuICAgIGxhdGV4VHJpZ2dlcjogW1wiXFxcXGJhclwiXSxcbiAgICBraW5kOiBcImV4cHJlc3Npb25cIixcbiAgICBwYXJzZTogKHBhcnNlciwgX3VudGlsKSA9PiB7XG4gICAgICBjb25zdCBleHByID0gcGFyc2VyLnBhcnNlR3JvdXAoKSA/PyBwYXJzZXIucGFyc2VUb2tlbigpO1xuICAgICAgaWYgKCFleHByIHx8ICFzeW1ib2woZXhwcikpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIFtcIk1lYW5cIiwgZXhwcl07XG4gICAgfVxuICB9XG5dO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGF0ZXgtc3ludGF4L2RpY3Rpb25hcnkvZGVmaW5pdGlvbnMudHNcbnZhciBERUZBVUxUX0RFTElNSVRFUiA9IHtcbiAgXCIoXCI6IFwiKFwiLFxuICBcIilcIjogXCIpXCIsXG4gIFwiW1wiOiBcIlxcXFxsYnJhY2tcIixcbiAgXCJdXCI6IFwiXFxcXHJicmFja1wiLFxuICBcIntcIjogXCJcXFxcbGJyYWNlXCIsXG4gIFwifVwiOiBcIlxcXFxyYnJhY2VcIixcbiAgXCI8XCI6IFwiXFxcXGxhbmdsZVwiLFxuICBcIj5cIjogXCJcXFxccmFuZ2xlXCIsXG4gIFwifFwiOiBcIlxcXFx2ZXJ0XCIsXG4gIFwifHxcIjogXCJcXFxcVmVydFwiLFxuICBcIlxcXFxsY2VpbFwiOiBcIlxcXFxsY2VpbFwiLFxuICBcIlxcXFxsZmxvb3JcIjogXCJcXFxcbGZsb29yXCIsXG4gIFwiXFxcXHJjZWlsXCI6IFwiXFxcXHJjZWlsXCIsXG4gIFwiXFxcXHJmbG9vclwiOiBcIlxcXFxyZmxvb3JcIlxufTtcbmZ1bmN0aW9uIGFkZEVudHJ5KHJlc3VsdCwgZW50cnksIG9uRXJyb3IpIHtcbiAgY29uc3QgaW5kZXhlZEVudHJ5ID0gbWFrZUluZGV4ZWRFbnRyeShlbnRyeSwgb25FcnJvcik7XG4gIGlmIChpbmRleGVkRW50cnkgPT09IG51bGwpXG4gICAgcmV0dXJuO1xuICBjb25zdCBraW5kID0gXCJraW5kXCIgaW4gZW50cnkgPyBlbnRyeS5raW5kIDogXCJleHByZXNzaW9uXCI7XG4gIGNvbnN0IGxhdGV4VHJpZ2dlciA9IGluZGV4ZWRFbnRyeS5sYXRleFRyaWdnZXI7XG4gIGlmICh0eXBlb2YgbGF0ZXhUcmlnZ2VyID09PSBcInN0cmluZ1wiKVxuICAgIHJlc3VsdC5sb29rYWhlYWQgPSBNYXRoLm1heChyZXN1bHQubG9va2FoZWFkLCBjb3VudFRva2VucyhsYXRleFRyaWdnZXIpKTtcbiAgY29uc3QgdG9rZW5zVHJpZ2dlciA9IHRva2VuaXplKGxhdGV4VHJpZ2dlciA/PyBcIlwiLCBbXSk7XG4gIGlmIChsYXRleFRyaWdnZXI/LlsxXSA9PT0gXCJcXFxccHJpbWVcIilcbiAgICA7XG4gIGlmICh0b2tlbnNUcmlnZ2VyLmxlbmd0aCA9PT0gMiAmJiAvW19eXS8udGVzdCh0b2tlbnNUcmlnZ2VyWzBdKSAmJiB0b2tlbnNUcmlnZ2VyWzFdICE9PSBcIjx7PlwiICYmIGtpbmQgIT09IFwiZnVuY3Rpb25cIiAmJiBraW5kICE9PSBcImVudmlyb25tZW50XCIgJiYga2luZCAhPT0gXCJtYXRjaGZpeFwiKSB7XG4gICAgbGV0IHBhcnNlID0gZW50cnkucGFyc2U7XG4gICAgaWYgKCFwYXJzZSAmJiBlbnRyeS5uYW1lKSB7XG4gICAgICBpZiAoa2luZCA9PT0gXCJwb3N0Zml4XCIgfHwga2luZCA9PT0gXCJwcmVmaXhcIilcbiAgICAgICAgcGFyc2UgPSAoX3BhcnNlciwgZXhwcikgPT4gW2VudHJ5Lm5hbWUsIGV4cHJdO1xuICAgICAgZWxzZVxuICAgICAgICBwYXJzZSA9IGVudHJ5Lm5hbWU7XG4gICAgfVxuICAgIGFkZEVudHJ5KFxuICAgICAgcmVzdWx0LFxuICAgICAge1xuICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAga2luZCxcbiAgICAgICAgbmFtZTogdm9pZCAwLFxuICAgICAgICBzZXJpYWxpemU6IHZvaWQgMCxcbiAgICAgICAgcGFyc2UsXG4gICAgICAgIGxhdGV4VHJpZ2dlcjogW3Rva2Vuc1RyaWdnZXJbMF0sIFwiPHs+XCIsIHRva2Vuc1RyaWdnZXJbMV0sIFwiPH0+XCJdXG4gICAgICB9LFxuICAgICAgb25FcnJvclxuICAgICk7XG4gIH1cbiAgcmVzdWx0LmRlZnMucHVzaChpbmRleGVkRW50cnkpO1xuICBpZiAoaW5kZXhlZEVudHJ5Lm5hbWUgIT09IHZvaWQgMCkge1xuICAgIGlmIChyZXN1bHQuaWRzLmhhcyhpbmRleGVkRW50cnkubmFtZSkpIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIGluZGV4ZWRFbnRyeS5uYW1lLFxuICAgICAgICAgIFwiRHVwbGljYXRlIGRlZmluaXRpb24uIFRoZSBuYW1lIChNYXRoSlNPTiBpZGVudGlmaWVyKSBtdXN0IGJlIHVuaXF1ZSwgYnV0IHRyaWdnZXJzIGNhbiBiZSBzaGFyZWQgYnkgbXVsdGlwbGUgZGVmaW5pdGlvbnMuXCJcbiAgICAgICAgXVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJlc3VsdC5pZHMuc2V0KGluZGV4ZWRFbnRyeS5uYW1lLCBpbmRleGVkRW50cnkpO1xuICB9XG59XG5mdW5jdGlvbiBpbmRleExhdGV4RGljdGlvbmFyeShkaWMsIG9uRXJyb3IpIHtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGxvb2thaGVhZDogMSxcbiAgICBpZHM6IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCksXG4gICAgZGVmczogW11cbiAgfTtcbiAgZm9yIChjb25zdCBlbnRyeSBvZiBkaWMpXG4gICAgYWRkRW50cnkocmVzdWx0LCBlbnRyeSwgb25FcnJvcik7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBtYWtlSW5kZXhlZEVudHJ5KGVudHJ5LCBvbkVycm9yKSB7XG4gIGlmICghaXNWYWxpZEVudHJ5KGVudHJ5LCBvbkVycm9yKSlcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGtpbmQ6IFwia2luZFwiIGluIGVudHJ5ID8gZW50cnkua2luZCA6IFwiZXhwcmVzc2lvblwiXG4gIH07XG4gIGxldCB0b2tlbnNUcmlnZ2VyID0gbnVsbDtcbiAgaWYgKFwibGF0ZXhUcmlnZ2VyXCIgaW4gZW50cnkpIHtcbiAgICBpZiAodHlwZW9mIGVudHJ5LmxhdGV4VHJpZ2dlciA9PT0gXCJzdHJpbmdcIilcbiAgICAgIHRva2Vuc1RyaWdnZXIgPSB0b2tlbml6ZShlbnRyeS5sYXRleFRyaWdnZXIsIFtdKTtcbiAgICBlbHNlXG4gICAgICB0b2tlbnNUcmlnZ2VyID0gZW50cnkubGF0ZXhUcmlnZ2VyO1xuICB9XG4gIGxldCBpZFRyaWdnZXIgPSBudWxsO1xuICBpZiAoXCJpZGVudGlmaWVyVHJpZ2dlclwiIGluIGVudHJ5KSB7XG4gICAgaWRUcmlnZ2VyID0gZW50cnkuaWRlbnRpZmllclRyaWdnZXI7XG4gIH1cbiAgaWYgKHRva2Vuc1RyaWdnZXIgIT09IG51bGwpXG4gICAgcmVzdWx0LmxhdGV4VHJpZ2dlciA9IHRva2Vuc1RvU3RyaW5nKHRva2Vuc1RyaWdnZXIpO1xuICBpZiAoaWRUcmlnZ2VyICE9PSBudWxsKVxuICAgIHJlc3VsdC5pZGVudGlmaWVyVHJpZ2dlciA9IGlkVHJpZ2dlcjtcbiAgaWYgKGVudHJ5Lm5hbWUpIHtcbiAgICByZXN1bHQubmFtZSA9IGVudHJ5Lm5hbWU7XG4gICAgcmVzdWx0LnNlcmlhbGl6ZSA9IG1ha2VTZXJpYWxpemVIYW5kbGVyKGVudHJ5LCB0b2tlbnNUcmlnZ2VyLCBpZFRyaWdnZXIpO1xuICB9XG4gIGlmIChyZXN1bHQua2luZCA9PT0gXCJtYXRjaGZpeFwiICYmIGlzTWF0Y2hmaXhFbnRyeShlbnRyeSkpIHtcbiAgICByZXN1bHQub3BlbkRlbGltaXRlciA9IGVudHJ5Lm9wZW5UcmlnZ2VyO1xuICAgIHJlc3VsdC5jbG9zZURlbGltaXRlciA9IGVudHJ5LmNsb3NlVHJpZ2dlcjtcbiAgfVxuICBpZiAocmVzdWx0LmtpbmQgPT09IFwic3ltYm9sXCIgJiYgaXNTeW1ib2xFbnRyeShlbnRyeSkpIHtcbiAgICByZXN1bHQucHJlY2VkZW5jZSA9IGVudHJ5LnByZWNlZGVuY2UgPz8gMWU0O1xuICB9XG4gIGlmICgocmVzdWx0LmtpbmQgPT09IFwicHJlZml4XCIgfHwgcmVzdWx0LmtpbmQgPT09IFwicG9zdGZpeFwiKSAmJiAoaXNQcmVmaXhFbnRyeShlbnRyeSkgfHwgaXNQb3N0Zml4RW50cnkoZW50cnkpKSkge1xuICAgIGlmICh0b2tlbnNUcmlnZ2VyICYmICh0b2tlbnNUcmlnZ2VyWzBdID09PSBcIl5cIiB8fCB0b2tlbnNUcmlnZ2VyWzBdID09PSBcIl9cIikpIHtcbiAgICAgIHJlc3VsdC5wcmVjZWRlbmNlID0gNzIwO1xuICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KFxuICAgICAgICBlbnRyeS5wcmVjZWRlbmNlID09PSB2b2lkIDAsXG4gICAgICAgIFwiJ3ByZWNlZGVuY2UnIGlzIGZpeGVkIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgd2l0aCBeIGFuZCBfIHRyaWdnZXJzXCJcbiAgICAgICk7XG4gICAgfSBlbHNlXG4gICAgICByZXN1bHQucHJlY2VkZW5jZSA9IGVudHJ5LnByZWNlZGVuY2UgPz8gMWU0O1xuICB9XG4gIGlmIChyZXN1bHQua2luZCA9PT0gXCJpbmZpeFwiICYmIGlzSW5maXhFbnRyeShlbnRyeSkpIHtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgICAhdG9rZW5zVHJpZ2dlciB8fCB0b2tlbnNUcmlnZ2VyWzBdICE9PSBcIl5cIiAmJiB0b2tlbnNUcmlnZ2VyWzBdICE9PSBcIl9cIiB8fCAhZW50cnkuYXNzb2NpYXRpdml0eSB8fCBlbnRyeS5hc3NvY2lhdGl2aXR5ID09PSBcIm5vblwiXG4gICAgKTtcbiAgICByZXN1bHQuYXNzb2NpYXRpdml0eSA9IGVudHJ5LmFzc29jaWF0aXZpdHkgPz8gXCJub25cIjtcbiAgICByZXN1bHQucHJlY2VkZW5jZSA9IGVudHJ5LnByZWNlZGVuY2UgPz8gMWU0O1xuICB9XG4gIGNvbnN0IHBhcnNlID0gbWFrZVBhcnNlSGFuZGxlcihlbnRyeSwgdG9rZW5zVHJpZ2dlciwgaWRUcmlnZ2VyKTtcbiAgaWYgKHBhcnNlKVxuICAgIHJlc3VsdC5wYXJzZSA9IHBhcnNlO1xuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gbWFrZVNlcmlhbGl6ZUhhbmRsZXIoZW50cnksIGxhdGV4VHJpZ2dlciwgaWRUcmlnZ2VyKSB7XG4gIGlmICh0eXBlb2YgZW50cnkuc2VyaWFsaXplID09PSBcImZ1bmN0aW9uXCIpXG4gICAgcmV0dXJuIGVudHJ5LnNlcmlhbGl6ZTtcbiAgY29uc3Qga2luZCA9IGVudHJ5W1wia2luZFwiXSA/PyBcImV4cHJlc3Npb25cIjtcbiAgaWYgKGtpbmQgPT09IFwiZW52aXJvbm1lbnRcIikge1xuICAgIGNvbnN0IGVudk5hbWUgPSBlbnRyeVtcImlkZW50aWZpZXJUcmlnZ2VyXCJdID8/IGVudHJ5Lm5hbWUgPz8gXCJ1bmtub3duXCI7XG4gICAgcmV0dXJuIChzZXJpYWxpemVyLCBleHByKSA9PiBqb2luTGF0ZXgoW1xuICAgICAgYFxcXFxiZWdpbnske2Vudk5hbWV9fWAsXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSksXG4gICAgICBgXFxcXGVuZHske2Vudk5hbWV9fWBcbiAgICBdKTtcbiAgfVxuICBpZiAoaXNNYXRjaGZpeEVudHJ5KGVudHJ5KSkge1xuICAgIGNvbnN0IG9wZW5EZWxpbSA9IHR5cGVvZiBlbnRyeS5vcGVuVHJpZ2dlciA9PT0gXCJzdHJpbmdcIiA/IERFRkFVTFRfREVMSU1JVEVSW2VudHJ5Lm9wZW5UcmlnZ2VyXSA6IHRva2Vuc1RvU3RyaW5nKGVudHJ5W1wib3BlbkRlbGltaXRlclwiXSk7XG4gICAgY29uc3QgY2xvc2VEZWxpbSA9IHR5cGVvZiBlbnRyeS5jbG9zZVRyaWdnZXIgPT09IFwic3RyaW5nXCIgPyBERUZBVUxUX0RFTElNSVRFUltlbnRyeS5jbG9zZVRyaWdnZXJdIDogdG9rZW5zVG9TdHJpbmcoZW50cnlbXCJjbG9zZURlbGltaXRlclwiXSk7XG4gICAgcmV0dXJuIChzZXJpYWxpemVyLCBleHByKSA9PiBqb2luTGF0ZXgoW29wZW5EZWxpbSwgc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpLCBjbG9zZURlbGltXSk7XG4gIH1cbiAgbGV0IGxhdGV4ID0gZW50cnkuc2VyaWFsaXplO1xuICBpZiAobGF0ZXggPT09IHZvaWQgMCAmJiBsYXRleFRyaWdnZXIpXG4gICAgbGF0ZXggPSB0b2tlbnNUb1N0cmluZyhsYXRleFRyaWdnZXIpO1xuICBpZiAobGF0ZXgpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJwb3N0Zml4XCIpXG4gICAgICByZXR1cm4gKHNlcmlhbGl6ZXIsIGV4cHIpID0+IGpvaW5MYXRleChbc2VyaWFsaXplci5zZXJpYWxpemUob3AoZXhwciwgMSkpLCBsYXRleF0pO1xuICAgIGlmIChraW5kID09PSBcInByZWZpeFwiKVxuICAgICAgcmV0dXJuIChzZXJpYWxpemVyLCBleHByKSA9PiBqb2luTGF0ZXgoW2xhdGV4LCBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSldKTtcbiAgICBpZiAoa2luZCA9PT0gXCJpbmZpeFwiKSB7XG4gICAgICByZXR1cm4gKHNlcmlhbGl6ZXIsIGV4cHIpID0+IGpvaW5MYXRleChcbiAgICAgICAgKG9wcyhleHByKSA/PyBbXSkuZmxhdE1hcChcbiAgICAgICAgICAodmFsLCBpKSA9PiBpIDwgbm9wcyhleHByKSAtIDEgPyBbc2VyaWFsaXplci5zZXJpYWxpemUodmFsKSwgbGF0ZXhdIDogW3NlcmlhbGl6ZXIuc2VyaWFsaXplKHZhbCldXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoc2VyaWFsaXplciwgZXhwcikgPT4gaGVhZChleHByKSA/IGpvaW5MYXRleChbbGF0ZXgsIHNlcmlhbGl6ZXIud3JhcEFyZ3VtZW50cyhleHByKV0pIDogbGF0ZXg7XG4gIH1cbiAgY29uc3QgaWQgPSBpZFRyaWdnZXIgPz8gZW50cnkubmFtZSA/PyBcInVua25vd25cIjtcbiAgaWYgKGtpbmQgPT09IFwicG9zdGZpeFwiKVxuICAgIHJldHVybiAoc2VyaWFsaXplciwgZXhwcikgPT4gam9pbkxhdGV4KFtcbiAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplKG9wKGV4cHIsIDEpKSxcbiAgICAgIHNlcmlhbGl6ZXIuc2VyaWFsaXplU3ltYm9sKGlkKVxuICAgIF0pO1xuICBpZiAoa2luZCA9PT0gXCJwcmVmaXhcIilcbiAgICByZXR1cm4gKHNlcmlhbGl6ZXIsIGV4cHIpID0+IGpvaW5MYXRleChbXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZVN5bWJvbChpZCksXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSlcbiAgICBdKTtcbiAgaWYgKGtpbmQgPT09IFwiaW5maXhcIilcbiAgICByZXR1cm4gKHNlcmlhbGl6ZXIsIGV4cHIpID0+IGpvaW5MYXRleChbXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAxKSksXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZVN5bWJvbChpZCksXG4gICAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZShvcChleHByLCAyKSlcbiAgICBdKTtcbiAgcmV0dXJuIChzZXJpYWxpemVyLCBleHByKSA9PiBoZWFkKGV4cHIpID8gam9pbkxhdGV4KFtcbiAgICBzZXJpYWxpemVyLnNlcmlhbGl6ZVN5bWJvbChpZCksXG4gICAgc2VyaWFsaXplci53cmFwQXJndW1lbnRzKGV4cHIpXG4gIF0pIDogc2VyaWFsaXplci5zZXJpYWxpemVTeW1ib2woaWQpO1xufVxuZnVuY3Rpb24gbWFrZVBhcnNlSGFuZGxlcihlbnRyeSwgbGF0ZXhUcmlnZ2VyLCBpZFRyaWdnZXIpIHtcbiAgaWYgKFwicGFyc2VcIiBpbiBlbnRyeSAmJiB0eXBlb2YgZW50cnkucGFyc2UgPT09IFwiZnVuY3Rpb25cIilcbiAgICByZXR1cm4gZW50cnkucGFyc2U7XG4gIGNvbnN0IGtpbmQgPSBcImtpbmRcIiBpbiBlbnRyeSA/IGVudHJ5LmtpbmQgOiBcImV4cHJlc3Npb25cIjtcbiAgaWYgKGtpbmQgPT09IFwiZW52aXJvbm1lbnRcIikge1xuICAgIGNvbnN0IGVudk5hbWUgPSBlbnRyeS5wYXJzZSA/PyBlbnRyeS5uYW1lID8/IGlkVHJpZ2dlcjtcbiAgICBpZiAoZW52TmFtZSlcbiAgICAgIHJldHVybiAocGFyc2VyLCBfdW50aWwpID0+IHtcbiAgICAgICAgY29uc3QgYXJyYXkgPSBwYXJzZXIucGFyc2VUYWJ1bGFyKCk7XG4gICAgICAgIGlmIChhcnJheSA9PT0gbnVsbClcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIFtlbnZOYW1lLCBbXCJMaXN0XCIsIGFycmF5Lm1hcCgocm93KSA9PiBbXCJMaXN0XCIsIC4uLnJvd10pXV07XG4gICAgICB9O1xuICB9XG4gIGlmIChraW5kID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCBmbk5hbWUgPSBlbnRyeS5wYXJzZSA/PyBlbnRyeS5uYW1lID8/IGlkVHJpZ2dlcjtcbiAgICBpZiAoZm5OYW1lKVxuICAgICAgcmV0dXJuIChwYXJzZXIsIHVudGlsKSA9PiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBwYXJzZXIucGFyc2VBcmd1bWVudHMoXCJlbmNsb3N1cmVcIiwgdW50aWwpO1xuICAgICAgICByZXR1cm4gYXJncyA9PT0gbnVsbCA/IGZuTmFtZSA6IFtmbk5hbWUsIC4uLmFyZ3NdO1xuICAgICAgfTtcbiAgfVxuICBpZiAoa2luZCA9PT0gXCJzeW1ib2xcIikge1xuICAgIGNvbnN0IHN5bU5hbWUgPSBlbnRyeS5wYXJzZSA/PyBlbnRyeS5uYW1lID8/IGlkVHJpZ2dlcjtcbiAgICBpZiAoc3ltTmFtZSlcbiAgICAgIHJldHVybiAoX3BhcnNlciwgX3Rlcm1pbmF0b3IpID0+IHN5bU5hbWU7XG4gIH1cbiAgaWYgKGtpbmQgPT09IFwicHJlZml4XCIpIHtcbiAgICBjb25zdCBoID0gZW50cnkucGFyc2UgPz8gZW50cnkubmFtZSA/PyBpZFRyaWdnZXI7XG4gICAgaWYgKGgpIHtcbiAgICAgIGNvbnN0IHByZWMgPSBlbnRyeVtcInByZWNlZGVuY2VcIl0gPz8gMWU0O1xuICAgICAgcmV0dXJuIChwYXJzZXIsIHVudGlsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJocyA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oe1xuICAgICAgICAgIC4uLnVudGlsID8/IFtdLFxuICAgICAgICAgIG1pblByZWM6IHByZWNcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByaHMgPT09IG51bGwgPyBudWxsIDogW2gsIHJoc107XG4gICAgICB9O1xuICAgIH1cbiAgfVxuICBpZiAoa2luZCA9PT0gXCJwb3N0Zml4XCIpIHtcbiAgICBjb25zdCBoID0gZW50cnkucGFyc2UgPz8gZW50cnkubmFtZTtcbiAgICBpZiAoaClcbiAgICAgIHJldHVybiAoX3BhcnNlciwgbGhzKSA9PiBsaHMgPT09IG51bGwgPyBudWxsIDogW2gsIGxoc107XG4gIH1cbiAgaWYgKGtpbmQgPT09IFwiaW5maXhcIikge1xuICAgIGlmICgvW19eXS8udGVzdChsYXRleFRyaWdnZXI/LlswXSA/PyBcIlwiKSkge1xuICAgICAgY29uc3QgaDIgPSBlbnRyeS5uYW1lID8/IGVudHJ5LnBhcnNlO1xuICAgICAgcmV0dXJuIChfcGFyc2VyLCBhcmcpID0+IFtcbiAgICAgICAgaDIsXG4gICAgICAgIG1pc3NpbmdJZkVtcHR5KG9wKGFyZywgMSkpLFxuICAgICAgICBtaXNzaW5nSWZFbXB0eShvcChhcmcsIDIpKVxuICAgICAgXTtcbiAgICB9XG4gICAgY29uc3QgaCA9IGVudHJ5LnBhcnNlID8/IGVudHJ5Lm5hbWUgPz8gaWRUcmlnZ2VyO1xuICAgIGNvbnN0IHByZWMgPSBlbnRyeVtcInByZWNlZGVuY2VcIl0gPz8gMWU0O1xuICAgIGNvbnN0IGFzc29jaWF0aXZpdHkgPSBlbnRyeVtcImFzc29jaWF0aXZpdHlcIl0gPz8gXCJub25cIjtcbiAgICBpZiAoaClcbiAgICAgIHJldHVybiAocGFyc2VyLCBsaHMsIHVudGlsKSA9PiB7XG4gICAgICAgIGlmIChsaHMgPT09IG51bGwpXG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmIChwcmVjIDwgdW50aWwubWluUHJlYylcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmhzID0gbWlzc2luZ0lmRW1wdHkoXG4gICAgICAgICAgcGFyc2VyLnBhcnNlRXhwcmVzc2lvbih7IC4uLnVudGlsLCBtaW5QcmVjOiBwcmVjIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaCA9PT0gXCJzdHJpbmdcIiA/IGFwcGx5QXNzb2NpYXRpdmVPcGVyYXRvcihoLCBsaHMsIHJocywgYXNzb2NpYXRpdml0eSkgOiBbaCwgbGhzLCByaHNdO1xuICAgICAgfTtcbiAgfVxuICBpZiAoa2luZCA9PT0gXCJtYXRjaGZpeFwiKSB7XG4gICAgY29uc3QgaCA9IGVudHJ5LnBhcnNlID8/IGVudHJ5Lm5hbWU7XG4gICAgaWYgKGgpXG4gICAgICByZXR1cm4gKF9wYXJzZXIsIGJvZHkpID0+IHtcbiAgICAgICAgaWYgKGJvZHkgPT09IG51bGwgfHwgaXNFbXB0eVNlcXVlbmNlKGJvZHkpKVxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gW2gsIGJvZHldO1xuICAgICAgfTtcbiAgfVxuICBpZiAoa2luZCA9PT0gXCJleHByZXNzaW9uXCIpIHtcbiAgICBjb25zdCBwYXJzZVJlc3VsdCA9IGVudHJ5LnBhcnNlID8/IGVudHJ5Lm5hbWUgPz8gaWRUcmlnZ2VyO1xuICAgIGlmIChwYXJzZVJlc3VsdClcbiAgICAgIHJldHVybiAoKSA9PiBwYXJzZVJlc3VsdDtcbiAgfVxuICBpZiAoXCJwYXJzZVwiIGluIGVudHJ5KSB7XG4gICAgY29uc3QgcGFyc2VSZXN1bHQgPSBlbnRyeS5wYXJzZTtcbiAgICByZXR1cm4gKCkgPT4gcGFyc2VSZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIHZvaWQgMDtcbn1cbmZ1bmN0aW9uIGlzVmFsaWRFbnRyeShlbnRyeSwgb25FcnJvcikge1xuICBsZXQgc3ViamVjdCA9IGVudHJ5Lm5hbWUgPz8gZW50cnlbXCJsYXRleFRyaWdnZXJcIl0gPz8gZW50cnlbXCJpZGVudGlmaWVyVHJpZ2dlclwiXSA/PyBlbnRyeVtcIm9wZW5EZWxpbWl0ZXJcIl07XG4gIGlmICghc3ViamVjdCkge1xuICAgIHRyeSB7XG4gICAgICBzdWJqZWN0ID0gSlNPTi5zdHJpbmdpZnkoZW50cnkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHN1YmplY3QgPSBcIj8/P1wiO1xuICAgIH1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShzdWJqZWN0KSlcbiAgICBzdWJqZWN0ID0gdG9rZW5zVG9TdHJpbmcoc3ViamVjdCk7XG4gIGlmIChcInRyaWdnZXJcIiBpbiBlbnRyeSkge1xuICAgIG9uRXJyb3Ioe1xuICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgbWVzc2FnZTogW1xuICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICBzdWJqZWN0LFxuICAgICAgICBgVGhlICd0cmlnZ2VyJyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBVc2UgJ2xhdGV4VHJpZ2dlcicgb3IgJ2lkZW50aWZpZXJUcmlnZ2VyJyBpbnN0ZWFkYFxuICAgICAgXVxuICAgIH0pO1xuICB9XG4gIGlmIChcImtpbmRcIiBpbiBlbnRyeSAmJiAhW1xuICAgIFwiZXhwcmVzc2lvblwiLFxuICAgIFwic3ltYm9sXCIsXG4gICAgXCJmdW5jdGlvblwiLFxuICAgIFwiaW5maXhcIixcbiAgICBcInBvc3RmaXhcIixcbiAgICBcInByZWZpeFwiLFxuICAgIFwibWF0Y2hmaXhcIixcbiAgICBcImVudmlyb25tZW50XCJcbiAgXS5pbmNsdWRlcyhlbnRyeS5raW5kKSkge1xuICAgIG9uRXJyb3Ioe1xuICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgbWVzc2FnZTogW1xuICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICBzdWJqZWN0LFxuICAgICAgICBgVGhlICdraW5kJyBwcm9wZXJ0eSBtdXN0IGJlIG9uZSBvZiAnZXhwcmVzc2lvbicsICdzeW1ib2wnLCAnZnVuY3Rpb24nLCAnaW5maXgnLCAncG9zdGZpeCcsICdwcmVmaXgnLCAnbWF0Y2hmaXgnLCAnZW52aXJvbm1lbnQnYFxuICAgICAgXVxuICAgIH0pO1xuICB9XG4gIGlmIChlbnRyeS5zZXJpYWxpemUgIT09IHZvaWQgMCAmJiAhZW50cnkubmFtZSkge1xuICAgIG9uRXJyb3Ioe1xuICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgbWVzc2FnZTogW1xuICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICBzdWJqZWN0LFxuICAgICAgICBgQSAnbmFtZScgcHJvcGVydHkgbXVzdCBiZSBwcm92aWRlZCBpZiBhICdzZXJpYWxpemUnIGhhbmRsZXIgaXMgcHJvdmlkZWRgXG4gICAgICBdXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChcImlkZW50aWZpZXJUcmlnZ2VyXCIgaW4gZW50cnkpIHtcbiAgICBpZiAodHlwZW9mIGVudHJ5LmlkZW50aWZpZXJUcmlnZ2VyICE9PSBcInN0cmluZ1wiIHx8ICFpc1ZhbGlkSWRlbnRpZmllcihlbnRyeS5pZGVudGlmaWVyVHJpZ2dlcikpIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIHN1YmplY3QsXG4gICAgICAgICAgYFRoZSAnaWRlbnRpZmllclRyaWdnZXInIHByb3BlcnR5IG11c3QgYmUgYSB2YWxpZCBpZGVudGlmaWVyYFxuICAgICAgICBdXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgaWYgKFwibmFtZVwiIGluIGVudHJ5KSB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeS5uYW1lICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAoZW50cnkubmFtZSAhPT0gdm9pZCAwKVxuICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgICAgbWVzc2FnZTogW1xuICAgICAgICAgICAgXCJpbnZhbGlkLWRpY3Rpb25hcnktZW50cnlcIixcbiAgICAgICAgICAgIHN1YmplY3QsXG4gICAgICAgICAgICBgVGhlICduYW1lJyBwcm9wZXJ0eSBtdXN0IGJlIGEgc3RyaW5nYFxuICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghaXNWYWxpZElkZW50aWZpZXIoZW50cnkubmFtZSkpIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIGVudHJ5Lm5hbWUsXG4gICAgICAgICAgYFRoZSAnbmFtZScgcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGlkZW50aWZpZXJgXG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpZiAoaXNNYXRjaGZpeEVudHJ5KGVudHJ5KSkge1xuICAgIGlmIChcImxhdGV4VHJpZ2dlclwiIGluIGVudHJ5IHx8IFwiaWRlbnRpZmllclRyaWdnZXJcIiBpbiBpc1ByZWZpeEVudHJ5KSB7XG4gICAgICBvbkVycm9yKHtcbiAgICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBbXG4gICAgICAgICAgXCJpbnZhbGlkLWRpY3Rpb25hcnktZW50cnlcIixcbiAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIGAnbWF0Y2hmaXgnIG9wZXJhdG9ycyB1c2UgYSAnb3BlbkRlbGltaXRlcicgYW5kICdjbG9zZURlbGltaXRlcicgaW5zdGVhZCBvZiBhICdsYXRleFRyaWdnZXInIG9yICdpZGVudGlmaWVyVHJpZ2dlcicuIGBcbiAgICAgICAgXVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZW50cnkub3BlblRyaWdnZXIgfHwgIWVudHJ5LmNsb3NlVHJpZ2dlcikge1xuICAgICAgb25FcnJvcih7XG4gICAgICAgIHNldmVyaXR5OiBcIndhcm5pbmdcIixcbiAgICAgICAgbWVzc2FnZTogW1xuICAgICAgICAgIFwiaW52YWxpZC1kaWN0aW9uYXJ5LWVudHJ5XCIsXG4gICAgICAgICAgc3ViamVjdCxcbiAgICAgICAgICBcIkV4cGVjdGVkIGBvcGVuRGVsaW1pdGVyYCBhbmQgYSBgY2xvc2VEZWxpbWl0ZXJgIGZvciBtYXRjaGZpeCBvcGVyYXRvclwiXG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGVudHJ5Lm9wZW5UcmlnZ2VyICE9PSB0eXBlb2YgZW50cnkuY2xvc2VUcmlnZ2VyKSB7XG4gICAgICBvbkVycm9yKHtcbiAgICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBbXG4gICAgICAgICAgXCJpbnZhbGlkLWRpY3Rpb25hcnktZW50cnlcIixcbiAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIFwiRXhwZWN0ZWQgYG9wZW5EZWxpbWl0ZXJgIGFuZCBgY2xvc2VEZWxpbWl0ZXJgIHRvIGJvdGggYmUgc3RyaW5ncyBvciBhcnJheSBvZiBMYXRleFRva2VuXCJcbiAgICAgICAgXVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGlmIChpc0luZml4RW50cnkoZW50cnkpIHx8IGlzUG9zdGZpeEVudHJ5KGVudHJ5KSB8fCBpc1ByZWZpeEVudHJ5KGVudHJ5KSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGVudHJ5LmxhdGV4VHJpZ2dlcikgJiYgKGVudHJ5LmxhdGV4VHJpZ2dlclswXSA9PT0gXCJfXCIgfHwgZW50cnkubGF0ZXhUcmlnZ2VyWzBdID09PSBcIl5cIikgfHwgdHlwZW9mIGVudHJ5LmxhdGV4VHJpZ2dlciA9PT0gXCJzdHJpbmdcIiAmJiAoZW50cnkubGF0ZXhUcmlnZ2VyLnN0YXJ0c1dpdGgoXCJeXCIpIHx8IGVudHJ5LmxhdGV4VHJpZ2dlci5zdGFydHNXaXRoKFwiX1wiKSkpIHtcbiAgICAgIGlmIChlbnRyeS5wcmVjZWRlbmNlICE9PSB2b2lkIDAgfHwgZW50cnlbXCJhc3NvY2lhdGl2aXR5XCJdICE9PSB2b2lkIDApIHtcbiAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICAgIFwiaW52YWxpZC1kaWN0aW9uYXJ5LWVudHJ5XCIsXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgICAgYFVuZXhwZWN0ZWQgXCJwcmVjZWRlbmNlXCIgb3IgXCJhc3NvY2lhdGl2aXR5XCIgZm9yIHN1cGVyc2NyaXB0L3N1YnNjcmlwdCBvcGVyYXRvcmBcbiAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbnRyeS5wcmVjZWRlbmNlID09PSB2b2lkIDApIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIHN1YmplY3QsXG4gICAgICAgICAgYEV4cGVjdGVkIGEgXCJwcmVjZWRlbmNlXCIgZm9yICR7ZW50cnkua2luZH0gb3BlcmF0b3JgXG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoZW50cnlbXCJhc3NvY2lhdGl2aXR5XCJdICE9PSB2b2lkIDApIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIHN1YmplY3QsXG4gICAgICAgICAgJ1VuZXhwZWN0ZWQgXCJhc3NvY2lhdGl2aXR5XCIgb3BlcmF0b3InXG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBpZiAoIWlzTWF0Y2hmaXhFbnRyeShlbnRyeSkgJiYgIWlzRW52aXJvbm1lbnRFbnRyeShlbnRyeSkpIHtcbiAgICBpZiAoIWVudHJ5LmxhdGV4VHJpZ2dlciAmJiAhZW50cnkuaWRlbnRpZmllclRyaWdnZXIgJiYgIWVudHJ5Lm5hbWUpIHtcbiAgICAgIG9uRXJyb3Ioe1xuICAgICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFtcbiAgICAgICAgICBcImludmFsaWQtZGljdGlvbmFyeS1lbnRyeVwiLFxuICAgICAgICAgIHN1YmplY3QsXG4gICAgICAgICAgYEV4cGVjdGVkIGEgJ25hbWUnLCBhICdsYXRleFRyaWdnZXInIG9yIGEgJ2lkZW50aWZpZXJUcmlnZ2VyJ2BcbiAgICAgICAgXVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGlmIChlbnRyeVtcInBhcnNlXCJdID09PSB2b2lkIDAgJiYgZW50cnkubmFtZSA9PT0gdm9pZCAwKSB7XG4gICAgb25FcnJvcih7XG4gICAgICBzZXZlcml0eTogXCJ3YXJuaW5nXCIsXG4gICAgICBtZXNzYWdlOiBbXG4gICAgICAgIFwiaW52YWxpZC1kaWN0aW9uYXJ5LWVudHJ5XCIsXG4gICAgICAgIHN1YmplY3QsXG4gICAgICAgIGBFeHBlY3RlZCBhICdwYXJzZScgb3IgJ25hbWUnYFxuICAgICAgXVxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbnZhciBERUZBVUxUX0xBVEVYX0RJQ1RJT05BUlkgPSB7XG4gIGFsZ2VicmE6IERFRklOSVRJT05TX0FMR0VCUkEsXG4gIGFyaXRobWV0aWM6IERFRklOSVRJT05TX0FSSVRITUVUSUMsXG4gIGNhbGN1bHVzOiBERUZJTklUSU9OU19DQUxDVUxVUyxcbiAgY29tcGxleDogREVGSU5JVElPTlNfQ09NUExFWCxcbiAgY29yZTogREVGSU5JVElPTlNfQ09SRSxcbiAgbG9naWM6IERFRklOSVRJT05TX0xPR0lDLFxuICByZWxvcDogREVGSU5JVElPTlNfSU5FUVVBTElUSUVTLFxuICBvdGhlcjogREVGSU5JVElPTlNfT1RIRVJTLFxuICBwaHlzaWNzOiBbXG4gICAge1xuICAgICAgbmFtZTogXCJtdTBcIixcbiAgICAgIGtpbmQ6IFwic3ltYm9sXCIsXG4gICAgICBsYXRleFRyaWdnZXI6IFwiXFxcXG11XzBcIlxuICAgIH1cbiAgXSxcbiAgc2V0czogREVGSU5JVElPTlNfU0VUUyxcbiAgc3RhdGlzdGljczogREVGSU5JVElPTlNfU1RBVElTVElDUyxcbiAgc3ltYm9sczogREVGSU5JVElPTlNfU1lNQk9MUyxcbiAgdHJpZ29ub21ldHJ5OiBERUZJTklUSU9OU19UUklHT05PTUVUUllcbn07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvcGFyc2UtaWRlbnRpZmllci50c1xudmFyIElERU5USUZJRVJfUFJFRklYID0ge1xuICAvLyBUaG9zZSBhcmUgXCJncm91cGluZ1wiIHByZWZpeCB0aGF0IGFsc28gc3BlY2lmeSBzcGFjaW5nXG4gIC8vIGFyb3VuZCB0aGUgc3ltYm9sLiBXZSBpZ25vcmUgdGhlIHNwYWNpbmcsIHRob3VnaC5cbiAgXCJcXFxcbWF0aG9yZFwiOiBcIlwiLFxuICBcIlxcXFxtYXRob3BcIjogXCJcIixcbiAgXCJcXFxcbWF0aGJpblwiOiBcIlwiLFxuICBcIlxcXFxtYXRocmVsXCI6IFwiXCIsXG4gIFwiXFxcXG1hdGhvcGVuXCI6IFwiXCIsXG4gIFwiXFxcXG1hdGhjbG9zZVwiOiBcIlwiLFxuICBcIlxcXFxtYXRocHVuY3RcIjogXCJcIixcbiAgXCJcXFxcbWF0aGlubmVyXCI6IFwiXCIsXG4gIC8vIFRoaXMgaXMgdGhlIHByZWZlcnJlZCB3YXkgdG8gc3BlY2lmeSBhbiBpZGVudGlmaWVyXG4gIC8vIGl0IGRlZmluZXMgYm90aCBzcGFjaW5nIGFuZCBmb250LiBCeSBkZWZhdWx0LCBpZGVudGlmaWVyc1xuICAvLyBhcmUgd3JhcHBlciB3aXRoIGBcXFxcb3BlcmF0b3JuYW1le31gLlxuICBcIlxcXFxvcGVyYXRvcm5hbWVcIjogXCJcIixcbiAgLy8gVGhlc2Ugc3R5bGluZyBjb21tYW5kcyBhcmUgdXNlZCB0byBjaGFuZ2UgdGhlIGZvbnQgb2YgYW4gaWRlbnRpZmllclxuICAvLyBUaGV5IG1heSBiZSBwcm9ibGVtYXRpYywgYXMgYWRqYWNlbnQgaWRlbnRpZmllcnMgbWF5IGJlIG1lcmdlZFxuICAvLyBpbnRvIGEgc2luZ2xlIGlkZW50aWZpZXIgd2hlbiB1c2VkIGluIGVkaXRvcnMsIHN1Y2ggYSBNYXRoTGl2ZS5cbiAgLy8gRm9yIGV4YW1wbGUgYFxcbWF0aHJte3NwZWVkfVxcbWF0aHJte3NvdW5kfWAgY2FuIGJlIGNvbmZ1c2VkIHdpdGggYFxcbWF0aHJte3NwZWVkc291bmR9YFxuICBcIlxcXFxtYXRocm1cIjogXCJfdXByaWdodFwiLFxuICBcIlxcXFxtYXRoaXRcIjogXCJfaXRhbGljXCIsXG4gIFwiXFxcXG1hdGhiZlwiOiBcIl9ib2xkXCIsXG4gIFwiXFxcXG1hdGhzY3JcIjogXCJfc2NyaXB0XCIsXG4gIFwiXFxcXG1hdGhjYWxcIjogXCJfY2FsbGlncmFwaGljXCIsXG4gIFwiXFxcXG1hdGhmcmFrXCI6IFwiX2ZyYWt0dXJcIixcbiAgXCJcXFxcbWF0aHNmXCI6IFwiX3NhbnNzZXJpZlwiLFxuICBcIlxcXFxtYXRodHRcIjogXCJfbW9ub3NwYWNlXCIsXG4gIFwiXFxcXG1hdGhiYlwiOiBcIl9kb3VibGVzdHJ1Y2tcIlxufTtcbnZhciBJREVOVElGSUVSX01PRElGSUVSID0ge1xuICBcIlxcXFxtYXRocmluZ1wiOiBcIl9yaW5nXCIsXG4gIFwiXFxcXGhhdFwiOiBcIl9oYXRcIixcbiAgXCJcXFxcdGlsZGVcIjogXCJfdGlsZGVcIixcbiAgXCJcXFxcdmVjXCI6IFwiX3ZlY1wiLFxuICBcIlxcXFxvdmVybGluZVwiOiBcIl9iYXJcIixcbiAgXCJcXFxcdW5kZXJsaW5lXCI6IFwiX3VuZGVyYmFyXCIsXG4gIFwiXFxcXGRvdFwiOiBcIl9kb3RcIixcbiAgXCJcXFxcZGRvdFwiOiBcIl9kZG90XCIsXG4gIFwiXFxcXGRkZG90XCI6IFwiX2RkZG90XCIsXG4gIFwiXFxcXGRkZGRvdFwiOiBcIl9kZGRkb3RcIixcbiAgXCJcXFxcYWN1dGVcIjogXCJfYWN1dGVcIixcbiAgXCJcXFxcZ3JhdmVcIjogXCJfZ3JhdmVcIixcbiAgXCJcXFxcYnJldmVcIjogXCJfYnJldmVcIixcbiAgXCJcXFxcY2hlY2tcIjogXCJfY2hlY2tcIlxufTtcbmZ1bmN0aW9uIHBhcnNlSWRlbnRpZmllclRva2VuKHBhcnNlciwgb3B0aW9ucykge1xuICBpZiAocGFyc2VyLmF0RW5kKVxuICAgIHJldHVybiBudWxsO1xuICBjb25zdCB0b2tlbiA9IHBhcnNlci5wZWVrO1xuICBsZXQgc3BlY2lhbCA9IHtcbiAgICBcIlxcXFxfXCI6IFwiX1wiLFxuICAgIFwiXFxcXCNcIjogXCJoYXNoXCJcbiAgfVt0b2tlbl07XG4gIGlmICghc3BlY2lhbCAmJiAhb3B0aW9ucy50b3BsZXZlbCkge1xuICAgIHNwZWNpYWwgPSB7XG4gICAgICBcIitcIjogXCJwbHVzXCIsXG4gICAgICBcIi1cIjogXCJtaW51c1wiLFxuICAgICAgXCJcXFxccGx1c21uXCI6IFwicG1cIixcbiAgICAgIFwiXFxcXHBtXCI6IFwicG1cIixcbiAgICAgIFwiXFxcXGFzdFwiOiBcImFzdFwiLFxuICAgICAgXCJcXFxcZGFnXCI6IFwiZGFnXCIsXG4gICAgICBcIlxcXFxkZGFnXCI6IFwiZGRhZ1wiLFxuICAgICAgXCJcXFxcYm90XCI6IFwiYm90dG9tXCIsXG4gICAgICBcIlxcXFx0b3BcIjogXCJ0b3BcIixcbiAgICAgIFwiXFxcXGJ1bGxldFwiOiBcImJ1bGxldFwiLFxuICAgICAgXCJcXFxcY2lyXCI6IFwiY2lyY2xlXCIsXG4gICAgICBcIlxcXFxkaWFtb25kXCI6IFwiZGlhbW9uZFwiLFxuICAgICAgXCJcXFxcdGltZXNcIjogXCJ0aW1lc1wiLFxuICAgICAgXCJcXFxcc3F1YXJlXCI6IFwic3F1YXJlXCIsXG4gICAgICBcIlxcXFxzdGFyXCI6IFwic3RhclwiXG4gICAgfVt0b2tlbl07XG4gIH1cbiAgaWYgKHNwZWNpYWwpIHtcbiAgICBwYXJzZXIubmV4dFRva2VuKCk7XG4gICAgcmV0dXJuIHNwZWNpYWw7XG4gIH1cbiAgY29uc3QgaSA9IFNZTUJPTFMuZmluZEluZGV4KCh4KSA9PiB4WzFdID09PSB0b2tlbik7XG4gIGlmIChpID49IDApIHtcbiAgICBwYXJzZXIubmV4dFRva2VuKCk7XG4gICAgcmV0dXJuIFNZTUJPTFNbaV1bMF07XG4gIH1cbiAgcmV0dXJuIHBhcnNlci5tYXRjaENoYXIoKSA/PyBwYXJzZXIubmV4dFRva2VuKCk7XG59XG5mdW5jdGlvbiBwYXJzZUlkZW50aWZpZXJCb2R5KHBhcnNlcikge1xuICBsZXQgaWQgPSBtYXRjaFByZWZpeGVkSWRlbnRpZmllcihwYXJzZXIpO1xuICBjb25zdCBzdGFydCA9IHBhcnNlci5pbmRleDtcbiAgY29uc3QgcHJlZml4ID0gSURFTlRJRklFUl9NT0RJRklFUltwYXJzZXIucGVla10gPz8gbnVsbDtcbiAgaWYgKHByZWZpeCkge1xuICAgIHBhcnNlci5uZXh0VG9rZW4oKTtcbiAgICBpZiAoIXBhcnNlci5tYXRjaChcIjx7PlwiKSkge1xuICAgICAgcGFyc2VyLmluZGV4ID0gc3RhcnQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYm9keSA9IHBhcnNlSWRlbnRpZmllckJvZHkocGFyc2VyKTtcbiAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCAhcGFyc2VyLm1hdGNoKFwiPH0+XCIpKSB7XG4gICAgICBwYXJzZXIuaW5kZXggPSBzdGFydDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZCA9IGAke2JvZHl9JHtwcmVmaXh9YDtcbiAgfVxuICBpZiAoaWQgPT09IG51bGwpIHtcbiAgICBpZCA9IFwiXCI7XG4gICAgd2hpbGUgKCFwYXJzZXIuYXRFbmQpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gcGFyc2VyLnBlZWs7XG4gICAgICBpZiAodG9rZW4gPT09IFwiPH0+XCIgfHwgdG9rZW4gPT09IFwiX1wiIHx8IHRva2VuID09PSBcIl5cIilcbiAgICAgICAgYnJlYWs7XG4gICAgICBjb25zdCBuZXh0ID0gcGFyc2VJZGVudGlmaWVyVG9rZW4ocGFyc2VyLCB7IHRvcGxldmVsOiBmYWxzZSB9KTtcbiAgICAgIGlmIChuZXh0ID09PSBudWxsKSB7XG4gICAgICAgIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlkICs9IG5leHQ7XG4gICAgfVxuICAgIHdoaWxlICghcGFyc2VyLmF0RW5kICYmIC9cXGQvLnRlc3QocGFyc2VyLnBlZWspKVxuICAgICAgaWQgKz0gcGFyc2VyLm5leHRUb2tlbigpO1xuICB9XG4gIHdoaWxlICghcGFyc2VyLmF0RW5kKSB7XG4gICAgaWYgKHBhcnNlci5tYXRjaChcIlxcXFxkZWdyZWVcIikpXG4gICAgICBpZCArPSBcIl9kZWdcIjtcbiAgICBlbHNlIGlmIChwYXJzZXIubWF0Y2hBbGwoW1wiXlwiLCBcIlxcXFxwcmltZVwiXSkpXG4gICAgICBpZCArPSBcIl9wcmltZVwiO1xuICAgIGVsc2UgaWYgKHBhcnNlci5tYXRjaEFsbChbXCJeXCIsIFwiPHs+XCIsIFwiXFxcXHByaW1lXCIsIFwiPH0+XCJdKSlcbiAgICAgIGlkICs9IFwiX3ByaW1lXCI7XG4gICAgZWxzZSBpZiAocGFyc2VyLm1hdGNoQWxsKFtcIl5cIiwgXCI8ez5cIiwgXCJcXFxcZG91YmxlcHJpbWVcIiwgXCI8fT5cIl0pKVxuICAgICAgaWQgKz0gXCJfZHByaW1lXCI7XG4gICAgZWxzZSBpZiAocGFyc2VyLm1hdGNoQWxsKFtcIl5cIiwgXCI8ez5cIiwgXCJcXFxccHJpbWVcIiwgXCJcXFxccHJpbWVcIiwgXCI8fT5cIl0pKVxuICAgICAgaWQgKz0gXCJfZHByaW1lXCI7XG4gICAgZWxzZVxuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3Qgc3VwcyA9IFtdO1xuICBjb25zdCBzdWJzMiA9IFtdO1xuICB3aGlsZSAoIXBhcnNlci5hdEVuZCkge1xuICAgIGlmIChwYXJzZXIubWF0Y2goXCJfXCIpKSB7XG4gICAgICBjb25zdCBoYXNCcmFjZSA9IHBhcnNlci5tYXRjaChcIjx7PlwiKTtcbiAgICAgIGNvbnN0IHN1YjIgPSBwYXJzZUlkZW50aWZpZXJCb2R5KHBhcnNlcik7XG4gICAgICBpZiAoaGFzQnJhY2UgJiYgIXBhcnNlci5tYXRjaChcIjx9PlwiKSB8fCBzdWIyID09PSBudWxsKSB7XG4gICAgICAgIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHN1YnMyLnB1c2goc3ViMik7XG4gICAgfSBlbHNlIGlmIChwYXJzZXIubWF0Y2goXCJeXCIpKSB7XG4gICAgICBjb25zdCBoYXNCcmFjZSA9IHBhcnNlci5tYXRjaChcIjx7PlwiKTtcbiAgICAgIGNvbnN0IHN1cCA9IHBhcnNlSWRlbnRpZmllckJvZHkocGFyc2VyKTtcbiAgICAgIGlmIChoYXNCcmFjZSAmJiAhcGFyc2VyLm1hdGNoKFwiPH0+XCIpIHx8IHN1cCA9PT0gbnVsbCkge1xuICAgICAgICBwYXJzZXIuaW5kZXggPSBzdGFydDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBzdXBzLnB1c2goc3VwKTtcbiAgICB9IGVsc2VcbiAgICAgIGJyZWFrO1xuICB9XG4gIGlmIChzdXBzLmxlbmd0aCA+IDApXG4gICAgaWQgKz0gXCJfX1wiICsgc3Vwcy5qb2luKFwiXCIpO1xuICBpZiAoc3ViczIubGVuZ3RoID4gMClcbiAgICBpZCArPSBcIl9cIiArIHN1YnMyLmpvaW4oXCJcIik7XG4gIHJldHVybiBpZDtcbn1cbmZ1bmN0aW9uIG1hdGNoUHJlZml4ZWRJZGVudGlmaWVyKHBhcnNlcikge1xuICBjb25zdCBzdGFydCA9IHBhcnNlci5pbmRleDtcbiAgY29uc3QgcHJlZml4ID0gSURFTlRJRklFUl9QUkVGSVhbcGFyc2VyLnBlZWtdID8/IG51bGw7XG4gIGlmIChwcmVmaXggPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIHBhcnNlci5uZXh0VG9rZW4oKTtcbiAgaWYgKHBhcnNlci5tYXRjaChcIjx7PlwiKSkge1xuICAgIGxldCBib2R5ID0gXCJcIjtcbiAgICBjb25zdCBkaWdpdCA9IHtcbiAgICAgIDA6IFwiemVyb1wiLFxuICAgICAgMTogXCJvbmVcIixcbiAgICAgIDI6IFwidHdvXCIsXG4gICAgICAzOiBcInRocmVlXCIsXG4gICAgICA0OiBcImZvdXJcIixcbiAgICAgIDU6IFwiZml2ZVwiLFxuICAgICAgNjogXCJzaXhcIixcbiAgICAgIDc6IFwic2V2ZW5cIixcbiAgICAgIDg6IFwiZWlnaHRcIixcbiAgICAgIDk6IFwibmluZVwiXG4gICAgfVtwYXJzZXIucGVla10gPz8gXCJcIjtcbiAgICBpZiAoZGlnaXQpIHtcbiAgICAgIGJvZHkgPSBkaWdpdDtcbiAgICAgIHBhcnNlci5uZXh0VG9rZW4oKTtcbiAgICB9XG4gICAgYm9keSArPSBwYXJzZUlkZW50aWZpZXJCb2R5KHBhcnNlcik7XG4gICAgaWYgKGJvZHkgPT09IG51bGwgfHwgIXBhcnNlci5tYXRjaChcIjx9PlwiKSkge1xuICAgICAgcGFyc2VyLmluZGV4ID0gc3RhcnQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHByZWZpeCA9PT0gXCJfdXByaWdodFwiICYmIGJvZHkubGVuZ3RoID4gMSlcbiAgICAgIHJldHVybiBib2R5O1xuICAgIHJldHVybiBib2R5ICsgcHJlZml4O1xuICB9XG4gIHBhcnNlci5pbmRleCA9IHN0YXJ0O1xuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIHBhcnNlSW52YWxpZElkZW50aWZpZXIocGFyc2VyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gcGFyc2VyLmluZGV4O1xuICBjb25zdCBpZCA9IG1hdGNoUHJlZml4ZWRJZGVudGlmaWVyKHBhcnNlcik7XG4gIGlmIChpZCA9PT0gbnVsbCB8fCBpc1ZhbGlkSWRlbnRpZmllcihpZCkpIHtcbiAgICBwYXJzZXIuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gcGFyc2VyLmVycm9yKFxuICAgIFtcImludmFsaWQtaWRlbnRpZmllclwiLCB7IHN0cjogdmFsaWRhdGVJZGVudGlmaWVyKGlkKSB9XSxcbiAgICBzdGFydFxuICApO1xufVxuZnVuY3Rpb24gcGFyc2VJZGVudGlmaWVyKHBhcnNlcikge1xuICBpZiAoL15bYS16QS1aXSQvLnRlc3QocGFyc2VyLnBlZWspIHx8IC9eXFxwe1hJRFN9JC91LnRlc3QocGFyc2VyLnBlZWspKVxuICAgIHJldHVybiBwYXJzZXIubmV4dFRva2VuKCk7XG4gIGNvbnN0IHN0YXJ0ID0gcGFyc2VyLmluZGV4O1xuICBsZXQgaWQgPSBtYXRjaFByZWZpeGVkSWRlbnRpZmllcihwYXJzZXIpO1xuICBpZiAoIWlkKSB7XG4gICAgaWQgPSBcIlwiO1xuICAgIHdoaWxlICghcGFyc2VyLmF0RW5kICYmIE9OTFlfRU1PSklTLnRlc3QoaWQgKyBwYXJzZXIucGVlaykpXG4gICAgICBpZCArPSBwYXJzZXIubmV4dFRva2VuKCk7XG4gICAgaWYgKCFpZClcbiAgICAgIGlkID0gbnVsbDtcbiAgfVxuICBpZCA/PyAoaWQgPSBwYXJzZUlkZW50aWZpZXJUb2tlbihwYXJzZXIsIHsgdG9wbGV2ZWw6IHRydWUgfSkpO1xuICBpZiAoaWQpIHtcbiAgICBpZCA9IGlkLm5vcm1hbGl6ZSgpO1xuICAgIGlmIChpc1ZhbGlkSWRlbnRpZmllcihpZCkpXG4gICAgICByZXR1cm4gaWQ7XG4gIH1cbiAgcGFyc2VyLmluZGV4ID0gc3RhcnQ7XG4gIHJldHVybiBudWxsO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGF0ZXgtc3ludGF4L3BhcnNlLnRzXG52YXIgREVMSU1JVEVSX1NIT1JUSEFORCA9IHtcbiAgXCIoXCI6IFtcIlxcXFxscGFyZW5cIiwgXCIoXCJdLFxuICBcIilcIjogW1wiXFxcXHJwYXJlblwiLCBcIilcIl0sXG4gIFwiW1wiOiBbXCJcXFxcbGJyYWNrXCJdLFxuICBcIl1cIjogW1wiXFxcXHJicmFja1wiXSxcbiAgXCI8XCI6IFtcIjxcIiwgXCJcXFxcbGFuZ2xlXCJdLFxuICBcIj5cIjogW1wiPlwiLCBcIlxcXFxyYW5nbGVcIl0sXG4gIFwie1wiOiBbXCJcXFxce1wiLCBcIlxcXFxsYnJhY2VcIl0sXG4gIFwifVwiOiBbXCJcXFxcfVwiLCBcIlxcXFxyYnJhY2VcIl0sXG4gIFwiOlwiOiBbXCI6XCIsIFwiXFxcXGNvbG9uXCJdLFxuICBcInxcIjogW1wifFwiLCBcIlxcXFx8XCIsIFwiXFxcXGx2ZXJ0XCIsIFwiXFxcXHJ2ZXJ0XCJdLFxuICAvL3NwZWNpYWw6ICdcXGx2ZXJ0YCB3aGVuIG9wZW4sIGBcXHJ2ZXJ0YCB3aGVuIGNsb3NlXG4gIFwifHxcIjogW1wifHxcIiwgXCJcXFxcVmVydFwiLCBcIlxcXFxsVmVydFwiLCBcIlxcXFxyVmVydFwiXSxcbiAgLy8gc3BlY2lhbDogYFxcbFZlcnRgIHdoZW4gb3BlbiwgYFxcclZlcnRgIHdoZW4gY2xvc2VcbiAgXCJcXFxcbGZsb29yXCI6IFtcIlxcXFxsZmxvb3JcIl0sXG4gIFwiXFxcXHJmbG9vclwiOiBbXCJcXFxccmZsb29yXCJdLFxuICBcIlxcXFxsY2VpbFwiOiBbXCJcXFxcbGNlaWxcIl0sXG4gIFwiXFxcXHJjZWlsXCI6IFtcIlxcXFxyY2VpbFwiXSxcbiAgXCJcXFxcdWxjb3JuZXJcIjogW1wiXFxcXHVsY29ybmVyXCJdLFxuICBcIlxcXFx1cmNvcm5lclwiOiBbXCJcXFxcdXJjb3JuZXJcIl0sXG4gIFwiXFxcXGxsY29ybmVyXCI6IFtcIlxcXFxsbGNvcm5lclwiXSxcbiAgXCJcXFxcbHJjb3JuZXJcIjogW1wiXFxcXGxyY29ybmVyXCJdLFxuICBcIlxcXFxsZ3JvdXBcIjogW1wiXFxcXGxncm91cFwiXSxcbiAgXCJcXFxccmdyb3VwXCI6IFtcIlxcXFxyZ3JvdXBcIl0sXG4gIFwiXFxcXGxtb3VzdGFjaGVcIjogW1wiXFxcXGxtb3VzdGFjaGVcIl0sXG4gIFwiXFxcXHJtb3VzdGFjaGVcIjogW1wiXFxcXHJtb3VzdGFjaGVcIl1cbn07XG52YXIgT1BFTl9ERUxJTUlURVJfUFJFRklYID0ge1xuICBcIlxcXFxsZWZ0XCI6IFwiXFxcXHJpZ2h0XCIsXG4gIFwiXFxcXGJpZ2xcIjogXCJcXFxcYmlnclwiLFxuICBcIlxcXFxCaWdsXCI6IFwiXFxcXEJpZ3JcIixcbiAgXCJcXFxcYmlnZ2xcIjogXCJcXFxcYmlnZ3JcIixcbiAgXCJcXFxcQmlnZ2xcIjogXCJcXFxcQmlnZ3JcIixcbiAgXCJcXFxcYmlnXCI6IFwiXFxcXGJpZ1wiLFxuICBcIlxcXFxCaWdcIjogXCJcXFxcQmlnXCIsXG4gIFwiXFxcXGJpZ2dcIjogXCJcXFxcYmlnZ1wiLFxuICBcIlxcXFxCaWdnXCI6IFwiXFxcXEJpZ2dcIlxufTtcbnZhciBDTE9TRV9ERUxJTUlURVIgPSB7XG4gIFwiKFwiOiBcIilcIixcbiAgXCJbXCI6IFwiXVwiLFxuICBcIlxcXFx7XCI6IFwiXFxcXH1cIixcbiAgXCJcXFxcbGJyYWNlXCI6IFwiXFxcXHJicmFjZVwiLFxuICBcIlxcXFxscGFyZW5cIjogXCJcXFxccnBhcmVuXCIsXG4gIFwiXFxcXGxhbmdsZVwiOiBcIlxcXFxyYW5nbGVcIixcbiAgXCJcXFxcbGZsb29yXCI6IFwiXFxcXHJmbG9vclwiLFxuICBcIlxcXFxsY2VpbFwiOiBcIlxcXFxyY2VpbFwiLFxuICBcIlxcXFx2ZXJ0XCI6IFwiXFxcXHZlcnRcIixcbiAgXCJcXFxcbHZlcnRcIjogXCJcXFxccnZlcnRcIixcbiAgXCJcXFxcVmVydFwiOiBcIlxcXFxWZXJ0XCIsXG4gIFwiXFxcXGxWZXJ0XCI6IFwiXFxcXHJWZXJ0XCIsXG4gIFwiXFxcXGxicmFja1wiOiBcIlxcXFxyYnJhY2tcIixcbiAgXCJcXFxcdWxjb3JuZXJcIjogXCJcXFxcdXJjb3JuZXJcIixcbiAgXCJcXFxcbGxjb3JuZXJcIjogXCJcXFxcbHJjb3JuZXJcIixcbiAgXCJcXFxcbGdyb3VwXCI6IFwiXFxcXHJncm91cFwiLFxuICBcIlxcXFxsbW91c3RhY2hlXCI6IFwiXFxcXHJtb3VzdGFjaGVcIlxufTtcbnZhciBERUZBVUxUX0xBVEVYX05VTUJFUl9PUFRJT05TID0ge1xuICBwcmVjaXNpb246IDYsXG4gIC8vIHdpdGggbWFjaGluZSBudW1iZXJzLCB1cCB0byAxNSBhc3N1bWluZyAyXjUzIGJpdHMgZmxvYXRpbmcgcG9pbnRzXG4gIHBvc2l0aXZlSW5maW5pdHk6IFwiXFxcXGluZnR5XCIsXG4gIG5lZ2F0aXZlSW5maW5pdHk6IFwiLVxcXFxpbmZ0eVwiLFxuICBub3RBTnVtYmVyOiBcIlxcXFxvcGVyYXRvcm5hbWV7TmFOfVwiLFxuICBkZWNpbWFsTWFya2VyOiBcIi5cIixcbiAgLy8gVXNlIGB7LH1gIGZvciBjb21tYSBhcyBhIGRlY2ltYWwgbWFya2VyXG4gIGdyb3VwU2VwYXJhdG9yOiBcIlxcXFwsXCIsXG4gIC8vIGZvciB0aG91c2FuZHMsIGV0Yy4uLlxuICBleHBvbmVudFByb2R1Y3Q6IFwiXFxcXGNkb3RcIixcbiAgYmVnaW5FeHBvbmVudE1hcmtlcjogXCIxMF57XCIsXG4gIC8vIGNvdWxkIGJlICdlJ1xuICBlbmRFeHBvbmVudE1hcmtlcjogXCJ9XCIsXG4gIG5vdGF0aW9uOiBcImF1dG9cIixcbiAgdHJ1bmNhdGlvbk1hcmtlcjogXCJcXFxcbGRvdHNcIixcbiAgYmVnaW5SZXBlYXRpbmdEaWdpdHM6IFwiXFxcXG92ZXJsaW5le1wiLFxuICBlbmRSZXBlYXRpbmdEaWdpdHM6IFwifVwiLFxuICBpbWFnaW5hcnlVbml0OiBcIlxcXFxpbWFnaW5hcnlJXCIsXG4gIGF2b2lkRXhwb25lbnRzSW5SYW5nZTogWy03LCAyMF1cbn07XG52YXIgREVGQVVMVF9QQVJTRV9MQVRFWF9PUFRJT05TID0ge1xuICBhcHBseUludmlzaWJsZU9wZXJhdG9yOiBcImF1dG9cIixcbiAgc2tpcFNwYWNlOiB0cnVlLFxuICBwYXJzZUFyZ3VtZW50c09mVW5rbm93bkxhdGV4Q29tbWFuZHM6IHRydWUsXG4gIHBhcnNlTnVtYmVyczogdHJ1ZSxcbiAgcGFyc2VVbmtub3duSWRlbnRpZmllcjogKGlkLCBwYXJzZXIpID0+IHBhcnNlci5jb21wdXRlRW5naW5lPy5sb29rdXBGdW5jdGlvbihpZCkgIT09IHZvaWQgMCA/IFwiZnVuY3Rpb25cIiA6IFwic3ltYm9sXCIsXG4gIHByZXNlcnZlTGF0ZXg6IGZhbHNlXG59O1xudmFyIF9QYXJzZXIgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHRva2Vucywgb3B0aW9ucywgZGljdGlvbmFyeTIsIGNvbXB1dGVFbmdpbmUpIHtcbiAgICB0aGlzLmluZGV4ID0gMDtcbiAgICAvLyBBIHBhcnNpbmcgYm91bmRhcnkgaXMgYSBzZXF1ZW5jZSBvZiB0b2tlbnMgdGhhdCBpbmRpY2F0ZSB0aGF0IGFcbiAgICAvLyByZWN1cnNpdmUgcGFyc2luZyBvcGVyYXRpb24gc2hvdWxkIHN0b3AuXG4gICAgLy8gSW4gYSB0cmFkaXRpb25hbCBwYXJzZXIsIGtlZXBpbmcgdHJhY2sgb2YgcGFyc2luZyBib3VuZGFyaWVzIHdvdWxkXG4gICAgLy8gbm90IGJlIG5lY2Vzc2FyeS4gSG93ZXZlciwgYmVjYXVzZSB3ZSBhdHRlbXB0IHRvIGRlbGl2ZXIgdGhlIGJlc3RcbiAgICAvLyBpbnRlcnByZXRhdGlvbiBvZiBhIHBhcnRpYWwgZXhwcmVzc2lvbiwgYm91bmRhcmllcyBhbGxvdyB1cyB0byBmYWlsXG4gICAgLy8gcGFyc2luZyBtb3JlIGxvY2FsbHkuXG4gICAgLy8gRm9yIGV4YW1wbGUsIGluIGBcXGJlZ2lue2Nhc2VzfSB8IFxcZW5ke2Nhc2VzfWAsIHdpdGhvdXQgYm91bmRhcnlcbiAgICAvLyBkZXRlY3Rpb24sIHRoZSBwYXJzaW5nIG9mIGB8YCB3b3VsZCBhdHRlbXB0IHRvIGdvYmxlIHVwIGBcXGVuZHtjYXNlc31gXG4gICAgLy8gd2hpY2ggd291bGQgYmUgaW50ZXJwcmV0ZWQgYXMgYW4gdW5leHBlY3RlZCBjb21tYW5kLCBhbmQgdGhlIHdob2xlIGBcXGJlZ2luYFxuICAgIC8vIHdvdWxkIGJlIHJlamVjdGVkIGFzIGFuIHVuYmFsYW5jZWQgZW52aXJvbm1lbnQuIFdpdGggYFxcZW5ke2Nhc2VzfWAgYXMgYVxuICAgIC8vIGJvdW5kYXJ5LCB0aGUgcGFyc2luZyBvZiB0aGUgYHxgIGFyZ3VtZW50IHN0b3BzIGFzIHNvb24gYXMgaXQgZW5jb3VudGVyc1xuICAgIC8vIHRoZSBgXFxlbmR7Y2FzZXN9YCBhbmQgY2FuIHByb3Blcmx5IHJlcG9ydCBhbiB1bmV4cGVjdGVkIHRva2Ugb24gdGhlIGB8YFxuICAgIC8vIG9ubHkgd2hpbGUgY29ycmVjdGx5IGludGVycHJldGluZyB0aGUgYFxcYmVnaW57Y2FzZXN9Li4uXFxlbmR7Y2FzZXN9YFxuICAgIHRoaXMuX2JvdW5kYXJpZXMgPSBbXTtcbiAgICAvLyBUaG9zZSB0d28gcHJvcGVydGllcyBhcmUgdXNlZCB0byBkZXRlY3QgaW5maW5pdGUgbG9vcHMgd2hpbGUgcGFyc2luZ1xuICAgIHRoaXMuX2xhc3RQZWVrID0gXCJcIjtcbiAgICB0aGlzLl9wZWVrQ291bnRlciA9IDA7XG4gICAgdGhpcy5fdG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIC4uLkRFRkFVTFRfTEFURVhfTlVNQkVSX09QVElPTlMsXG4gICAgICAuLi5ERUZBVUxUX1BBUlNFX0xBVEVYX09QVElPTlMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcbiAgICB0aGlzLl9kaWN0aW9uYXJ5ID0gZGljdGlvbmFyeTI7XG4gICAgdGhpcy5jb21wdXRlRW5naW5lID0gY29tcHV0ZUVuZ2luZTtcbiAgICB0aGlzLl9wb3NpdGl2ZUluZmluaXR5VG9rZW5zID0gdG9rZW5pemUodGhpcy5vcHRpb25zLnBvc2l0aXZlSW5maW5pdHksIFtdKTtcbiAgICB0aGlzLl9uZWdhdGl2ZUluZmluaXR5VG9rZW5zID0gdG9rZW5pemUodGhpcy5vcHRpb25zLm5lZ2F0aXZlSW5maW5pdHksIFtdKTtcbiAgICB0aGlzLl9ub3RBTnVtYmVyVG9rZW5zID0gdG9rZW5pemUodGhpcy5vcHRpb25zLm5vdEFOdW1iZXIsIFtdKTtcbiAgICB0aGlzLl9kZWNpbWFsTWFya2VyVG9rZW5zID0gdG9rZW5pemUodGhpcy5vcHRpb25zLmRlY2ltYWxNYXJrZXIsIFtdKTtcbiAgICB0aGlzLl9ncm91cFNlcGFyYXRvclRva2VucyA9IHRva2VuaXplKHRoaXMub3B0aW9ucy5ncm91cFNlcGFyYXRvciwgW10pO1xuICAgIHRoaXMuX2V4cG9uZW50UHJvZHVjdFRva2VucyA9IHRva2VuaXplKHRoaXMub3B0aW9ucy5leHBvbmVudFByb2R1Y3QsIFtdKTtcbiAgICB0aGlzLl9iZWdpbkV4cG9uZW50TWFya2VyVG9rZW5zID0gdG9rZW5pemUoXG4gICAgICB0aGlzLm9wdGlvbnMuYmVnaW5FeHBvbmVudE1hcmtlcixcbiAgICAgIFtdXG4gICAgKTtcbiAgICB0aGlzLl9lbmRFeHBvbmVudE1hcmtlclRva2VucyA9IHRva2VuaXplKFxuICAgICAgdGhpcy5vcHRpb25zLmVuZEV4cG9uZW50TWFya2VyLFxuICAgICAgW11cbiAgICApO1xuICAgIHRoaXMuX3RydW5jYXRpb25NYXJrZXJUb2tlbnMgPSB0b2tlbml6ZSh0aGlzLm9wdGlvbnMudHJ1bmNhdGlvbk1hcmtlciwgW10pO1xuICAgIHRoaXMuX2JlZ2luUmVwZWF0aW5nRGlnaXRzVG9rZW5zID0gdG9rZW5pemUoXG4gICAgICB0aGlzLm9wdGlvbnMuYmVnaW5SZXBlYXRpbmdEaWdpdHMsXG4gICAgICBbXVxuICAgICk7XG4gICAgdGhpcy5fZW5kUmVwZWF0aW5nRGlnaXRzVG9rZW5zID0gdG9rZW5pemUoXG4gICAgICB0aGlzLm9wdGlvbnMuZW5kUmVwZWF0aW5nRGlnaXRzLFxuICAgICAgW11cbiAgICApO1xuICAgIHRoaXMuX2ltYWdpbmFyeU51bWJlclRva2VucyA9IHRva2VuaXplKHRoaXMub3B0aW9ucy5pbWFnaW5hcnlVbml0LCBbXSk7XG4gIH1cbiAgdXBkYXRlT3B0aW9ucyhvcHQpIHtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvcHQpKVxuICAgICAgaWYgKGsgaW4gdGhpcy5vcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9uc1trXSA9IHY7XG4gICAgICAgIGlmICh0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIGlmIChrID09PSBcInBvc2l0aXZlSW5maW5pdHlcIilcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aXZlSW5maW5pdHlUb2tlbnMgPSB0b2tlbml6ZSh2LCBbXSk7XG4gICAgICAgICAgaWYgKGsgPT09IFwibmVnYXRpdmVJbmZpbml0eVwiKVxuICAgICAgICAgICAgdGhpcy5fbmVnYXRpdmVJbmZpbml0eVRva2VucyA9IHRva2VuaXplKHYsIFtdKTtcbiAgICAgICAgICBpZiAoayA9PT0gXCJub3RBTnVtYmVyXCIpXG4gICAgICAgICAgICB0aGlzLl9ub3RBTnVtYmVyVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcImRlY2ltYWxNYXJrZXJcIilcbiAgICAgICAgICAgIHRoaXMuX2RlY2ltYWxNYXJrZXJUb2tlbnMgPSB0b2tlbml6ZSh2LCBbXSk7XG4gICAgICAgICAgaWYgKGsgPT09IFwiZ3JvdXBTZXBhcmF0b3JcIilcbiAgICAgICAgICAgIHRoaXMuX2dyb3VwU2VwYXJhdG9yVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcImV4cG9uZW50UHJvZHVjdFwiKVxuICAgICAgICAgICAgdGhpcy5fZXhwb25lbnRQcm9kdWN0VG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcImJlZ2luRXhwb25lbnRNYXJrZXJcIilcbiAgICAgICAgICAgIHRoaXMuX2JlZ2luRXhwb25lbnRNYXJrZXJUb2tlbnMgPSB0b2tlbml6ZSh2LCBbXSk7XG4gICAgICAgICAgaWYgKGsgPT09IFwiZW5kRXhwb25lbnRNYXJrZXJcIilcbiAgICAgICAgICAgIHRoaXMuX2VuZEV4cG9uZW50TWFya2VyVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcInRydW5jYXRpb25NYXJrZXJcIilcbiAgICAgICAgICAgIHRoaXMuX3RydW5jYXRpb25NYXJrZXJUb2tlbnMgPSB0b2tlbml6ZSh2LCBbXSk7XG4gICAgICAgICAgaWYgKGsgPT09IFwiYmVnaW5SZXBlYXRpbmdEaWdpdHNcIilcbiAgICAgICAgICAgIHRoaXMuX2JlZ2luUmVwZWF0aW5nRGlnaXRzVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcImVuZFJlcGVhdGluZ0RpZ2l0c1wiKVxuICAgICAgICAgICAgdGhpcy5fZW5kUmVwZWF0aW5nRGlnaXRzVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICAgIGlmIChrID09PSBcImltYWdpbmFyeU51bWJlclwiKVxuICAgICAgICAgICAgdGhpcy5faW1hZ2luYXJ5TnVtYmVyVG9rZW5zID0gdG9rZW5pemUodiwgW10pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2VcbiAgICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWQgb3B0aW9uIFwiJHtrfVwiYCk7XG4gIH1cbiAgZ2V0IGF0RW5kKCkge1xuICAgIHJldHVybiB0aGlzLmluZGV4ID49IHRoaXMuX3Rva2Vucy5sZW5ndGg7XG4gIH1cbiAgZ2V0IHBlZWsoKSB7XG4gICAgY29uc3QgcGVlayA9IHRoaXMuX3Rva2Vuc1t0aGlzLmluZGV4XTtcbiAgICBpZiAocGVlayA9PT0gdGhpcy5fbGFzdFBlZWspXG4gICAgICB0aGlzLl9wZWVrQ291bnRlciArPSAxO1xuICAgIGVsc2VcbiAgICAgIHRoaXMuX3BlZWtDb3VudGVyID0gMDtcbiAgICBpZiAodGhpcy5fcGVla0NvdW50ZXIgPj0gMTAyNCkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYEluZmluaXRlIGxvb3AgZGV0ZWN0ZWQgd2hpbGUgcGFyc2luZyBcIiR7dGhpcy5sYXRleCgwKX1cIiBhdCBcIiR7dGhpcy5fbGFzdFBlZWt9XCIgKGluZGV4ICR7dGhpcy5pbmRleH0pYFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEluZmluaXRlIGxvb3AgZGV0ZWN0ZWQgd2hpbGUgcGFyc2luZyBcIiR7dGhpcy5sYXRleCgwKX1cIiBhdCAke3RoaXMuX2xhc3RQZWVrfSAoaW5kZXggJHt0aGlzLmluZGV4fSlgXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYXN0UGVlayA9IHBlZWs7XG4gICAgcmV0dXJuIHBlZWs7XG4gIH1cbiAgbmV4dFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLl90b2tlbnNbdGhpcy5pbmRleCsrXTtcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWZcbiAgICogLSBhdCBlbmQgb2YgdGhlIHRva2VuIHN0cmVhbVxuICAgKiAtIHRoZSBgdC5jb25kaXRpb25gIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZVxuICAgKiBOb3RlOiB0aGUgYG1pblByZWNgIGNvbmRpdGlvbiBpcyBub3QgY2hlY2tlZC4gSXQgc2hvdWxkIGJlIGNoZWNrZWQgc2VwYXJhdGVseS5cbiAgICovXG4gIGF0VGVybWluYXRvcih0KSB7XG4gICAgcmV0dXJuIHRoaXMuYXRCb3VuZGFyeSB8fCAoKHQ/LmNvbmRpdGlvbiAmJiB0LmNvbmRpdGlvbih0aGlzKSkgPz8gZmFsc2UpO1xuICB9XG4gIC8qKlxuICAgKiBUcnVlIGlmIHRoZSBjdXJyZW50IHRva2VuIG1hdGNoZXMgYW55IG9mIHRoZSBib3VuZGFyaWVzIHdlIGFyZVxuICAgKiB3YWl0aW5nIGZvci5cbiAgICovXG4gIGdldCBhdEJvdW5kYXJ5KCkge1xuICAgIGlmICh0aGlzLmF0RW5kKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGZvciAoY29uc3QgYm91bmRhcnkgb2YgdGhpcy5fYm91bmRhcmllcykge1xuICAgICAgaWYgKHRoaXMubWF0Y2hBbGwoYm91bmRhcnkudG9rZW5zKSkge1xuICAgICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgYWRkQm91bmRhcnkoYm91bmRhcnkpIHtcbiAgICB0aGlzLl9ib3VuZGFyaWVzLnB1c2goeyBpbmRleDogdGhpcy5pbmRleCwgdG9rZW5zOiBib3VuZGFyeSB9KTtcbiAgfVxuICByZW1vdmVCb3VuZGFyeSgpIHtcbiAgICB0aGlzLl9ib3VuZGFyaWVzLnBvcCgpO1xuICB9XG4gIG1hdGNoQm91bmRhcnkoKSB7XG4gICAgY29uc3QgY3VycmVudEJvdW5kYXJ5ID0gdGhpcy5fYm91bmRhcmllc1t0aGlzLl9ib3VuZGFyaWVzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IG1hdGNoMiA9IGN1cnJlbnRCb3VuZGFyeSAmJiB0aGlzLm1hdGNoQWxsKGN1cnJlbnRCb3VuZGFyeS50b2tlbnMpO1xuICAgIGlmIChtYXRjaDIpXG4gICAgICB0aGlzLl9ib3VuZGFyaWVzLnBvcCgpO1xuICAgIHJldHVybiBtYXRjaDI7XG4gIH1cbiAgYm91bmRhcnlFcnJvcihtc2cpIHtcbiAgICBjb25zdCBjdXJyZW50Qm91bmRhcnkgPSB0aGlzLl9ib3VuZGFyaWVzW3RoaXMuX2JvdW5kYXJpZXMubGVuZ3RoIC0gMV07XG4gICAgdGhpcy5fYm91bmRhcmllcy5wb3AoKTtcbiAgICByZXR1cm4gdGhpcy5lcnJvcihtc2csIGN1cnJlbnRCb3VuZGFyeS5pbmRleCk7XG4gIH1cbiAgbGF0ZXgoc3RhcnQsIGVuZCkge1xuICAgIHJldHVybiB0b2tlbnNUb1N0cmluZyh0aGlzLl90b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCkpO1xuICB9XG4gIGxhdGV4QWhlYWQobikge1xuICAgIHJldHVybiB0aGlzLmxhdGV4KHRoaXMuaW5kZXgsIHRoaXMuaW5kZXggKyBuKTtcbiAgfVxuICAvLyBsYXRleEJlZm9yZSgpOiBzdHJpbmcge1xuICAvLyAgIHJldHVybiB0aGlzLmxhdGV4KDAsIHRoaXMuaW5kZXgpO1xuICAvLyB9XG4gIC8vIGxhdGV4QWZ0ZXIoKTogc3RyaW5nIHtcbiAgLy8gICByZXR1cm4gdGhpcy5sYXRleCh0aGlzLmluZGV4KTtcbiAgLy8gfVxuICAvKipcbiAgICogUmV0dXJuIGF0IG1vc3QgYHRoaXMuX2RpY3Rpb25hcnkubG9va2FoZWFkYCBMYVRlWCB0b2tlbnMuXG4gICAqXG4gICAqIFRoZSBpbmRleCBpbiB0aGUgcmV0dXJuZWQgYXJyYXkgY29ycmVzcG9uZCB0byB0aGUgbnVtYmVyIG9mIHRva2Vucy5cbiAgICogTm90ZSB0aGF0IHNpbmNlIGEgdG9rZW4gY2FuIGJlIGxvbmdlciB0aGFuIG9uZSBjaGFyICgnXFxcXHBpJywgYnV0IGFsc29cbiAgICogc29tZSBhc3RyYWwgcGxhbmUgdW5pY29kZSBjaGFyYWN0ZXJzKSwgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nXG4gICAqIGRvZXMgbm90IG1hdGNoIHRoYXQgaW5kZXguIEhvd2V2ZXIsIGtub3dpbmcgdGhlIGluZGV4IGlzIGltcG9ydGFudFxuICAgKiB0byBrbm93IGJ5IGhvdyBtYW55IHRva2VucyB0byBhZHZhbmNlLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZTpcbiAgICpcbiAgICogYFtlbXB0eSwgJ1xcXFxzcXJ0JywgJ1xcXFxzcXJ0eycsICdcXFxcc3FydHsyJywgJ1xcXFxzcXJ0ezJ9J11gXG4gICAqXG4gICAqL1xuICBsb29rQWhlYWQoKSB7XG4gICAgbGV0IG4gPSBNYXRoLm1pbihcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkubG9va2FoZWFkLFxuICAgICAgdGhpcy5fdG9rZW5zLmxlbmd0aCAtIHRoaXMuaW5kZXhcbiAgICApO1xuICAgIGlmIChuIDw9IDApXG4gICAgICByZXR1cm4gW107XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgd2hpbGUgKG4gPiAwKVxuICAgICAgcmVzdWx0LnB1c2goW24sIHRoaXMubGF0ZXhBaGVhZChuLS0pXSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBwZWVrRGVmaW5pdGlvbnMoa2luZCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGNvbnN0IGRlZnMgPSBbLi4udGhpcy5nZXREZWZzKGtpbmQpXTtcbiAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKVxuICAgICAgaWYgKGRlZi5sYXRleFRyaWdnZXIgPT09IFwiXCIpXG4gICAgICAgIHJlc3VsdC5wdXNoKFtkZWYsIDBdKTtcbiAgICBmb3IgKGNvbnN0IFtuLCB0b2tlbnNdIG9mIHRoaXMubG9va0FoZWFkKCkpIHtcbiAgICAgIGZvciAoY29uc3QgZGVmIG9mIGRlZnMpXG4gICAgICAgIGlmIChkZWYubGF0ZXhUcmlnZ2VyID09PSB0b2tlbnMpXG4gICAgICAgICAgcmVzdWx0LnB1c2goW2RlZiwgbl0pO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKSB7XG4gICAgICBpZiAoZGVmLmlkZW50aWZpZXJUcmlnZ2VyKSB7XG4gICAgICAgIGNvbnN0IG4gPSBwYXJzZUNvbXBsZXhJZCh0aGlzLCBkZWYuaWRlbnRpZmllclRyaWdnZXIpO1xuICAgICAgICBpZiAobiA+IDApXG4gICAgICAgICAgcmVzdWx0LnB1c2goW2RlZiwgbl0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKiBTa2lwIHN0cmljdGx5IGA8c3BhY2U+YCB0b2tlbnMuXG4gICAqIFRvIGFsc28gc2tpcCBge31gIHNlZSBgc2tpcFNwYWNlKClgLlxuICAgKiBUbyBza2lwIHZpc3VhbCBzcGFjZSAoZS5nLiBgXFwsYCkgc2VlIGBza2lwVmlzdWFsU3BhY2UoKWAuXG4gICAqL1xuICBza2lwU3BhY2VUb2tlbnMoKSB7XG4gICAgd2hpbGUgKHRoaXMubWF0Y2goXCI8c3BhY2U+XCIpKSB7XG4gICAgfVxuICB9XG4gIC8qKiBXaGlsZSBwYXJzaW5nIGluIG1hdGggbW9kZSwgc2tpcCBhcHBsaWNhYmxlIHNwYWNlcywgd2hpY2ggaW5jbHVkZXMgYHt9YC5cbiAgICogRG8gbm90IHVzZSB0byBza2lwIHNwYWNlcyB3aGlsZSBwYXJzaW5nIGEgc3RyaW5nLiBTZWUgIGBza2lwU3BhY2VUb2tlbnMoKWBcbiAgICogaW5zdGVhZC5cbiAgICovXG4gIHNraXBTcGFjZSgpIHtcbiAgICBpZiAoIXRoaXMuYXRFbmQgJiYgdGhpcy5wZWVrID09PSBcIjx7PlwiKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXg7XG4gICAgICB0aGlzLm5leHRUb2tlbigpO1xuICAgICAgd2hpbGUgKHRoaXMubWF0Y2goXCI8c3BhY2U+XCIpKSB7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5uZXh0VG9rZW4oKSA9PT0gXCI8fT5cIikge1xuICAgICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc2tpcFNwYWNlKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICB3aGlsZSAodGhpcy5tYXRjaChcIjxzcGFjZT5cIikpXG4gICAgICByZXN1bHQgPSB0cnVlO1xuICAgIGlmIChyZXN1bHQpXG4gICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgc2tpcFZpc3VhbFNwYWNlKCkge1xuICAgIGlmICghdGhpcy5vcHRpb25zLnNraXBTcGFjZSlcbiAgICAgIHJldHVybjtcbiAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgIGlmIChbXG4gICAgICBcIlxcXFwhXCIsXG4gICAgICBcIlxcXFwsXCIsXG4gICAgICBcIlxcXFw6XCIsXG4gICAgICBcIlxcXFw7XCIsXG4gICAgICBcIlxcXFxlbnNraXBcIixcbiAgICAgIFwiXFxcXGVuc3BhY2VcIixcbiAgICAgIFwiXFxcXHNwYWNlXCIsXG4gICAgICBcIlxcXFxxdWFkXCIsXG4gICAgICBcIlxcXFxxcXVhZFwiXG4gICAgXS5pbmNsdWRlcyh0aGlzLnBlZWspKSB7XG4gICAgICB0aGlzLm5leHRUb2tlbigpO1xuICAgICAgdGhpcy5za2lwVmlzdWFsU3BhY2UoKTtcbiAgICB9XG4gICAgdGhpcy5za2lwU3BhY2UoKTtcbiAgfVxuICBtYXRjaCh0b2tlbikge1xuICAgIGlmICh0aGlzLl90b2tlbnNbdGhpcy5pbmRleF0gPT09IHRva2VuKSB7XG4gICAgICB0aGlzLmluZGV4Kys7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIG1hdGNoQWxsKHRva2Vucykge1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChBcnJheS5pc0FycmF5KHRva2VucykpO1xuICAgIGlmICh0b2tlbnMubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBtYXRjaGVkID0gdHJ1ZTtcbiAgICBsZXQgaSA9IDA7XG4gICAgZG8ge1xuICAgICAgbWF0Y2hlZCA9IHRoaXMuX3Rva2Vuc1t0aGlzLmluZGV4ICsgaV0gPT09IHRva2Vuc1tpKytdO1xuICAgIH0gd2hpbGUgKG1hdGNoZWQgJiYgaSA8IHRva2Vucy5sZW5ndGgpO1xuICAgIGlmIChtYXRjaGVkKVxuICAgICAgdGhpcy5pbmRleCArPSBpO1xuICAgIHJldHVybiBtYXRjaGVkO1xuICB9XG4gIG1hdGNoQW55KHRva2Vucykge1xuICAgIGlmICh0b2tlbnMuaW5jbHVkZXModGhpcy5fdG9rZW5zW3RoaXMuaW5kZXhdKSlcbiAgICAgIHJldHVybiB0aGlzLl90b2tlbnNbdGhpcy5pbmRleCsrXTtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuICBtYXRjaENoYXIoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4O1xuICAgIGxldCBjYXJldENvdW50ID0gMDtcbiAgICB3aGlsZSAodGhpcy5tYXRjaChcIl5cIikpXG4gICAgICBjYXJldENvdW50ICs9IDE7XG4gICAgaWYgKGNhcmV0Q291bnQgPCAyKVxuICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgIGlmIChjYXJldENvdW50ID49IDIpIHtcbiAgICAgIGxldCBkaWdpdHMgPSBcIlwiO1xuICAgICAgbGV0IG4gPSAwO1xuICAgICAgd2hpbGUgKG4gIT0gY2FyZXRDb3VudCkge1xuICAgICAgICBjb25zdCBkaWdpdCA9IHRoaXMubWF0Y2hBbnkoW1xuICAgICAgICAgIFwiMFwiLFxuICAgICAgICAgIFwiMVwiLFxuICAgICAgICAgIFwiMlwiLFxuICAgICAgICAgIFwiM1wiLFxuICAgICAgICAgIFwiNFwiLFxuICAgICAgICAgIFwiNVwiLFxuICAgICAgICAgIFwiNlwiLFxuICAgICAgICAgIFwiN1wiLFxuICAgICAgICAgIFwiOFwiLFxuICAgICAgICAgIFwiOVwiLFxuICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgIFwiYlwiLFxuICAgICAgICAgIFwiY1wiLFxuICAgICAgICAgIFwiZFwiLFxuICAgICAgICAgIFwiZVwiLFxuICAgICAgICAgIFwiZlwiXG4gICAgICAgIF0pO1xuICAgICAgICBpZiAoIWRpZ2l0KVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkaWdpdHMgKz0gZGlnaXQ7XG4gICAgICAgIG4gKz0gMTtcbiAgICAgIH1cbiAgICAgIGlmIChkaWdpdHMubGVuZ3RoID09PSBjYXJldENvdW50KVxuICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoTnVtYmVyLnBhcnNlSW50KGRpZ2l0cywgMTYpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2goXCJcXFxcY2hhclwiKSkge1xuICAgICAgbGV0IGNvZGVwb2ludCA9IE1hdGguZmxvb3IodGhpcy5tYXRjaExhdGV4TnVtYmVyKCkgPz8gTnVtYmVyLk5hTik7XG4gICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShjb2RlcG9pbnQpIHx8IGNvZGVwb2ludCA8IDAgfHwgY29kZXBvaW50ID4gMTExNDExMSkge1xuICAgICAgICBjb2RlcG9pbnQgPSAxMDA2NztcbiAgICAgIH1cbiAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlcG9pbnQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaChcIlxcXFx1bmljb2RlXCIpKSB7XG4gICAgICB0aGlzLnNraXBTcGFjZVRva2VucygpO1xuICAgICAgaWYgKHRoaXMubWF0Y2goXCI8ez5cIikpIHtcbiAgICAgICAgY29uc3QgY29kZXBvaW50ID0gdGhpcy5tYXRjaExhdGV4TnVtYmVyKCk7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoKFwiPH0+XCIpICYmIGNvZGVwb2ludCAhPT0gbnVsbCAmJiBjb2RlcG9pbnQgPj0gMCAmJiBjb2RlcG9pbnQgPD0gMTExNDExMSkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlcG9pbnQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb2RlcG9pbnQgPSB0aGlzLm1hdGNoTGF0ZXhOdW1iZXIoKTtcbiAgICAgICAgaWYgKGNvZGVwb2ludCAhPT0gbnVsbCAmJiBjb2RlcG9pbnQgPj0gMCAmJiBjb2RlcG9pbnQgPD0gMTExNDExMSlcbiAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoY29kZXBvaW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKiBJZiB0aGUgbmV4dCB0b2tlbiBtYXRjaGVzIHRoZSBvcGVuIGRlbGltaXRlciwgc2V0IGEgYm91bmRhcnkgd2l0aFxuICAgKiB0aGUgY2xvc2UgdG9rZW4gYW5kIHJldHVybiB0cnVlLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgbWV0aG9kIGhhbmRsZXMgZ2VuZXJpYyBkZWxpbWl0ZXJzLCBpLmUuICcoJyB3aWxsIG1hdGggYm90aFxuICAgKiAnKCcsICdcXGxlZnQoJywgJ1xcYmlnbCgnLCBldGMuLi5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBkZWZpbml0aW9ucyBmb3IgbWF0Y2hmaXggbWF5IG5lZWQgdG8gaW5jbHVkZSBzeW5vbnltc1xuICAgKiBmb3IgZXhhbXBsZTpcbiAgICpcbiAgICoge1xuICAgKiAgICBvcGVuRGVsaW1pdGVyOiAnKCcsXG4gICAqICAgIGNsb3NlRGVsaW1pdGVyOiAnKSdcbiAgICogfVxuICAgKlxuICAgKiBhbmRcbiAgICpcbiAgICoge1xuICAgKiAgIG9wZW5EZWxpbWl0ZXI6ICdcXFxcbHBhcmVuJyxcbiAgICogICBjbG9zZURlbGltaXRlcjogJ1xcXFxycGFyZW4nXG4gICAqIH1cbiAgICpcbiAgICogRm9yOlxuICAgKiAtICdbJzogJ1xcXFxsYnJhY2snIGFuZCAnXFxcXFsnXG4gICAqIC0gJ10nOiAnXFxcXHJicmFjaycgYW5kICdcXFxcXSdcbiAgICogLSAneyc6ICdcXFxcbGJyYWNlJyBhbmQgJ1xcXFx9J1xuICAgKiAtICd9JzogJ1xcXFxyYnJhY2UnIGFuZCAnXFxcXH0nXG4gICAqIC0gJzwnOiAnXFxcXGxhbmdsZSdcbiAgICogLSAnPic6ICdcXFxccmFuZ2xlJ1xuICAgKiAtICd8JzogJ1xcXFx2ZXJ0J1xuICAgKiAtICd8fCc6ICdcXFxcVmVydCdcbiAgICogLSAnfCc6ICdcXFxcbHZlcnQnIGFuZCAnXFxcXHJ2ZXJ0J1xuICAgKiAtICd8fCc6ICdcXFxcbFZlcnQnIGFuZCAnXFxcXHJWZXJ0J1xuICAgKi9cbiAgbWF0Y2hEZWxpbWl0ZXIob3BlbiwgY2xvc2UpIHtcbiAgICBpZiAodGhpcy5wZWVrID09PSBcIltcIilcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcGVuKSkge1xuICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KEFycmF5LmlzQXJyYXkoY2xvc2UpKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoQWxsKG9wZW4pKSB7XG4gICAgICAgIHRoaXMuYWRkQm91bmRhcnkoY2xvc2UpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGNvbnN0IGNsb3NlUHJlZml4ID0gT1BFTl9ERUxJTUlURVJfUFJFRklYW3RoaXMucGVla107XG4gICAgaWYgKGNsb3NlUHJlZml4KVxuICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICBpZiAob3BlbiA9PT0gXCJ8fFwiICYmIHRoaXMubWF0Y2hBbGwoW1wifFwiLCBcInxcIl0pKSB7XG4gICAgICB0aGlzLmFkZEJvdW5kYXJ5KFtcInxcIiwgXCJ8XCJdKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIXRoaXMubWF0Y2gob3BlbikpIHtcbiAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5hZGRCb3VuZGFyeShjbG9zZVByZWZpeCA/IFtjbG9zZVByZWZpeCwgY2xvc2VdIDogW2Nsb3NlXSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcGFyc2VHcm91cCgpIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgdGhpcy5za2lwU3BhY2VUb2tlbnMoKTtcbiAgICBpZiAodGhpcy5tYXRjaChcIjx7PlwiKSkge1xuICAgICAgdGhpcy5hZGRCb3VuZGFyeShbXCI8fT5cIl0pO1xuICAgICAgY29uc3QgZXhwciA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG4gICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgICAgaWYgKHRoaXMubWF0Y2hCb3VuZGFyeSgpKVxuICAgICAgICByZXR1cm4gZXhwciA/PyBbXCJTZXF1ZW5jZVwiXTtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmluZGV4O1xuICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoQm91bmRhcnkoKSAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICAgIGNvbnN0IGVyciA9IHRoaXMuZXJyb3IoXCJzeW50YXgtZXJyb3JcIiwgZnJvbSk7XG4gICAgICByZXR1cm4gZXhwciA/IFtcIlNlcXVlbmNlXCIsIGV4cHIsIGVycl0gOiBlcnI7XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBTb21lIExhVGVYIGNvbW1hbmRzIChidXQgbm90IGFsbCkgY2FuIGFjY2VwdCBhbiBhcmd1bWVudCB3aXRob3V0IGJyYWNlcyxcbiAgLy8gZm9yIGV4YW1wbGUgYF5gICwgYFxcc3FydGAgb3IgYFxcZnJhY2AuXG4gIC8vIFRoaXMgYXJndW1lbnQgd2lsbCB1c3VhbGx5IGJlIGEgc2luZ2xlIHRva2VuLCBidXQgY2FuIGJlIGEgc2VxdWVuY2Ugb2ZcbiAgLy8gdG9rZW5zIChlLmcuIGBcXHNxcnRcXGZyYWMxMmAgb3IgYFxcc3FydFxcb3BlcmF0b3JuYW1le3NwZWVkfWApLlxuICBwYXJzZVRva2VuKCkge1xuICAgIGNvbnN0IGV4Y2x1ZGluZyA9IFtcbiAgICAgIC4uLichXCIjJCUmKCksLzs6P0BbXVxcXFxgfH4nLnNwbGl0KFwiXCIpLFxuICAgICAgXCJcXFxcbGVmdFwiLFxuICAgICAgXCJcXFxcYmlnbFwiXG4gICAgXTtcbiAgICBpZiAoZXhjbHVkaW5nLmluY2x1ZGVzKHRoaXMucGVlaykpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoL15bMC05XSQvLnRlc3QodGhpcy5wZWVrKSlcbiAgICAgIHJldHVybiBwYXJzZUludCh0aGlzLm5leHRUb2tlbigpKTtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlR2VuZXJpY0V4cHJlc3Npb24oKSA/PyB0aGlzLnBhcnNlU3ltYm9sKCk7XG4gICAgaWYgKCFyZXN1bHQpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHBhcnNlT3B0aW9uYWxHcm91cCgpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXg7XG4gICAgdGhpcy5za2lwU3BhY2VUb2tlbnMoKTtcbiAgICBpZiAodGhpcy5tYXRjaChcIltcIikpIHtcbiAgICAgIHRoaXMuYWRkQm91bmRhcnkoW1wiXVwiXSk7XG4gICAgICBjb25zdCBleHByID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgICBpZiAodGhpcy5tYXRjaEJvdW5kYXJ5KCkpXG4gICAgICAgIHJldHVybiBleHByO1xuICAgICAgcmV0dXJuIHRoaXMuYm91bmRhcnlFcnJvcihcImV4cGVjdGVkLWNsb3NpbmctZGVsaW1pdGVyXCIpO1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFBhcnNlIGFuIGV4cHJlc3Npb24gaW4gYSB0YWJ1bGFyIGZvcm1hdCwgd2hlcmUgcm93cyBhcmUgc2VwYXJhdGVkIGJ5IGBcXFxcYFxuICAgKiBhbmQgY29sdW1ucyBieSBgJmAuXG4gICAqXG4gICAqIFJldHVybiByb3dzIG9mIHNwYXJzZSBjb2x1bW5zOiBlbXB0eSByb3dzIGFyZSBpbmRpY2F0ZWQgd2l0aCBgTm90aGluZ2AsXG4gICAqIGFuZCBlbXB0eSBjZWxscyBhcmUgYWxzbyBpbmRpY2F0ZWQgd2l0aCBgTm90aGluZ2AuXG4gICAqL1xuICBwYXJzZVRhYnVsYXIoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IHJvdyA9IFtdO1xuICAgIGxldCBleHByID0gbnVsbDtcbiAgICB3aGlsZSAoIXRoaXMuYXRCb3VuZGFyeSkge1xuICAgICAgdGhpcy5za2lwU3BhY2UoKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoKFwiJlwiKSkge1xuICAgICAgICByb3cucHVzaChleHByID8/IFwiTm90aGluZ1wiKTtcbiAgICAgICAgZXhwciA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2goXCJcXFxcXFxcXFwiKSB8fCB0aGlzLm1hdGNoKFwiXFxcXGNyXCIpKSB7XG4gICAgICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgICAgIHRoaXMucGFyc2VPcHRpb25hbEdyb3VwKCk7XG4gICAgICAgIGlmIChleHByICE9PSBudWxsKVxuICAgICAgICAgIHJvdy5wdXNoKGV4cHIpO1xuICAgICAgICByZXN1bHQucHVzaChyb3cpO1xuICAgICAgICByb3cgPSBbXTtcbiAgICAgICAgZXhwciA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjZWxsID0gW107XG4gICAgICAgIGxldCBwZWVrID0gdGhpcy5wZWVrO1xuICAgICAgICB3aGlsZSAocGVlayAhPT0gXCImXCIgJiYgcGVlayAhPT0gXCJcXFxcXFxcXFwiICYmIHBlZWsgIT09IFwiXFxcXGNyXCIgJiYgIXRoaXMuYXRCb3VuZGFyeSkge1xuICAgICAgICAgIGV4cHIgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbih7XG4gICAgICAgICAgICBtaW5QcmVjOiAwLFxuICAgICAgICAgICAgY29uZGl0aW9uOiAocCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwZWVrMiA9IHAucGVlaztcbiAgICAgICAgICAgICAgcmV0dXJuIHBlZWsyID09PSBcIiZcIiB8fCBwZWVrMiA9PT0gXCJcXFxcXFxcXFwiIHx8IHBlZWsyID09PSBcIlxcXFxjclwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChleHByKVxuICAgICAgICAgICAgY2VsbC5wdXNoKGV4cHIpO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY2VsbC5wdXNoKFtcIkVycm9yXCIsIFtcIid1bmV4cGVjdGVkLXRva2VuJ1wiLCBwZWVrXV0pO1xuICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5za2lwU3BhY2UoKTtcbiAgICAgICAgICBwZWVrID0gdGhpcy5wZWVrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZWxsLmxlbmd0aCA+IDEpXG4gICAgICAgICAgZXhwciA9IFtcIlNlcXVlbmNlXCIsIC4uLmNlbGxdO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgZXhwciA9IGNlbGxbMF0gPz8gXCJOb3RoaW5nXCI7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChleHByICE9PSBudWxsKVxuICAgICAgcm93LnB1c2goZXhwcik7XG4gICAgaWYgKHJvdy5sZW5ndGggPiAwKVxuICAgICAgcmVzdWx0LnB1c2gocm93KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKiBQYXJzZSBhIGdyb3VwIGFzIGEgYSBzdHJpbmcsIGZvciBleGFtcGxlIGZvciBgXFxvcGVyYXRvcm5hbWVgIG9yIGBcXGJlZ2luYCAqL1xuICBwYXJzZVN0cmluZ0dyb3VwKCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICB3aGlsZSAodGhpcy5tYXRjaChcIjxzcGFjZT5cIikpIHtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF0Y2goXCI8ez5cIikpIHtcbiAgICAgIHRoaXMuYWRkQm91bmRhcnkoW1wiPH0+XCJdKTtcbiAgICAgIGNvbnN0IGFyZyA9IHRoaXMucGFyc2VTdHJpbmdHcm91cENvbnRlbnQoKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoQm91bmRhcnkoKSlcbiAgICAgICAgcmV0dXJuIGFyZztcbiAgICAgIHRoaXMucmVtb3ZlQm91bmRhcnkoKTtcbiAgICB9XG4gICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKiBQYXJzZSBhbiBlbnZpcm9ubWVudDogYFxcYmVnaW57ZW52fS4uLlxcZW5ke2VuZH1gXG4gICAqL1xuICBwYXJzZUVudmlyb25tZW50KHVudGlsKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4O1xuICAgIGlmICghdGhpcy5tYXRjaChcIlxcXFxiZWdpblwiKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLnBhcnNlU3RyaW5nR3JvdXAoKT8udHJpbSgpO1xuICAgIGlmICghbmFtZSlcbiAgICAgIHJldHVybiB0aGlzLmVycm9yKFwiZXhwZWN0ZWQtZW52aXJvbm1lbnQtbmFtZVwiLCBpbmRleCk7XG4gICAgdGhpcy5hZGRCb3VuZGFyeShbXCJcXFxcZW5kXCIsIFwiPHs+XCIsIC4uLm5hbWUuc3BsaXQoXCJcIiksIFwiPH0+XCJdKTtcbiAgICBmb3IgKGNvbnN0IGRlZiBvZiB0aGlzLmdldERlZnMoXCJlbnZpcm9ubWVudFwiKSlcbiAgICAgIGlmIChkZWYuaWRlbnRpZmllclRyaWdnZXIgPT09IG5hbWUpIHtcbiAgICAgICAgY29uc3QgZXhwciA9IGRlZi5wYXJzZSh0aGlzLCB1bnRpbCk7XG4gICAgICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgICAgIGlmICghdGhpcy5tYXRjaEJvdW5kYXJ5KCkpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYm91bmRhcnlFcnJvcihcInVuYmFsYW5jZWQtZW52aXJvbm1lbnRcIik7XG4gICAgICAgIGlmIChleHByICE9PSBudWxsKVxuICAgICAgICAgIHJldHVybiB0aGlzLmRlY29yYXRlKGV4cHIsIGluZGV4KTtcbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB0aGlzLnBhcnNlVGFidWxhcigpO1xuICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgaWYgKCF0aGlzLm1hdGNoQm91bmRhcnkoKSlcbiAgICAgIHJldHVybiB0aGlzLmJvdW5kYXJ5RXJyb3IoXCJ1bmJhbGFuY2VkLWVudmlyb25tZW50XCIpO1xuICAgIHJldHVybiB0aGlzLmVycm9yKFtcInVua25vd24tZW52aXJvbm1lbnRcIiwgeyBzdHI6IG5hbWUgfV0sIGluZGV4KTtcbiAgfVxuICAvKiogSWYgdGhlIG5leHQgdG9rZW4gbWF0Y2hlcyBhIGArYCBvciBgLWAgc2lnbiwgcmV0dXJuIGl0IGFuZCBhZHZhbmNlIHRoZSBpbmRleC5cbiAgICogT3RoZXJ3aXNlIHJldHVybiBgJydgIGFuZCBkbyBub3QgYWR2YW5jZSAqL1xuICBwYXJzZU9wdGlvbmFsU2lnbigpIHtcbiAgICBsZXQgaXNOZWdhdGl2ZSA9ICEhdGhpcy5tYXRjaEFueShbXCItXCIsIFwiXFx1MjIxMlwiXSk7XG4gICAgd2hpbGUgKHRoaXMubWF0Y2hBbnkoW1wiK1wiLCBcIlxcdUZFNjJcIl0pIHx8IHRoaXMuc2tpcFNwYWNlKCkpXG4gICAgICBpZiAodGhpcy5tYXRjaEFueShbXCItXCIsIFwiXFx1MjIxMlwiXSkpXG4gICAgICAgIGlzTmVnYXRpdmUgPSAhaXNOZWdhdGl2ZTtcbiAgICByZXR1cm4gaXNOZWdhdGl2ZSA/IFwiLVwiIDogXCIrXCI7XG4gIH1cbiAgcGFyc2VEZWNpbWFsRGlnaXRzKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID8/IChvcHRpb25zID0ge30pO1xuICAgIG9wdGlvbnMud2l0aEdyb3VwaW5nID8/IChvcHRpb25zLndpdGhHcm91cGluZyA9IGZhbHNlKTtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgZG9uZSA9IGZhbHNlO1xuICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgd2hpbGUgKC9eWzAtOV0kLy50ZXN0KHRoaXMucGVlaykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2godGhpcy5uZXh0VG9rZW4oKSk7XG4gICAgICAgIHRoaXMuc2tpcFZpc3VhbFNwYWNlKCk7XG4gICAgICB9XG4gICAgICBkb25lID0gdHJ1ZTtcbiAgICAgIGlmIChvcHRpb25zLndpdGhHcm91cGluZyAmJiB0aGlzLm9wdGlvbnMuZ3JvdXBTZXBhcmF0b3IpIHtcbiAgICAgICAgY29uc3Qgc2F2ZWRJbmRleCA9IHRoaXMuaW5kZXg7XG4gICAgICAgIHRoaXMuc2tpcFZpc3VhbFNwYWNlKCk7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoQWxsKHRoaXMuX2dyb3VwU2VwYXJhdG9yVG9rZW5zKSkge1xuICAgICAgICAgIHRoaXMuc2tpcFZpc3VhbFNwYWNlKCk7XG4gICAgICAgICAgaWYgKC9eWzAtOV0kLy50ZXN0KHRoaXMucGVlaykpXG4gICAgICAgICAgICBkb25lID0gZmFsc2U7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5pbmRleCA9IHNhdmVkSW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdC5qb2luKFwiXCIpO1xuICB9XG4gIHBhcnNlU2lnbmVkSW50ZWdlcihvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA/PyAob3B0aW9ucyA9IHt9KTtcbiAgICBvcHRpb25zLndpdGhHcm91cGluZyA/PyAob3B0aW9ucy53aXRoR3JvdXBpbmcgPSBmYWxzZSk7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGNvbnN0IHNpZ24yID0gdGhpcy5wYXJzZU9wdGlvbmFsU2lnbigpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VEZWNpbWFsRGlnaXRzKG9wdGlvbnMpO1xuICAgIGlmIChyZXN1bHQpXG4gICAgICByZXR1cm4gc2lnbjIgPT09IFwiLVwiID8gXCItXCIgKyByZXN1bHQgOiByZXN1bHQ7XG4gICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIHBhcnNlRXhwb25lbnQoKSB7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGlmICh0aGlzLm1hdGNoQW55KFtcImVcIiwgXCJFXCJdKSkge1xuICAgICAgY29uc3QgZXhwb25lbnQgPSB0aGlzLnBhcnNlU2lnbmVkSW50ZWdlcih7IHdpdGhHcm91cGluZzogZmFsc2UgfSk7XG4gICAgICBpZiAoZXhwb25lbnQpXG4gICAgICAgIHJldHVybiBcImVcIiArIGV4cG9uZW50O1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgaWYgKHRoaXMubWF0Y2goXCJcXFxcdGltZXNcIikpIHtcbiAgICAgIHRoaXMuc2tpcFNwYWNlVG9rZW5zKCk7XG4gICAgICBpZiAodGhpcy5tYXRjaChcIjFcIikgJiYgdGhpcy5tYXRjaChcIjBcIikgJiYgdGhpcy5tYXRjaChcIl5cIikpIHtcbiAgICAgICAgaWYgKC9eWzAtOV0kLy50ZXN0KHRoaXMucGVlaykpXG4gICAgICAgICAgcmV0dXJuIFwiZVwiICsgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2goXCI8ez5cIikpIHtcbiAgICAgICAgICB0aGlzLnNraXBTcGFjZVRva2VucygpO1xuICAgICAgICAgIGNvbnN0IGV4cG9uZW50ID0gdGhpcy5wYXJzZVNpZ25lZEludGVnZXIoKTtcbiAgICAgICAgICB0aGlzLnNraXBTcGFjZVRva2VucygpO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKFwiPH0+XCIpICYmIGV4cG9uZW50KVxuICAgICAgICAgICAgcmV0dXJuIFwiZVwiICsgZXhwb25lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgIHRoaXMuc2tpcFNwYWNlVG9rZW5zKCk7XG4gICAgaWYgKHRoaXMubWF0Y2goXCJcXFxcJVwiKSlcbiAgICAgIHJldHVybiBgZS0yYDtcbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgaWYgKHRoaXMubWF0Y2hBbGwodGhpcy5fZXhwb25lbnRQcm9kdWN0VG9rZW5zKSkge1xuICAgICAgdGhpcy5za2lwU3BhY2VUb2tlbnMoKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoQWxsKHRoaXMuX2JlZ2luRXhwb25lbnRNYXJrZXJUb2tlbnMpKSB7XG4gICAgICAgIHRoaXMuc2tpcFNwYWNlVG9rZW5zKCk7XG4gICAgICAgIGNvbnN0IGV4cG9uZW50ID0gdGhpcy5wYXJzZVNpZ25lZEludGVnZXIoKTtcbiAgICAgICAgdGhpcy5za2lwU3BhY2VUb2tlbnMoKTtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2hBbGwodGhpcy5fZW5kRXhwb25lbnRNYXJrZXJUb2tlbnMpICYmIGV4cG9uZW50KVxuICAgICAgICAgIHJldHVybiBcImVcIiArIGV4cG9uZW50O1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbiAgcGFyc2VSZXBlYXRpbmdEZWNpbWFsKCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBsZXQgcmVwZWF0aW5nRGVjaW1hbHMyID0gXCJcIjtcbiAgICBpZiAodGhpcy5tYXRjaChcIihcIikpIHtcbiAgICAgIHJlcGVhdGluZ0RlY2ltYWxzMiA9IHRoaXMucGFyc2VEZWNpbWFsRGlnaXRzKCk7XG4gICAgICBpZiAocmVwZWF0aW5nRGVjaW1hbHMyICYmIHRoaXMubWF0Y2goXCIpXCIpKVxuICAgICAgICByZXR1cm4gXCIoXCIgKyByZXBlYXRpbmdEZWNpbWFsczIgKyBcIilcIjtcbiAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgaWYgKHRoaXMubWF0Y2hBbGwoW2BcXFxcbGVmdGAsIFwiKFwiXSkpIHtcbiAgICAgIHJlcGVhdGluZ0RlY2ltYWxzMiA9IHRoaXMucGFyc2VEZWNpbWFsRGlnaXRzKCk7XG4gICAgICBpZiAocmVwZWF0aW5nRGVjaW1hbHMyICYmIHRoaXMubWF0Y2hBbGwoW2BcXFxccmlnaHRgLCBcIilcIl0pKVxuICAgICAgICByZXR1cm4gXCIoXCIgKyByZXBlYXRpbmdEZWNpbWFsczIgKyBcIilcIjtcbiAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgaWYgKHRoaXMubWF0Y2hBbGwoW2BcXFxcb3ZlcmxpbmVgLCBcIjx7PlwiXSkpIHtcbiAgICAgIHJlcGVhdGluZ0RlY2ltYWxzMiA9IHRoaXMucGFyc2VEZWNpbWFsRGlnaXRzKCk7XG4gICAgICBpZiAocmVwZWF0aW5nRGVjaW1hbHMyICYmIHRoaXMubWF0Y2goXCI8fT5cIikpXG4gICAgICAgIHJldHVybiBcIihcIiArIHJlcGVhdGluZ0RlY2ltYWxzMiArIFwiKVwiO1xuICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICBpZiAodGhpcy5tYXRjaEFsbCh0aGlzLl9iZWdpblJlcGVhdGluZ0RpZ2l0c1Rva2VucykpIHtcbiAgICAgIHJlcGVhdGluZ0RlY2ltYWxzMiA9IHRoaXMucGFyc2VEZWNpbWFsRGlnaXRzKCk7XG4gICAgICBpZiAocmVwZWF0aW5nRGVjaW1hbHMyICYmIHRoaXMubWF0Y2hBbGwodGhpcy5fZW5kUmVwZWF0aW5nRGlnaXRzVG9rZW5zKSlcbiAgICAgICAgcmV0dXJuIFwiKFwiICsgcmVwZWF0aW5nRGVjaW1hbHMyICsgXCIpXCI7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIC8qKlxuICAgKiBQYXJzZSBhIG51bWJlciwgd2l0aCBhbiBvcHRpb25hbCBzaWduLCBleHBvbmVudCwgZGVjaW1hbCBtYXJrZXIsXG4gICAqIHJlcGVhdGluZyBkZWNpbWFscywgZXRjLi4uXG4gICAqL1xuICBwYXJzZU51bWJlcigpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5wYXJzZU51bWJlcnMpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgdGhpcy5za2lwVmlzdWFsU3BhY2UoKTtcbiAgICB0aGlzLm1hdGNoKFwiK1wiKTtcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBsZXQgZG90UHJlZml4ID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubWF0Y2goXCIuXCIpIHx8IHRoaXMubWF0Y2hBbGwodGhpcy5fZGVjaW1hbE1hcmtlclRva2VucykpIHtcbiAgICAgIGNvbnN0IHBlZWsgPSB0aGlzLnBlZWs7XG4gICAgICBpZiAocGVlayAhPT0gXCJcXFxcb3ZlcmxpbmVcIiAmJiBwZWVrICE9PSB0aGlzLl9iZWdpblJlcGVhdGluZ0RpZ2l0c1Rva2Vuc1swXSAmJiAhL1swLTlcXChdLy50ZXN0KHBlZWspKSB7XG4gICAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBkb3RQcmVmaXggPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSB0aGlzLnBhcnNlRGVjaW1hbERpZ2l0cyh7IHdpdGhHcm91cGluZzogdHJ1ZSB9KTtcbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBoYXNEZWNpbWFsID0gdHJ1ZTtcbiAgICBpZiAoIWRvdFByZWZpeCAmJiAodGhpcy5tYXRjaChcIi5cIikgfHwgdGhpcy5tYXRjaEFsbCh0aGlzLl9kZWNpbWFsTWFya2VyVG9rZW5zKSkpXG4gICAgICByZXN1bHQgKz0gXCIuXCIgKyB0aGlzLnBhcnNlRGVjaW1hbERpZ2l0cyh7IHdpdGhHcm91cGluZzogdHJ1ZSB9KTtcbiAgICBlbHNlIGlmIChkb3RQcmVmaXgpXG4gICAgICByZXN1bHQgPSBcIjAuXCIgKyB0aGlzLnBhcnNlRGVjaW1hbERpZ2l0cyh7IHdpdGhHcm91cGluZzogdHJ1ZSB9KTtcbiAgICBlbHNlXG4gICAgICBoYXNEZWNpbWFsID0gZmFsc2U7XG4gICAgaWYgKGhhc0RlY2ltYWwpIHtcbiAgICAgIGNvbnN0IHJlcGVhdCA9IHRoaXMucGFyc2VSZXBlYXRpbmdEZWNpbWFsKCk7XG4gICAgICBpZiAocmVwZWF0KVxuICAgICAgICByZXN1bHQgKz0gcmVwZWF0O1xuICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaChcIlxcXFxsZG90c1wiKSB8fCB0aGlzLm1hdGNoQWxsKHRoaXMuX3RydW5jYXRpb25NYXJrZXJUb2tlbnMpKSB7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2tpcFZpc3VhbFNwYWNlKCk7XG4gICAgcmV0dXJuIHJlc3VsdCArIHRoaXMucGFyc2VFeHBvbmVudCgpO1xuICB9XG4gIC8qKlxuICAgKiBBIExhdGV4IG51bWJlciBjYW4gYmUgYSBkZWNpbWFsLCBoZXggb3Igb2N0YWwgbnVtYmVyLlxuICAgKiBJdCBpcyB1c2VkIGluIHNvbWUgTGF0ZXggY29tbWFuZHMsIHN1Y2ggYXMgYFxcY2hhcmBcbiAgICpcbiAgICogRnJvbSBUZVg6ODY5NSAoc2Nhbl9pbnQpOlxuICAgKiA+IEFuIGludGVnZXIgbnVtYmVyIGNhbiBiZSBwcmVjZWRlZCBieSBhbnkgbnVtYmVyIG9mIHNwYWNlcyBhbmQgYCsnIG9yXG4gICAqID4gYC0nIHNpZ25zLiBUaGVuIGNvbWVzIGVpdGhlciBhIGRlY2ltYWwgY29uc3RhbnQgKGkuZS4sIHJhZGl4IDEwKSwgYW5cbiAgICogPiBvY3RhbCBjb25zdGFudCAoaS5lLiwgcmFkaXggOCwgcHJlY2VkZWQgYnkgJyksIGEgaGV4YWRlY2ltYWwgY29uc3RhbnRcbiAgICogPiAocmFkaXggMTYsIHByZWNlZGVkIGJ5IFwiKSwgYW4gYWxwaGFiZXRpYyBjb25zdGFudCAocHJlY2VkZWQgYnkgYCksIG9yXG4gICAqID4gYW4gaW50ZXJuYWwgdmFyaWFibGUuXG4gICAqL1xuICBtYXRjaExhdGV4TnVtYmVyKGlzSW50ZWdlciA9IHRydWUpIHtcbiAgICBsZXQgbmVnYXRpdmUgPSBmYWxzZTtcbiAgICBsZXQgdG9rZW4gPSB0aGlzLnBlZWs7XG4gICAgd2hpbGUgKHRva2VuID09PSBcIjxzcGFjZT5cIiB8fCB0b2tlbiA9PT0gXCIrXCIgfHwgdG9rZW4gPT09IFwiLVwiKSB7XG4gICAgICBpZiAodG9rZW4gPT09IFwiLVwiKVxuICAgICAgICBuZWdhdGl2ZSA9ICFuZWdhdGl2ZTtcbiAgICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgICB0b2tlbiA9IHRoaXMucGVlaztcbiAgICB9XG4gICAgbGV0IHJhZGl4ID0gMTA7XG4gICAgbGV0IGRpZ2l0cyA9IFtcIjBcIiwgXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIl07XG4gICAgaWYgKHRoaXMubWF0Y2goXCInXCIpKSB7XG4gICAgICByYWRpeCA9IDg7XG4gICAgICBkaWdpdHMgPSBbXCIwXCIsIFwiMVwiLCBcIjJcIiwgXCIzXCIsIFwiNFwiLCBcIjVcIiwgXCI2XCIsIFwiN1wiXTtcbiAgICAgIGlzSW50ZWdlciA9IHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoKCdcIicpIHx8IHRoaXMubWF0Y2goXCJ4XCIpKSB7XG4gICAgICByYWRpeCA9IDE2O1xuICAgICAgZGlnaXRzID0gW1xuICAgICAgICBcIjBcIixcbiAgICAgICAgXCIxXCIsXG4gICAgICAgIFwiMlwiLFxuICAgICAgICBcIjNcIixcbiAgICAgICAgXCI0XCIsXG4gICAgICAgIFwiNVwiLFxuICAgICAgICBcIjZcIixcbiAgICAgICAgXCI3XCIsXG4gICAgICAgIFwiOFwiLFxuICAgICAgICBcIjlcIixcbiAgICAgICAgXCJBXCIsXG4gICAgICAgIFwiQlwiLFxuICAgICAgICBcIkNcIixcbiAgICAgICAgXCJEXCIsXG4gICAgICAgIFwiRVwiLFxuICAgICAgICBcIkZcIlxuICAgICAgXTtcbiAgICAgIGlzSW50ZWdlciA9IHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoKFwiYFwiKSkge1xuICAgICAgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIGlmICh0b2tlbi5zdGFydHNXaXRoKFwiXFxcXFwiKSAmJiB0b2tlbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICByZXR1cm4gKG5lZ2F0aXZlID8gLTEgOiAxKSAqICh0b2tlbi5jb2RlUG9pbnRBdCgxKSA/PyAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKG5lZ2F0aXZlID8gLTEgOiAxKSAqICh0b2tlbi5jb2RlUG9pbnRBdCgwKSA/PyAwKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsZXQgdmFsdWUgPSBcIlwiO1xuICAgIHdoaWxlIChkaWdpdHMuaW5jbHVkZXModGhpcy5wZWVrKSkge1xuICAgICAgdmFsdWUgKz0gdGhpcy5uZXh0VG9rZW4oKTtcbiAgICB9XG4gICAgaWYgKCFpc0ludGVnZXIgJiYgdGhpcy5tYXRjaChcIi5cIikpIHtcbiAgICAgIHZhbHVlICs9IFwiLlwiO1xuICAgICAgd2hpbGUgKGRpZ2l0cy5pbmNsdWRlcyh0aGlzLnBlZWspKSB7XG4gICAgICAgIHZhbHVlICs9IHRoaXMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGlzSW50ZWdlciA/IE51bWJlci5wYXJzZUludCh2YWx1ZSwgcmFkaXgpIDogTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUpO1xuICAgIGlmIChOdW1iZXIuaXNOYU4ocmVzdWx0KSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiBuZWdhdGl2ZSA/IC1yZXN1bHQgOiByZXN1bHQ7XG4gIH1cbiAgcGFyc2VQcmVmaXhPcGVyYXRvcih1bnRpbCkge1xuICAgIGlmICghdW50aWwpXG4gICAgICB1bnRpbCA9IHsgbWluUHJlYzogMCB9O1xuICAgIGlmICghdW50aWwubWluUHJlYylcbiAgICAgIHVudGlsID0geyAuLi51bnRpbCwgbWluUHJlYzogMCB9O1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBmb3IgKGNvbnN0IFtkZWYsIG5dIG9mIHRoaXMucGVla0RlZmluaXRpb25zKFwicHJlZml4XCIpKSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQgKyBuO1xuICAgICAgY29uc3QgcmhzID0gZGVmLnBhcnNlKHRoaXMsIHVudGlsKTtcbiAgICAgIGlmIChyaHMpXG4gICAgICAgIHJldHVybiByaHM7XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBwYXJzZUluZml4T3BlcmF0b3IobGhzLCB1bnRpbCkge1xuICAgIHVudGlsID8/ICh1bnRpbCA9IHsgbWluUHJlYzogMCB9KTtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQodW50aWwubWluUHJlYyAhPT0gdm9pZCAwKTtcbiAgICBpZiAodW50aWwubWluUHJlYyA9PT0gdm9pZCAwKVxuICAgICAgdW50aWwgPSB7IC4uLnVudGlsLCBtaW5QcmVjOiAwIH07XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGZvciAoY29uc3QgW2RlZiwgbl0gb2YgdGhpcy5wZWVrRGVmaW5pdGlvbnMoXCJpbmZpeFwiKSkge1xuICAgICAgaWYgKGRlZi5wcmVjZWRlbmNlID49IHVudGlsLm1pblByZWMpIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0ICsgbjtcbiAgICAgICAgY29uc3QgcmhzID0gZGVmLnBhcnNlKHRoaXMsIGxocywgdW50aWwpO1xuICAgICAgICBpZiAocmhzKVxuICAgICAgICAgIHJldHVybiByaHM7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKipcbiAgICogVGhpcyByZXR1cm5zIGFuIGFycmF5IG9mIGFyZ3VtZW50cyAoYXMgaW4gYSBmdW5jdGlvbiBhcHBsaWNhdGlvbiksXG4gICAqIG9yIG51bGwgaWYgdGhlcmUgaXMgbm8gbWF0Y2guXG4gICAqXG4gICAqIC0gJ2VuY2xvc3VyZScgOiB3aWxsIGxvb2sgZm9yIGFuIGFyZ3VtZW50IGluc2lkZSBhbiBlbmNsb3N1cmVcbiAgICogICAob3Blbi9jbG9zZSBmZW5jZSlcbiAgICogLSAnaW1wbGljaXQnOiBlaXRoZXIgYW4gZXhwcmVzc2lvbiBpbnNpZGUgYSBwYWlyIG9mIGAoKWAsIG9yIGp1c3QgYSBwcm9kdWN0XG4gICAqICAoaS5lLiB3ZSBpbnRlcnByZXQgYFxcY29zIDJ4ICsgMWAgYXMgYFxcY29zKDJ4KSArIDFgKVxuICAgKlxuICAgKi9cbiAgcGFyc2VBcmd1bWVudHMoa2luZCA9IFwiZW5jbG9zdXJlXCIsIHVudGlsKSB7XG4gICAgaWYgKHRoaXMuYXRUZXJtaW5hdG9yKHVudGlsKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHNhdmVkSW5kZXggPSB0aGlzLmluZGV4O1xuICAgIGNvbnN0IGdyb3VwID0gdGhpcy5wYXJzZUVuY2xvc3VyZSgpO1xuICAgIGlmIChraW5kID09PSBcImVuY2xvc3VyZVwiKSB7XG4gICAgICBpZiAoZ3JvdXAgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIGdldFNlcXVlbmNlKGdyb3VwKSA/PyBbXTtcbiAgICB9XG4gICAgaWYgKGtpbmQgPT09IFwiaW1wbGljaXRcIikge1xuICAgICAgaWYgKGhlYWQoZ3JvdXApID09PSBcIkRlbGltaXRlclwiKVxuICAgICAgICByZXR1cm4gZ2V0U2VxdWVuY2UoZ3JvdXApID8/IFtdO1xuICAgICAgaWYgKGdyb3VwICE9PSBudWxsKVxuICAgICAgICByZXR1cm4gW2dyb3VwXTtcbiAgICAgIGNvbnN0IHByaW1hcnkgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbih7IC4uLnVudGlsLCBtaW5QcmVjOiAzOTAgfSk7XG4gICAgICByZXR1cm4gcHJpbWFyeSA9PT0gbnVsbCA/IG51bGwgOiBbcHJpbWFyeV07XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzYXZlZEluZGV4O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKiBJZiBtYXRjaGVzIHRoZSBub3JtYWxpemVkIG9wZW4gZGVsaW1pdGVyLCByZXR1cm4gdGhlXG4gICAqIGV4cGVjdGVkIGNsb3NpbmcgZGVsaW1pdGVyLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgYGRlbGltaXRlcmAgaXMgYChgLCBpdCB3b3VsZCBtYXRjaCBgXFxsZWZ0XFxscGFyZW5gIGFuZFxuICAgKiByZXR1cm4gYFsnXFxyaWdodCcsICdcXHJwYXJlbiddYCwgd2hpY2ggY2FuIGJlIG1hdGNoZWQgd2l0aCBgbWF0Y2hBbGwoKWBcbiAgICpcbiAgICogSWYgeW91IG5lZWQgdG8gbWF0Y2ggc2V2ZXJhbCB0b2tlbnMsIHVzZSBgbWF0Y2hBbGwoKWBcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBtYXRjaE9wZW5EZWxpbWl0ZXIob3BlbkRlbGltLCBjbG9zZURlbGltKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4O1xuICAgIGNvbnN0IGNsb3NlUHJlZml4ID0gT1BFTl9ERUxJTUlURVJfUFJFRklYW3RoaXMucGVla107XG4gICAgaWYgKGNsb3NlUHJlZml4KVxuICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICBjb25zdCBhbHRlcm5hdGl2ZXMgPSBERUxJTUlURVJfU0hPUlRIQU5EW29wZW5EZWxpbV0gPz8gW29wZW5EZWxpbV07XG4gICAgY29uc3QgcmVzdWx0ID0gY2xvc2VQcmVmaXggPyBbY2xvc2VQcmVmaXhdIDogW107XG4gICAgaWYgKGFsdGVybmF0aXZlcy5pbmNsdWRlcyhcInx8XCIpICYmIHRoaXMubWF0Y2hBbGwoW1wifFwiLCBcInxcIl0pKSB7XG4gICAgICByZXN1bHQucHVzaChcInxcIik7XG4gICAgICByZXN1bHQucHVzaChcInxcIik7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAoIWFsdGVybmF0aXZlcy5pbmNsdWRlcyh0aGlzLnBlZWspKSB7XG4gICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKENMT1NFX0RFTElNSVRFUltvcGVuRGVsaW1dID09PSBjbG9zZURlbGltKSB7XG4gICAgICByZXN1bHQucHVzaChDTE9TRV9ERUxJTUlURVJbdGhpcy5wZWVrXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNsb3NlRGVsaW0pO1xuICAgIH1cbiAgICB0aGlzLm5leHRUb2tlbigpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLy8gbWF0Y2hNaWRkbGVEZWxpbWl0ZXIoZGVsaW1pdGVyOiAnfCcgfCAnOicgfCBMYXRleFRva2VuKTogYm9vbGVhbiB7XG4gIC8vICAgY29uc3QgZGVsaW1pdGVycyA9IE1JRERMRV9ERUxJTUlURVJbZGVsaW1pdGVyXSA/PyBbZGVsaW1pdGVyXTtcbiAgLy8gICBpZiAoTUlERExFX0RFTElNSVRFUl9QUkVGSVguaW5jbHVkZXModGhpcy5wZWVrKSkge1xuICAvLyAgICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4O1xuICAvLyAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgLy8gICAgIGlmIChkZWxpbWl0ZXJzLmluY2x1ZGVzKHRoaXMucGVlaykpIHtcbiAgLy8gICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gIC8vICAgICByZXR1cm4gZmFsc2U7XG4gIC8vICAgfSBlbHNlIGlmIChkZWxpbWl0ZXJzLmluY2x1ZGUodGhpcy5wZWVrKSkge1xuICAvLyAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgLy8gICAgIHJldHVybiB0cnVlO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH1cbiAgLyoqIEZvciBlcnJvciBoYW5kbGluZywgd2hlbiB0aGVyZSBpcyBwb3RlbnRpYWxseSBhIG1pc21hdGNoZWQgZGVsaW1pdGVyLlxuICAgKiBSZXR1cm4gYSBMYVRlWCBmcmFnbWVudCBvZiB0aGUgZXhwZWN0ZWQgY2xvc2luZyBkZWxpbWl0ZXJcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBtYXRjaEVuY2xvc3VyZU9wZW4oKSB7XG4gICAgY29uc3QgZGVmcyA9IHRoaXMuZ2V0RGVmcyhcIm1hdGNoZml4XCIpO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZWYub3BlbkRlbGltaXRlcikpIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2hBbGwoZGVmLm9wZW5EZWxpbWl0ZXIpKVxuICAgICAgICAgIHJldHVybiB0b2tlbnNUb1N0cmluZyhkZWYuY2xvc2VEZWxpbWl0ZXIpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNsb3NlRGVsaW1pdGVyID0gdGhpcy5tYXRjaE9wZW5EZWxpbWl0ZXIoXG4gICAgICAgIGRlZi5vcGVuRGVsaW1pdGVyLFxuICAgICAgICBkZWYuY2xvc2VEZWxpbWl0ZXJcbiAgICAgICk7XG4gICAgICBpZiAoY2xvc2VEZWxpbWl0ZXIgIT09IG51bGwpXG4gICAgICAgIHJldHVybiB0b2tlbnNUb1N0cmluZyhjbG9zZURlbGltaXRlcik7XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKipcbiAgICogVXNlZCBmb3IgZXJyb3IgaGFuZGxpbmdcbiAgICogQGludGVybmFsICovXG4gIG1hdGNoRW5jbG9zdXJlQ2xvc2UoKSB7XG4gICAgY29uc3QgZGVmcyA9IHRoaXMuZ2V0RGVmcyhcIm1hdGNoZml4XCIpO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZWYuY2xvc2VEZWxpbWl0ZXIpKSB7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoQWxsKGRlZi5jbG9zZURlbGltaXRlcikpXG4gICAgICAgICAgcmV0dXJuIHRva2Vuc1RvU3RyaW5nKGRlZi5vcGVuRGVsaW1pdGVyKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICBsZXQgcGVlayA9IHRoaXMucGVlaztcbiAgICAgIGNvbnN0IHByZWZpeCA9IE9iamVjdC5rZXlzKE9QRU5fREVMSU1JVEVSX1BSRUZJWCkuZmluZChcbiAgICAgICAgKHgpID0+IE9QRU5fREVMSU1JVEVSX1BSRUZJWFt4XSA9PT0gcGVla1xuICAgICAgKTtcbiAgICAgIGlmIChwcmVmaXgpXG4gICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgICBsZXQgb3BlbkRlbGltaXRlciA9IFtdO1xuICAgICAgcGVlayA9IHRoaXMucGVlaztcbiAgICAgIGNvbnN0IG1hdGNoaW5nRGVsaW0gPSBPYmplY3Qua2V5cyhDTE9TRV9ERUxJTUlURVIpLmZpbmQoXG4gICAgICAgICh4KSA9PiBDTE9TRV9ERUxJTUlURVJbeF0gPT09IHBlZWtcbiAgICAgICk7XG4gICAgICBpZiAobWF0Y2hpbmdEZWxpbSlcbiAgICAgICAgb3BlbkRlbGltaXRlciA9IFttYXRjaGluZ0RlbGltXTtcbiAgICAgIGlmIChwcmVmaXgpXG4gICAgICAgIG9wZW5EZWxpbWl0ZXIgPSBbcHJlZml4LCAuLi5vcGVuRGVsaW1pdGVyXTtcbiAgICAgIGlmIChvcGVuRGVsaW1pdGVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICAgICAgcmV0dXJuIHRva2Vuc1RvU3RyaW5nKG9wZW5EZWxpbWl0ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIEFuIGVuY2xvc3VyZSBpcyBhbiBvcGVuaW5nIG1hdGNoZml4IG9wZXJhdG9yLCBhbiBvcHRpb25hbCBleHByZXNzaW9uLFxuICAgKiBvcHRpb25hbGx5IGZvbGxvd2VkIG11bHRpcGxlIHRpbWVzIGJ5IGEgc2VwYXJhdG9yIGFuZCBhbm90aGVyIGV4cHJlc3Npb24sXG4gICAqIGFuZCBmaW5hbGx5IGEgY2xvc2luZyBtYXRjaGluZyBvcGVyYXRvci5cbiAgICovXG4gIHBhcnNlRW5jbG9zdXJlKCkge1xuICAgIGNvbnN0IGRlZnMgPSB0aGlzLmdldERlZnMoXCJtYXRjaGZpeFwiKTtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgZm9yIChjb25zdCBkZWYgb2YgZGVmcykge1xuICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgICAgaWYgKCF0aGlzLm1hdGNoRGVsaW1pdGVyKGRlZi5vcGVuRGVsaW1pdGVyLCBkZWYuY2xvc2VEZWxpbWl0ZXIpKVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIGNvbnN0IGJvZHlTdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgICAgbGV0IGJvZHkgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgdGhpcy5za2lwU3BhY2UoKTtcbiAgICAgIGlmICghdGhpcy5tYXRjaEJvdW5kYXJ5KCkpIHtcbiAgICAgICAgY29uc3QgYm91bmRhcnkgPSB0aGlzLl9ib3VuZGFyaWVzW3RoaXMuX2JvdW5kYXJpZXMubGVuZ3RoIC0gMV0udG9rZW5zO1xuICAgICAgICB0aGlzLnJlbW92ZUJvdW5kYXJ5KCk7XG4gICAgICAgIHRoaXMuaW5kZXggPSBib2R5U3RhcnQ7XG4gICAgICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgICAgIGJvZHkgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgICAgICBpZiAoIXRoaXMubWF0Y2hBbGwoYm91bmRhcnkpKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSBkZWYucGFyc2UodGhpcywgYm9keSA/PyBbXCJTZXF1ZW5jZVwiXSk7XG4gICAgICBpZiAocmVzdWx0ICE9PSBudWxsKVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIEEgZ2VuZXJpYyBleHByZXNzaW9uIGlzIHVzZWQgZm9yIGRpY3Rpb25hcnkgZW50cmllcyB0aGF0IHRha2UgZG9cbiAgICogc29tZSBjb21wbGV4IChub24tc3RhbmRhcmQpIHBhcnNpbmcuIFRoaXMgaW5jbHVkZXMgdHJpZyBmdW5jdGlvbnMgKHRvXG4gICAqIHBhcnNlIGltcGxpY2l0IGFyZ3VtZW50cyksIGFuZCBpbnRlZ3JhbHMgKHRvIHBhcnNlIHRoZSBpbnRlZ3JhbmQgYW5kXG4gICAqIGxpbWl0cyBhbmQgdGhlIFwiZHhcIiB0ZXJtaW5hdG9yKS5cbiAgICovXG4gIHBhcnNlR2VuZXJpY0V4cHJlc3Npb24odW50aWwpIHtcbiAgICBpZiAodGhpcy5hdFRlcm1pbmF0b3IodW50aWwpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGxldCBleHByID0gbnVsbDtcbiAgICBjb25zdCBmbkRlZnMgPSB0aGlzLnBlZWtEZWZpbml0aW9ucyhcImV4cHJlc3Npb25cIikgPz8gW107XG4gICAgZm9yIChjb25zdCBbZGVmLCB0b2tlbkNvdW50XSBvZiBmbkRlZnMpIHtcbiAgICAgIHRoaXMuaW5kZXggPSBzdGFydCArIHRva2VuQ291bnQ7XG4gICAgICBpZiAodHlwZW9mIGRlZi5wYXJzZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGV4cHIgPSBkZWYucGFyc2UodGhpcywgdW50aWwpO1xuICAgICAgICBpZiAoZXhwciAhPT0gbnVsbClcbiAgICAgICAgICByZXR1cm4gZXhwcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWYubmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIGlzIGFuIGlkZW50aWZpZXIgZm9sbG93ZWQgYnkgcG9zdGZpeCBvcGVyYXRvcnNcbiAgICogKGBcXHByaW1lYC4uLikgYW5kIHNvbWUgYXJndW1lbnRzLlxuICAgKi9cbiAgcGFyc2VGdW5jdGlvbih1bnRpbCkge1xuICAgIGlmICh0aGlzLmF0VGVybWluYXRvcih1bnRpbCkpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgbGV0IGZuID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IFtkZWYsIHRva2VuQ291bnRdIG9mIHRoaXMucGVla0RlZmluaXRpb25zKFwiZnVuY3Rpb25cIikpIHtcbiAgICAgIHRoaXMuaW5kZXggPSBzdGFydCArIHRva2VuQ291bnQ7XG4gICAgICBpZiAodHlwZW9mIGRlZi5wYXJzZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGZuID0gZGVmLnBhcnNlKHRoaXMsIHVudGlsKTtcbiAgICAgICAgaWYgKGZuICE9PSBudWxsKVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm4gPSBkZWYubmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChmbiA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuICAgICAgZm4gPSBwYXJzZUlkZW50aWZpZXIodGhpcyk7XG4gICAgICBpZiAoIXRoaXMuaXNGdW5jdGlvbkhlYWQoZm4pKSB7XG4gICAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGRvIHtcbiAgICAgIGNvbnN0IHBmID0gdGhpcy5wYXJzZVBvc3RmaXhPcGVyYXRvcihmbik7XG4gICAgICBpZiAocGYgPT09IG51bGwpXG4gICAgICAgIGJyZWFrO1xuICAgICAgZm4gPSBwZjtcbiAgICB9IHdoaWxlICh0cnVlKTtcbiAgICBjb25zdCBzZXEgPSB0aGlzLmlzRnVuY3Rpb25IZWFkKGZuKSA/IHRoaXMucGFyc2VBcmd1bWVudHMoKSA6IG51bGw7XG4gICAgcmV0dXJuIHNlcSA/IFtmbiwgLi4uc2VxXSA6IGZuO1xuICB9XG4gIHBhcnNlU3ltYm9sKHVudGlsKSB7XG4gICAgaWYgKHRoaXMuYXRUZXJtaW5hdG9yKHVudGlsKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBmb3IgKGNvbnN0IFtkZWYsIHRva2VuQ291bnRdIG9mIHRoaXMucGVla0RlZmluaXRpb25zKFwic3ltYm9sXCIpKSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQgKyB0b2tlbkNvdW50O1xuICAgICAgaWYgKHR5cGVvZiBkZWYucGFyc2UgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBkZWYucGFyc2UodGhpcywgdW50aWwpO1xuICAgICAgICBpZiAocmVzdWx0KVxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9IGVsc2VcbiAgICAgICAgcmV0dXJuIGRlZi5uYW1lO1xuICAgIH1cbiAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgY29uc3QgaWQgPSBwYXJzZUlkZW50aWZpZXIodGhpcyk7XG4gICAgaWYgKGlkID09PSBudWxsKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wYXJzZVVua25vd25JZGVudGlmaWVyPy4oaWQsIHRoaXMpID09PSBcInN5bWJvbFwiKVxuICAgICAgcmV0dXJuIGlkO1xuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKipcbiAgICogUGFyc2UgYSBzZXF1ZW5jZSBzdXBlcmZpeC9zdWJmaXggb3BlcmF0b3IsIGUuZy4gYF57Kn1gXG4gICAqXG4gICAqIFN1cGVyZml4IGFuZCBzdWJmaXggbmVlZCBzcGVjaWFsIGhhbmRsaW5nOlxuICAgKlxuICAgKiAtIHRoZXkgYWN0IG1vc3RseSBsaWtlIGFuIGluZml4IG9wZXJhdG9yLCBidXQgdGhleSBhcmUgY29tbXV0YXRpdmUsIGkuZS5cbiAgICogYHhfYV5iYCBzaG91bGQgYmUgcGFyc2VkIGlkZW50aWNhbGx5IHRvIGB4XmJfYWAuXG4gICAqXG4gICAqIC0gZnVydGhlcm1vcmUsIGluIExhVGVYIGB4XmFeYmAgcGFyc2VzIHRoZSBzYW1lIGFzIGB4XmF7fV5iYC5cbiAgICpcbiAgICovXG4gIHBhcnNlU3Vwc3ViKGxocykge1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChsaHMgIT09IG51bGwpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleDtcbiAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgIGNvbnN0IHN1cGVyc2NyaXB0cyA9IFtdO1xuICAgIGNvbnN0IHN1YnNjcmlwdHMgPSBbXTtcbiAgICBsZXQgc3ViSW5kZXggPSBpbmRleDtcbiAgICB3aGlsZSAodGhpcy5wZWVrID09PSBcIl9cIiB8fCB0aGlzLnBlZWsgPT09IFwiXlwiKSB7XG4gICAgICBpZiAodGhpcy5tYXRjaChcIl9cIikpIHtcbiAgICAgICAgc3ViSW5kZXggPSB0aGlzLmluZGV4O1xuICAgICAgICBpZiAodGhpcy5tYXRjaChcIl9cIikgfHwgdGhpcy5tYXRjaChcIl5cIikpXG4gICAgICAgICAgc3Vic2NyaXB0cy5wdXNoKHRoaXMuZXJyb3IoXCJzeW50YXgtZXJyb3JcIiwgc3ViSW5kZXgpKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc3ViMiA9IHRoaXMucGFyc2VHcm91cCgpID8/IHRoaXMucGFyc2VUb2tlbigpID8/IHRoaXMucGFyc2VTdHJpbmdHcm91cCgpO1xuICAgICAgICAgIGlmIChzdWIyID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIGluZGV4KTtcbiAgICAgICAgICBzdWJzY3JpcHRzLnB1c2goc3ViMik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaChcIl5cIikpIHtcbiAgICAgICAgc3ViSW5kZXggPSB0aGlzLmluZGV4O1xuICAgICAgICBpZiAodGhpcy5tYXRjaChcIl9cIikgfHwgdGhpcy5tYXRjaChcIl5cIikpXG4gICAgICAgICAgc3VwZXJzY3JpcHRzLnB1c2godGhpcy5lcnJvcihcInN5bnRheC1lcnJvclwiLCBzdWJJbmRleCkpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zdCBzdXAgPSB0aGlzLnBhcnNlR3JvdXAoKSA/PyB0aGlzLnBhcnNlVG9rZW4oKTtcbiAgICAgICAgICBpZiAoc3VwID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIGluZGV4KTtcbiAgICAgICAgICBzdXBlcnNjcmlwdHMucHVzaChzdXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdWJJbmRleCA9IHRoaXMuaW5kZXg7XG4gICAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgIH1cbiAgICBpZiAoc3VwZXJzY3JpcHRzLmxlbmd0aCA9PT0gMCAmJiBzdWJzY3JpcHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgICAgcmV0dXJuIGxocztcbiAgICB9XG4gICAgbGV0IHJlc3VsdCA9IGxocztcbiAgICBpZiAoc3Vic2NyaXB0cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkZWZzID0gWy4uLnRoaXMuZ2V0RGVmcyhcImluZml4XCIpXS5maWx0ZXIoXG4gICAgICAgICh4KSA9PiB4LmxhdGV4VHJpZ2dlciA9PT0gXCJfXCJcbiAgICAgICk7XG4gICAgICBpZiAoZGVmcykge1xuICAgICAgICBjb25zdCBhcmcgPSBbXG4gICAgICAgICAgXCJTdWJzY3JpcHRcIixcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgc3Vic2NyaXB0cy5sZW5ndGggPT09IDEgPyBzdWJzY3JpcHRzWzBdIDogW1wiTGlzdFwiLCAuLi5zdWJzY3JpcHRzXVxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkZWYucGFyc2UgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgIHJlc3VsdCA9IGRlZi5wYXJzZSh0aGlzLCBhcmcsIHsgbWluUHJlYzogMCB9KTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXN1bHQgPSBhcmc7XG4gICAgICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzdXBlcnNjcmlwdHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmcyA9IFsuLi50aGlzLmdldERlZnMoXCJpbmZpeFwiKV0uZmlsdGVyKFxuICAgICAgICAoeCkgPT4geC5sYXRleFRyaWdnZXIgPT09IFwiXlwiXG4gICAgICApO1xuICAgICAgaWYgKGRlZnMpIHtcbiAgICAgICAgY29uc3QgYXJnID0gW1xuICAgICAgICAgIFwiU3VwZXJzY3JpcHRcIixcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgc3VwZXJzY3JpcHRzLmxlbmd0aCA9PT0gMSA/IHN1cGVyc2NyaXB0c1swXSA6IFtcIkxpc3RcIiwgLi4uc3VwZXJzY3JpcHRzXVxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IGRlZiBvZiBkZWZzKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkZWYucGFyc2UgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgIHJlc3VsdCA9IGRlZi5wYXJzZSh0aGlzLCBhcmcsIHsgbWluUHJlYzogMCB9KTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXN1bHQgPSBhcmc7XG4gICAgICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXN1bHQgPT09IG51bGwpXG4gICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBwYXJzZVBvc3RmaXhPcGVyYXRvcihsaHMsIHVudGlsKSB7XG4gICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGxocyAhPT0gbnVsbCk7XG4gICAgaWYgKGxocyA9PT0gbnVsbClcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBmb3IgKGNvbnN0IFtkZWYsIG5dIG9mIHRoaXMucGVla0RlZmluaXRpb25zKFwicG9zdGZpeFwiKSkge1xuICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0ICsgbjtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGRlZi5wYXJzZSh0aGlzLCBsaHMsIHVudGlsKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKiogTWF0Y2ggYSBzdHJpbmcgdXNlZCBhcyBhIExhVGVYIGlkZW50aWZpZXIsIGZvciBleGFtcGxlIGFuIGVudmlyb25tZW50XG4gICAqIG5hbWUuXG4gICAqIE5vdCBzdWl0YWJsZSBmb3IgZ2VuZXJhbCBwdXJwb3NlIHRleHQsIGUuZy4gYXJndW1lbnQgb2YgYSBgXFx0ZXh0e31cbiAgICogY29tbWFuZC4gU2VlIGBtYXRjaENoYXIoKWAgaW5zdGVhZC5cbiAgICovXG4gIHBhcnNlU3RyaW5nR3JvdXBDb250ZW50KCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBsZXQgbGV2ZWwgPSAwO1xuICAgIHdoaWxlICghdGhpcy5hdEJvdW5kYXJ5IHx8IGxldmVsID4gMCkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuICAgICAgaWYgKHRva2VuID09PSBcIjwkPlwiIHx8IHRva2VuID09PSBcIjwkJD5cIikge1xuICAgICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgaWYgKHRva2VuID09PSBcIjx7PlwiKSB7XG4gICAgICAgIGxldmVsICs9IDE7XG4gICAgICAgIHJlc3VsdCArPSBcIlxcXFx7XCI7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuID09PSBcIjx9PlwiKSB7XG4gICAgICAgIGxldmVsIC09IDE7XG4gICAgICAgIHJlc3VsdCArPSBcIlxcXFx9XCI7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuID09PSBcIjxzcGFjZT5cIikge1xuICAgICAgICByZXN1bHQgKz0gXCIgXCI7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuWzBdID09PSBcIlxcXFxcIikge1xuICAgICAgICByZXN1bHQgKz0gdG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgKz0gdG9rZW47XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLyoqXG4gICAqIEFwcGx5IGFuIGludmlzaWJsZSBvcGVyYXRvciBiZXR3ZWVuIHR3byBleHByZXNzaW9ucy5cbiAgICpcbiAgICogSWYgdGhlIGBsaHNgIGlzIGFuIGxpdGVyYWwgaW50ZWdlciBhbmQgdGhlIGByaHNgIGlzIGEgbGl0ZXJhbCByYXRpb25hbFxuICAgKiAtPiAnaW52aXNpYmxlIHBsdXMnXG4gICAqXG4gICAqIFRoYXQgaXMgJzIgMy80JyAtPiBbJ0FkZCcsIDIsIFsnUmF0aW9uYWwnLCAzLCA0XV1cbiAgICpcbiAgICogSWYgYGxoc2AgaXMgYSBudW1iZXIgYW5kIGByaHNgIGlzIGEgbnVtYmVyIGJ1dCBub3QgYSBsaXRlcmFsIC0+ICdpbnZpc2libGUgbXVsdGlwbHknLlxuICAgKiAtIDJ4XG4gICAqIC0gMih4KzEpXG4gICAqIC0geCh4KzEpXG4gICAqIC0gZih4KWcoeSlcbiAgICogLSAyIHNpbih4KVxuICAgKiAtIDIgZih4KVxuICAgKiAtIHggZih4KVxuICAgKiAtICh4LTEpKHgrMSlcbiAgICogLSAoeCsxKTIgLT4gbm9cbiAgICogLSB4MiAtPiBub1xuICAgKiA9PiBsaHMgaXMgYSBudW1iZXIsIHJocyBpcyBhIG51bWJlciwgYnV0IG5vdCBhIGxpdGVyYWxcbiAgICovXG4gIGFwcGx5SW52aXNpYmxlT3BlcmF0b3IodW50aWwsIGxocykge1xuICAgIGlmIChsaHMgPT09IG51bGwgfHwgdGhpcy5vcHRpb25zLmFwcGx5SW52aXNpYmxlT3BlcmF0b3IgPT09IG51bGwgfHwgaGVhZChsaHMpID09PSBcIkVycm9yXCIgfHwgc3ltYm9sKGxocykgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShsaHMpIHx8IHRoaXMuYXRUZXJtaW5hdG9yKHVudGlsKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0aGlzLnBlZWtEZWZpbml0aW9ucyhcIm9wZXJhdG9yXCIpLmxlbmd0aCA+IDApXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uSGVhZChsaHMpKSB7XG4gICAgICBjb25zdCBhcmdzID0gdGhpcy5wYXJzZUFyZ3VtZW50cyhcImVuY2xvc3VyZVwiLCB7IC4uLnVudGlsLCBtaW5QcmVjOiAwIH0pO1xuICAgICAgaWYgKGFyZ3MgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIFtsaHMsIC4uLmFyZ3NdO1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgY29uc3QgcmhzID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oeyAuLi51bnRpbCwgbWluUHJlYzogMzkwIH0pO1xuICAgIGlmIChyaHMgPT09IG51bGwgfHwgc3ltYm9sKHJocykgPT09IFwiTm90aGluZ1wiIHx8IGlzRW1wdHlTZXF1ZW5jZShyaHMpKSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGhlYWQocmhzKSA9PT0gXCJFcnJvclwiKVxuICAgICAgcmV0dXJuIGFwcGx5QXNzb2NpYXRpdmVPcGVyYXRvcihcIlNlcXVlbmNlXCIsIGxocywgcmhzKTtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5hcHBseUludmlzaWJsZU9wZXJhdG9yID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmFwcGx5SW52aXNpYmxlT3BlcmF0b3IodGhpcywgbGhzLCByaHMpO1xuICAgIGlmICh0aGlzLmlzRnVuY3Rpb25IZWFkKGxocykpIHtcbiAgICAgIGNvbnN0IHNlcSA9IGdldFNlcXVlbmNlKHJocyk7XG4gICAgICByZXR1cm4gc2VxID8gW2xocywgLi4uc2VxXSA6IGxocztcbiAgICB9XG4gICAgY29uc3QgbGhzTnVtYmVyID0gbWFjaGluZVZhbHVlKGxocyk7XG4gICAgaWYgKGxoc051bWJlciAhPT0gbnVsbCAmJiBOdW1iZXIuaXNJbnRlZ2VyKGxoc051bWJlcikpIHtcbiAgICAgIGNvbnN0IHJoc0hlYWQgPSBoZWFkKHJocyk7XG4gICAgICBpZiAocmhzSGVhZCA9PT0gXCJEaXZpZGVcIiB8fCByaHNIZWFkID09PSBcIlJhdGlvbmFsXCIpIHtcbiAgICAgICAgY29uc3QgW24sIGRdID0gW21hY2hpbmVWYWx1ZShvcChyaHMsIDEpKSwgbWFjaGluZVZhbHVlKG9wKHJocywgMikpXTtcbiAgICAgICAgaWYgKG4gIT09IG51bGwgJiYgZCAhPT0gbnVsbCAmJiBuID4gMCAmJiBuIDw9IDFlMyAmJiBkID4gMSAmJiBkIDw9IDFlMyAmJiBOdW1iZXIuaXNJbnRlZ2VyKG4pICYmIE51bWJlci5pc0ludGVnZXIoZCkpXG4gICAgICAgICAgcmV0dXJuIFtcIkFkZFwiLCBsaHMsIHJoc107XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChoZWFkKHJocykgPT09IFwiRGVsaW1pdGVyXCIpIHtcbiAgICAgIGlmIChoZWFkKG9wKHJocywgMSkpID09PSBcIlNlcXVlbmNlXCIpXG4gICAgICAgIHJldHVybiBbbGhzLCAuLi5vcHMob3AocmhzLCAxKSkgPz8gW11dO1xuICAgICAgaWYgKCFvcChyaHMsIDEpIHx8IHN5bWJvbChvcChyaHMsIDEpKSA9PT0gXCJOb3RoaW5nXCIpXG4gICAgICAgIHJldHVybiBhcHBseUFzc29jaWF0aXZlT3BlcmF0b3IoXG4gICAgICAgICAgXCJTZXF1ZW5jZVwiLFxuICAgICAgICAgIGxocyxcbiAgICAgICAgICB0aGlzLmVycm9yKFwiZXhwZWN0ZWQtZXhwcmVzc2lvblwiLCBzdGFydClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGhlYWQocmhzKSA9PT0gXCJTZXF1ZW5jZVwiIHx8IGhlYWQobGhzKSA9PT0gXCJTZXF1ZW5jZVwiIHx8IHN0cmluZ1ZhbHVlKGxocykgIT09IG51bGwgfHwgc3RyaW5nVmFsdWUocmhzKSAhPT0gbnVsbCB8fCBkaWN0aW9uYXJ5KGxocykgIT09IG51bGwgfHwgZGljdGlvbmFyeShyaHMpICE9PSBudWxsKVxuICAgICAgcmV0dXJuIGFwcGx5QXNzb2NpYXRpdmVPcGVyYXRvcihcIlNlcXVlbmNlXCIsIGxocywgcmhzKTtcbiAgICByZXR1cm4gYXBwbHlBc3NvY2lhdGl2ZU9wZXJhdG9yKFwiTXVsdGlwbHlcIiwgbGhzLCByaHMpO1xuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIGFuIGVycm9yIGhhbmRsaW5nIG1ldGhvZC4gV2UndmUgZW5jb3VudGVyZWQgYSBMYVRlWCBjb21tYW5kXG4gICAqIGJ1dCB3ZXJlIG5vdCBhYmxlIHRvIG1hdGNoIGl0IHRvIGFueSBlbnRyeSBpbiB0aGUgTGFUZVggZGljdGlvbmFyeSxcbiAgICogb3IgcmFuIGludG8gaXQgaW4gYW4gdW5leHBlY3RlZCBjb250ZXh0IChwb3N0Zml4IG9wZXJhdG9yIGxhY2tpbmcgYW5cbiAgICogYXJndW1lbnQsIGZvciBleGFtcGxlKVxuICAgKi9cbiAgcGFyc2VVbmV4cGVjdGVkTGF0ZXhDb21tYW5kKCkge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5pbmRleDtcbiAgICBsZXQgb3BEZWZzID0gdGhpcy5wZWVrRGVmaW5pdGlvbnMoXCJvcGVyYXRvclwiKTtcbiAgICBpZiAob3BEZWZzLmxlbmd0aCA+IDApIHtcbiAgICAgIG9wRGVmcyA9IHRoaXMucGVla0RlZmluaXRpb25zKFwicG9zdGZpeFwiKTtcbiAgICAgIGlmIChvcERlZnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBbZGVmLCBuXSA9IG9wRGVmc1swXTtcbiAgICAgICAgdGhpcy5pbmRleCArPSBuO1xuICAgICAgICBpZiAodHlwZW9mIGRlZi5wYXJzZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmLnBhcnNlKHRoaXMsIHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KSk7XG4gICAgICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZi5uYW1lKVxuICAgICAgICAgIHJldHVybiBbZGVmLm5hbWUsIHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KV07XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yKFwidW5leHBlY3RlZC1vcGVyYXRvclwiLCBzdGFydCk7XG4gICAgICB9XG4gICAgICBvcERlZnMgPSB0aGlzLnBlZWtEZWZpbml0aW9ucyhcInByZWZpeFwiKTtcbiAgICAgIGlmIChvcERlZnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBbZGVmLCBuXSA9IG9wRGVmc1swXTtcbiAgICAgICAgdGhpcy5pbmRleCArPSBuO1xuICAgICAgICBpZiAodHlwZW9mIGRlZi5wYXJzZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmLnBhcnNlKHRoaXMsIHsgbWluUHJlYzogMCB9KTtcbiAgICAgICAgICBpZiAocmVzdWx0KVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmLm5hbWUpXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGRlZi5uYW1lLFxuICAgICAgICAgICAgLy8gQHRvZG86IHBhc3MgYSBwcmVjZWRlbmNlP1xuICAgICAgICAgICAgdGhpcy5wYXJzZUV4cHJlc3Npb24oKSA/PyB0aGlzLmVycm9yKFwibWlzc2luZ1wiLCBzdGFydClcbiAgICAgICAgICBdO1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJvcihcInVuZXhwZWN0ZWQtb3BlcmF0b3JcIiwgc3RhcnQpO1xuICAgICAgfVxuICAgICAgb3BEZWZzID0gdGhpcy5wZWVrRGVmaW5pdGlvbnMoXCJpbmZpeFwiKTtcbiAgICAgIGlmIChvcERlZnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBbZGVmLCBuXSA9IG9wRGVmc1swXTtcbiAgICAgICAgdGhpcy5pbmRleCArPSBuO1xuICAgICAgICBpZiAodHlwZW9mIGRlZi5wYXJzZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmLnBhcnNlKHRoaXMsIHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KSwge1xuICAgICAgICAgICAgbWluUHJlYzogMFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChyZXN1bHQpXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWYubmFtZSlcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgZGVmLm5hbWUsXG4gICAgICAgICAgICB0aGlzLmVycm9yKFwibWlzc2luZ1wiLCBzdGFydCksXG4gICAgICAgICAgICB0aGlzLnBhcnNlRXhwcmVzc2lvbigpID8/IHRoaXMuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KVxuICAgICAgICAgIF07XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yKFwidW5leHBlY3RlZC1vcGVyYXRvclwiLCBzdGFydCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLnBlZWs7XG4gICAgaWYgKCFjb21tYW5kIHx8IGNvbW1hbmRbMF0gIT09IFwiXFxcXFwiKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICB0aGlzLnNraXBTcGFjZVRva2VucygpO1xuICAgIGlmIChjb21tYW5kID09PSBcIlxcXFxlbmRcIikge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMucGFyc2VTdHJpbmdHcm91cCgpO1xuICAgICAgaWYgKG5hbWUgPT09IG51bGwpXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yKFwiZXhwZWN0ZWQtZW52aXJvbm1lbnQtbmFtZVwiLCBzdGFydCk7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvcihbXCJ1bmJhbGFuY2VkLWVudmlyb25tZW50XCIsIHsgc3RyOiBuYW1lIH1dLCBzdGFydCk7XG4gICAgfVxuICAgIHdoaWxlICh0aGlzLm1hdGNoKFwiW1wiKSkge1xuICAgICAgbGV0IGxldmVsID0gMDtcbiAgICAgIHdoaWxlICghdGhpcy5hdEVuZCAmJiBsZXZlbCA9PT0gMCAmJiB0aGlzLnBlZWsgIT09IFwiXVwiKSB7XG4gICAgICAgIGlmICh0aGlzLnBlZWsgPT09IFwiW1wiKVxuICAgICAgICAgIGxldmVsICs9IDE7XG4gICAgICAgIGlmICh0aGlzLnBlZWsgPT09IFwiXVwiKVxuICAgICAgICAgIGxldmVsIC09IDE7XG4gICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm1hdGNoKFwiXVwiKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4O1xuICAgIHRoaXMuaW5kZXggPSBzdGFydDtcbiAgICBjb25zdCBjbG9zZURlbGltaXRlciA9IHRoaXMubWF0Y2hFbmNsb3N1cmVPcGVuKCk7XG4gICAgaWYgKGNsb3NlRGVsaW1pdGVyKVxuICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoXG4gICAgICAgIFtcImV4cGVjdGVkLWNsb3NlLWRlbGltaXRlclwiLCB7IHN0cjogY2xvc2VEZWxpbWl0ZXIgfV0sXG4gICAgICAgIGluZGV4XG4gICAgICApO1xuICAgIGNvbnN0IG9wZW5EZWxpbWl0ZXIgPSB0aGlzLm1hdGNoRW5jbG9zdXJlQ2xvc2UoKTtcbiAgICBpZiAob3BlbkRlbGltaXRlcilcbiAgICAgIHJldHVybiB0aGlzLmVycm9yKFxuICAgICAgICBbXCJleHBlY3RlZC1vcGVuLWRlbGltaXRlclwiLCB7IHN0cjogb3BlbkRlbGltaXRlciB9XSxcbiAgICAgICAgc3RhcnRcbiAgICAgICk7XG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgIHdoaWxlICh0aGlzLm1hdGNoKFwiPHs+XCIpKSB7XG4gICAgICBsZXQgbGV2ZWwgPSAwO1xuICAgICAgd2hpbGUgKCF0aGlzLmF0RW5kICYmIGxldmVsID09PSAwICYmIHRoaXMucGVlayAhPT0gXCI8fT5cIikge1xuICAgICAgICBpZiAodGhpcy5wZWVrID09PSBcIjx7PlwiKVxuICAgICAgICAgIGxldmVsICs9IDE7XG4gICAgICAgIGlmICh0aGlzLnBlZWsgPT09IFwiPH0+XCIpXG4gICAgICAgICAgbGV2ZWwgLT0gMTtcbiAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWF0Y2goXCI8fT5cIik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVycm9yKFtcInVuZXhwZWN0ZWQtY29tbWFuZFwiLCB7IHN0cjogY29tbWFuZCB9XSwgc3RhcnQpO1xuICB9XG4gIC8qKlxuICAgKiA8cHJpbWFyeT4gOj1cbiAgICogICg8bnVtYmVyPiB8IDxzeW1ib2w+IHwgPGVudmlyb25tZW50PiB8IDxtYXRjaGZpeC1leHByPilcbiAgICogICAgPHN1YnN1cD4qIDxwb3N0Zml4LW9wZXJhdG9yPipcbiAgICpcbiAgICogPHN5bWJvbD4gOjo9XG4gICAqICAoPHN5bWJvbC1pZD4gfCAoPGxhdGV4LWNvbW1hbmQ+PGxhdGV4LWFyZ3VtZW50cz4pKSA8YXJndW1lbnRzPlxuICAgKlxuICAgKiA8bWF0Y2hmaXgtZXhwcj4gOj1cbiAgICogIDxtYXRjaGZpeC1vcC1vcGVuPlxuICAgKiAgPGV4cHJlc3Npb24+XG4gICAqICAoPG1hdGNoZml4LW9wLXNlcGFyYXRvcj4gPGV4cHJlc3Npb24+KSpcbiAgICogIDxtYXRjaGZpeC1vcC1jbG9zZT5cbiAgICpcbiAgICovXG4gIHBhcnNlUHJpbWFyeSh1bnRpbCkge1xuICAgIGlmICh0aGlzLmF0Qm91bmRhcnkpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodGhpcy5hdFRlcm1pbmF0b3IodW50aWwpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgbGV0IHJlc3VsdCA9IG51bGw7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmluZGV4O1xuICAgIGlmICh0aGlzLm1hdGNoKFwiPH0+XCIpKVxuICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoXCJ1bmV4cGVjdGVkLWNsb3NpbmctZGVsaW1pdGVyXCIsIHN0YXJ0KTtcbiAgICBpZiAodGhpcy5tYXRjaChcIjx7PlwiKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oe1xuICAgICAgICBtaW5QcmVjOiAwLFxuICAgICAgICBjb25kaXRpb246IChwKSA9PiBwLnBlZWsgPT09IFwiPH0+XCJcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoXCJleHBlY3RlZC1leHByZXNzaW9uXCIsIHN0YXJ0KTtcbiAgICAgIGlmICghdGhpcy5tYXRjaChcIjx9PlwiKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNvcmF0ZShcbiAgICAgICAgICBbXCJTZXF1ZW5jZVwiLCByZXN1bHQsIHRoaXMuZXJyb3IoXCJleHBlY3RlZC1jbG9zaW5nLWRlbGltaXRlclwiLCBzdGFydCldLFxuICAgICAgICAgIHN0YXJ0XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG51bSA9IHRoaXMucGFyc2VOdW1iZXIoKTtcbiAgICAgIGlmIChudW0gIT09IG51bGwpXG4gICAgICAgIHJlc3VsdCA9IHsgbnVtIH07XG4gICAgfVxuICAgIHJlc3VsdCA/PyAocmVzdWx0ID0gdGhpcy5wYXJzZUVuY2xvc3VyZSgpKTtcbiAgICByZXN1bHQgPz8gKHJlc3VsdCA9IHRoaXMucGFyc2VFbnZpcm9ubWVudCh1bnRpbCkpO1xuICAgIGlmIChyZXN1bHQgPT09IG51bGwgJiYgdGhpcy5tYXRjaEFsbCh0aGlzLl9wb3NpdGl2ZUluZmluaXR5VG9rZW5zKSlcbiAgICAgIHJlc3VsdCA9IHsgbnVtOiBcIitJbmZpbml0eVwiIH07XG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCAmJiB0aGlzLm1hdGNoQWxsKHRoaXMuX25lZ2F0aXZlSW5maW5pdHlUb2tlbnMpKVxuICAgICAgcmVzdWx0ID0geyBudW06IFwiLUluZmluaXR5XCIgfTtcbiAgICBpZiAocmVzdWx0ID09PSBudWxsICYmIHRoaXMubWF0Y2hBbGwodGhpcy5fbm90QU51bWJlclRva2VucykpXG4gICAgICByZXN1bHQgPSB7IG51bTogXCJOYU5cIiB9O1xuICAgIHJlc3VsdCA/PyAocmVzdWx0ID0gdGhpcy5wYXJzZUdlbmVyaWNFeHByZXNzaW9uKHVudGlsKSA/PyB0aGlzLnBhcnNlRnVuY3Rpb24odW50aWwpID8/IHRoaXMucGFyc2VTeW1ib2wodW50aWwpID8/IHBhcnNlSW52YWxpZElkZW50aWZpZXIodGhpcykpO1xuICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZGVjb3JhdGUocmVzdWx0LCBzdGFydCk7XG4gICAgICBsZXQgcG9zdGZpeCA9IG51bGw7XG4gICAgICBsZXQgaW5kZXggPSB0aGlzLmluZGV4O1xuICAgICAgZG8ge1xuICAgICAgICBwb3N0Zml4ID0gdGhpcy5wYXJzZVBvc3RmaXhPcGVyYXRvcihyZXN1bHQsIHVudGlsKTtcbiAgICAgICAgcmVzdWx0ID0gcG9zdGZpeCA/PyByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBpbmRleCAmJiBwb3N0Zml4ICE9PSBudWxsKSB7XG4gICAgICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaW5kZXggIT09IGluZGV4LCBcIk5vIHRva2VuIGNvbnN1bWVkXCIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGluZGV4ID0gdGhpcy5pbmRleDtcbiAgICAgIH0gd2hpbGUgKHBvc3RmaXggIT09IG51bGwpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ICE9PSBudWxsKVxuICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZVN1cHN1YihyZXN1bHQpO1xuICAgIHJldHVybiB0aGlzLmRlY29yYXRlKHJlc3VsdCwgc3RhcnQpO1xuICB9XG4gIC8qKlxuICAgKiAgUGFyc2UgYW4gZXhwcmVzc2lvbjpcbiAgICpcbiAgICogPGV4cHJlc3Npb24+IDo6PVxuICAgKiAgfCA8cHJpbWFyeT5cbiAgICogIHwgPHByZWZpeC1vcD4gPHByaW1hcnk+XG4gICAqICB8IDxwcmltYXJ5PiA8aW5maXgtb3A+IDxleHByZXNzaW9uPlxuICAgKlxuICAgKiBTdG9wIHdoZW4gYW4gb3BlcmF0b3Igb2YgcHJlY2VkZW5jZSBsZXNzIHRoYW4gYHVudGlsLm1pblByZWNgXG4gICAqIGlzIGVuY291bnRlcmVkXG4gICAqL1xuICBwYXJzZUV4cHJlc3Npb24odW50aWwpIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW5kZXg7XG4gICAgdGhpcy5za2lwU3BhY2UoKTtcbiAgICBpZiAodGhpcy5hdEJvdW5kYXJ5KSB7XG4gICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdW50aWwgPz8gKHVudGlsID0geyBtaW5QcmVjOiAwIH0pO1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCh1bnRpbC5taW5QcmVjICE9PSB2b2lkIDApO1xuICAgIGlmICh1bnRpbC5taW5QcmVjID09PSB2b2lkIDApXG4gICAgICB1bnRpbCA9IHsgLi4udW50aWwsIG1pblByZWM6IDAgfTtcbiAgICBsZXQgbGhzID0gdGhpcy5wYXJzZVByZWZpeE9wZXJhdG9yKHsgLi4udW50aWwsIG1pblByZWM6IDAgfSk7XG4gICAgaWYgKGxocyA9PT0gbnVsbCkge1xuICAgICAgbGhzID0gdGhpcy5wYXJzZVByaW1hcnkodW50aWwpO1xuICAgICAgaWYgKGhlYWQobGhzKSA9PT0gXCJTZXF1ZW5jZVwiICYmIG5vcHMobGhzKSA9PT0gMClcbiAgICAgICAgbGhzID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGxocykge1xuICAgICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICAgIHdoaWxlICghZG9uZSAmJiAhdGhpcy5hdFRlcm1pbmF0b3IodW50aWwpKSB7XG4gICAgICAgIHRoaXMuc2tpcFNwYWNlKCk7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnBhcnNlSW5maXhPcGVyYXRvcihsaHMsIHVudGlsKTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuYXBwbHlJbnZpc2libGVPcGVyYXRvcih1bnRpbCwgbGhzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgbGhzID0gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxocyA/PyAobGhzID0gdGhpcy5wYXJzZVVuZXhwZWN0ZWRMYXRleENvbW1hbmQoKSk7XG4gICAgcmV0dXJuIHRoaXMuZGVjb3JhdGUobGhzLCBzdGFydCk7XG4gIH1cbiAgLyoqXG4gICAqIEFkZCBMYVRlWCBvciBvdGhlciByZXF1ZXN0ZWQgbWV0YWRhdGEgdG8gdGhlIGV4cHJlc3Npb25cbiAgICovXG4gIGRlY29yYXRlKGV4cHIsIHN0YXJ0KSB7XG4gICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5wcmVzZXJ2ZUxhdGV4KVxuICAgICAgcmV0dXJuIGV4cHI7XG4gICAgY29uc3QgbGF0ZXggPSB0aGlzLmxhdGV4KHN0YXJ0LCB0aGlzLmluZGV4KTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShleHByKSkge1xuICAgICAgZXhwciA9IHsgbGF0ZXgsIGZuOiBleHByIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIikge1xuICAgICAgZXhwciA9IHsgbGF0ZXgsIG51bTogTnVtYmVyKGV4cHIpLnRvU3RyaW5nKCkgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBleHByID0geyBsYXRleCwgc3ltOiBleHByIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBleHByICE9PSBudWxsKSB7XG4gICAgICBleHByLmxhdGV4ID0gbGF0ZXg7XG4gICAgfVxuICAgIHJldHVybiBleHByO1xuICB9XG4gIGVycm9yKGNvZGUsIGZyb21Ub2tlbikge1xuICAgIGxldCBtc2c7XG4gICAgaWYgKHR5cGVvZiBjb2RlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoIWNvZGUuc3RhcnRzV2l0aChcIidcIikpO1xuICAgICAgbXNnID0geyBzdHI6IGNvZGUgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KCFjb2RlWzBdLnN0YXJ0c1dpdGgoXCInXCIpKTtcbiAgICAgIG1zZyA9IFtcIkVycm9yQ29kZVwiLCB7IHN0cjogY29kZVswXSB9LCAuLi5jb2RlLnNsaWNlKDEpXTtcbiAgICB9XG4gICAgY29uc3QgbGF0ZXggPSB0aGlzLmxhdGV4KGZyb21Ub2tlbiwgdGhpcy5pbmRleCk7XG4gICAgcmV0dXJuIGxhdGV4ID8gW1wiRXJyb3JcIiwgbXNnLCBbXCJMYXRleFwiLCB7IHN0cjogbGF0ZXggfV1dIDogW1wiRXJyb3JcIiwgbXNnXTtcbiAgfVxuICBpc0Z1bmN0aW9uSGVhZChleHByKSB7XG4gICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcyA9IHN5bWJvbChleHByKTtcbiAgICBpZiAoIXMpXG4gICAgICByZXR1cm4gdGhpcy5jb21wdXRlRW5naW5lLmJveChleHByKS5kb21haW4uaXNGdW5jdGlvbjtcbiAgICBpZiAodGhpcy5jb21wdXRlRW5naW5lICYmIHRoaXMuY29tcHV0ZUVuZ2luZS5sb29rdXBGdW5jdGlvbihzKSAhPT0gdm9pZCAwKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wYXJzZVVua25vd25JZGVudGlmaWVyPy4ocywgdGhpcykgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvKiogUmV0dXJuIGFsbCBkZWZzIG9mIHRoZSBzcGVjaWZpZWQga2luZCAqL1xuICAqZ2V0RGVmcyhraW5kKSB7XG4gICAgaWYgKGtpbmQgPT09IFwib3BlcmF0b3JcIikge1xuICAgICAgZm9yIChjb25zdCBkZWYgb2YgdGhpcy5fZGljdGlvbmFyeS5kZWZzKVxuICAgICAgICBpZiAoL15wcmVmaXh8aW5maXh8cG9zdGZpeC8udGVzdChkZWYua2luZCkpXG4gICAgICAgICAgeWllbGQgZGVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGRlZiBvZiB0aGlzLl9kaWN0aW9uYXJ5LmRlZnMpXG4gICAgICAgIGlmIChkZWYua2luZCA9PT0ga2luZClcbiAgICAgICAgICB5aWVsZCBkZWY7XG4gICAgfVxuICB9XG59O1xuZnVuY3Rpb24gcGFyc2VDb21wbGV4SWQocGFyc2VyLCBpZCkge1xuICBjb25zdCBzdGFydCA9IHBhcnNlci5pbmRleDtcbiAgY29uc3QgY2FuZGlkYXRlID0gcGFyc2VJZGVudGlmaWVyKHBhcnNlcik/LnRyaW0oKTtcbiAgaWYgKGNhbmRpZGF0ZSA9PT0gbnVsbClcbiAgICByZXR1cm4gMDtcbiAgY29uc3QgcmVzdWx0ID0gY2FuZGlkYXRlICE9PSBpZCA/IDAgOiBwYXJzZXIuaW5kZXggLSBzdGFydDtcbiAgcGFyc2VyLmluZGV4ID0gc3RhcnQ7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9sYXRleC1zeW50YXgvc2VyaWFsaXplLW51bWJlci50c1xuZnVuY3Rpb24gZm9ybWF0RnJhY3Rpb25hbFBhcnQobSwgb3B0aW9ucykge1xuICBjb25zdCBvcmlnaW5hbExlbmd0aCA9IG0ubGVuZ3RoO1xuICBjb25zdCBvcmlnaW5hbE0gPSBtO1xuICBpZiAob3B0aW9ucy5iZWdpblJlcGVhdGluZ0RpZ2l0cyAmJiBvcHRpb25zLmVuZFJlcGVhdGluZ0RpZ2l0cykge1xuICAgIG0gPSBtLnNsaWNlKDAsIC0xKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG0ubGVuZ3RoIC0gMTY7IGkrKykge1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gbS5zdWJzdHJpbmcoMCwgaSk7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDE3OyBqKyspIHtcbiAgICAgICAgY29uc3QgY3ljbGUgPSBtLnN1YnN0cmluZyhpLCBpICsgaiArIDEpO1xuICAgICAgICBjb25zdCB0aW1lcyA9IE1hdGguZmxvb3IoKG0ubGVuZ3RoIC0gb2Zmc2V0Lmxlbmd0aCkgLyBjeWNsZS5sZW5ndGgpO1xuICAgICAgICBpZiAodGltZXMgPD0gMylcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgaWYgKChvZmZzZXQgKyBjeWNsZS5yZXBlYXQodGltZXMgKyAxKSkuc3RhcnRzV2l0aChtKSkge1xuICAgICAgICAgIGlmIChjeWNsZSA9PT0gXCIwXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBvZmZzZXQucmVwbGFjZSgvKFxcZHszfSkvZywgXCIkMVwiICsgb3B0aW9ucy5ncm91cFNlcGFyYXRvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZmZzZXQucmVwbGFjZSgvKFxcZHszfSkvZywgXCIkMVwiICsgb3B0aW9ucy5ncm91cFNlcGFyYXRvcikgKyBvcHRpb25zLmJlZ2luUmVwZWF0aW5nRGlnaXRzICsgY3ljbGUgKyBvcHRpb25zLmVuZFJlcGVhdGluZ0RpZ2l0cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCBleHRyYURpZ2l0cyA9IG9yaWdpbmFsTGVuZ3RoID4gb3B0aW9ucy5wcmVjaXNpb24gLSAxO1xuICBtID0gb3JpZ2luYWxNO1xuICBpZiAoZXh0cmFEaWdpdHMpXG4gICAgbSA9IG0uc3Vic3RyaW5nKDAsIG9wdGlvbnMucHJlY2lzaW9uIC0gMSk7XG4gIGlmIChvcHRpb25zLmdyb3VwU2VwYXJhdG9yKSB7XG4gICAgbSA9IG0ucmVwbGFjZSgvKFxcZHszfSkvZywgXCIkMVwiICsgb3B0aW9ucy5ncm91cFNlcGFyYXRvcik7XG4gICAgaWYgKG0uZW5kc1dpdGgob3B0aW9ucy5ncm91cFNlcGFyYXRvcikpIHtcbiAgICAgIG0gPSBtLnNsaWNlKDAsIC1vcHRpb25zLmdyb3VwU2VwYXJhdG9yLmxlbmd0aCk7XG4gICAgfVxuICB9XG4gIGlmIChleHRyYURpZ2l0cylcbiAgICByZXR1cm4gbSArIG9wdGlvbnMudHJ1bmNhdGlvbk1hcmtlcjtcbiAgcmV0dXJuIG07XG59XG5mdW5jdGlvbiBmb3JtYXRFeHBvbmVudChleHAyLCBvcHRpb25zKSB7XG4gIGlmICghZXhwMilcbiAgICByZXR1cm4gXCJcIjtcbiAgaWYgKG9wdGlvbnMuYmVnaW5FeHBvbmVudE1hcmtlcikge1xuICAgIHJldHVybiBvcHRpb25zLmJlZ2luRXhwb25lbnRNYXJrZXIgKyBleHAyICsgKG9wdGlvbnMuZW5kRXhwb25lbnRNYXJrZXIgPz8gXCJcIik7XG4gIH1cbiAgcmV0dXJuIFwiMTBee1wiICsgZXhwMiArIFwifVwiO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplTnVtYmVyKGV4cHIsIG9wdGlvbnMpIHtcbiAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgcmV0dXJuIFwiXCI7XG4gIGxldCBudW07XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgZXhwciA9PT0gXCJzdHJpbmdcIikge1xuICAgIG51bSA9IGV4cHI7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGV4cHIgPT09IFwib2JqZWN0XCIgJiYgXCJudW1cIiBpbiBleHByKSB7XG4gICAgbnVtID0gZXhwci5udW07XG4gIH0gZWxzZVxuICAgIHJldHVybiBcIlwiO1xuICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIikge1xuICAgIGlmIChudW0gPT09IEluZmluaXR5KVxuICAgICAgcmV0dXJuIG9wdGlvbnMucG9zaXRpdmVJbmZpbml0eTtcbiAgICBlbHNlIGlmIChudW0gPT09IC1JbmZpbml0eSlcbiAgICAgIHJldHVybiBvcHRpb25zLm5lZ2F0aXZlSW5maW5pdHk7XG4gICAgZWxzZSBpZiAoTnVtYmVyLmlzTmFOKG51bSkpXG4gICAgICByZXR1cm4gb3B0aW9ucy5ub3RBTnVtYmVyO1xuICAgIGxldCByZXN1bHQyID0gdm9pZCAwO1xuICAgIGlmIChvcHRpb25zLm5vdGF0aW9uID09PSBcImVuZ2luZWVyaW5nXCIpXG4gICAgICByZXN1bHQyID0gc2VyaWFsaXplU2NpZW50aWZpY05vdGF0aW9uTnVtYmVyKFxuICAgICAgICBudW0udG9FeHBvbmVudGlhbCgpLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICAzXG4gICAgICApO1xuICAgIGVsc2UgaWYgKG9wdGlvbnMubm90YXRpb24gPT09IFwic2NpZW50aWZpY1wiKVxuICAgICAgcmVzdWx0MiA9IHNlcmlhbGl6ZVNjaWVudGlmaWNOb3RhdGlvbk51bWJlcihudW0udG9FeHBvbmVudGlhbCgpLCBvcHRpb25zKTtcbiAgICByZXR1cm4gcmVzdWx0MiA/PyBzZXJpYWxpemVBdXRvTm90YXRpb25OdW1iZXIobnVtLnRvU3RyaW5nKCksIG9wdGlvbnMpO1xuICB9XG4gIG51bSA9IG51bS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1tcXHUwMDA5LVxcdTAwMGRcXHUwMDIwXFx1MDBhMF0vZywgXCJcIik7XG4gIGlmIChudW0gPT09IFwiaW5maW5pdHlcIiB8fCBudW0gPT09IFwiK2luZmluaXR5XCIpXG4gICAgcmV0dXJuIG9wdGlvbnMucG9zaXRpdmVJbmZpbml0eTtcbiAgZWxzZSBpZiAobnVtID09PSBcIi1pbmZpbml0eVwiKVxuICAgIHJldHVybiBvcHRpb25zLm5lZ2F0aXZlSW5maW5pdHk7XG4gIGVsc2UgaWYgKG51bSA9PT0gXCJuYW5cIilcbiAgICByZXR1cm4gb3B0aW9ucy5ub3RBTnVtYmVyO1xuICBpZiAoIS9eWy0rXFwuXT9bMC05XS8udGVzdChudW0pKVxuICAgIHJldHVybiBcIlwiO1xuICBudW0gPSBudW0ucmVwbGFjZSgvW25kXSQvLCBcIlwiKTtcbiAgaWYgKC9cXChbMC05XStcXCkvLnRlc3QobnVtKSkge1xuICAgIGNvbnN0IFtfLCBib2R5LCByZXBlYXQsIHRyYWlsXSA9IG51bS5tYXRjaCgvKC4rKVxcKChbMC05XSspXFwpKC4qKSQvKSA/PyBbXTtcbiAgICBudW0gPSBib2R5ICsgcmVwZWF0LnJlcGVhdChNYXRoLmNlaWwob3B0aW9ucy5wcmVjaXNpb24gLyByZXBlYXQubGVuZ3RoKSkgKyB0cmFpbDtcbiAgfVxuICBsZXQgc2lnbjIgPSBcIlwiO1xuICBpZiAobnVtWzBdID09PSBcIi1cIikge1xuICAgIHNpZ24yID0gXCItXCI7XG4gICAgbnVtID0gbnVtLnN1YnN0cmluZygxKTtcbiAgfSBlbHNlIGlmIChudW1bMF0gPT09IFwiK1wiKSB7XG4gICAgbnVtID0gbnVtLnN1YnN0cmluZygxKTtcbiAgfVxuICB3aGlsZSAobnVtWzBdID09PSBcIjBcIilcbiAgICBudW0gPSBudW0uc3Vic3RyaW5nKDEpO1xuICBpZiAobnVtLmxlbmd0aCA9PT0gMClcbiAgICBudW0gPSBcIjBcIjtcbiAgZWxzZSBpZiAobnVtWzBdID09PSBcIi5cIilcbiAgICBudW0gPSBcIjBcIiArIG51bTtcbiAgbGV0IHJlc3VsdCA9IHZvaWQgMDtcbiAgaWYgKG9wdGlvbnMubm90YXRpb24gPT09IFwiZW5naW5lZXJpbmdcIilcbiAgICByZXN1bHQgPSBzZXJpYWxpemVTY2llbnRpZmljTm90YXRpb25OdW1iZXIobnVtLCBvcHRpb25zLCAzKTtcbiAgZWxzZSBpZiAob3B0aW9ucy5ub3RhdGlvbiA9PT0gXCJzY2llbnRpZmljXCIpXG4gICAgcmVzdWx0ID0gc2VyaWFsaXplU2NpZW50aWZpY05vdGF0aW9uTnVtYmVyKG51bSwgb3B0aW9ucyk7XG4gIHJldHVybiBzaWduMiArIChyZXN1bHQgPz8gc2VyaWFsaXplQXV0b05vdGF0aW9uTnVtYmVyKG51bSwgb3B0aW9ucykpO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplU2NpZW50aWZpY05vdGF0aW9uTnVtYmVyKHZhbFN0cmluZywgb3B0aW9ucywgZXhwTXVsdGlwbGUgPSAxKSB7XG4gIGxldCBtID0gdmFsU3RyaW5nLm1hdGNoKC9eKC4qKVtlfEVdKFstK10/WzAtOV0rKSQvKTtcbiAgaWYgKCFtKSB7XG4gICAgbGV0IHNpZ24yID0gXCJcIjtcbiAgICBpZiAodmFsU3RyaW5nWzBdID09PSBcIi1cIikge1xuICAgICAgc2lnbjIgPSBcIi1cIjtcbiAgICAgIHZhbFN0cmluZyA9IHZhbFN0cmluZy5zdWJzdHJpbmcoMSk7XG4gICAgfSBlbHNlIGlmICh2YWxTdHJpbmdbMF0gPT09IFwiK1wiKSB7XG4gICAgICB2YWxTdHJpbmcgPSB2YWxTdHJpbmcuc3Vic3RyaW5nKDEpO1xuICAgIH1cbiAgICBpZiAodmFsU3RyaW5nLmluZGV4T2YoXCIuXCIpIDwgMCkge1xuICAgICAgaWYgKHZhbFN0cmluZy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdmFsU3RyaW5nID0gc2lnbjIgKyB2YWxTdHJpbmcgKyBcImUrMFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsU3RyaW5nID0gc2lnbjIgKyB2YWxTdHJpbmdbMF0gKyBcIi5cIiArIHZhbFN0cmluZy5zbGljZSgxKSArIFwiZStcIiArICh2YWxTdHJpbmcubGVuZ3RoIC0gMSkudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IFtfLCB3aG9sZSwgZnJhY3Rpb25dID0gdmFsU3RyaW5nLm1hdGNoKC9eKC4qKVxcLiguKikkLyk7XG4gICAgICBpZiAoIWZyYWN0aW9uKVxuICAgICAgICBmcmFjdGlvbiA9IFwiXCI7XG4gICAgICB3aGlsZSAod2hvbGUuc3RhcnRzV2l0aChcIjBcIikpXG4gICAgICAgIHdob2xlID0gd2hvbGUuc3Vic3RyaW5nKDEpO1xuICAgICAgaWYgKCF3aG9sZSkge1xuICAgICAgICB2YWxTdHJpbmcgPSBzaWduMiArIFwiMC5cIiArIGZyYWN0aW9uICsgXCJlKzBcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbFN0cmluZyA9IHNpZ24yICsgd2hvbGVbMF0gKyBcIi5cIiArIHdob2xlLnNsaWNlKDEpICsgZnJhY3Rpb24gKyBcImUrXCIgKyAod2hvbGUubGVuZ3RoIC0gMSkudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbSA9IHZhbFN0cmluZy5tYXRjaCgvXiguKilbZXxFXShbLStdP1swLTldKykkLyk7XG4gIH1cbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KG0pO1xuICBpZiAoIW0pXG4gICAgcmV0dXJuIHNlcmlhbGl6ZUF1dG9Ob3RhdGlvbk51bWJlcih2YWxTdHJpbmcsIG9wdGlvbnMpO1xuICBsZXQgZXhwb25lbnQgPSBwYXJzZUludChtWzJdKTtcbiAgbGV0IG1hbnRpc3NhID0gbVsxXTtcbiAgaWYgKE1hdGguYWJzKGV4cG9uZW50KSAlIGV4cE11bHRpcGxlICE9PSAwKSB7XG4gICAgY29uc3QgYWRqdXN0ID0gZXhwb25lbnQgPiAwID8gZXhwb25lbnQgJSBleHBNdWx0aXBsZSA6IC0oKGV4cE11bHRpcGxlICsgZXhwb25lbnQpICUgZXhwTXVsdGlwbGUpO1xuICAgIGV4cG9uZW50ID0gZXhwb25lbnQgPj0gMCA/IGV4cG9uZW50IC0gYWRqdXN0IDogZXhwb25lbnQgKyBhZGp1c3Q7XG4gICAgbGV0IFtfLCB3aG9sZSwgZnJhY3Rpb25dID0gbWFudGlzc2EubWF0Y2goL14oLiopXFwuKC4qKSQvKSA/PyBbXG4gICAgICBcIlwiLFxuICAgICAgbWFudGlzc2EsXG4gICAgICBcIlwiXG4gICAgXTtcbiAgICBtYW50aXNzYSA9IHdob2xlICsgKGZyYWN0aW9uICsgXCIwMDAwMDAwMDAwMDAwMDAwMFwiKS5zbGljZSgwLCBNYXRoLmFicyhhZGp1c3QpKSArIFwiLlwiICsgZnJhY3Rpb24uc2xpY2UoTWF0aC5hYnMoYWRqdXN0KSk7XG4gIH1cbiAgY29uc3QgYXZvaWQgPSBvcHRpb25zLmF2b2lkRXhwb25lbnRzSW5SYW5nZTtcbiAgaWYgKGF2b2lkICYmIGV4cG9uZW50ID49IGF2b2lkWzBdICYmIGV4cG9uZW50IDw9IGF2b2lkWzFdKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIGxldCBmcmFjdGlvbmFsUGFydCA9IFwiXCI7XG4gIGxldCB3aG9sZVBhcnQgPSBtYW50aXNzYTtcbiAgbSA9IHdob2xlUGFydC5tYXRjaCgvXiguKilcXC4oLiopJC8pO1xuICBpZiAobSkge1xuICAgIHdob2xlUGFydCA9IG1bMV07XG4gICAgZnJhY3Rpb25hbFBhcnQgPSBtWzJdO1xuICB9XG4gIGNvbnN0IGV4cFN0cmluZyA9IGV4cG9uZW50ICE9PSAwID8gZm9ybWF0RXhwb25lbnQoTnVtYmVyKGV4cG9uZW50KS50b1N0cmluZygpLCBvcHRpb25zKSA6IFwiXCI7XG4gIGlmIChvcHRpb25zLmdyb3VwU2VwYXJhdG9yKSB7XG4gICAgd2hvbGVQYXJ0ID0gd2hvbGVQYXJ0LnJlcGxhY2UoXG4gICAgICAvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZyxcbiAgICAgIG9wdGlvbnMuZ3JvdXBTZXBhcmF0b3JcbiAgICApO1xuICAgIGZyYWN0aW9uYWxQYXJ0ID0gZm9ybWF0RnJhY3Rpb25hbFBhcnQoZnJhY3Rpb25hbFBhcnQsIG9wdGlvbnMpO1xuICB9XG4gIGlmIChmcmFjdGlvbmFsUGFydClcbiAgICBmcmFjdGlvbmFsUGFydCA9IG9wdGlvbnMuZGVjaW1hbE1hcmtlciArIGZyYWN0aW9uYWxQYXJ0O1xuICBpZiAoIWV4cFN0cmluZylcbiAgICByZXR1cm4gd2hvbGVQYXJ0ICsgZnJhY3Rpb25hbFBhcnQ7XG4gIGlmICh3aG9sZVBhcnQgPT09IFwiMVwiICYmICFmcmFjdGlvbmFsUGFydClcbiAgICByZXR1cm4gZXhwU3RyaW5nO1xuICByZXR1cm4gd2hvbGVQYXJ0ICsgZnJhY3Rpb25hbFBhcnQgKyBvcHRpb25zLmV4cG9uZW50UHJvZHVjdCArIGV4cFN0cmluZztcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZUF1dG9Ob3RhdGlvbk51bWJlcih2YWxTdHJpbmcsIG9wdGlvbnMpIHtcbiAgbGV0IG0gPSB2YWxTdHJpbmcubWF0Y2goL14oLiopW2V8RV0oWy0rXT9bMC05XSspJC9pKTtcbiAgbGV0IGV4cG9uZW50ID0gdm9pZCAwO1xuICBpZiAobT8uWzFdICYmIG1bMl0pIHtcbiAgICBleHBvbmVudCA9IGZvcm1hdEV4cG9uZW50KG1bMl0sIG9wdGlvbnMpO1xuICB9XG4gIGxldCB3aG9sZVBhcnQgPSBtPy5bMV0gPz8gdmFsU3RyaW5nO1xuICBsZXQgZnJhY3Rpb25hbFBhcnQgPSBcIlwiO1xuICBtID0gKGV4cG9uZW50ID8gbVsxXSA6IHZhbFN0cmluZykubWF0Y2goL14oLiopXFwuKC4qKSQvKTtcbiAgaWYgKG0/LlsxXSAmJiBtWzJdKSB7XG4gICAgd2hvbGVQYXJ0ID0gbVsxXTtcbiAgICBmcmFjdGlvbmFsUGFydCA9IG1bMl07XG4gIH1cbiAgaWYgKG9wdGlvbnMuZ3JvdXBTZXBhcmF0b3IpIHtcbiAgICB3aG9sZVBhcnQgPSB3aG9sZVBhcnQucmVwbGFjZShcbiAgICAgIC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLFxuICAgICAgb3B0aW9ucy5ncm91cFNlcGFyYXRvclxuICAgICk7XG4gICAgZnJhY3Rpb25hbFBhcnQgPSBmb3JtYXRGcmFjdGlvbmFsUGFydChmcmFjdGlvbmFsUGFydCwgb3B0aW9ucyk7XG4gIH1cbiAgaWYgKGZyYWN0aW9uYWxQYXJ0KVxuICAgIGZyYWN0aW9uYWxQYXJ0ID0gb3B0aW9ucy5kZWNpbWFsTWFya2VyICsgZnJhY3Rpb25hbFBhcnQ7XG4gIGlmICghZXhwb25lbnQpXG4gICAgcmV0dXJuIHdob2xlUGFydCArIGZyYWN0aW9uYWxQYXJ0O1xuICBpZiAod2hvbGVQYXJ0ID09PSBcIjFcIiAmJiAhZnJhY3Rpb25hbFBhcnQpXG4gICAgcmV0dXJuIGV4cG9uZW50O1xuICByZXR1cm4gd2hvbGVQYXJ0ICsgZnJhY3Rpb25hbFBhcnQgKyBvcHRpb25zLmV4cG9uZW50UHJvZHVjdCArIGV4cG9uZW50O1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGF0ZXgtc3ludGF4L3NlcmlhbGl6ZXIudHNcbnZhciBBQ0NFTlRfTU9ESUZJRVJTID0ge1xuICBkZWc6IChzKSA9PiBgJHtzfVxcXFxkZWdyZWVgLFxuICBwcmltZTogKHMpID0+IGAke3N9XntcXFxccHJpbWV9YCxcbiAgZHByaW1lOiAocykgPT4gYCR7c31ee1xcXFxkb3VibGVwcmltZX1gLFxuICByaW5nOiAocykgPT4gYFxcXFxtYXRocmluZ3ske3N9fWAsXG4gIGhhdDogKHMpID0+IGBcXFxcaGF0eyR7c319YCxcbiAgdGlsZGU6IChzKSA9PiBgXFxcXHRpbGRleyR7c319YCxcbiAgdmVjOiAocykgPT4gYFxcXFx2ZWN7JHtzfX1gLFxuICBiYXI6IChzKSA9PiBgXFxcXG92ZXJsaW5leyR7c319YCxcbiAgdW5kZXJiYXI6IChzKSA9PiBgXFxcXHVuZGVybGluZXske3N9fWAsXG4gIGRvdDogKHMpID0+IGBcXFxcZG90eyR7c319YCxcbiAgZGRvdDogKHMpID0+IGBcXFxcZGRvdHske3N9fWAsXG4gIHRkb3Q6IChzKSA9PiBgXFxcXGRkZG90eyR7c319YCxcbiAgcWRvdDogKHMpID0+IGBcXFxcZGRkZG90eyR7c319YCxcbiAgLy8gU3VwcGxlbWVudGFsXG4gIGFjdXRlOiAocykgPT4gYFxcXFxhY3V0ZXske3N9fWAsXG4gIGdyYXZlOiAocykgPT4gYFxcXFxncmF2ZXske3N9fWAsXG4gIGJyZXZlOiAocykgPT4gYFxcXFxicmV2ZXske3N9fWAsXG4gIGNoZWNrOiAocykgPT4gYFxcXFxjaGVja3ske3N9fWBcbn07XG52YXIgU1RZTEVfTU9ESUZJRVJTID0ge1xuICB1cHJpZ2h0OiAocykgPT4gYFxcXFxtYXRocm17JHtzfX1gLFxuICBpdGFsaWM6IChzKSA9PiBgXFxcXG1hdGhpdHske3N9fWAsXG4gIGJvbGQ6IChzKSA9PiBgXFxcXG1hdGhiZnske3N9fWAsXG4gIHNjcmlwdDogKHMpID0+IGBcXFxcbWF0aHNjcnske3N9fWAsXG4gIGZyYWt0dXI6IChzKSA9PiBgXFxcXG1hdGhmcmFreyR7c319YCxcbiAgLy8gTm90ZSBVbmljb2RlIHVzZXMgJ2ZyYWt0dXInIGZvciAnZ290aGljJ1xuICBkb3VibGVzdHJ1Y2s6IChzKSA9PiBgXFxcXG1hdGhiYnske3N9fWAsXG4gIC8vIFVuaWNvZGUgdXNlcyAnZG91YmxlLXN0cnVjaycgZm9yICdibGFja2JvYXJkJ1xuICAvLyBTdXBwbGVtZW50YWxcbiAgYmxhY2tib2FyZDogKHMpID0+IGBcXFxcbWF0aGJieyR7c319YCxcbiAgY2FsbGlncmFwaGljOiAocykgPT4gYFxcXFxtYXRoY2FseyR7c319YCxcbiAgZ290aGljOiAocykgPT4gYFxcXFxtYXRoZnJha3ske3N9fWAsXG4gIHNhbnNzZXJpZjogKHMpID0+IGBcXFxcbWF0aHNmeyR7c319YCxcbiAgbW9ub3NwYWNlOiAocykgPT4gYFxcXFxtYXRodHR7JHtzfX1gXG59O1xudmFyIFNlcmlhbGl6ZXIgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMsIGRpY3Rpb25hcnkyLCBvbkVycm9yKSB7XG4gICAgdGhpcy5sZXZlbCA9IC0xO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgaWYgKG9wdGlvbnMuaW52aXNpYmxlTXVsdGlwbHkpIHtcbiAgICAgIGlmICghLyMxLy50ZXN0KG9wdGlvbnMuaW52aXNpYmxlTXVsdGlwbHkpIHx8ICEvIzIvLnRlc3Qob3B0aW9ucy5pbnZpc2libGVNdWx0aXBseSkpIHtcbiAgICAgICAgb25FcnJvcihbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgICAgICAgbWVzc2FnZTogW1wiZXhwZWN0ZWQtYXJndW1lbnRcIiwgXCJpbnZpc2libGVNdWx0aXBseVwiXVxuICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMub25FcnJvciA9IG9uRXJyb3I7XG4gICAgdGhpcy5kaWN0aW9uYXJ5ID0gZGljdGlvbmFyeTI7XG4gICAgdGhpcy5jYW5vbmljYWwgPSB2b2lkIDA7XG4gIH1cbiAgdXBkYXRlT3B0aW9ucyhvcHQpIHtcbiAgICBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXModGhpcy5vcHRpb25zKSlcbiAgICAgIGlmIChrIGluIG9wdClcbiAgICAgICAgdGhpcy5vcHRpb25zW2tdID0gb3B0W2tdO1xuICB9XG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIGV4cHJlc3Npb24sIGFuZCBpZiB0aGUgZXhwcmVzc2lvbiBpcyBhbiBvcGVyYXRvclxuICAgKiBvZiBwcmVjZWRlbmNlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBwcmVjLCB3cmFwIGl0IGluIHNvbWUgcGFyZW4uXG4gICAqIEB0b2RvOiBkb24ndCB3cmFwIEFicywgRmxvb3IsIENlaWwsIERlbGltaXRlclxuICAgKi9cbiAgd3JhcChleHByLCBwcmVjKSB7XG4gICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICBpZiAocHJlYyA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdGhpcy53cmFwU3RyaW5nKFxuICAgICAgICB0aGlzLnNlcmlhbGl6ZShleHByKSxcbiAgICAgICAgdGhpcy5vcHRpb25zLmdyb3VwU3R5bGUoZXhwciwgdGhpcy5sZXZlbCArIDEpXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGV4cHIgPT09IFwibnVtYmVyXCIgfHwgaXNOdW1iZXJPYmplY3QoZXhwcikgfHwgdHlwZW9mIGV4cHIgPT09IFwic3RyaW5nXCIgfHwgaXNTeW1ib2xPYmplY3QoZXhwcikpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZShleHByKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGhlYWQoZXhwcik7XG4gICAgaWYgKHR5cGVvZiBuYW1lID09PSBcInN0cmluZ1wiICYmIG5hbWUgIT09IFwiRGVsaW1pdGVyXCIgJiYgbmFtZSAhPT0gXCJTdWJzY3JpcHRcIikge1xuICAgICAgY29uc3QgZGVmID0gdGhpcy5kaWN0aW9uYXJ5Lmlkcy5nZXQobmFtZSk7XG4gICAgICBpZiAoZGVmICYmIChkZWYua2luZCA9PT0gXCJzeW1ib2xcIiB8fCBkZWYua2luZCA9PT0gXCJwcmVmaXhcIiB8fCBkZWYua2luZCA9PT0gXCJpbmZpeFwiIHx8IGRlZi5raW5kID09PSBcInBvc3RmaXhcIikgJiYgZGVmLnByZWNlZGVuY2UgPCBwcmVjKVxuICAgICAgICByZXR1cm4gdGhpcy53cmFwU3RyaW5nKFxuICAgICAgICAgIHRoaXMuc2VyaWFsaXplKGV4cHIpLFxuICAgICAgICAgIHRoaXMub3B0aW9ucy5hcHBseUZ1bmN0aW9uU3R5bGUoZXhwciwgdGhpcy5sZXZlbClcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKGV4cHIpO1xuICB9XG4gIC8qKlxuICAgKiBJZiB0aGlzIGlzIGEgXCJzaG9ydFwiIGV4cHJlc3Npb24sIHdyYXAgaXQuXG4gICAqIERvIG5vdCB3cmFwIGlkZW50aWZpZXJzLCBwb3NpdGl2ZSBudW1iZXJzIG9yIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgdGhlIHNlcmlhbGl6ZXIgZm9yIHBvd2VyIGFuZCBkaXZpc2lvbiAoaS5lLiBcIihhKzEpL2JcIilcbiAgICpcbiAgICovXG4gIHdyYXBTaG9ydChleHByKSB7XG4gICAgaWYgKGV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICBjb25zdCBleHByU3RyID0gdGhpcy5zZXJpYWxpemUoZXhwcik7XG4gICAgaWYgKHN5bWJvbChleHByKSAhPT0gbnVsbClcbiAgICAgIHJldHVybiBleHByU3RyO1xuICAgIGlmIChoZWFkKGV4cHIpID09PSBcIkRlbGltaXRlclwiICYmIG5vcHMoZXhwcikgPT09IDEpXG4gICAgICByZXR1cm4gZXhwclN0cjtcbiAgICBjb25zdCBpc051bSA9IGlzTnVtYmVyRXhwcmVzc2lvbihleHByKTtcbiAgICBpZiAoaXNOdW0gJiYgIS9eKC18XFwuKS8udGVzdChleHByU3RyKSlcbiAgICAgIHJldHVybiBleHByU3RyO1xuICAgIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICAgIGlmIChoICE9PSBcIkFkZFwiICYmIGggIT09IFwiTmVnYXRlXCIgJiYgaCAhPT0gXCJTdWJ0cmFjdFwiICYmIGggIT09IFwiUGx1c01pbnVzXCIgJiYgaCAhPT0gXCJNdWx0aXBseVwiKVxuICAgICAgcmV0dXJuIGV4cHJTdHI7XG4gICAgcmV0dXJuIHRoaXMud3JhcFN0cmluZyhcbiAgICAgIGV4cHJTdHIsXG4gICAgICB0aGlzLm9wdGlvbnMuZ3JvdXBTdHlsZShleHByLCB0aGlzLmxldmVsICsgMSlcbiAgICApO1xuICB9XG4gIHdyYXBTdHJpbmcocywgc3R5bGUsIGZlbmNlKSB7XG4gICAgaWYgKHN0eWxlID09PSBcIm5vbmVcIilcbiAgICAgIHJldHVybiBzO1xuICAgIGlmIChmZW5jZSA9PT0gdm9pZCAwKVxuICAgICAgZmVuY2UgPSBcIigpXCI7XG4gICAgY29uc3Qgb3BlbkZlbmNlID0gZmVuY2U/LlswXSA/PyBcIi5cIjtcbiAgICBjb25zdCBjbG9zZUZlbmNlID0gZmVuY2U/LlsxXSA/PyBcIi5cIjtcbiAgICBpZiAoKG9wZW5GZW5jZSA9PT0gXCIuXCIgfHwgY2xvc2VGZW5jZSA9PT0gXCIuXCIpICYmIHN0eWxlID09PSBcInBhcmVuXCIpXG4gICAgICBzdHlsZSA9IFwibGVmdHJpZ2h0XCI7XG4gICAgaWYgKHN0eWxlID09PSBcImxlZnRyaWdodFwiKVxuICAgICAgcmV0dXJuIGBcXFxcbGVmdCR7b3BlbkZlbmNlfSR7c31cXFxccmlnaHQke2Nsb3NlRmVuY2V9fWA7XG4gICAgaWYgKHN0eWxlID09PSBcImJpZ1wiKVxuICAgICAgcmV0dXJuIGAke29wZW5GZW5jZSA9PT0gXCIuXCIgPyBcIlwiIDogYFxcXFxCaWdsJHtvcGVuRmVuY2V9YH0ke3N9JHtjbG9zZUZlbmNlID09PSBcIi5cIiA/IFwiXCIgOiBgXFxcXEJpZ3Ike2Nsb3NlRmVuY2V9YH0pYDtcbiAgICByZXR1cm4gb3BlbkZlbmNlICsgcyArIGNsb3NlRmVuY2U7XG4gIH1cbiAgd3JhcEFyZ3VtZW50cyhleHByKSB7XG4gICAgcmV0dXJuIHRoaXMud3JhcFN0cmluZyhcbiAgICAgIChvcHMoZXhwcikgPz8gW10pLm1hcCgoeCkgPT4gdGhpcy5zZXJpYWxpemUoeCkpLmpvaW4oXCIsIFwiKSxcbiAgICAgIHRoaXMub3B0aW9ucy5hcHBseUZ1bmN0aW9uU3R5bGUoZXhwciwgdGhpcy5sZXZlbClcbiAgICApO1xuICB9XG4gIHNlcmlhbGl6ZVN5bWJvbChleHByLCBkZWYpIHtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQodHlwZW9mIGV4cHIgPT09IFwic3RyaW5nXCIgfHwgaXNTeW1ib2xPYmplY3QoZXhwcikpO1xuICAgIGlmIChkZWY/LmtpbmQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUlkZW50aWZpZXIoc3ltYm9sKGV4cHIpID8/IFwiXCIpID8/IFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBkZWY/LnNlcmlhbGl6ZT8uKHRoaXMsIGV4cHIpID8/IHNlcmlhbGl6ZUlkZW50aWZpZXIoc3ltYm9sKGV4cHIpKSA/PyBcIlwiO1xuICB9XG4gIHNlcmlhbGl6ZUZ1bmN0aW9uKGV4cHIsIGRlZikge1xuICAgIGlmIChkZWY/LnNlcmlhbGl6ZSlcbiAgICAgIHJldHVybiBkZWYuc2VyaWFsaXplKHRoaXMsIGV4cHIpO1xuICAgIGNvbnN0IGggPSBoZWFkKGV4cHIpO1xuICAgIGlmICh0eXBlb2YgaCA9PT0gXCJzdHJpbmdcIilcbiAgICAgIHJldHVybiBzZXJpYWxpemVJZGVudGlmaWVyKGgsIFwiYXV0b1wiKSArIHRoaXMud3JhcEFyZ3VtZW50cyhleHByKTtcbiAgICBjb25zdCBhcmdzID0gb3BzKGV4cHIpID8/IFtdO1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGpvaW5MYXRleChbXG4gICAgICAgIHRoaXMuc2VyaWFsaXplKGFyZ3NbMF0pLFxuICAgICAgICBcIlxcXFxyaGRcIixcbiAgICAgICAgdGhpcy53cmFwU3RyaW5nKFxuICAgICAgICAgIHRoaXMuc2VyaWFsaXplKGgpLFxuICAgICAgICAgIHRoaXMub3B0aW9ucy5hcHBseUZ1bmN0aW9uU3R5bGUoZXhwciwgdGhpcy5sZXZlbClcbiAgICAgICAgKVxuICAgICAgXSk7XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5vcHRpb25zLmFwcGx5RnVuY3Rpb25TdHlsZShleHByLCB0aGlzLmxldmVsKTtcbiAgICByZXR1cm4gam9pbkxhdGV4KFtcbiAgICAgIFwiXFxcXG9wZXJhdG9ybmFtZXthcHBseX1cIixcbiAgICAgIHRoaXMud3JhcFN0cmluZyhcbiAgICAgICAgdGhpcy5zZXJpYWxpemUoaCkgKyBcIiwgXCIgKyB0aGlzLnNlcmlhbGl6ZShbXCJMaXN0XCIsIC4uLmFyZ3NdKSxcbiAgICAgICAgc3R5bGVcbiAgICAgIClcbiAgICBdKTtcbiAgfVxuICBzZXJpYWxpemVEaWN0aW9uYXJ5KGRpY3QpIHtcbiAgICByZXR1cm4gYFxcXFxsZWZ0XFxcXGxicmFja1xcXFxiZWdpbnthcnJheX17bGxsfSR7T2JqZWN0LmtleXMoZGljdCkubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gYFxcXFx0ZXh0YmZ7JHt4fX0gJiBcXFxccmlnaHRhcnJvdyAmICR7dGhpcy5zZXJpYWxpemUoZGljdFt4XSl9YDtcbiAgICB9KS5qb2luKFwiXFxcXFxcXFxcIil9XFxcXGVuZHthcnJheX1cXFxccmlnaHRcXFxccmJyYWNrYDtcbiAgfVxuICBzZXJpYWxpemUoZXhwciwgb3B0aW9ucykge1xuICAgIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIG9wdGlvbnMgPz8gKG9wdGlvbnMgPSB7fSk7XG4gICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucyB9O1xuICAgIGlmICghKFwiY2Fub25pY2FsXCIgaW4gb3B0aW9ucykpXG4gICAgICBvcHRpb25zLmNhbm9uaWNhbCA9IHRydWU7XG4gICAgY29uc3Qgc2F2ZWRDYW5vbmljYWwgPSB0aGlzLmNhbm9uaWNhbDtcbiAgICBpZiAodGhpcy5jYW5vbmljYWwgPT09IHZvaWQgMClcbiAgICAgIHRoaXMuY2Fub25pY2FsID0gb3B0aW9ucy5jYW5vbmljYWw7XG4gICAgdGhpcy5sZXZlbCArPSAxO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSAoKCkgPT4ge1xuICAgICAgICBjb25zdCBudW1lcmljVmFsdWUgPSBzZXJpYWxpemVOdW1iZXIoZXhwciwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgaWYgKG51bWVyaWNWYWx1ZSlcbiAgICAgICAgICByZXR1cm4gbnVtZXJpY1ZhbHVlO1xuICAgICAgICBjb25zdCBzID0gc3RyaW5nVmFsdWUoZXhwcik7XG4gICAgICAgIGlmIChzICE9PSBudWxsKVxuICAgICAgICAgIHJldHVybiBgXFxcXHRleHR7JHtzfX1gO1xuICAgICAgICBjb25zdCBkaWN0ID0gZGljdGlvbmFyeShleHByKTtcbiAgICAgICAgaWYgKGRpY3QgIT09IG51bGwpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplRGljdGlvbmFyeShkaWN0KTtcbiAgICAgICAgY29uc3Qgc3ltYm9sTmFtZSA9IHN5bWJvbChleHByKTtcbiAgICAgICAgaWYgKHN5bWJvbE5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVTeW1ib2woXG4gICAgICAgICAgICBleHByLFxuICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5Lmlkcy5nZXQoc3ltYm9sTmFtZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZuTmFtZSA9IGhlYWROYW1lKGV4cHIpO1xuICAgICAgICBpZiAoZm5OYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplRnVuY3Rpb24oZXhwciwgdGhpcy5kaWN0aW9uYXJ5Lmlkcy5nZXQoZm5OYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhlYWQoZXhwcikgIT09IG51bGwpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplRnVuY3Rpb24oZXhwcik7XG4gICAgICAgIHRoaXMub25FcnJvcihbXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2V2ZXJpdHk6IFwid2FybmluZ1wiLFxuICAgICAgICAgICAgbWVzc2FnZTogW1xuICAgICAgICAgICAgICBcInN5bnRheC1lcnJvclwiLFxuICAgICAgICAgICAgICBleHByID8gSlNPTi5zdHJpbmdpZnkoZXhwcikgOiBcInVuZGVmaW5lZFwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdKTtcbiAgICAgIH0pKCk7XG4gICAgICB0aGlzLmxldmVsIC09IDE7XG4gICAgICB0aGlzLmNhbm9uaWNhbCA9IHNhdmVkQ2Fub25pY2FsO1xuICAgICAgcmV0dXJuIHJlc3VsdCA/PyBcIlwiO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICB9XG4gICAgdGhpcy5sZXZlbCAtPSAxO1xuICAgIHRoaXMuY2Fub25pY2FsID0gc2F2ZWRDYW5vbmljYWw7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbiAgYXBwbHlGdW5jdGlvblN0eWxlKGV4cHIsIGxldmVsKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hcHBseUZ1bmN0aW9uU3R5bGUoZXhwciwgbGV2ZWwpO1xuICB9XG4gIGdyb3VwU3R5bGUoZXhwciwgbGV2ZWwpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdyb3VwU3R5bGUoZXhwciwgbGV2ZWwpO1xuICB9XG4gIHJvb3RTdHlsZShleHByLCBsZXZlbCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucm9vdFN0eWxlKGV4cHIsIGxldmVsKTtcbiAgfVxuICBmcmFjdGlvblN0eWxlKGV4cHIsIGxldmVsKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5mcmFjdGlvblN0eWxlKGV4cHIsIGxldmVsKTtcbiAgfVxuICBsb2dpY1N0eWxlKGV4cHIsIGxldmVsKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5sb2dpY1N0eWxlKGV4cHIsIGxldmVsKTtcbiAgfVxuICBwb3dlclN0eWxlKGV4cHIsIGxldmVsKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wb3dlclN0eWxlKGV4cHIsIGxldmVsKTtcbiAgfVxuICBudW1lcmljU2V0U3R5bGUoZXhwciwgbGV2ZWwpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm51bWVyaWNTZXRTdHlsZShleHByLCBsZXZlbCk7XG4gIH1cbn07XG5mdW5jdGlvbiBzcGVjaWFsTmFtZShzKSB7XG4gIGNvbnN0IHByZWZpeCA9IHMubWF0Y2goL14oW15fXSspLyk/LlsxXSA/PyBcIlwiO1xuICBsZXQgaSA9IFNZTUJPTFMuZmluZEluZGV4KCh4KSA9PiBwcmVmaXggPT09IHhbMF0pO1xuICBpZiAoaSA+PSAwKVxuICAgIHJldHVybiBbU1lNQk9MU1tpXVsxXSwgcy5zdWJzdHJpbmcoU1lNQk9MU1tpXVswXS5sZW5ndGgpXTtcbiAgY29uc3QgRElHSVRTID0ge1xuICAgIHplcm86IFwiMFwiLFxuICAgIG9uZTogXCIxXCIsXG4gICAgdHdvOiBcIjJcIixcbiAgICB0aHJlZTogXCIzXCIsXG4gICAgZm91cjogXCI0XCIsXG4gICAgZml2ZTogXCI1XCIsXG4gICAgc2l4OiBcIjZcIixcbiAgICBzZXZlbjogXCI3XCIsXG4gICAgZWlnaHQ6IFwiOFwiLFxuICAgIG5pbmU6IFwiOVwiLFxuICAgIHRlbjogXCIxMFwiXG4gIH07XG4gIGkgPSBPYmplY3Qua2V5cyhESUdJVFMpLmZpbmRJbmRleCgoeCkgPT4gcy5zdGFydHNXaXRoKHgpKTtcbiAgaWYgKGkgPj0gMCkge1xuICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKERJR0lUUylbaV07XG4gICAgcmV0dXJuIFtESUdJVFNba2V5XSwgcy5zdWJzdHJpbmcoa2V5Lmxlbmd0aCldO1xuICB9XG4gIGNvbnN0IGNvZGUgPSBzLmNvZGVQb2ludEF0KDApO1xuICBpID0gU1lNQk9MUy5maW5kSW5kZXgoKHgpID0+IHhbMl0gPT09IGNvZGUpO1xuICBpZiAoaSA+PSAwKVxuICAgIHJldHVybiBbU1lNQk9MU1tpXVsxXSwgcy5zdWJzdHJpbmcoMSldO1xuICBjb25zdCBFWFRSQV9TWU1CT0xTID0ge1xuICAgIHBsdXM6IFwiK1wiLFxuICAgIG1pbnVzOiBcIi1cIixcbiAgICBwbTogXCJcXFxccG1cIixcbiAgICBhc3Q6IFwiXFxcXGFzdFwiLFxuICAgIGRhZzogXCJcXFxcZGFnXCIsXG4gICAgZGRhZzogXCJcXFxcZGRhZ1wiLFxuICAgIGhhc2g6IFwiXFxcXCNcIixcbiAgICBib3R0b206IFwiXFxcXGJvdFwiLFxuICAgIHRvcDogXCJcXFxcdG9wXCIsXG4gICAgYnVsbGV0OiBcIlxcXFxidWxsZXRcIixcbiAgICBjaXJjbGU6IFwiXFxcXGNpcmNcIixcbiAgICBkaWFtb25kOiBcIlxcXFxkaWFtb25kXCIsXG4gICAgdGltZXM6IFwiXFxcXHRpbWVzXCIsXG4gICAgc3F1YXJlOiBcIlxcXFxzcXVhcmVcIixcbiAgICBzdGFyOiBcIlxcXFxzdGFyXCJcbiAgfTtcbiAgaSA9IE9iamVjdC5rZXlzKEVYVFJBX1NZTUJPTFMpLmZpbmRJbmRleCgoeCkgPT4gcHJlZml4ID09PSB4KTtcbiAgaWYgKGkgPj0gMCkge1xuICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKEVYVFJBX1NZTUJPTFMpW2ldO1xuICAgIHJldHVybiBbRVhUUkFfU1lNQk9MU1trZXldLCBzLnN1YnN0cmluZyhrZXkubGVuZ3RoKV07XG4gIH1cbiAgcmV0dXJuIFtwcmVmaXgsIHMuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpXTtcbn1cbmZ1bmN0aW9uIHBhcnNlTW9kaWZpZXJzKHMpIHtcbiAgbGV0IFtib2R5LCByZXN0XSA9IHNwZWNpYWxOYW1lKHMpO1xuICBjb25zdCBhY2NlbnQgPSBbXTtcbiAgd2hpbGUgKHJlc3QubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG0gPSByZXN0Lm1hdGNoKC9eXyhbYS16QS1aXSspKC4qKS8pO1xuICAgIGlmICghbSlcbiAgICAgIGJyZWFrO1xuICAgIGlmICghQUNDRU5UX01PRElGSUVSU1ttWzFdXSlcbiAgICAgIGJyZWFrO1xuICAgIGFjY2VudC5wdXNoKG1bMV0pO1xuICAgIHJlc3QgPSBtWzJdO1xuICB9XG4gIGNvbnN0IHN0eWxlcyA9IFtdO1xuICB3aGlsZSAocmVzdC5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgbSA9IHJlc3QubWF0Y2goL15fKFthLXpBLVpdKykoLiopLyk7XG4gICAgaWYgKCFtKVxuICAgICAgYnJlYWs7XG4gICAgaWYgKCFTVFlMRV9NT0RJRklFUlNbbVsxXV0pXG4gICAgICBicmVhaztcbiAgICBzdHlsZXMucHVzaChtWzFdKTtcbiAgICByZXN0ID0gbVsyXTtcbiAgfVxuICByZXR1cm4gW2JvZHksIGFjY2VudCwgc3R5bGVzLCByZXN0XTtcbn1cbmZ1bmN0aW9uIHBhcnNlSWRlbnRpZmllckJvZHkyKHMsIHRvcExldmVsID0gdHJ1ZSwgc3R5bGUgPSBcImF1dG9cIikge1xuICBsZXQgW2JvZHksIGFjY2VudHMsIHN0eWxlcywgcmVzdF0gPSBwYXJzZU1vZGlmaWVycyhzKTtcbiAgZm9yIChjb25zdCBhY2NlbnQgb2YgYWNjZW50cykge1xuICAgIGlmIChBQ0NFTlRfTU9ESUZJRVJTW2FjY2VudF0pXG4gICAgICBib2R5ID0gQUNDRU5UX01PRElGSUVSU1thY2NlbnRdKGJvZHkpO1xuICB9XG4gIGlmICh0b3BMZXZlbCkge1xuICAgIGNvbnN0IHN1cHMgPSBbXTtcbiAgICBjb25zdCBzdWJzMiA9IFtdO1xuICAgIGNvbnN0IG0gPSBib2R5Lm1hdGNoKC9eKFteXFxkXS4qPykoXFxkKykkLyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHN1YnMyLnB1c2gobVsyXSk7XG4gICAgICBib2R5ID0gbVsxXTtcbiAgICB9XG4gICAgd2hpbGUgKHJlc3QubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHJlc3Quc3RhcnRzV2l0aChcIl9fXCIpKSB7XG4gICAgICAgIGNvbnN0IFtzdXAsIHJlc3QyXSA9IHBhcnNlSWRlbnRpZmllckJvZHkyKFxuICAgICAgICAgIHJlc3Quc3Vic3RyaW5nKDIpLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIFwibm9uZVwiXG4gICAgICAgICk7XG4gICAgICAgIHN1cHMucHVzaChzdXApO1xuICAgICAgICByZXN0ID0gcmVzdDI7XG4gICAgICB9IGVsc2UgaWYgKHJlc3Quc3RhcnRzV2l0aChcIl9cIikpIHtcbiAgICAgICAgY29uc3QgW3N1YjIsIHJlc3QyXSA9IHBhcnNlSWRlbnRpZmllckJvZHkyKFxuICAgICAgICAgIHJlc3Quc3Vic3RyaW5nKDEpLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIFwibm9uZVwiXG4gICAgICAgICk7XG4gICAgICAgIHN1YnMyLnB1c2goc3ViMik7XG4gICAgICAgIHJlc3QgPSByZXN0MjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoc3Vwcy5sZW5ndGggPiAwKVxuICAgICAgYm9keSA9IGAke2JvZHl9Xnske3N1cHMuam9pbihcIixcIil9fWA7XG4gICAgaWYgKHN1YnMyLmxlbmd0aCA+IDApXG4gICAgICBib2R5ID0gYCR7Ym9keX1feyR7c3ViczIuam9pbihcIixcIil9fWA7XG4gIH1cbiAgZm9yIChjb25zdCBzdHlsZTIgb2Ygc3R5bGVzKSB7XG4gICAgaWYgKFNUWUxFX01PRElGSUVSU1tzdHlsZTJdKVxuICAgICAgYm9keSA9IFNUWUxFX01PRElGSUVSU1tzdHlsZTJdKGJvZHkpO1xuICB9XG4gIGlmIChzdHlsZXMubGVuZ3RoID09PSAwICYmIHN0eWxlICE9PSBcIm5vbmVcIikge1xuICAgIHN3aXRjaCAoc3R5bGUpIHtcbiAgICAgIGNhc2UgXCJhdXRvXCI6XG4gICAgICAgIGlmIChjb3VudFRva2Vucyhib2R5KSA+IDEpXG4gICAgICAgICAgYm9keSA9IGBcXFxcbWF0aHJteyR7Ym9keX19YDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwib3BlcmF0b3JcIjpcbiAgICAgICAgYm9keSA9IGBcXFxcb3BlcmF0b3JuYW1leyR7Ym9keX19YDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiaXRhbGljXCI6XG4gICAgICAgIGJvZHkgPSBgXFxcXG1hdGhpdHske2JvZHl9fWA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInVwcmlnaHRcIjpcbiAgICAgICAgYm9keSA9IGBcXFxcbWF0aHJteyR7Ym9keX19YDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiBbYm9keSwgcmVzdF07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVJZGVudGlmaWVyKHMsIHN0eWxlID0gXCJhdXRvXCIpIHtcbiAgaWYgKHMgPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmIChPTkxZX0VNT0pJUy50ZXN0KHMpKVxuICAgIHJldHVybiBzO1xuICBjb25zdCBtID0gcy5tYXRjaCgvXihfKykoLiopLyk7XG4gIGlmIChtKSB7XG4gICAgY29uc3QgW2JvZHkyLCByZXN0Ml0gPSBwYXJzZUlkZW50aWZpZXJCb2R5MihtWzJdLCB0cnVlLCBcIm5vbmVcIik7XG4gICAgcmV0dXJuIGBcXFxcb3BlcmF0b3JuYW1leyR7XCJcXFxcX1wiLnJlcGVhdChtWzFdLmxlbmd0aCkgKyBib2R5MiArIHJlc3QyfX1gO1xuICB9XG4gIGNvbnN0IFtib2R5LCByZXN0XSA9IHBhcnNlSWRlbnRpZmllckJvZHkyKHMsIHRydWUsIHN0eWxlKTtcbiAgaWYgKHJlc3QubGVuZ3RoID4gMClcbiAgICByZXR1cm4gYFxcXFxvcGVyYXRvcm5hbWV7JHtzfX1gO1xuICByZXR1cm4gYm9keTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xhdGV4LXN5bnRheC9sYXRleC1zeW50YXgudHNcbnZhciBERUZBVUxUX1NFUklBTElaRV9MQVRFWF9PUFRJT05TID0ge1xuICBpbnZpc2libGVNdWx0aXBseTogXCJcIixcbiAgLy8gJ1xcXFxjZG90JyxcbiAgaW52aXNpYmxlUGx1czogXCJcIixcbiAgLy8gJysnLFxuICAvLyBpbnZpc2libGVBcHBseTogJycsXG4gIG11bHRpcGx5OiBcIlxcXFx0aW1lc1wiLFxuICBtaXNzaW5nU3ltYm9sOiBcIlxcXFxibGFja3NxdWFyZVwiLFxuICAvLyBvcGVuR3JvdXA6ICcoJyxcbiAgLy8gY2xvc2VHcm91cDogJyknLFxuICAvLyBkaXZpZGU6ICdcXFxcZnJhY3sjMX17IzJ9JyxcbiAgLy8gc3VidHJhY3Q6ICcjMS0jMicsXG4gIC8vIGFkZDogJyMxKyMyJyxcbiAgLy8gbmVnYXRlOiAnLSMxJyxcbiAgLy8gc3F1YXJlUm9vdDogJ1xcXFxzcXJ0eyMxfScsXG4gIC8vIG50aFJvb3Q6ICdcXFxcc3FydFsjMl17IzF9JyxcbiAgYXBwbHlGdW5jdGlvblN0eWxlOiBnZXRBcHBseUZ1bmN0aW9uU3R5bGUsXG4gIGdyb3VwU3R5bGU6IGdldEdyb3VwU3R5bGUsXG4gIHJvb3RTdHlsZTogZ2V0Um9vdFN0eWxlLFxuICBmcmFjdGlvblN0eWxlOiBnZXRGcmFjdGlvblN0eWxlLFxuICBsb2dpY1N0eWxlOiBnZXRMb2dpY1N0eWxlLFxuICBwb3dlclN0eWxlOiBnZXRQb3dlclN0eWxlLFxuICBudW1lcmljU2V0U3R5bGU6IGdldE51bWVyaWNTZXRTdHlsZVxufTtcbnZhciBMYXRleFN5bnRheCA9IGNsYXNzIF9MYXRleFN5bnRheCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBjb25zdCBvbkVycm9yID0gKHdhcm5pbmdzKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2Ygd2FybmluZ3MpXG4gICAgICAgICAgY29uc29sZS53YXJuKHdhcm5pbmcubWVzc2FnZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfTtcbiAgICB0aGlzLm9uRXJyb3IgPSBvcHRpb25zLm9uRXJyb3IgPz8gb25FcnJvcjtcbiAgICB0aGlzLmNvbXB1dGVFbmdpbmUgPSBvcHRpb25zLmNvbXB1dGVFbmdpbmU7XG4gICAgY29uc3Qgb3B0cyA9IHsgLi4ub3B0aW9ucyB9O1xuICAgIGRlbGV0ZSBvcHRzLmRpY3Rpb25hcnk7XG4gICAgZGVsZXRlIG9wdHMub25FcnJvcjtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi5ERUZBVUxUX0xBVEVYX05VTUJFUl9PUFRJT05TLFxuICAgICAgLi4uREVGQVVMVF9QQVJTRV9MQVRFWF9PUFRJT05TLFxuICAgICAgLi4uREVGQVVMVF9TRVJJQUxJWkVfTEFURVhfT1BUSU9OUyxcbiAgICAgIC4uLm9wdHNcbiAgICB9O1xuICAgIHRoaXMuX2RpY3Rpb25hcnlJbnB1dCA9IG9wdGlvbnMuZGljdGlvbmFyeSA/PyBfTGF0ZXhTeW50YXguZ2V0RGljdGlvbmFyeSgpO1xuICAgIHRoaXMuX2RpY3Rpb25hcnkgPSBpbmRleExhdGV4RGljdGlvbmFyeShcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnlJbnB1dCxcbiAgICAgIChzaWcpID0+IHRoaXMub25FcnJvcihbc2lnXSlcbiAgICApO1xuICB9XG4gIGdldCBkaWN0aW9uYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJ5SW5wdXQ7XG4gIH1cbiAgc2V0IGRpY3Rpb25hcnkodmFsKSB7XG4gICAgdGhpcy5fZGljdGlvbmFyeUlucHV0ID0gdmFsO1xuICAgIHRoaXMuX2RpY3Rpb25hcnkgPSBpbmRleExhdGV4RGljdGlvbmFyeSh2YWwsIChzaWcpID0+IHRoaXMub25FcnJvcihbc2lnXSkpO1xuICB9XG4gIHVwZGF0ZU9wdGlvbnMob3B0KSB7XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucykpXG4gICAgICBpZiAoayBpbiBvcHQpXG4gICAgICAgIHRoaXMub3B0aW9uc1trXSA9IG9wdFtrXTtcbiAgICB0aGlzLnNlcmlhbGl6ZXIudXBkYXRlT3B0aW9ucyhvcHQpO1xuICB9XG4gIHN0YXRpYyBnZXREaWN0aW9uYXJ5KGNhdGVnb3J5ID0gXCJhbGxcIikge1xuICAgIGlmIChjYXRlZ29yeSA9PT0gXCJhbGxcIikge1xuICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKGNvbnN0IGRvbWFpbiBvZiBPYmplY3Qua2V5cyhERUZBVUxUX0xBVEVYX0RJQ1RJT05BUlkpKVxuICAgICAgICBpZiAoREVGQVVMVF9MQVRFWF9ESUNUSU9OQVJZW2RvbWFpbl0pXG4gICAgICAgICAgcmVzdWx0LnB1c2goLi4uREVGQVVMVF9MQVRFWF9ESUNUSU9OQVJZW2RvbWFpbl0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKCFERUZBVUxUX0xBVEVYX0RJQ1RJT05BUllbY2F0ZWdvcnldKVxuICAgICAgcmV0dXJuIFtdO1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKFsuLi5ERUZBVUxUX0xBVEVYX0RJQ1RJT05BUllbY2F0ZWdvcnldXSk7XG4gIH1cbiAgcGFyc2UobGF0ZXgpIHtcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgX1BhcnNlcihcbiAgICAgIHRva2VuaXplKGxhdGV4LCBbXSksXG4gICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5LFxuICAgICAgdGhpcy5jb21wdXRlRW5naW5lXG4gICAgKTtcbiAgICBsZXQgZXhwciA9IHBhcnNlci5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICBpZiAoIXBhcnNlci5hdEVuZCkge1xuICAgICAgY29uc3Qgb3BEZWZzID0gcGFyc2VyLnBlZWtEZWZpbml0aW9ucyhcImluZml4XCIpO1xuICAgICAgaWYgKG9wRGVmcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gcGFyc2VyLmluZGV4O1xuICAgICAgICBjb25zdCBbZGVmLCBuXSA9IG9wRGVmc1swXTtcbiAgICAgICAgcGFyc2VyLmluZGV4ICs9IG47XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRlZi5wYXJzZShcbiAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgZXhwciA/PyBwYXJzZXIuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KSxcbiAgICAgICAgICB7IG1pblByZWM6IDAgfVxuICAgICAgICApO1xuICAgICAgICBpZiAocmVzdWx0KVxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIGlmIChkZWYubmFtZSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkZWYubmFtZSxcbiAgICAgICAgICAgIGV4cHIgPz8gcGFyc2VyLmVycm9yKFwibWlzc2luZ1wiLCBzdGFydCksXG4gICAgICAgICAgICBwYXJzZXIuZXJyb3IoXCJtaXNzaW5nXCIsIHN0YXJ0KVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VyLmluZGV4ID0gc3RhcnQ7XG4gICAgICB9XG4gICAgICBjb25zdCBpbmRleCA9IHBhcnNlci5pbmRleDtcbiAgICAgIGNvbnN0IGlkID0gcGFyc2VJZGVudGlmaWVyKHBhcnNlcik7XG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgY29uc3QgaWRFcnJvciA9IHBhcnNlci5lcnJvcihbXCJ1bmV4cGVjdGVkLWlkZW50aWZpZXJcIiwgaWRdLCBpbmRleCk7XG4gICAgICAgIHJldHVybiBleHByID8gW1wiU2VxdWVuY2VcIiwgZXhwciwgaWRFcnJvcl0gOiBpZEVycm9yO1xuICAgICAgfVxuICAgICAgbGV0IG9wZW5EZWxpbWl0ZXIgPSBwYXJzZXIucGVlaztcbiAgICAgIGNvbnN0IGNsb3NlRGVsaW1pdGVyID0gcGFyc2VyLm1hdGNoRW5jbG9zdXJlT3BlbigpO1xuICAgICAgaWYgKGNsb3NlRGVsaW1pdGVyKSB7XG4gICAgICAgIHBhcnNlci5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgICAgcGFyc2VyLm1hdGNoKGNsb3NlRGVsaW1pdGVyKTtcbiAgICAgICAgY29uc3QgZW5jbG9zdXJlRXJyb3IgPSBwYXJzZXIuZXJyb3IoXG4gICAgICAgICAgW1widW5leHBlY3RlZC1vcGVuLWRlbGltaXRlclwiLCB7IHN0cjogb3BlbkRlbGltaXRlciB9XSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZXhwciA/IFtcIlNlcXVlbmNlXCIsIGV4cHIsIGVuY2xvc3VyZUVycm9yXSA6IGVuY2xvc3VyZUVycm9yO1xuICAgICAgfVxuICAgICAgb3BlbkRlbGltaXRlciA9IHBhcnNlci5tYXRjaEVuY2xvc3VyZUNsb3NlKCk7XG4gICAgICBpZiAob3BlbkRlbGltaXRlcikge1xuICAgICAgICBjb25zdCBlbmNsb3N1cmVFcnJvciA9IHBhcnNlci5lcnJvcihcbiAgICAgICAgICBbXCJleHBlY3RlZC1vcGVuLWRlbGltaXRlclwiLCB7IHN0cjogb3BlbkRlbGltaXRlciB9XSxcbiAgICAgICAgICBpbmRleFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZXhwciA/IFtcIlNlcXVlbmNlXCIsIGV4cHIsIGVuY2xvc3VyZUVycm9yXSA6IGVuY2xvc3VyZUVycm9yO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzdCA9IHBhcnNlci5pbmRleDtcbiAgICAgIGNvbnN0IHRva2VuID0gcGFyc2VyLm5leHRUb2tlbigpO1xuICAgICAgd2hpbGUgKCFwYXJzZXIuYXRFbmQpXG4gICAgICAgIHBhcnNlci5uZXh0VG9rZW4oKTtcbiAgICAgIGlmICghdG9rZW4pXG4gICAgICAgIHJldHVybiBwYXJzZXIuZXJyb3IoXCJzeW50YXgtZXJyb3JcIiwgcmVzdCk7XG4gICAgICBjb25zdCBlcnJvciA9IHBhcnNlci5lcnJvcihcbiAgICAgICAgW1xuICAgICAgICAgIHRva2VuLmxlbmd0aCA+IDEgJiYgdG9rZW4uc3RhcnRzV2l0aChcIlxcXFxcIikgPyBcInVuZXhwZWN0ZWQtY29tbWFuZFwiIDogXCJ1bmV4cGVjdGVkLXRva2VuXCIsXG4gICAgICAgICAgeyBzdHI6IHRva2Vuc1RvU3RyaW5nKFt0b2tlbl0pIH1cbiAgICAgICAgXSxcbiAgICAgICAgcmVzdFxuICAgICAgKTtcbiAgICAgIGV4cHIgPSBleHByID8gW1wiU2VxdWVuY2VcIiwgZXhwciwgZXJyb3JdIDogZXJyb3I7XG4gICAgfVxuICAgIGV4cHIgPz8gKGV4cHIgPSBbXCJTZXF1ZW5jZVwiXSk7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcmVzZXJ2ZUxhdGV4KSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShleHByKSlcbiAgICAgICAgZXhwciA9IHsgbGF0ZXgsIGZuOiBleHByIH07XG4gICAgICBlbHNlIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgZXhwciA9IHsgbGF0ZXgsIG51bTogTnVtYmVyKGV4cHIpLnRvU3RyaW5nKCkgfTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKVxuICAgICAgICBleHByID0geyBsYXRleCwgc3ltOiBleHByIH07XG4gICAgICBlbHNlIGlmICh0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBleHByICE9PSBudWxsKVxuICAgICAgICBleHByLmxhdGV4ID0gbGF0ZXg7XG4gICAgfVxuICAgIHJldHVybiBleHByID8/IFtcIlNlcXVlbmNlXCJdO1xuICB9XG4gIHNlcmlhbGl6ZShleHByLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplci5zZXJpYWxpemUoZXhwciwgb3B0aW9ucyk7XG4gIH1cbiAgZ2V0IHNlcmlhbGl6ZXIoKSB7XG4gICAgaWYgKHRoaXMuX3NlcmlhbGl6ZXIpXG4gICAgICByZXR1cm4gdGhpcy5fc2VyaWFsaXplcjtcbiAgICB0aGlzLl9zZXJpYWxpemVyID0gbmV3IFNlcmlhbGl6ZXIoXG4gICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5LFxuICAgICAgdGhpcy5vbkVycm9yXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5fc2VyaWFsaXplcjtcbiAgfVxufTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2JveGVkLWV4cHJlc3Npb24vdXRpbHMudHNcbnZhciBpbXBvcnRfY29tcGxleDIgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL251bWVyaWNzL251bWVyaWMudHNcbnZhciBpbXBvcnRfY29tcGxleCA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xudmFyIE1BQ0hJTkVfUFJFQ0lTSU9OX0JJVFMgPSA1MztcbnZhciBNQUNISU5FX1BSRUNJU0lPTiA9IE1hdGgubG9nMTAoXG4gIE1hdGgucG93KDIsIE1BQ0hJTkVfUFJFQ0lTSU9OX0JJVFMpXG4pO1xudmFyIE1BQ0hJTkVfVE9MRVJBTkNFX0JJVFMgPSA3O1xudmFyIE1BQ0hJTkVfVE9MRVJBTkNFID0gTWF0aC5wb3coXG4gIDIsXG4gIC0oTUFDSElORV9QUkVDSVNJT05fQklUUyAtIE1BQ0hJTkVfVE9MRVJBTkNFX0JJVFMpXG4pO1xudmFyIE5VTUVSSUNfVE9MRVJBTkNFID0gTWF0aC5wb3coMTAsIC0xMCk7XG52YXIgU01BTExfSU5URUdFUiA9IDFlNjtcbnZhciBNQVhfSVRFUkFUSU9OID0gMWU2O1xudmFyIE1BWF9TWU1CT0xJQ19URVJNUyA9IDIwMDtcbnZhciBTTUFMTF9QUklNRVMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbXG4gIDIsXG4gIDMsXG4gIDUsXG4gIDcsXG4gIDExLFxuICAxMyxcbiAgMTcsXG4gIDE5LFxuICAyMyxcbiAgMjksXG4gIDMxLFxuICAzNyxcbiAgNDEsXG4gIDQzLFxuICA0NyxcbiAgNTMsXG4gIDU5LFxuICA2MSxcbiAgNjcsXG4gIDcxLFxuICA3MyxcbiAgNzksXG4gIDgzLFxuICA4OSxcbiAgOTcsXG4gIDEwMSxcbiAgMTAzLFxuICAxMDcsXG4gIDEwOSxcbiAgMTEzLFxuICAxMjcsXG4gIDEzMSxcbiAgMTM3LFxuICAxMzksXG4gIDE0OSxcbiAgMTUxLFxuICAxNTcsXG4gIDE2MyxcbiAgMTY3LFxuICAxNzMsXG4gIDE3OSxcbiAgMTgxLFxuICAxOTEsXG4gIDE5MyxcbiAgMTk3LFxuICAxOTksXG4gIDIxMSxcbiAgMjIzLFxuICAyMjcsXG4gIDIyOSxcbiAgMjMzLFxuICAyMzksXG4gIDI0MSxcbiAgMjUxLFxuICAyNTcsXG4gIDI2MyxcbiAgMjY5LFxuICAyNzEsXG4gIDI3NyxcbiAgMjgxLFxuICAyODMsXG4gIDI5MyxcbiAgMzA3LFxuICAzMTEsXG4gIDMxMyxcbiAgMzE3LFxuICAzMzEsXG4gIDMzNyxcbiAgMzQ3LFxuICAzNDksXG4gIDM1MyxcbiAgMzU5LFxuICAzNjcsXG4gIDM3MyxcbiAgMzc5LFxuICAzODMsXG4gIDM4OSxcbiAgMzk3LFxuICA0MDEsXG4gIDQwOSxcbiAgNDE5LFxuICA0MjEsXG4gIDQzMSxcbiAgNDMzLFxuICA0MzksXG4gIDQ0MyxcbiAgNDQ5LFxuICA0NTcsXG4gIDQ2MSxcbiAgNDYzLFxuICA0NjcsXG4gIDQ3OSxcbiAgNDg3LFxuICA0OTEsXG4gIDQ5OSxcbiAgNTAzLFxuICA1MDksXG4gIDUyMSxcbiAgNTIzLFxuICA1NDEsXG4gIDU0NyxcbiAgNTU3LFxuICA1NjMsXG4gIDU2OSxcbiAgNTcxLFxuICA1NzcsXG4gIDU4NyxcbiAgNTkzLFxuICA1OTksXG4gIDYwMSxcbiAgNjA3LFxuICA2MTMsXG4gIDYxNyxcbiAgNjE5LFxuICA2MzEsXG4gIDY0MSxcbiAgNjQzLFxuICA2NDcsXG4gIDY1MyxcbiAgNjU5LFxuICA2NjEsXG4gIDY3MyxcbiAgNjc3LFxuICA2ODMsXG4gIDY5MSxcbiAgNzAxLFxuICA3MDksXG4gIDcxOSxcbiAgNzI3LFxuICA3MzMsXG4gIDczOSxcbiAgNzQzLFxuICA3NTEsXG4gIDc1NyxcbiAgNzYxLFxuICA3NjksXG4gIDc3MyxcbiAgNzg3LFxuICA3OTcsXG4gIDgwOSxcbiAgODExLFxuICA4MjEsXG4gIDgyMyxcbiAgODI3LFxuICA4MjksXG4gIDgzOSxcbiAgODUzLFxuICA4NTcsXG4gIDg1OSxcbiAgODYzLFxuICA4NzcsXG4gIDg4MSxcbiAgODgzLFxuICA4ODcsXG4gIDkwNyxcbiAgOTExLFxuICA5MTksXG4gIDkyOSxcbiAgOTM3LFxuICA5NDEsXG4gIDk0NyxcbiAgOTUzLFxuICA5NjcsXG4gIDk3MSxcbiAgOTc3LFxuICA5ODMsXG4gIDk5MSxcbiAgOTk3LFxuICAxMDA5LFxuICAxMDEzLFxuICAxMDE5LFxuICAxMDIxLFxuICAxMDMxLFxuICAxMDMzLFxuICAxMDM5LFxuICAxMDQ5LFxuICAxMDUxLFxuICAxMDYxLFxuICAxMDYzLFxuICAxMDY5LFxuICAxMDg3LFxuICAxMDkxLFxuICAxMDkzLFxuICAxMDk3LFxuICAxMTAzLFxuICAxMTA5LFxuICAxMTE3LFxuICAxMTIzLFxuICAxMTI5LFxuICAxMTUxLFxuICAxMTUzLFxuICAxMTYzLFxuICAxMTcxLFxuICAxMTgxLFxuICAxMTg3LFxuICAxMTkzLFxuICAxMjAxLFxuICAxMjEzLFxuICAxMjE3LFxuICAxMjIzLFxuICAxMjI5LFxuICAxMjMxLFxuICAxMjM3LFxuICAxMjQ5LFxuICAxMjU5LFxuICAxMjc3LFxuICAxMjc5LFxuICAxMjgzLFxuICAxMjg5LFxuICAxMjkxLFxuICAxMjk3LFxuICAxMzAxLFxuICAxMzAzLFxuICAxMzA3LFxuICAxMzE5LFxuICAxMzIxLFxuICAxMzI3LFxuICAxMzYxLFxuICAxMzY3LFxuICAxMzczLFxuICAxMzgxLFxuICAxMzk5LFxuICAxNDA5LFxuICAxNDIzLFxuICAxNDI3LFxuICAxNDI5LFxuICAxNDMzLFxuICAxNDM5LFxuICAxNDQ3LFxuICAxNDUxLFxuICAxNDUzLFxuICAxNDU5LFxuICAxNDcxLFxuICAxNDgxLFxuICAxNDgzLFxuICAxNDg3LFxuICAxNDg5LFxuICAxNDkzLFxuICAxNDk5LFxuICAxNTExLFxuICAxNTIzLFxuICAxNTMxLFxuICAxNTQzLFxuICAxNTQ5LFxuICAxNTUzLFxuICAxNTU5LFxuICAxNTY3LFxuICAxNTcxLFxuICAxNTc5LFxuICAxNTgzLFxuICAxNTk3LFxuICAxNjAxLFxuICAxNjA3LFxuICAxNjA5LFxuICAxNjEzLFxuICAxNjE5LFxuICAxNjIxLFxuICAxNjI3LFxuICAxNjM3LFxuICAxNjU3LFxuICAxNjYzLFxuICAxNjY3LFxuICAxNjY5LFxuICAxNjkzLFxuICAxNjk3LFxuICAxNjk5LFxuICAxNzA5LFxuICAxNzIxLFxuICAxNzIzLFxuICAxNzMzLFxuICAxNzQxLFxuICAxNzQ3LFxuICAxNzUzLFxuICAxNzU5LFxuICAxNzc3LFxuICAxNzgzLFxuICAxNzg3LFxuICAxNzg5LFxuICAxODAxLFxuICAxODExLFxuICAxODIzLFxuICAxODMxLFxuICAxODQ3LFxuICAxODYxLFxuICAxODY3LFxuICAxODcxLFxuICAxODczLFxuICAxODc3LFxuICAxODc5LFxuICAxODg5LFxuICAxOTAxLFxuICAxOTA3LFxuICAxOTEzLFxuICAxOTMxLFxuICAxOTMzLFxuICAxOTQ5LFxuICAxOTUxLFxuICAxOTczLFxuICAxOTc5LFxuICAxOTg3LFxuICAxOTkzLFxuICAxOTk3LFxuICAxOTk5LFxuICAyMDAzLFxuICAyMDExLFxuICAyMDE3LFxuICAyMDI3LFxuICAyMDI5LFxuICAyMDM5LFxuICAyMDUzLFxuICAyMDYzLFxuICAyMDY5LFxuICAyMDgxLFxuICAyMDgzLFxuICAyMDg3LFxuICAyMDg5LFxuICAyMDk5LFxuICAyMTExLFxuICAyMTEzLFxuICAyMTI5LFxuICAyMTMxLFxuICAyMTM3LFxuICAyMTQxLFxuICAyMTQzLFxuICAyMTUzLFxuICAyMTYxLFxuICAyMTc5LFxuICAyMjAzLFxuICAyMjA3LFxuICAyMjEzLFxuICAyMjIxLFxuICAyMjM3LFxuICAyMjM5LFxuICAyMjQzLFxuICAyMjUxLFxuICAyMjY3LFxuICAyMjY5LFxuICAyMjczLFxuICAyMjgxLFxuICAyMjg3LFxuICAyMjkzLFxuICAyMjk3LFxuICAyMzA5LFxuICAyMzExLFxuICAyMzMzLFxuICAyMzM5LFxuICAyMzQxLFxuICAyMzQ3LFxuICAyMzUxLFxuICAyMzU3LFxuICAyMzcxLFxuICAyMzc3LFxuICAyMzgxLFxuICAyMzgzLFxuICAyMzg5LFxuICAyMzkzLFxuICAyMzk5LFxuICAyNDExLFxuICAyNDE3LFxuICAyNDIzLFxuICAyNDM3LFxuICAyNDQxLFxuICAyNDQ3LFxuICAyNDU5LFxuICAyNDY3LFxuICAyNDczLFxuICAyNDc3LFxuICAyNTAzLFxuICAyNTIxLFxuICAyNTMxLFxuICAyNTM5LFxuICAyNTQzLFxuICAyNTQ5LFxuICAyNTUxLFxuICAyNTU3LFxuICAyNTc5LFxuICAyNTkxLFxuICAyNTkzLFxuICAyNjA5LFxuICAyNjE3LFxuICAyNjIxLFxuICAyNjMzLFxuICAyNjQ3LFxuICAyNjU3LFxuICAyNjU5LFxuICAyNjYzLFxuICAyNjcxLFxuICAyNjc3LFxuICAyNjgzLFxuICAyNjg3LFxuICAyNjg5LFxuICAyNjkzLFxuICAyNjk5LFxuICAyNzA3LFxuICAyNzExLFxuICAyNzEzLFxuICAyNzE5LFxuICAyNzI5LFxuICAyNzMxLFxuICAyNzQxLFxuICAyNzQ5LFxuICAyNzUzLFxuICAyNzY3LFxuICAyNzc3LFxuICAyNzg5LFxuICAyNzkxLFxuICAyNzk3LFxuICAyODAxLFxuICAyODAzLFxuICAyODE5LFxuICAyODMzLFxuICAyODM3LFxuICAyODQzLFxuICAyODUxLFxuICAyODU3LFxuICAyODYxLFxuICAyODc5LFxuICAyODg3LFxuICAyODk3LFxuICAyOTAzLFxuICAyOTA5LFxuICAyOTE3LFxuICAyOTI3LFxuICAyOTM5LFxuICAyOTUzLFxuICAyOTU3LFxuICAyOTYzLFxuICAyOTY5LFxuICAyOTcxLFxuICAyOTk5LFxuICAzMDAxLFxuICAzMDExLFxuICAzMDE5LFxuICAzMDIzLFxuICAzMDM3LFxuICAzMDQxLFxuICAzMDQ5LFxuICAzMDYxLFxuICAzMDY3LFxuICAzMDc5LFxuICAzMDgzLFxuICAzMDg5LFxuICAzMTA5LFxuICAzMTE5LFxuICAzMTIxLFxuICAzMTM3LFxuICAzMTYzLFxuICAzMTY3LFxuICAzMTY5LFxuICAzMTgxLFxuICAzMTg3LFxuICAzMTkxLFxuICAzMjAzLFxuICAzMjA5LFxuICAzMjE3LFxuICAzMjIxLFxuICAzMjI5LFxuICAzMjUxLFxuICAzMjUzLFxuICAzMjU3LFxuICAzMjU5LFxuICAzMjcxLFxuICAzMjk5LFxuICAzMzAxLFxuICAzMzA3LFxuICAzMzEzLFxuICAzMzE5LFxuICAzMzIzLFxuICAzMzI5LFxuICAzMzMxLFxuICAzMzQzLFxuICAzMzQ3LFxuICAzMzU5LFxuICAzMzYxLFxuICAzMzcxLFxuICAzMzczLFxuICAzMzg5LFxuICAzMzkxLFxuICAzNDA3LFxuICAzNDEzLFxuICAzNDMzLFxuICAzNDQ5LFxuICAzNDU3LFxuICAzNDYxLFxuICAzNDYzLFxuICAzNDY3LFxuICAzNDY5LFxuICAzNDkxLFxuICAzNDk5LFxuICAzNTExLFxuICAzNTE3LFxuICAzNTI3LFxuICAzNTI5LFxuICAzNTMzLFxuICAzNTM5LFxuICAzNTQxLFxuICAzNTQ3LFxuICAzNTU3LFxuICAzNTU5LFxuICAzNTcxLFxuICAzNTgxLFxuICAzNTgzLFxuICAzNTkzLFxuICAzNjA3LFxuICAzNjEzLFxuICAzNjE3LFxuICAzNjIzLFxuICAzNjMxLFxuICAzNjM3LFxuICAzNjQzLFxuICAzNjU5LFxuICAzNjcxLFxuICAzNjczLFxuICAzNjc3LFxuICAzNjkxLFxuICAzNjk3LFxuICAzNzAxLFxuICAzNzA5LFxuICAzNzE5LFxuICAzNzI3LFxuICAzNzMzLFxuICAzNzM5LFxuICAzNzYxLFxuICAzNzY3LFxuICAzNzY5LFxuICAzNzc5LFxuICAzNzkzLFxuICAzNzk3LFxuICAzODAzLFxuICAzODIxLFxuICAzODIzLFxuICAzODMzLFxuICAzODQ3LFxuICAzODUxLFxuICAzODUzLFxuICAzODYzLFxuICAzODc3LFxuICAzODgxLFxuICAzODg5LFxuICAzOTA3LFxuICAzOTExLFxuICAzOTE3LFxuICAzOTE5LFxuICAzOTIzLFxuICAzOTI5LFxuICAzOTMxLFxuICAzOTQzLFxuICAzOTQ3LFxuICAzOTY3LFxuICAzOTg5LFxuICA0MDAxLFxuICA0MDAzLFxuICA0MDA3LFxuICA0MDEzLFxuICA0MDE5LFxuICA0MDIxLFxuICA0MDI3LFxuICA0MDQ5LFxuICA0MDUxLFxuICA0MDU3LFxuICA0MDczLFxuICA0MDc5LFxuICA0MDkxLFxuICA0MDkzLFxuICA0MDk5LFxuICA0MTExLFxuICA0MTI3LFxuICA0MTI5LFxuICA0MTMzLFxuICA0MTM5LFxuICA0MTUzLFxuICA0MTU3LFxuICA0MTU5LFxuICA0MTc3LFxuICA0MjAxLFxuICA0MjExLFxuICA0MjE3LFxuICA0MjE5LFxuICA0MjI5LFxuICA0MjMxLFxuICA0MjQxLFxuICA0MjQzLFxuICA0MjUzLFxuICA0MjU5LFxuICA0MjYxLFxuICA0MjcxLFxuICA0MjczLFxuICA0MjgzLFxuICA0Mjg5LFxuICA0Mjk3LFxuICA0MzI3LFxuICA0MzM3LFxuICA0MzM5LFxuICA0MzQ5LFxuICA0MzU3LFxuICA0MzYzLFxuICA0MzczLFxuICA0MzkxLFxuICA0Mzk3LFxuICA0NDA5LFxuICA0NDIxLFxuICA0NDIzLFxuICA0NDQxLFxuICA0NDQ3LFxuICA0NDUxLFxuICA0NDU3LFxuICA0NDYzLFxuICA0NDgxLFxuICA0NDgzLFxuICA0NDkzLFxuICA0NTA3LFxuICA0NTEzLFxuICA0NTE3LFxuICA0NTE5LFxuICA0NTIzLFxuICA0NTQ3LFxuICA0NTQ5LFxuICA0NTYxLFxuICA0NTY3LFxuICA0NTgzLFxuICA0NTkxLFxuICA0NTk3LFxuICA0NjAzLFxuICA0NjIxLFxuICA0NjM3LFxuICA0NjM5LFxuICA0NjQzLFxuICA0NjQ5LFxuICA0NjUxLFxuICA0NjU3LFxuICA0NjYzLFxuICA0NjczLFxuICA0Njc5LFxuICA0NjkxLFxuICA0NzAzLFxuICA0NzIxLFxuICA0NzIzLFxuICA0NzI5LFxuICA0NzMzLFxuICA0NzUxLFxuICA0NzU5LFxuICA0NzgzLFxuICA0Nzg3LFxuICA0Nzg5LFxuICA0NzkzLFxuICA0Nzk5LFxuICA0ODAxLFxuICA0ODEzLFxuICA0ODE3LFxuICA0ODMxLFxuICA0ODYxLFxuICA0ODcxLFxuICA0ODc3LFxuICA0ODg5LFxuICA0OTAzLFxuICA0OTA5LFxuICA0OTE5LFxuICA0OTMxLFxuICA0OTMzLFxuICA0OTM3LFxuICA0OTQzLFxuICA0OTUxLFxuICA0OTU3LFxuICA0OTY3LFxuICA0OTY5LFxuICA0OTczLFxuICA0OTg3LFxuICA0OTkzLFxuICA0OTk5LFxuICA1MDAzLFxuICA1MDA5LFxuICA1MDExLFxuICA1MDIxLFxuICA1MDIzLFxuICA1MDM5LFxuICA1MDUxLFxuICA1MDU5LFxuICA1MDc3LFxuICA1MDgxLFxuICA1MDg3LFxuICA1MDk5LFxuICA1MTAxLFxuICA1MTA3LFxuICA1MTEzLFxuICA1MTE5LFxuICA1MTQ3LFxuICA1MTUzLFxuICA1MTY3LFxuICA1MTcxLFxuICA1MTc5LFxuICA1MTg5LFxuICA1MTk3LFxuICA1MjA5LFxuICA1MjI3LFxuICA1MjMxLFxuICA1MjMzLFxuICA1MjM3LFxuICA1MjYxLFxuICA1MjczLFxuICA1Mjc5LFxuICA1MjgxLFxuICA1Mjk3LFxuICA1MzAzLFxuICA1MzA5LFxuICA1MzIzLFxuICA1MzMzLFxuICA1MzQ3LFxuICA1MzUxLFxuICA1MzgxLFxuICA1Mzg3LFxuICA1MzkzLFxuICA1Mzk5LFxuICA1NDA3LFxuICA1NDEzLFxuICA1NDE3LFxuICA1NDE5LFxuICA1NDMxLFxuICA1NDM3LFxuICA1NDQxLFxuICA1NDQzLFxuICA1NDQ5LFxuICA1NDcxLFxuICA1NDc3LFxuICA1NDc5LFxuICA1NDgzLFxuICA1NTAxLFxuICA1NTAzLFxuICA1NTA3LFxuICA1NTE5LFxuICA1NTIxLFxuICA1NTI3LFxuICA1NTMxLFxuICA1NTU3LFxuICA1NTYzLFxuICA1NTY5LFxuICA1NTczLFxuICA1NTgxLFxuICA1NTkxLFxuICA1NjIzLFxuICA1NjM5LFxuICA1NjQxLFxuICA1NjQ3LFxuICA1NjUxLFxuICA1NjUzLFxuICA1NjU3LFxuICA1NjU5LFxuICA1NjY5LFxuICA1NjgzLFxuICA1Njg5LFxuICA1NjkzLFxuICA1NzAxLFxuICA1NzExLFxuICA1NzE3LFxuICA1NzM3LFxuICA1NzQxLFxuICA1NzQzLFxuICA1NzQ5LFxuICA1Nzc5LFxuICA1NzgzLFxuICA1NzkxLFxuICA1ODAxLFxuICA1ODA3LFxuICA1ODEzLFxuICA1ODIxLFxuICA1ODI3LFxuICA1ODM5LFxuICA1ODQzLFxuICA1ODQ5LFxuICA1ODUxLFxuICA1ODU3LFxuICA1ODYxLFxuICA1ODY3LFxuICA1ODY5LFxuICA1ODc5LFxuICA1ODgxLFxuICA1ODk3LFxuICA1OTAzLFxuICA1OTIzLFxuICA1OTI3LFxuICA1OTM5LFxuICA1OTUzLFxuICA1OTgxLFxuICA1OTg3LFxuICA2MDA3LFxuICA2MDExLFxuICA2MDI5LFxuICA2MDM3LFxuICA2MDQzLFxuICA2MDQ3LFxuICA2MDUzLFxuICA2MDY3LFxuICA2MDczLFxuICA2MDc5LFxuICA2MDg5LFxuICA2MDkxLFxuICA2MTAxLFxuICA2MTEzLFxuICA2MTIxLFxuICA2MTMxLFxuICA2MTMzLFxuICA2MTQzLFxuICA2MTUxLFxuICA2MTYzLFxuICA2MTczLFxuICA2MTk3LFxuICA2MTk5LFxuICA2MjAzLFxuICA2MjExLFxuICA2MjE3LFxuICA2MjIxLFxuICA2MjI5LFxuICA2MjQ3LFxuICA2MjU3LFxuICA2MjYzLFxuICA2MjY5LFxuICA2MjcxLFxuICA2Mjc3LFxuICA2Mjg3LFxuICA2Mjk5LFxuICA2MzAxLFxuICA2MzExLFxuICA2MzE3LFxuICA2MzIzLFxuICA2MzI5LFxuICA2MzM3LFxuICA2MzQzLFxuICA2MzUzLFxuICA2MzU5LFxuICA2MzYxLFxuICA2MzY3LFxuICA2MzczLFxuICA2Mzc5LFxuICA2Mzg5LFxuICA2Mzk3LFxuICA2NDIxLFxuICA2NDI3LFxuICA2NDQ5LFxuICA2NDUxLFxuICA2NDY5LFxuICA2NDczLFxuICA2NDgxLFxuICA2NDkxLFxuICA2NTIxLFxuICA2NTI5LFxuICA2NTQ3LFxuICA2NTUxLFxuICA2NTUzLFxuICA2NTYzLFxuICA2NTY5LFxuICA2NTcxLFxuICA2NTc3LFxuICA2NTgxLFxuICA2NTk5LFxuICA2NjA3LFxuICA2NjE5LFxuICA2NjM3LFxuICA2NjUzLFxuICA2NjU5LFxuICA2NjYxLFxuICA2NjczLFxuICA2Njc5LFxuICA2Njg5LFxuICA2NjkxLFxuICA2NzAxLFxuICA2NzAzLFxuICA2NzA5LFxuICA2NzE5LFxuICA2NzMzLFxuICA2NzM3LFxuICA2NzYxLFxuICA2NzYzLFxuICA2Nzc5LFxuICA2NzgxLFxuICA2NzkxLFxuICA2NzkzLFxuICA2ODAzLFxuICA2ODIzLFxuICA2ODI3LFxuICA2ODI5LFxuICA2ODMzLFxuICA2ODQxLFxuICA2ODU3LFxuICA2ODYzLFxuICA2ODY5LFxuICA2ODcxLFxuICA2ODgzLFxuICA2ODk5LFxuICA2OTA3LFxuICA2OTExLFxuICA2OTE3LFxuICA2OTQ3LFxuICA2OTQ5LFxuICA2OTU5LFxuICA2OTYxLFxuICA2OTY3LFxuICA2OTcxLFxuICA2OTc3LFxuICA2OTgzLFxuICA2OTkxLFxuICA2OTk3LFxuICA3MDAxLFxuICA3MDEzLFxuICA3MDE5LFxuICA3MDI3LFxuICA3MDM5LFxuICA3MDQzLFxuICA3MDU3LFxuICA3MDY5LFxuICA3MDc5LFxuICA3MTAzLFxuICA3MTA5LFxuICA3MTIxLFxuICA3MTI3LFxuICA3MTI5LFxuICA3MTUxLFxuICA3MTU5LFxuICA3MTc3LFxuICA3MTg3LFxuICA3MTkzLFxuICA3MjA3LFxuICA3MjExLFxuICA3MjEzLFxuICA3MjE5LFxuICA3MjI5LFxuICA3MjM3LFxuICA3MjQzLFxuICA3MjQ3LFxuICA3MjUzLFxuICA3MjgzLFxuICA3Mjk3LFxuICA3MzA3LFxuICA3MzA5LFxuICA3MzIxLFxuICA3MzMxLFxuICA3MzMzLFxuICA3MzQ5LFxuICA3MzUxLFxuICA3MzY5LFxuICA3MzkzLFxuICA3NDExLFxuICA3NDE3LFxuICA3NDMzLFxuICA3NDUxLFxuICA3NDU3LFxuICA3NDU5LFxuICA3NDc3LFxuICA3NDgxLFxuICA3NDg3LFxuICA3NDg5LFxuICA3NDk5LFxuICA3NTA3LFxuICA3NTE3LFxuICA3NTIzLFxuICA3NTI5LFxuICA3NTM3LFxuICA3NTQxLFxuICA3NTQ3LFxuICA3NTQ5LFxuICA3NTU5LFxuICA3NTYxLFxuICA3NTczLFxuICA3NTc3LFxuICA3NTgzLFxuICA3NTg5LFxuICA3NTkxLFxuICA3NjAzLFxuICA3NjA3LFxuICA3NjIxLFxuICA3NjM5LFxuICA3NjQzLFxuICA3NjQ5LFxuICA3NjY5LFxuICA3NjczLFxuICA3NjgxLFxuICA3Njg3LFxuICA3NjkxLFxuICA3Njk5LFxuICA3NzAzLFxuICA3NzE3LFxuICA3NzIzLFxuICA3NzI3LFxuICA3NzQxLFxuICA3NzUzLFxuICA3NzU3LFxuICA3NzU5LFxuICA3Nzg5LFxuICA3NzkzLFxuICA3ODE3LFxuICA3ODIzLFxuICA3ODI5LFxuICA3ODQxLFxuICA3ODUzLFxuICA3ODY3LFxuICA3ODczLFxuICA3ODc3LFxuICA3ODc5LFxuICA3ODgzLFxuICA3OTAxLFxuICA3OTA3LFxuICA3OTE5XG5dKTtcbnZhciBMQVJHRVNUX1NNQUxMX1BSSU1FID0gNzkxOTtcbmZ1bmN0aW9uIHByaW1lRmFjdG9ycyhuKSB7XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChcbiAgICBOdW1iZXIuaXNJbnRlZ2VyKG4pICYmIG4gPj0gMCAmJiBuIDwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgblxuICApO1xuICBpZiAobiA8PSAzKVxuICAgIHJldHVybiB7IFtuXTogMSB9O1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgbGV0IGNvdW50ID0gMDtcbiAgd2hpbGUgKG4gJSAyID09PSAwKSB7XG4gICAgY291bnQgKz0gMTtcbiAgICBuIC89IDI7XG4gIH1cbiAgaWYgKGNvdW50ID4gMClcbiAgICByZXN1bHRbMl0gPSBjb3VudDtcbiAgY291bnQgPSAwO1xuICB3aGlsZSAobiAlIDMgPT09IDApIHtcbiAgICBjb3VudCArPSAxO1xuICAgIG4gLz0gMztcbiAgfVxuICBpZiAoY291bnQgPiAwKVxuICAgIHJlc3VsdFszXSA9IGNvdW50O1xuICBsZXQgZG9uZSA9IGZhbHNlO1xuICB3aGlsZSAoIWRvbmUpIHtcbiAgICBpZiAobiA9PT0gMSlcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgY29uc3Qgc3IgPSBNYXRoLnNxcnQobik7XG4gICAgZG9uZSA9IHRydWU7XG4gICAgZm9yIChsZXQgaSA9IDY7IGkgPD0gc3IgKyA2OyBpICs9IDYpIHtcbiAgICAgIGlmIChuICUgKGkgLSAxKSA9PT0gMCkge1xuICAgICAgICByZXN1bHRbaSAtIDFdID0gKHJlc3VsdFtpIC0gMV0gPz8gMCkgKyAxO1xuICAgICAgICBuIC89IGkgLSAxO1xuICAgICAgICBkb25lID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKG4gJSAoaSArIDEpID09PSAwKSB7XG4gICAgICAgIHJlc3VsdFtpICsgMV0gPSAocmVzdWx0W2kgKyAxXSA/PyAwKSArIDE7XG4gICAgICAgIG4gLz0gaSArIDE7XG4gICAgICAgIGRvbmUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChyZXN1bHRbbl0gIT09IHZvaWQgMClcbiAgICByZXN1bHRbbl0gKz0gMTtcbiAgZWxzZVxuICAgIHJlc3VsdFtuXSA9IDE7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBmYWN0b3JQb3dlcihuLCBleHBvbmVudCkge1xuICBpZiAobiA+PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUilcbiAgICByZXR1cm4gWzEsIG5dO1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihuKSAmJiBuID4gMCAmJiBuIDwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO1xuICBjb25zdCBmYWN0b3JzID0gcHJpbWVGYWN0b3JzKG4pO1xuICBsZXQgZiA9IDE7XG4gIGxldCByID0gMTtcbiAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKGZhY3RvcnMpKSB7XG4gICAgY29uc3QgdiA9IHBhcnNlSW50KGspO1xuICAgIGYgPSBmICogTWF0aC5wb3codiwgTWF0aC5mbG9vcihmYWN0b3JzW2tdIC8gZXhwb25lbnQpKTtcbiAgICByID0gciAqIE1hdGgucG93KHYsIGZhY3RvcnNba10gJSBleHBvbmVudCk7XG4gIH1cbiAgcmV0dXJuIFtmLCByXTtcbn1cbmZ1bmN0aW9uIGdjZChhLCBiKSB7XG4gIGlmIChhID09PSAwKVxuICAgIHJldHVybiBiO1xuICBpZiAoYiA9PT0gMClcbiAgICByZXR1cm4gYTtcbiAgaWYgKGEgPT09IGIpXG4gICAgcmV0dXJuIGE7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihhKSB8fCAhTnVtYmVyLmlzSW50ZWdlcihiKSlcbiAgICByZXR1cm4gTmFOO1xuICB3aGlsZSAoYiAhPT0gMClcbiAgICBbYSwgYl0gPSBbYiwgYSAlIGJdO1xuICByZXR1cm4gYSA8IDAgPyAtYSA6IGE7XG59XG5mdW5jdGlvbiBsY20oYSwgYikge1xuICByZXR1cm4gYSAqIGIgLyBnY2QoYSwgYik7XG59XG5mdW5jdGlvbiBmYWN0b3JpYWwobikge1xuICBpZiAoIU51bWJlci5pc0ludGVnZXIobikgfHwgbiA8IDApXG4gICAgcmV0dXJuIE5hTjtcbiAgbGV0IHZhbCA9IDE7XG4gIGZvciAobGV0IGkgPSAyOyBpIDw9IG47IGkrKylcbiAgICB2YWwgPSB2YWwgKiBpO1xuICByZXR1cm4gdmFsO1xufVxudmFyIGdhbW1hRyA9IDc7XG52YXIgbGFuY3pvc183X2MgPSBbXG4gIDAuOTk5OTk5OTk5OTk5ODA5OSxcbiAgNjc2LjUyMDM2ODEyMTg4NTEsXG4gIC0xMjU5LjEzOTIxNjcyMjQwMjgsXG4gIDc3MS4zMjM0Mjg3Nzc2NTMxLFxuICAtMTc2LjYxNTAyOTE2MjE0MDYsXG4gIDEyLjUwNzM0MzI3ODY4NjkwNSxcbiAgLTAuMTM4NTcxMDk1MjY1NzIwMTIsXG4gIDk5ODQzNjk1NzgwMTk1NzJlLTIxLFxuICAxNTA1NjMyNzM1MTQ5MzExNmUtMjNcbl07XG52YXIgZ2FtbWFHTG4gPSA2MDcgLyAxMjg7XG52YXIgZ2FtbWFQTG4gPSBbXG4gIDAuOTk5OTk5OTk5OTk5OTk3LFxuICA1Ny4xNTYyMzU2NjU4NjI5MixcbiAgLTU5LjU5Nzk2MDM1NTQ3NTQ5LFxuICAxNC4xMzYwOTc5NzQ3NDE3NCxcbiAgLTAuNDkxOTEzODE2MDk3NjIwMixcbiAgMzM5OTQ2NDk5ODQ4MTE4OGUtMjAsXG4gIDQ2NTIzNjI4OTI3MDQ4NTdlLTIwLFxuICAtOTgzNzQ0NzUzMDQ4Nzk1NmUtMjAsXG4gIDE1ODA4ODcwMzIyNDkxMjVlLTE5LFxuICAtMjEwMjY0NDQxNzI0MTA0ODhlLTIwLFxuICAyMTc0Mzk2MTgxMTUyMTI2ZS0xOSxcbiAgLTE2NDMxODEwNjUzNjc2MzllLTE5LFxuICA4NDQxODIyMzk4Mzg1Mjc0ZS0yMCxcbiAgLTI2MTkwODM4NDAxNTgxNGUtMTksXG4gIDM2ODk5MTgyNjU5NTMxNjJlLTIxXG5dO1xuZnVuY3Rpb24gbG5nYW1tYSh6KSB7XG4gIGlmICh6IDwgMClcbiAgICByZXR1cm4gTmFOO1xuICBsZXQgeCA9IGdhbW1hUExuWzBdO1xuICBmb3IgKGxldCBpID0gZ2FtbWFQTG4ubGVuZ3RoIC0gMTsgaSA+IDA7IC0taSlcbiAgICB4ICs9IGdhbW1hUExuW2ldIC8gKHogKyBpKTtcbiAgY29uc3QgdCA9IHogKyBnYW1tYUdMbiArIDAuNTtcbiAgcmV0dXJuIDAuNSAqIE1hdGgubG9nKDIgKiBNYXRoLlBJKSArICh6ICsgMC41KSAqIE1hdGgubG9nKHQpIC0gdCArIE1hdGgubG9nKHgpIC0gTWF0aC5sb2coeik7XG59XG5mdW5jdGlvbiBnYW1tYSh6KSB7XG4gIGlmICh6IDwgMC41KVxuICAgIHJldHVybiBNYXRoLlBJIC8gKE1hdGguc2luKE1hdGguUEkgKiB6KSAqIGdhbW1hKDEgLSB6KSk7XG4gIGlmICh6ID4gMTAwKVxuICAgIHJldHVybiBNYXRoLmV4cChsbmdhbW1hKHopKTtcbiAgeiAtPSAxO1xuICBsZXQgeCA9IGxhbmN6b3NfN19jWzBdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IGdhbW1hRyArIDI7IGkrKylcbiAgICB4ICs9IGxhbmN6b3NfN19jW2ldIC8gKHogKyBpKTtcbiAgY29uc3QgdCA9IHogKyBnYW1tYUcgKyAwLjU7XG4gIHJldHVybiBNYXRoLnNxcnQoMiAqIE1hdGguUEkpICogTWF0aC5wb3codCwgeiArIDAuNSkgKiBNYXRoLmV4cCgtdCkgKiB4O1xufVxuZnVuY3Rpb24gZnJvbURpZ2l0cyhzLCBiYXNlID0gMTApIHtcbiAgbGV0IHZhbHVlID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgayA9IHtcbiAgICAgIFwiIFwiOiAtMSxcbiAgICAgIFwiXFx4QTBcIjogLTEsXG4gICAgICAvLyBOQlNcbiAgICAgIFwiXFx1MjAwMFwiOiAtMSxcbiAgICAgIC8vIEVOIFFVQURcbiAgICAgIFwiXFx1MjAwMVwiOiAtMSxcbiAgICAgIC8vIEVNIFFVQURcbiAgICAgIFwiXFx1MjAwMlwiOiAtMSxcbiAgICAgIC8vIEVOIFNQQUNFXG4gICAgICBcIlxcdTIwMDNcIjogLTEsXG4gICAgICAvLyBFTSBTUEFDRVxuICAgICAgXCJcXHUyMDA0XCI6IC0xLFxuICAgICAgLy8gVEhSRUUtUEVSLUVNIFNQQUNFXG4gICAgICBcIlxcdTIwMDVcIjogLTEsXG4gICAgICAvLyBGT1VSLVBFUi1FTSBTUEFDRVxuICAgICAgXCJcXHUyMDA2XCI6IC0xLFxuICAgICAgLy8gU0lYLVBFUi1FTSBTUEFDRVxuICAgICAgXCJcXHUyMDA3XCI6IC0xLFxuICAgICAgLy8gRklHVVJFIFNQQUNFXG4gICAgICBcIlxcdTIwMDhcIjogLTEsXG4gICAgICAvLyBQVU5DVFVBVElPTiBTUEFDRVxuICAgICAgXCJcXHUyMDA5XCI6IC0xLFxuICAgICAgLy8gVEhJTiBTUEFDRVxuICAgICAgXCJcXHUyMDBBXCI6IC0xLFxuICAgICAgLy8gSEFJUiBTUEFDRVxuICAgICAgXCJcXHUyMDBCXCI6IC0xLFxuICAgICAgLy8gWldTXG4gICAgICBcIlxcdTIwMkZcIjogLTEsXG4gICAgICAvLyBOQVJST1cgTkJTXG4gICAgICBcIlxcdTIwNUZcIjogLTEsXG4gICAgICAvLyBNRURJVU0gTUFUSEVNQVRJQ0FMIFNQQUNFXG4gICAgICBcIl9cIjogLTEsXG4gICAgICBcIixcIjogLTEsXG4gICAgICBcIjBcIjogMCxcbiAgICAgIFwiMVwiOiAxLFxuICAgICAgXCIyXCI6IDIsXG4gICAgICBcIjNcIjogMyxcbiAgICAgIFwiNFwiOiA0LFxuICAgICAgXCI1XCI6IDUsXG4gICAgICBcIjZcIjogNixcbiAgICAgIFwiN1wiOiA3LFxuICAgICAgXCI4XCI6IDgsXG4gICAgICBcIjlcIjogOSxcbiAgICAgIFwiYVwiOiAxMCxcbiAgICAgIFwiYlwiOiAxMSxcbiAgICAgIFwiY1wiOiAxMixcbiAgICAgIFwiZFwiOiAxMyxcbiAgICAgIFwiZVwiOiAxNCxcbiAgICAgIFwiZlwiOiAxNSxcbiAgICAgIFwiZ1wiOiAxNixcbiAgICAgIFwiaFwiOiAxNyxcbiAgICAgIFwiaVwiOiAxOCxcbiAgICAgIFwialwiOiAxOSxcbiAgICAgIFwia1wiOiAyMCxcbiAgICAgIFwibFwiOiAyMSxcbiAgICAgIFwibVwiOiAyMixcbiAgICAgIFwiblwiOiAyMyxcbiAgICAgIFwib1wiOiAyNCxcbiAgICAgIFwicFwiOiAyNSxcbiAgICAgIFwicVwiOiAyNixcbiAgICAgIFwiclwiOiAyNyxcbiAgICAgIFwic1wiOiAyOCxcbiAgICAgIFwidFwiOiAyOSxcbiAgICAgIFwidVwiOiAzMCxcbiAgICAgIFwidlwiOiAzMSxcbiAgICAgIFwid1wiOiAzMixcbiAgICAgIFwieFwiOiAzMyxcbiAgICAgIFwieVwiOiAzNCxcbiAgICAgIFwielwiOiAzNVxuICAgIH1bc1tpXV07XG4gICAgaWYgKGsgIT09IC0xKSB7XG4gICAgICBpZiAoayA9PT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gW3ZhbHVlLCBzLnN1YnN0cmluZyhpKV07XG4gICAgICBpZiAoayA+PSBiYXNlKVxuICAgICAgICByZXR1cm4gW3ZhbHVlLCBzLnN1YnN0cmluZyhpKV07XG4gICAgICB2YWx1ZSA9IHZhbHVlICogYmFzZSArIGs7XG4gICAgfVxuICB9XG4gIHJldHVybiBbdmFsdWUsIFwiXCJdO1xufVxuZnVuY3Rpb24gYXNGbG9hdChleHByKSB7XG4gIGNvbnN0IG51bSA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBpZiAobnVtID09PSBudWxsKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIilcbiAgICByZXR1cm4gbnVtO1xuICBpZiAobnVtIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgIHJldHVybiBudW0udG9OdW1iZXIoKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobnVtKSkge1xuICAgIGNvbnN0IFtuLCBkXSA9IG51bTtcbiAgICBpZiAodHlwZW9mIG4gPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIGQgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gbiAvIGQ7XG4gICAgcmV0dXJuIE51bWJlcihuKSAvIE51bWJlcihkKTtcbiAgfVxuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoIShudW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleC5kZWZhdWx0KSB8fCBudW0uaW0gIT09IDApO1xuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGFzQmlnbnVtKGV4cHIpIHtcbiAgY29uc3QgbnVtID0gZXhwci5udW1lcmljVmFsdWU7XG4gIGlmIChudW0gPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmIChudW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQpXG4gICAgcmV0dXJuIG51bTtcbiAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIpXG4gICAgcmV0dXJuIGV4cHIuZW5naW5lLmJpZ251bShudW0pO1xuICBpZiAoQXJyYXkuaXNBcnJheShudW0pKSB7XG4gICAgY29uc3QgW24sIGRdID0gbnVtO1xuICAgIGlmICh0eXBlb2YgbiA9PT0gXCJudW1iZXJcIiAmJiB0eXBlb2YgZCA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBleHByLmVuZ2luZS5iaWdudW0obiAvIGQpO1xuICAgIHJldHVybiBleHByLmVuZ2luZS5iaWdudW0obikuZGl2KGQudG9TdHJpbmcoKSk7XG4gIH1cbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KCEobnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXguZGVmYXVsdCkgfHwgbnVtLmltICE9PSAwKTtcbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBhc1NtYWxsSW50ZWdlcihleHByKSB7XG4gIGNvbnN0IG51bSA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBpZiAobnVtID09PSBudWxsKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIikge1xuICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKG51bSkgJiYgbnVtID49IC1TTUFMTF9JTlRFR0VSICYmIG51bSA8PSBTTUFMTF9JTlRFR0VSKVxuICAgICAgcmV0dXJuIG51bTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAobnVtIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KSB7XG4gICAgaWYgKG51bS5pc0ludGVnZXIoKSkge1xuICAgICAgY29uc3QgbiA9IG51bS50b051bWJlcigpO1xuICAgICAgaWYgKG4gPj0gLVNNQUxMX0lOVEVHRVIgJiYgbiA8PSBTTUFMTF9JTlRFR0VSKVxuICAgICAgICByZXR1cm4gbjtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKGV4cHIuaXNDYW5vbmljYWwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IHIgPSBudW07XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSB7XG4gICAgY29uc3QgW24sIGRdID0gcjtcbiAgICBsZXQgdjtcbiAgICBpZiAodHlwZW9mIG4gPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIGQgPT09IFwibnVtYmVyXCIpXG4gICAgICB2ID0gbiAvIGQ7XG4gICAgZWxzZVxuICAgICAgdiA9IE51bWJlcihuKSAvIE51bWJlcihkKTtcbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcih2KSAmJiB2ID49IC1TTUFMTF9JTlRFR0VSICYmIHYgPD0gU01BTExfSU5URUdFUilcbiAgICAgIHJldHVybiB2O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY2hvcChuLCB0b2xlcmFuY2UpIHtcbiAgaWYgKHR5cGVvZiBuID09PSBcIm51bWJlclwiICYmIE1hdGguYWJzKG4pIDw9IHRvbGVyYW5jZSlcbiAgICByZXR1cm4gMDtcbiAgaWYgKG4gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQgJiYgbi5hYnMoKS5sdGUodG9sZXJhbmNlKSlcbiAgICByZXR1cm4gMDtcbiAgaWYgKG4gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleC5kZWZhdWx0ICYmIE1hdGguYWJzKG4ucmUpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhuLmltKSA8PSB0b2xlcmFuY2UpXG4gICAgcmV0dXJuIDA7XG4gIHJldHVybiBuO1xufVxuZnVuY3Rpb24gZXJmKHgpIHtcbiAgY29uc3QgYTEgPSAwLjI1NDgyOTU5MjtcbiAgY29uc3QgYTIgPSAtMC4yODQ0OTY3MzY7XG4gIGNvbnN0IGEzID0gMS40MjE0MTM3NDE7XG4gIGNvbnN0IGE0ID0gLTEuNDUzMTUyMDI3O1xuICBjb25zdCBhNSA9IDEuMDYxNDA1NDI5O1xuICBjb25zdCBwID0gMC4zMjc1OTExO1xuICBjb25zdCBzaWduMiA9IHggPCAwID8gLTEgOiAxO1xuICB4ID0gTWF0aC5hYnMoeCk7XG4gIGNvbnN0IHQgPSAxIC8gKDEgKyBwICogeCk7XG4gIGNvbnN0IHkgPSAoKCgoYTUgKiB0ICsgYTQpICogdCArIGEzKSAqIHQgKyBhMikgKiB0ICsgYTEpICogdDtcbiAgcmV0dXJuIHNpZ24yICogKDEgLSB5ICogTWF0aC5leHAoLXggKiB4KSk7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9udW1lcmljcy9udW1lcmljLWJpZ2ludC50c1xuZnVuY3Rpb24gYmlnaW50KGEpIHtcbiAgaWYgKHR5cGVvZiBhID09PSBcImJpZ2ludFwiKVxuICAgIHJldHVybiBhO1xuICBpZiAoYSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdClcbiAgICByZXR1cm4gYmlnaW50KGEudG9TdHJpbmcoKSk7XG4gIGxldCBzID0gYS50b1N0cmluZygpO1xuICBjb25zdCBtID0gcy5tYXRjaCgvKFteXFwuXSspKD86XFwuKFswLTldKykpP2UoLispJC8pO1xuICBpZiAobSkge1xuICAgIHMgPSBtWzFdICsgKG1bMl0gPz8gXCJcIikgKyBcIjBcIi5yZXBlYXQocGFyc2VJbnQobVszXSkgLSAobVsyXSA/IG1bMl0ubGVuZ3RoIDogMCkpO1xuICB9XG4gIHJldHVybiBCaWdJbnQocyk7XG59XG5mdW5jdGlvbiBnY2QyKGEsIGIpIHtcbiAgd2hpbGUgKGIgIT09IEJpZ0ludCgwKSlcbiAgICBbYSwgYl0gPSBbYiwgYSAlIGJdO1xuICByZXR1cm4gYSA8IDAgPyAtYSA6IGE7XG59XG52YXIgUFJJTUVfV0hFRUxfSU5DID0gW1xuICBCaWdJbnQoNCksXG4gIEJpZ0ludCgyKSxcbiAgQmlnSW50KDQpLFxuICBCaWdJbnQoMiksXG4gIEJpZ0ludCg0KSxcbiAgQmlnSW50KDYpLFxuICBCaWdJbnQoMiksXG4gIEJpZ0ludCg2KVxuXTtcbmZ1bmN0aW9uIHByaW1lRmFjdG9yczIoZCkge1xuICBpZiAoZCA8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgY29uc3QgZmFjdG9ycyA9IHByaW1lRmFjdG9ycyhOdW1iZXIoZCkpO1xuICAgIGNvbnN0IHJlc3VsdDIgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIGZvciAoY29uc3QgZiBvZiBPYmplY3Qua2V5cyhmYWN0b3JzKSlcbiAgICAgIHJlc3VsdDIuc2V0KGJpZ2ludChmKSwgZmFjdG9yc1tmXSk7XG4gICAgcmV0dXJuIHJlc3VsdDI7XG4gIH1cbiAgbGV0IG4gPSBkO1xuICBjb25zdCByZXN1bHQgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICBsZXQgY291bnQyID0gMDtcbiAgbGV0IGNvdW50MyA9IDA7XG4gIGxldCBjb3VudDUgPSAwO1xuICBsZXQgayA9IEJpZ0ludCgxMCk7XG4gIHdoaWxlIChuICUgayA9PT0gQmlnSW50KDApKSB7XG4gICAgY291bnQyICs9IDE7XG4gICAgY291bnQ1ICs9IDE7XG4gICAgbiA9IG4gLyBrO1xuICB9XG4gIGsgPSBCaWdJbnQoNSk7XG4gIHdoaWxlIChuICUgayA9PT0gQmlnSW50KDApKSB7XG4gICAgY291bnQ1ICs9IDE7XG4gICAgbiA9IG4gLyBrO1xuICB9XG4gIGsgPSBCaWdJbnQoMyk7XG4gIHdoaWxlIChuICUgayA9PT0gQmlnSW50KDApKSB7XG4gICAgY291bnQzICs9IDE7XG4gICAgbiA9IG4gLyBrO1xuICB9XG4gIGsgPSBCaWdJbnQoMik7XG4gIHdoaWxlIChuICUgayA9PT0gQmlnSW50KDApKSB7XG4gICAgY291bnQyICs9IDE7XG4gICAgbiA9IG4gLyBrO1xuICB9XG4gIGlmIChjb3VudDIgPiAwKVxuICAgIHJlc3VsdC5zZXQoXCIyXCIsIGNvdW50Mik7XG4gIGlmIChjb3VudDMgPiAwKVxuICAgIHJlc3VsdC5zZXQoXCIzXCIsIGNvdW50Myk7XG4gIGlmIChjb3VudDUgPiAwKVxuICAgIHJlc3VsdC5zZXQoXCI1XCIsIGNvdW50NSk7XG4gIGsgPSBCaWdJbnQoNyk7XG4gIGxldCBrSW5kZXggPSBcIlwiO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChrICogayA8IG4pIHtcbiAgICBpZiAobiAlIGsgPT09IEJpZ0ludCgwKSkge1xuICAgICAgaWYgKCFrSW5kZXgpXG4gICAgICAgIGtJbmRleCA9IGsudG9TdHJpbmcoKTtcbiAgICAgIHJlc3VsdC5zZXQoa0luZGV4LCAocmVzdWx0LmdldChrSW5kZXgpID8/IDApICsgMSk7XG4gICAgICBuID0gbiAvIGs7XG4gICAgfSBlbHNlIHtcbiAgICAgIGsgPSBrICsgUFJJTUVfV0hFRUxfSU5DW2ldO1xuICAgICAga0luZGV4ID0gXCJcIjtcbiAgICAgIGkgPSBpIDwgNyA/IGkgKyAxIDogMDtcbiAgICB9XG4gIH1cbiAgaWYgKG4gIT09IEJpZ0ludCgxKSlcbiAgICByZXN1bHQuc2V0KG4udG9TdHJpbmcoKSwgKHJlc3VsdC5nZXQobi50b1N0cmluZygpKSA/PyAwKSArIDEpO1xuICBjb25zdCByID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgZm9yIChjb25zdCBbazIsIHZdIG9mIHJlc3VsdClcbiAgICByLnNldChiaWdpbnQoazIpLCB2KTtcbiAgcmV0dXJuIHI7XG59XG5mdW5jdGlvbiBmYWN0b3JQb3dlcjIobiwgZXhwb25lbnQpIHtcbiAgY29uc3QgZmFjdG9ycyA9IHByaW1lRmFjdG9yczIobik7XG4gIGxldCBmID0gQmlnSW50KDEpO1xuICBsZXQgciA9IEJpZ0ludCgxKTtcbiAgY29uc3QgZXhwMiA9IGJpZ2ludChleHBvbmVudCk7XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIGZhY3RvcnMpIHtcbiAgICBjb25zdCB2MiA9IGJpZ2ludCh2KTtcbiAgICBmID0gZiAqIGsgKiogKHYyIC8gZXhwMik7XG4gICAgciA9IHIgKiBrICoqICh2MiAlIGV4cDIpO1xuICB9XG4gIHJldHVybiBbZiwgcl07XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL3V0aWxzLnRzXG5mdW5jdGlvbiBpc0xhdGV4U3RyaW5nKHMpIHtcbiAgaWYgKHR5cGVvZiBzID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBzLnN0YXJ0c1dpdGgoXCIkXCIpICYmIHMuZW5kc1dpdGgoXCIkXCIpO1xuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBsYXRleFN0cmluZyhzKSB7XG4gIGlmICh0eXBlb2YgcyA9PT0gXCJzdHJpbmdcIiAmJiBzLnN0YXJ0c1dpdGgoXCIkXCIpICYmIHMuZW5kc1dpdGgoXCIkXCIpKVxuICAgIHJldHVybiBzLnNsaWNlKDEsIC0xKTtcbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBnZXRJbWFnaW5hcnlDb2VmKGV4cHIpIHtcbiAgaWYgKGV4cHIuc3ltYm9sID09PSBcIkltYWdpbmFyeVVuaXRcIilcbiAgICByZXR1cm4gMTtcbiAgY29uc3QgeiA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBpZiAoeiAhPT0gbnVsbCAmJiB6IGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgyLmRlZmF1bHQgJiYgei5yZSA9PT0gMClcbiAgICByZXR1cm4gei5pbTtcbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJOZWdhdGVcIikge1xuICAgIGNvbnN0IHYgPSBnZXRJbWFnaW5hcnlDb2VmKGV4cHIub3AxKTtcbiAgICBpZiAodiA9PT0gbnVsbClcbiAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAtdjtcbiAgfVxuICBpZiAoZXhwci5oZWFkID09PSBcIk11bHRpcGx5XCIgJiYgZXhwci5ub3BzID09PSAyKSB7XG4gICAgaWYgKGV4cHIub3AxLnN5bWJvbCA9PT0gXCJJbWFnaW5hcnlVbml0XCIpXG4gICAgICByZXR1cm4gYXNGbG9hdChleHByLm9wMik7XG4gICAgaWYgKGV4cHIub3AyLnN5bWJvbCA9PT0gXCJJbWFnaW5hcnlVbml0XCIpXG4gICAgICByZXR1cm4gYXNGbG9hdChleHByLm9wMSk7XG4gIH1cbiAgcmV0dXJuIDA7XG59XG5mdW5jdGlvbiBnZXRGcmVlVmFycyhleHByLCBzZXQpIHtcbiAgaWYgKGV4cHIuc3ltYm9sKSB7XG4gICAgY29uc3QgZGVmID0gZXhwci5lbmdpbmUubG9va3VwU3ltYm9sKGV4cHIuc3ltYm9sKTtcbiAgICBpZiAoZGVmPy52YWx1ZSA9PT0gdm9pZCAwKVxuICAgICAgc2V0LmFkZChleHByLnN5bWJvbCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghZXhwci5vcHMgJiYgIWV4cHIua2V5cylcbiAgICByZXR1cm47XG4gIGlmIChleHByLm9wcylcbiAgICBmb3IgKGNvbnN0IG9wMyBvZiBleHByLm9wcylcbiAgICAgIGdldEZyZWVWYXJzKG9wMywgc2V0KTtcbiAgaWYgKGV4cHIua2V5cylcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBleHByLmtleXMpXG4gICAgICBnZXRGcmVlVmFycyhleHByLmdldEtleShrZXkpLCBzZXQpO1xuICByZXR1cm47XG59XG5mdW5jdGlvbiBnZXRTeW1ib2xzKGV4cHIsIHNldCkge1xuICBpZiAoZXhwci5zeW1ib2wpIHtcbiAgICBzZXQuYWRkKGV4cHIuc3ltYm9sKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFleHByLm9wcyAmJiAhZXhwci5rZXlzKVxuICAgIHJldHVybjtcbiAgaWYgKGV4cHIub3BzKVxuICAgIGZvciAoY29uc3Qgb3AzIG9mIGV4cHIub3BzKVxuICAgICAgZ2V0U3ltYm9scyhvcDMsIHNldCk7XG4gIGlmIChleHByLmtleXMpXG4gICAgZm9yIChjb25zdCBrZXkgb2YgZXhwci5rZXlzKVxuICAgICAgZ2V0U3ltYm9scyhleHByLmdldEtleShrZXkpLCBzZXQpO1xuICByZXR1cm47XG59XG5mdW5jdGlvbiBnZXRTdWJleHByZXNzaW9ucyhleHByLCBoZWFkMikge1xuICBjb25zdCByZXN1bHQgPSAhaGVhZDIgfHwgZXhwci5oZWFkID09PSBoZWFkMiA/IFtleHByXSA6IFtdO1xuICBpZiAoZXhwci5vcHMpIHtcbiAgICBmb3IgKGNvbnN0IG9wMyBvZiBleHByLm9wcylcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmdldFN1YmV4cHJlc3Npb25zKG9wMywgaGVhZDIpKTtcbiAgfSBlbHNlIGlmIChleHByLmtleXMpIHtcbiAgICBmb3IgKGNvbnN0IG9wMyBvZiBleHByLmtleXMpXG4gICAgICByZXN1bHQucHVzaCguLi5nZXRTdWJleHByZXNzaW9ucyhleHByLmdldEtleShvcDMpLCBoZWFkMikpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBiaWdudW1QcmVmZXJyZWQoY2UpIHtcbiAgcmV0dXJuIGNlLm51bWVyaWNNb2RlID09PSBcImJpZ251bVwiIHx8IGNlLm51bWVyaWNNb2RlID09PSBcImF1dG9cIjtcbn1cbmZ1bmN0aW9uIGNvbXBsZXhBbGxvd2VkKGNlKSB7XG4gIHJldHVybiBjZS5udW1lcmljTW9kZSA9PT0gXCJhdXRvXCIgfHwgY2UubnVtZXJpY01vZGUgPT09IFwiY29tcGxleFwiO1xufVxuZnVuY3Rpb24gaGFzaENvZGUocykge1xuICBsZXQgaGFzaDIgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHMubGVuZ3RoOyBpKyspXG4gICAgaGFzaDIgPSBNYXRoLmltdWwoMzEsIGhhc2gyKSArIHMuY2hhckNvZGVBdChpKSB8IDA7XG4gIHJldHVybiBNYXRoLmFicyhoYXNoMik7XG59XG5mdW5jdGlvbiBiaWdpbnRWYWx1ZShjZSwgZXhwcikge1xuICBpZiAoZXhwciA9PT0gbnVsbCB8fCBleHByID09PSB2b2lkIDApXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIilcbiAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihleHByKSA/IGJpZ2ludChleHByKSA6IG51bGw7XG4gIGlmIChpc051bWJlckV4cHJlc3Npb24oZXhwcikpIHtcbiAgICBjb25zdCBudW0gPSBpc051bWJlck9iamVjdChleHByKSA/IGV4cHIubnVtLnRvU3RyaW5nKCkgOiBleHByO1xuICAgIGxldCBzID0gbnVtLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW25kXSQvZywgXCJcIikucmVwbGFjZSgvW1xcdTAwMDktXFx1MDAwZFxcdTAwMjBcXHUwMGEwXS9nLCBcIlwiKTtcbiAgICBpZiAoL1xcKFswLTldK1xcKS8udGVzdChzKSkge1xuICAgICAgY29uc3QgW18sIGJvZHksIHJlcGVhdCwgdHJhaWxdID0gcy5tYXRjaCgvKC4rKVxcKChbMC05XSspXFwpKC4qKSQvKSA/PyBbXTtcbiAgICAgIHMgPSBib2R5ICsgcmVwZWF0LnJlcGVhdChNYXRoLmNlaWwoY2UucHJlY2lzaW9uIC8gcmVwZWF0Lmxlbmd0aCkpICsgKHRyYWlsID8/IFwiXCIpO1xuICAgIH1cbiAgICBpZiAocyA9PT0gXCJuYW5cIilcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGlmIChzID09PSBcImluZmluaXR5XCIgfHwgcyA9PT0gXCIraW5maW5pdHlcIilcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGlmIChzID09PSBcIi1pbmZpbml0eVwiKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKHMuaW5jbHVkZXMoXCIuXCIpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGJpZ2ludChzKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGFzQmlnaW50KGV4cHIpIHtcbiAgY29uc3QgbnVtID0gZXhwci5udW1lcmljVmFsdWU7XG4gIGlmIChudW0gPT09IG51bGwpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmICh0eXBlb2YgbnVtID09PSBcIm51bWJlclwiICYmIE51bWJlci5pc0ludGVnZXIobnVtKSlcbiAgICByZXR1cm4gYmlnaW50KG51bSk7XG4gIGlmIChudW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQgJiYgbnVtLmlzSW50ZWdlcigpKVxuICAgIHJldHVybiBiaWdpbnQobnVtKTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ydWxlcy50c1xuZnVuY3Rpb24gbWF0Y2hSdWxlcyhleHByLCBydWxlcywgc3ViMikge1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChjb25zdCBydWxlIG9mIHJ1bGVzKSB7XG4gICAgY29uc3QgciA9IGFwcGx5UnVsZShydWxlLCBleHByLCBzdWIyKTtcbiAgICBpZiAociAhPT0gbnVsbClcbiAgICAgIHJlc3VsdC5wdXNoKHIpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBib3hSdWxlcyhjZSwgcnMpIHtcbiAgY29uc3QgcmVzdWx0ID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgZm9yIChjb25zdCBbcmF3TGhzLCByYXdSaHMsIG9wdGlvbnNdIG9mIHJzKSB7XG4gICAgbGV0IGNvbmQ7XG4gICAgY29uc3QgbGF0ZXggPSBsYXRleFN0cmluZyhvcHRpb25zPy5jb25kaXRpb24pO1xuICAgIGlmIChsYXRleCkge1xuICAgICAgY29uc3QgY29uZFBhdHRlcm4gPSBjZS5wYXR0ZXJuKGxhdGV4KTtcbiAgICAgIGNvbmQgPSAoeCkgPT4gY29uZFBhdHRlcm4uc3Vicyh4KS52YWx1ZT8uc3ltYm9sID09PSBcIlRydWVcIjtcbiAgICB9IGVsc2VcbiAgICAgIGNvbmQgPSBvcHRpb25zPy5jb25kaXRpb247XG4gICAgcmVzdWx0LmFkZChbXG4gICAgICBjZS5wYXR0ZXJuKHJhd0xocyksXG4gICAgICBjZS5wYXR0ZXJuKHJhd1JocyksXG4gICAgICBvcHRpb25zPy5wcmlvcml0eSA/PyAwLFxuICAgICAgY29uZFxuICAgIF0pO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBhcHBseVJ1bGUoW2xocywgcmhzLCBfcHJpb3JpdHksIGNvbmRpdGlvbl0sIGV4cHIsIHN1YnN0aXR1dGlvbiwgb3B0aW9ucykge1xuICBjb25zdCBzdWIyID0gbGhzLm1hdGNoKGV4cHIsIHsgc3Vic3RpdHV0aW9uLCAuLi5vcHRpb25zIH0pO1xuICBpZiAoc3ViMiA9PT0gbnVsbClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09IFwiZnVuY3Rpb25cIiAmJiAhY29uZGl0aW9uKHN1YjIpKVxuICAgIHJldHVybiBudWxsO1xuICByZXR1cm4gcmhzLnN1YnMoc3ViMiwgeyBjYW5vbmljYWw6IHRydWUgfSk7XG59XG5mdW5jdGlvbiByZXBsYWNlKGV4cHIsIHJ1bGVTZXQsIG9wdGlvbnMpIHtcbiAgY29uc3QgaXRlcmF0aW9uTGltaXQgPSBvcHRpb25zPy5pdGVyYXRpb25MaW1pdCA/PyAxO1xuICBsZXQgaXRlcmF0aW9uQ291bnQgPSAwO1xuICBjb25zdCBvbmNlID0gb3B0aW9ucz8ub25jZSA/PyBmYWxzZTtcbiAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgbGV0IGF0TGVhc3RPbmVSdWxlID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgd2hpbGUgKCFkb25lICYmIGl0ZXJhdGlvbkNvdW50IDwgaXRlcmF0aW9uTGltaXQpIHtcbiAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgZm9yIChjb25zdCBydWxlIG9mIHJ1bGVTZXQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXBwbHlSdWxlKHJ1bGUsIGV4cHIsIHt9LCBvcHRpb25zKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiByZXN1bHQgIT09IGV4cHIpIHtcbiAgICAgICAgICBpZiAob25jZSlcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgZG9uZSA9IGZhbHNlO1xuICAgICAgICAgIGF0TGVhc3RPbmVSdWxlID0gdHJ1ZTtcbiAgICAgICAgICBleHByID0gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpdGVyYXRpb25Db3VudCArPSAxO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gIH1cbiAgcmV0dXJuIGF0TGVhc3RPbmVSdWxlID8gZXhwciA6IG51bGw7XG59XG5mdW5jdGlvbiBnZXRXaWxkY2FyZE5hbWUocykge1xuICBjb25zdCBtID0gcy5tYXRjaCgvXihfXz9fP1thLXpBLVowLTldKykvKTtcbiAgaWYgKG0gPT09IG51bGwpXG4gICAgcmV0dXJuIFwiXCI7XG4gIHJldHVybiBtWzFdO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9vcmRlci50c1xudmFyIGltcG9ydF9jb21wbGV4MyA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvc3ltYm9saWMvcG9seW5vbWlhbHMudHNcbmZ1bmN0aW9uIHRvdGFsRGVncmVlKGV4cHIpIHtcbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJQb3dlclwiICYmIGV4cHIub3AyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlZyA9IGFzU21hbGxJbnRlZ2VyKGV4cHIub3AyKTtcbiAgICBpZiAoZGVnICE9PSBudWxsICYmIGRlZyA+IDApXG4gICAgICByZXR1cm4gZGVnO1xuICAgIHJldHVybiAxO1xuICB9XG4gIGlmIChleHByLmhlYWQgPT09IFwiTXVsdGlwbHlcIikge1xuICAgIGxldCBkZWcgPSAxO1xuICAgIGZvciAoY29uc3QgYXJnIG9mIGV4cHIub3BzKSB7XG4gICAgICBjb25zdCB0ID0gdG90YWxEZWdyZWUoYXJnKTtcbiAgICAgIGlmICh0ID4gMSlcbiAgICAgICAgZGVnID0gZGVnICsgdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlZztcbiAgfVxuICByZXR1cm4gMTtcbn1cbmZ1bmN0aW9uIG1heERlZ3JlZShleHByKSB7XG4gIGlmIChleHByLmhlYWQgPT09IFwiUG93ZXJcIiAmJiBleHByLm9wMi5udW1lcmljVmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCBkZWcgPSBhc1NtYWxsSW50ZWdlcihleHByLm9wMik7XG4gICAgaWYgKGRlZyAhPT0gbnVsbCAmJiBkZWcgPiAwKVxuICAgICAgcmV0dXJuIGRlZztcbiAgICByZXR1cm4gMTtcbiAgfVxuICBpZiAoZXhwci5oZWFkID09PSBcIk11bHRpcGx5XCIpIHtcbiAgICBsZXQgZGVnID0gMTtcbiAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLm9wcylcbiAgICAgIGRlZyA9IE1hdGgubWF4KGRlZywgdG90YWxEZWdyZWUoYXJnKSk7XG4gICAgcmV0dXJuIGRlZztcbiAgfVxuICByZXR1cm4gMTtcbn1cbmZ1bmN0aW9uIGxleChleHByKSB7XG4gIGlmIChleHByLnN5bWJvbClcbiAgICByZXR1cm4gZXhwci5zeW1ib2w7XG4gIGlmIChleHByLm9wcykge1xuICAgIGNvbnN0IGggPSB0eXBlb2YgZXhwci5oZWFkID09PSBcInN0cmluZ1wiID8gZXhwci5oZWFkIDogbGV4KGV4cHIuaGVhZCk7XG4gICAgcmV0dXJuIGggKyAnXCInICsgZXhwci5vcHMubWFwKCh4KSA9PiBsZXgoeCkpLmZpbHRlcigoeCkgPT4geC5sZW5ndGggPiAwKS5qb2luKCdcIicpO1xuICB9XG4gIHJldHVybiBcIlwiO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9vcmRlci50c1xudmFyIERFRkFVTFRfQ09NUExFWElUWSA9IDFlNTtcbmZ1bmN0aW9uIHNvcnRBZGQoY2UsIG9wczIpIHtcbiAgcmV0dXJuIG9wczIuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGFMZXggPSBsZXgoYSk7XG4gICAgY29uc3QgYkxleCA9IGxleChiKTtcbiAgICBpZiAoIWFMZXggJiYgIWJMZXgpXG4gICAgICByZXR1cm4gb3JkZXIoYSwgYik7XG4gICAgaWYgKCFhTGV4KVxuICAgICAgcmV0dXJuIDE7XG4gICAgaWYgKCFiTGV4KVxuICAgICAgcmV0dXJuIC0xO1xuICAgIGlmIChhTGV4IDwgYkxleClcbiAgICAgIHJldHVybiAtMTtcbiAgICBpZiAoYUxleCA+IGJMZXgpXG4gICAgICByZXR1cm4gMTtcbiAgICBjb25zdCBhVG90YWxEZWcgPSB0b3RhbERlZ3JlZShhKTtcbiAgICBjb25zdCBiVG90YWxEZWcgPSB0b3RhbERlZ3JlZShiKTtcbiAgICBpZiAoYVRvdGFsRGVnICE9PSBiVG90YWxEZWcpXG4gICAgICByZXR1cm4gYlRvdGFsRGVnIC0gYVRvdGFsRGVnO1xuICAgIGNvbnN0IGFNYXhEZWcgPSBtYXhEZWdyZWUoYSk7XG4gICAgY29uc3QgYk1heERlZyA9IG1heERlZ3JlZShiKTtcbiAgICBpZiAoYU1heERlZyAhPT0gYk1heERlZylcbiAgICAgIHJldHVybiBhTWF4RGVnIC0gYk1heERlZztcbiAgICByZXR1cm4gb3JkZXIoYSwgYik7XG4gIH0pO1xufVxuZnVuY3Rpb24gb3JkZXIoYSwgYikge1xuICBpZiAoYSA9PT0gYilcbiAgICByZXR1cm4gMDtcbiAgaWYgKGEubnVtZXJpY1ZhbHVlICE9PSBudWxsICYmIGEubnVtZXJpY1ZhbHVlID09PSBiLm51bWVyaWNWYWx1ZSlcbiAgICByZXR1cm4gMDtcbiAgY29uc3QgYWYgPSBhc0Zsb2F0KGEpO1xuICBpZiAoYWYgIT09IG51bGwpIHtcbiAgICBjb25zdCBiZiA9IGFzRmxvYXQoYik7XG4gICAgaWYgKGJmICE9PSBudWxsKVxuICAgICAgcmV0dXJuIGFmIC0gYmY7XG4gICAgcmV0dXJuIC0xO1xuICB9XG4gIGlmIChhLm51bWVyaWNWYWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4My5kZWZhdWx0KSB7XG4gICAgaWYgKGIubnVtZXJpY1ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgzLmRlZmF1bHQpIHtcbiAgICAgIGlmIChhLm51bWVyaWNWYWx1ZS5yZSA9PT0gYi5udW1lcmljVmFsdWUucmUpIHtcbiAgICAgICAgaWYgKE1hdGguYWJzKGEubnVtZXJpY1ZhbHVlLmltKSA9PT0gTWF0aC5hYnMoYi5udW1lcmljVmFsdWUuaW0pKSB7XG4gICAgICAgICAgcmV0dXJuIGEubnVtZXJpY1ZhbHVlLmltIC0gYi5udW1lcmljVmFsdWUuaW07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1hdGguYWJzKGEubnVtZXJpY1ZhbHVlLmltKSAtIE1hdGguYWJzKGIubnVtZXJpY1ZhbHVlLmltKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhLm51bWVyaWNWYWx1ZS5yZSAtIGIubnVtZXJpY1ZhbHVlLnJlO1xuICAgIH1cbiAgICBpZiAoYi5udW1lcmljVmFsdWUgIT09IG51bGwpXG4gICAgICByZXR1cm4gMTtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgaWYgKGEubnVtZXJpY1ZhbHVlKSB7XG4gICAgaWYgKGIubnVtZXJpY1ZhbHVlKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIC0xO1xuICB9XG4gIGlmIChhLmhlYWQgPT09IFwiU3FydFwiICYmIGEub3AxLm51bWVyaWNWYWx1ZSkge1xuICAgIGlmIChiLmhlYWQgPT09IFwiU3FydFwiICYmIGIub3AxLm51bWVyaWNWYWx1ZSlcbiAgICAgIHJldHVybiBvcmRlcihhLm9wMSwgYi5vcDEpO1xuICAgIHJldHVybiAtMTtcbiAgfVxuICBpZiAoYS5zeW1ib2wpIHtcbiAgICBpZiAoYi5zeW1ib2wpIHtcbiAgICAgIGlmIChhLnN5bWJvbCA9PT0gYi5zeW1ib2wpXG4gICAgICAgIHJldHVybiAwO1xuICAgICAgcmV0dXJuIGEuc3ltYm9sID4gYi5zeW1ib2wgPyAxIDogLTE7XG4gICAgfVxuICAgIGlmIChiLm51bWVyaWNWYWx1ZSAhPT0gbnVsbClcbiAgICAgIHJldHVybiAxO1xuICAgIHJldHVybiAtMTtcbiAgfVxuICBpZiAoYS5vcHMpIHtcbiAgICBpZiAoYi5vcHMpIHtcbiAgICAgIGNvbnN0IGFDb21wbGV4aXR5ID0gYS5mdW5jdGlvbkRlZmluaXRpb24/LmNvbXBsZXhpdHkgPz8gREVGQVVMVF9DT01QTEVYSVRZO1xuICAgICAgY29uc3QgYkNvbXBsZXhpdHkgPSBiLmZ1bmN0aW9uRGVmaW5pdGlvbj8uY29tcGxleGl0eSA/PyBERUZBVUxUX0NPTVBMRVhJVFk7XG4gICAgICBpZiAoYUNvbXBsZXhpdHkgPT09IGJDb21wbGV4aXR5KSB7XG4gICAgICAgIGlmICh0eXBlb2YgYS5oZWFkID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBiLmhlYWQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBpZiAoYS5oZWFkID09PSBiLmhlYWQpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRMZWFmQ291bnQoYSkgLSBnZXRMZWFmQ291bnQoYik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhLmhlYWQgPCBiLmhlYWQpXG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldExlYWZDb3VudChhKSAtIGdldExlYWZDb3VudChiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhQ29tcGxleGl0eSAtIGJDb21wbGV4aXR5O1xuICAgIH1cbiAgICBpZiAoYi5udW1lcmljVmFsdWUgIT09IG51bGwgfHwgYi5zeW1ib2wpXG4gICAgICByZXR1cm4gMTtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgaWYgKGEuc3RyaW5nKSB7XG4gICAgaWYgKGIuc3RyaW5nKSB7XG4gICAgICBpZiAoYS5zdHJpbmcubGVuZ3RoICE9PSBiLnN0cmluZy5sZW5ndGgpXG4gICAgICAgIHJldHVybiBiLnN0cmluZy5sZW5ndGggLSBhLnN0cmluZy5sZW5ndGg7XG4gICAgICBpZiAoYi5zdHJpbmcgPCBhLnN0cmluZylcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgaWYgKGEuc3RyaW5nID4gYi5zdHJpbmcpXG4gICAgICAgIHJldHVybiAxO1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmIChiLmtleXMpXG4gICAgICByZXR1cm4gLTE7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgaWYgKGEua2V5cyAmJiBiLmtleXMpIHtcbiAgICBpZiAoYS5rZXlzQ291bnQgIT09IGIua2V5c0NvdW50KVxuICAgICAgcmV0dXJuIGIua2V5c0NvdW50IC0gYS5rZXlzQ291bnQ7XG4gICAgbGV0IGJDb21wbGV4aXR5ID0gMDtcbiAgICBsZXQgYUNvbXBsZXhpdHkgPSAwO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGIua2V5cylcbiAgICAgIGJDb21wbGV4aXR5ICs9IGIuZ2V0S2V5KGtleSkuY29tcGxleGl0eSA/PyBERUZBVUxUX0NPTVBMRVhJVFk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgYS5rZXlzKVxuICAgICAgYUNvbXBsZXhpdHkgKz0gYS5nZXRLZXkoa2V5KS5jb21wbGV4aXR5ID8/IERFRkFVTFRfQ09NUExFWElUWTtcbiAgICByZXR1cm4gYUNvbXBsZXhpdHkgLSBiQ29tcGxleGl0eTtcbiAgfVxuICByZXR1cm4gKGEuY29tcGxleGl0eSA/PyBERUZBVUxUX0NPTVBMRVhJVFkpIC0gKGIuY29tcGxleGl0eSA/PyBERUZBVUxUX0NPTVBMRVhJVFkpO1xufVxuZnVuY3Rpb24gZ2V0TGVhZkNvdW50KGV4cHIpIHtcbiAgaWYgKGV4cHIua2V5cyAhPT0gbnVsbClcbiAgICByZXR1cm4gMSArIGV4cHIua2V5c0NvdW50O1xuICBpZiAoIWV4cHIub3BzKVxuICAgIHJldHVybiAxO1xuICByZXR1cm4gKHR5cGVvZiBleHByLmhlYWQgPT09IFwic3RyaW5nXCIgPyAxIDogZ2V0TGVhZkNvdW50KGV4cHIuaGVhZCkpICsgWy4uLmV4cHIub3BzXS5yZWR1Y2UoKGFjYywgeCkgPT4gYWNjICsgZ2V0TGVhZkNvdW50KHgpLCAwKTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL3N5bWJvbGljL2ZsYXR0ZW4udHNcbmZ1bmN0aW9uIGZsYXR0ZW5PcHMob3BzMiwgaGVhZDIpIHtcbiAgaWYgKCFoZWFkMilcbiAgICByZXR1cm4gb3BzMjtcbiAgaWYgKG9wczIuZXZlcnkoKHgpID0+ICF4Lm9wcyB8fCB4LmhlYWQgIT09IGhlYWQyKSlcbiAgICByZXR1cm4gb3BzMjtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAoY29uc3QgYXJnIG9mIG9wczIpIHtcbiAgICBpZiAoIWFyZy5vcHMgfHwgYXJnLmhlYWQgIT09IGhlYWQyKVxuICAgICAgcmVzdWx0LnB1c2goYXJnKTtcbiAgICBlbHNlIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmZsYXR0ZW5PcHMoYXJnLm9wcywgaGVhZDIpKTtcbiAgICB9XG4gIH1cbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KHJlc3VsdC5sZW5ndGggIT09IG9wczIubGVuZ3RoKTtcbiAgaWYgKHJlc3VsdC5sZW5ndGggPT09IG9wczIubGVuZ3RoKVxuICAgIHJldHVybiBvcHMyO1xuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gZmxhdHRlblNlcXVlbmNlKHhzKSB7XG4gIGlmICh4cy5ldmVyeSgoeCkgPT4geC5oZWFkICE9PSBcIlNlcXVlbmNlXCIpKVxuICAgIHJldHVybiB4cztcbiAgY29uc3QgeXMgPSBbXTtcbiAgZm9yIChjb25zdCB4IG9mIHhzKSB7XG4gICAgaWYgKHguaXNWYWxpZCAmJiB4LmhlYWQgPT09IFwiU2VxdWVuY2VcIikge1xuICAgICAgaWYgKHgub3BzKVxuICAgICAgICB5cy5wdXNoKC4uLngub3BzKTtcbiAgICB9IGVsc2VcbiAgICAgIHlzLnB1c2goeCk7XG4gIH1cbiAgcmV0dXJuIHlzO1xufVxuZnVuY3Rpb24gY2Fub25pY2FsKHhzKSB7XG4gIHJldHVybiB4cy5ldmVyeSgoeCkgPT4geC5pc0Nhbm9uaWNhbCkgPyB4cyA6IHhzLm1hcCgoeCkgPT4geC5jYW5vbmljYWwpO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbnVtZXJpY3MvcmF0aW9uYWxzLnRzXG52YXIgaW1wb3J0X2NvbXBsZXg0ID0gX190b0VTTShyZXF1aXJlX2NvbXBsZXgoKSk7XG5mdW5jdGlvbiBpc1JhdGlvbmFsKHgpIHtcbiAgcmV0dXJuIHggIT09IG51bGwgJiYgQXJyYXkuaXNBcnJheSh4KTtcbn1cbmZ1bmN0aW9uIGlzTWFjaGluZVJhdGlvbmFsKHgpIHtcbiAgcmV0dXJuIHggIT09IG51bGwgJiYgQXJyYXkuaXNBcnJheSh4KSAmJiB0eXBlb2YgeFswXSA9PT0gXCJudW1iZXJcIjtcbn1cbmZ1bmN0aW9uIGlzQmlnUmF0aW9uYWwoeCkge1xuICByZXR1cm4geCAhPT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KHgpICYmIHR5cGVvZiB4WzBdID09PSBcImJpZ2ludFwiO1xufVxuZnVuY3Rpb24gaXNSYXRpb25hbFplcm8oeCkge1xuICByZXR1cm4geFswXSA9PSAwO1xufVxuZnVuY3Rpb24gaXNSYXRpb25hbE9uZSh4KSB7XG4gIHJldHVybiB4WzBdID09PSB4WzFdO1xufVxuZnVuY3Rpb24gaXNSYXRpb25hbE5lZ2F0aXZlT25lKHgpIHtcbiAgcmV0dXJuIHhbMF0gPT09IC14WzFdO1xufVxuZnVuY3Rpb24gbWFjaGluZU51bWVyYXRvcih4KSB7XG4gIHJldHVybiBOdW1iZXIoeFswXSk7XG59XG5mdW5jdGlvbiBtYWNoaW5lRGVub21pbmF0b3IoeCkge1xuICByZXR1cm4gTnVtYmVyKHhbMV0pO1xufVxuZnVuY3Rpb24gaXNOZWcoeCkge1xuICByZXR1cm4geFswXSA8IDA7XG59XG5mdW5jdGlvbiBuZWcoeCkge1xuICByZXR1cm4gWy14WzBdLCB4WzFdXTtcbn1cbmZ1bmN0aW9uIGludmVyc2UoeCkge1xuICByZXR1cm4geFswXSA8IDAgPyBbLXhbMV0sIC14WzBdXSA6IFt4WzFdLCB4WzBdXTtcbn1cbmZ1bmN0aW9uIGFzUmF0aW9uYWwoZXhwcikge1xuICBjb25zdCBudW0gPSBleHByLm51bWVyaWNWYWx1ZTtcbiAgaWYgKG51bSA9PT0gbnVsbClcbiAgICByZXR1cm4gdm9pZCAwO1xuICBpZiAoQXJyYXkuaXNBcnJheShudW0pKVxuICAgIHJldHVybiBudW07XG4gIGlmICh0eXBlb2YgbnVtID09PSBcIm51bWJlclwiICYmIE51bWJlci5pc0ludGVnZXIobnVtKSlcbiAgICByZXR1cm4gW251bSwgMV07XG4gIGlmIChudW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQgJiYgbnVtLmlzSW50ZWdlcigpKVxuICAgIHJldHVybiBbYmlnaW50KG51bSksIEJpZ0ludCgxKV07XG4gIHJldHVybiB2b2lkIDA7XG59XG5mdW5jdGlvbiBhc01hY2hpbmVSYXRpb25hbChyKSB7XG4gIHJldHVybiBbTnVtYmVyKHJbMF0pLCBOdW1iZXIoclsxXSldO1xufVxuZnVuY3Rpb24gYWRkMihsaHMsIHJocykge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgQXJyYXkuaXNBcnJheShyaHMpIHx8IHJocy5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgIShyaHMgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDQuZGVmYXVsdClcbiAgKTtcbiAgaWYgKHR5cGVvZiBsaHNbMF0gPT09IFwibnVtYmVyXCIgJiYgIU51bWJlci5pc0Zpbml0ZShsaHNbMF0pKVxuICAgIHJldHVybiBsaHM7XG4gIGNvbnN0IHJoc051bSA9IEFycmF5LmlzQXJyYXkocmhzKSA/IHJocyA6IHJocy5udW1lcmljVmFsdWU7XG4gIGlmIChyaHNOdW0gPT09IG51bGwpXG4gICAgcmV0dXJuIGxocztcbiAgaWYgKEFycmF5LmlzQXJyYXkocmhzTnVtKSkge1xuICAgIGlmIChpc0JpZ1JhdGlvbmFsKHJoc051bSkpIHtcbiAgICAgIGxocyA9IFtiaWdpbnQobGhzWzBdKSwgYmlnaW50KGxoc1sxXSldO1xuICAgICAgcmV0dXJuIFtyaHNOdW1bMV0gKiBsaHNbMF0gKyByaHNOdW1bMF0gKiBsaHNbMV0sIHJoc051bVsxXSAqIGxoc1sxXV07XG4gICAgfVxuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHJoc051bVswXSkpXG4gICAgICByZXR1cm4gcmhzTnVtO1xuICAgIGlmIChpc0JpZ1JhdGlvbmFsKGxocykpIHtcbiAgICAgIGNvbnN0IGJpZ1JocyA9IFtiaWdpbnQocmhzTnVtWzBdKSwgYmlnaW50KHJoc051bVsxXSldO1xuICAgICAgcmV0dXJuIFtiaWdSaHNbMV0gKiBsaHNbMF0gKyBiaWdSaHNbMF0gKiBsaHNbMV0sIGJpZ1Joc1sxXSAqIGxoc1sxXV07XG4gICAgfVxuICAgIHJldHVybiBbcmhzTnVtWzFdICogbGhzWzBdICsgcmhzTnVtWzBdICogbGhzWzFdLCByaHNOdW1bMV0gKiBsaHNbMV1dO1xuICB9XG4gIGlmIChyaHNOdW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQpIHtcbiAgICBpZiAocmhzTnVtLmlzTmFOKCkpXG4gICAgICByZXR1cm4gW051bWJlci5OYU4sIDFdO1xuICAgIGlmICghcmhzTnVtLmlzRmluaXRlKCkpXG4gICAgICByZXR1cm4gW3Joc051bS5pc05lZ2F0aXZlKCkgPyAtSW5maW5pdHkgOiBJbmZpbml0eSwgMV07XG4gICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KHJoc051bS5pc0ludGVnZXIoKSk7XG4gICAgaWYgKGlzTWFjaGluZVJhdGlvbmFsKGxocykpXG4gICAgICBsaHMgPSBbYmlnaW50KGxoc1swXSksIGJpZ2ludChsaHNbMV0pXTtcbiAgICByZXR1cm4gW2xoc1swXSArIGxoc1sxXSAqIGJpZ2ludChyaHNOdW0udG9TdHJpbmcoKSksIGxoc1sxXV07XG4gIH1cbiAgaWYgKHJoc051bSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4NC5kZWZhdWx0KVxuICAgIHJldHVybiBbTnVtYmVyLk5hTiwgMV07XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCghTnVtYmVyLmlzRmluaXRlKHJoc051bSkgfHwgTnVtYmVyLmlzSW50ZWdlcihyaHNOdW0pKTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUocmhzTnVtKSlcbiAgICByZXR1cm4gW3Joc051bSwgMV07XG4gIGlmIChpc01hY2hpbmVSYXRpb25hbChsaHMpKVxuICAgIHJldHVybiBbbGhzWzBdICsgbGhzWzFdICogcmhzTnVtLCBsaHNbMV1dO1xuICByZXR1cm4gW2xoc1swXSArIGxoc1sxXSAqIGJpZ2ludChyaHNOdW0pLCBsaHNbMV1dO1xufVxuZnVuY3Rpb24gbXVsMihsaHMsIHJocykge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgQXJyYXkuaXNBcnJheShyaHMpIHx8IHJocy5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgIShyaHMgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDQuZGVmYXVsdClcbiAgKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocmhzKSkge1xuICAgIGlmIChpc01hY2hpbmVSYXRpb25hbChsaHMpICYmIGlzTWFjaGluZVJhdGlvbmFsKHJocykpXG4gICAgICByZXR1cm4gW2xoc1swXSAqIHJoc1swXSwgbGhzWzFdICogcmhzWzFdXTtcbiAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobGhzKSlcbiAgICAgIGxocyA9IFtiaWdpbnQobGhzWzBdKSwgYmlnaW50KGxoc1sxXSldO1xuICAgIGlmIChpc01hY2hpbmVSYXRpb25hbChyaHMpKVxuICAgICAgcmhzID0gW2JpZ2ludChyaHNbMF0pLCBiaWdpbnQocmhzWzFdKV07XG4gICAgcmV0dXJuIFtsaHNbMF0gKiByaHNbMF0sIGxoc1sxXSAqIHJoc1sxXV07XG4gIH1cbiAgY29uc3QgcmhzTnVtID0gcmhzLm51bWVyaWNWYWx1ZTtcbiAgaWYgKHJoc051bSAhPT0gbnVsbCAmJiB0eXBlb2YgcmhzTnVtID09PSBcIm51bWJlclwiKSB7XG4gICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIocmhzTnVtKSk7XG4gICAgaWYgKGlzTWFjaGluZVJhdGlvbmFsKGxocykpXG4gICAgICByZXR1cm4gW2xoc1swXSAqIHJoc051bSwgbGhzWzFdXTtcbiAgICByZXR1cm4gW2xoc1swXSAqIGJpZ2ludChyaHNOdW0pLCBsaHNbMV1dO1xuICB9XG4gIGlmIChyaHNOdW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQpIHtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQocmhzTnVtLmlzSW50ZWdlcigpKTtcbiAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobGhzKSlcbiAgICAgIHJldHVybiBbYmlnaW50KHJoc051bS50b1N0cmluZygpKSAqIGJpZ2ludChsaHNbMF0pLCBiaWdpbnQobGhzWzFdKV07XG4gICAgcmV0dXJuIFtiaWdpbnQocmhzTnVtLnRvU3RyaW5nKCkpICogbGhzWzBdLCBsaHNbMV1dO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHJoc051bSkpIHtcbiAgICBpZiAoaXNCaWdSYXRpb25hbChyaHNOdW0pKVxuICAgICAgcmV0dXJuIFtyaHNOdW1bMF0gKiBiaWdpbnQobGhzWzBdKSwgcmhzTnVtWzFdICogYmlnaW50KGxoc1sxXSldO1xuICAgIGVsc2UgaWYgKGlzTWFjaGluZVJhdGlvbmFsKGxocykpXG4gICAgICByZXR1cm4gW2xoc1swXSAqIHJoc051bVswXSwgbGhzWzFdICogcmhzTnVtWzFdXTtcbiAgICByZXR1cm4gW2xoc1swXSAqIGJpZ2ludChyaHNOdW1bMF0pLCBsaHNbMV0gKiBiaWdpbnQocmhzTnVtWzFdKV07XG4gIH1cbiAgcmV0dXJuIGxocztcbn1cbmZ1bmN0aW9uIHBvdzIociwgZXhwMikge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihleHAyKSk7XG4gIGlmIChleHAyID09PSAwKVxuICAgIHJldHVybiBbMSwgMV07XG4gIGlmIChleHAyIDwgMCkge1xuICAgIHIgPSBpbnZlcnNlKHIpO1xuICAgIGV4cDIgPSAtZXhwMjtcbiAgfVxuICBpZiAoZXhwMiA9PT0gMSlcbiAgICByZXR1cm4gcjtcbiAgaWYgKGlzTWFjaGluZVJhdGlvbmFsKHIpKVxuICAgIHJldHVybiBbTWF0aC5wb3coclswXSwgZXhwMiksIE1hdGgucG93KHJbMV0sIGV4cDIpXTtcbiAgY29uc3QgYmlnZXhwID0gYmlnaW50KGV4cDIpO1xuICByZXR1cm4gW3JbMF0gKiogYmlnZXhwLCByWzFdICoqIGJpZ2V4cF07XG59XG5mdW5jdGlvbiByZWR1Y2VkUmF0aW9uYWwocikge1xuICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwocikpIHtcbiAgICBpZiAoclswXSA9PT0gMSB8fCByWzFdID09PSAxKVxuICAgICAgcmV0dXJuIHI7XG4gICAgaWYgKHJbMV0gPCAwKVxuICAgICAgciA9IFstclswXSwgLXJbMV1dO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHJbMV0pKVxuICAgICAgcmV0dXJuIFswLCAxXTtcbiAgICBjb25zdCBnMiA9IGdjZChyWzBdLCByWzFdKTtcbiAgICByZXR1cm4gZzIgPD0gMSA/IHIgOiBbclswXSAvIGcyLCByWzFdIC8gZzJdO1xuICB9XG4gIGlmIChyWzBdID09PSBCaWdJbnQoMSkgfHwgclsxXSA9PT0gQmlnSW50KDEpKVxuICAgIHJldHVybiByO1xuICBpZiAoclsxXSA8IDApXG4gICAgciA9IFstclswXSwgLXJbMV1dO1xuICBjb25zdCBnID0gZ2NkMihyWzBdLCByWzFdKTtcbiAgaWYgKGcgPD0gMSlcbiAgICByZXR1cm4gcjtcbiAgcmV0dXJuIFtyWzBdIC8gZywgclsxXSAvIGddO1xufVxuZnVuY3Rpb24gcmF0aW9uYWxpemUoeCkge1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZSh4KSlcbiAgICByZXR1cm4geDtcbiAgY29uc3QgZnJhY3Rpb25hbCA9IHggJSAxO1xuICBpZiAoZnJhY3Rpb25hbCA9PT0gMClcbiAgICByZXR1cm4geDtcbiAgY29uc3QgZXBzID0gMWUtMTU7XG4gIGxldCBhID0gTWF0aC5mbG9vcih4KTtcbiAgbGV0IGgxID0gMTtcbiAgbGV0IGsxID0gMDtcbiAgbGV0IGggPSBhO1xuICBsZXQgayA9IDE7XG4gIHdoaWxlICh4IC0gYSA+IGVwcyAqIGsgKiBrKSB7XG4gICAgeCA9IDEgLyAoeCAtIGEpO1xuICAgIGEgPSBNYXRoLmZsb29yKHgpO1xuICAgIGNvbnN0IGgyID0gaDE7XG4gICAgaDEgPSBoO1xuICAgIGNvbnN0IGsyID0gazE7XG4gICAgazEgPSBrO1xuICAgIGggPSBoMiArIGEgKiBoMTtcbiAgICBrID0gazIgKyBhICogazE7XG4gIH1cbiAgcmV0dXJuIFtoLCBrXTtcbn1cbmZ1bmN0aW9uIGFzQ29lZmZpY2llbnQoZXhwcikge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoZXhwci5pc0Nhbm9uaWNhbCk7XG4gIGNvbnN0IGNlID0gZXhwci5lbmdpbmU7XG4gIGlmIChleHByLmhlYWQgPT09IFwiTXVsdGlwbHlcIikge1xuICAgIGNvbnN0IHJlc3QgPSBbXTtcbiAgICBsZXQgY29lZiA9IFsxLCAxXTtcbiAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLm9wcykge1xuICAgICAgY29uc3QgbjIgPSBhcmcubnVtZXJpY1ZhbHVlO1xuICAgICAgaWYgKG4yICE9PSBudWxsICYmICh0eXBlb2YgbjIgPT09IFwibnVtYmVyXCIgJiYgTnVtYmVyLmlzSW50ZWdlcihuMikgfHwgbjIgaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQgJiYgbjIuaXNJbnRlZ2VyKCkgfHwgaXNSYXRpb25hbChuMikpKVxuICAgICAgICBjb2VmID0gbXVsMihjb2VmLCBhcmcpO1xuICAgICAgZWxzZVxuICAgICAgICByZXN0LnB1c2goYXJnKTtcbiAgICB9XG4gICAgY29lZiA9IHJlZHVjZWRSYXRpb25hbChjb2VmKTtcbiAgICBpZiAoaXNSYXRpb25hbE9uZShjb2VmKSlcbiAgICAgIHJldHVybiBbWzEsIDFdLCBleHByXTtcbiAgICBpZiAocmVzdC5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gW2NvZWYsIGNlLl9PTkVdO1xuICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMSlcbiAgICAgIHJldHVybiBbY29lZiwgcmVzdFswXV07XG4gICAgcmV0dXJuIFtjb2VmLCBjZS5tdWwocmVzdCldO1xuICB9XG4gIGlmIChleHByLmhlYWQgPT09IFwiRGl2aWRlXCIpIHtcbiAgICBsZXQgW2NvZWYxLCBudW1lcl0gPSBhc0NvZWZmaWNpZW50KGV4cHIub3AxKTtcbiAgICBjb25zdCBbY29lZjIsIGRlbm9tXSA9IGFzQ29lZmZpY2llbnQoZXhwci5vcDIpO1xuICAgIGNvbnN0IGNvZWYgPSByZWR1Y2VkUmF0aW9uYWwobXVsMihjb2VmMSwgaW52ZXJzZShjb2VmMikpKTtcbiAgICBpZiAoZGVub20uaXNPbmUpXG4gICAgICByZXR1cm4gW2NvZWYsIG51bWVyXTtcbiAgICByZXR1cm4gW2NvZWYsIGNlLmRpdihudW1lciwgZGVub20pXTtcbiAgfVxuICBpZiAoZXhwci5oZWFkID09PSBcIlBvd2VyXCIpIHtcbiAgICBpZiAoZXhwci5vcDIubnVtZXJpY1ZhbHVlID09PSBudWxsKVxuICAgICAgcmV0dXJuIFtbMSwgMV0sIGV4cHJdO1xuICAgIGxldCBbY29lZiwgYmFzZV0gPSBhc0NvZWZmaWNpZW50KGV4cHIub3AxKTtcbiAgICBpZiAoaXNSYXRpb25hbE9uZShjb2VmKSlcbiAgICAgIHJldHVybiBbWzEsIDFdLCBleHByXTtcbiAgICBjb25zdCBleHBvbmVudCA9IGV4cHIub3AyO1xuICAgIGNvbnN0IGUgPSBhc1NtYWxsSW50ZWdlcihleHBvbmVudCk7XG4gICAgaWYgKGUgPT09IC0xKVxuICAgICAgcmV0dXJuIFtpbnZlcnNlKGNvZWYpLCBjZS5pbnYoYmFzZSldO1xuICAgIGlmIChlICE9PSBudWxsKVxuICAgICAgcmV0dXJuIFtwb3cyKGNvZWYsIGUpLCBjZS5wb3coYmFzZSwgZXhwb25lbnQpXTtcbiAgICBpZiAoZXhwb25lbnQubnVtZXJpY1ZhbHVlICE9PSBudWxsICYmIEFycmF5LmlzQXJyYXkoZXhwb25lbnQubnVtZXJpY1ZhbHVlKSkge1xuICAgICAgY29uc3QgW2VuLCBlZF0gPSBhc01hY2hpbmVSYXRpb25hbChleHBvbmVudC5udW1lcmljVmFsdWUpO1xuICAgICAgY29uc3QgW251bWVyLCBkZW5vbV0gPSBhc01hY2hpbmVSYXRpb25hbChjb2VmKTtcbiAgICAgIGlmIChudW1lciA+IDAgJiYgTWF0aC5hYnMoZW4pID09PSAxKSB7XG4gICAgICAgIGNvbnN0IFtuQ29lZiwgblJlc3RdID0gZmFjdG9yUG93ZXIobnVtZXIsIGVkKTtcbiAgICAgICAgY29uc3QgW2RDb2VmLCBkUmVzdF0gPSBmYWN0b3JQb3dlcihkZW5vbSwgZWQpO1xuICAgICAgICBpZiAobkNvZWYgPT09IDEgJiYgZENvZWYgPT09IDEpXG4gICAgICAgICAgcmV0dXJuIFtbMSwgMV0sIGV4cHJdO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGVuID09PSAxID8gW25Db2VmLCBkQ29lZl0gOiBbZENvZWYsIG5Db2VmXSxcbiAgICAgICAgICBjZS5wb3coY2UubXVsKFtjZS5udW1iZXIoW25SZXN0LCBkUmVzdF0pLCBiYXNlXSksIGV4cG9uZW50KVxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW1sxLCAxXSwgZXhwcl07XG4gIH1cbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJBZGRcIikge1xuICB9XG4gIGlmIChleHByLmhlYWQgPT09IFwiTmVnYXRlXCIpIHtcbiAgICBjb25zdCBbY29lZiwgcmVzdF0gPSBhc0NvZWZmaWNpZW50KGV4cHIub3AxKTtcbiAgICByZXR1cm4gW25lZyhjb2VmKSwgcmVzdF07XG4gIH1cbiAgY29uc3QgbiA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBpZiAobiAhPT0gbnVsbCkge1xuICAgIGlmIChuIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KSB7XG4gICAgICBpZiAobi5pc0ludGVnZXIoKSlcbiAgICAgICAgcmV0dXJuIFtbYmlnaW50KG4udG9TdHJpbmcoKSksIEJpZ0ludCgxKV0sIGNlLl9PTkVdO1xuICAgICAgaWYgKG4uaXNOZWdhdGl2ZSgpKVxuICAgICAgICByZXR1cm4gW1stMSwgMV0sIGNlLm51bWJlcihuLm5lZygpKV07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbiA9PT0gXCJudW1iZXJcIikge1xuICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIobikpXG4gICAgICAgIHJldHVybiBbW24sIDFdLCBjZS5fT05FXTtcbiAgICAgIGlmIChuIDwgMClcbiAgICAgICAgcmV0dXJuIFtbLTEsIDFdLCBjZS5udW1iZXIoLW4pXTtcbiAgICB9XG4gICAgaWYgKGlzUmF0aW9uYWwobikpXG4gICAgICByZXR1cm4gW24sIGNlLl9PTkVdO1xuICAgIGlmIChuIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg0LmRlZmF1bHQgJiYgbi5yZSA8IDApXG4gICAgICByZXR1cm4gW1stMSwgMV0sIGNlLm51bWJlcihjZS5jb21wbGV4KC1uLnJlLCAtbi5pbSkpXTtcbiAgfVxuICByZXR1cm4gW1sxLCAxXSwgZXhwcl07XG59XG5mdW5jdGlvbiBzaWduRGlmZihsaHMsIHJocywgdG9sZXJhbmNlKSB7XG4gIGlmIChsaHMgPT09IHJocylcbiAgICByZXR1cm4gMDtcbiAgY29uc3QgbGhzTiA9IGxocy5OKCk7XG4gIGNvbnN0IHJoc04gPSByaHMuTigpO1xuICBjb25zdCBsaHNOdW0gPSBsaHNOLm51bWVyaWNWYWx1ZTtcbiAgY29uc3QgcmhzTnVtID0gcmhzTi5udW1lcmljVmFsdWU7XG4gIGlmIChsaHNOdW0gPT09IG51bGwgfHwgcmhzTnVtID09PSBudWxsKSB7XG4gICAgY29uc3QgbGhzUyA9IGxocy5zZ247XG4gICAgY29uc3QgcmhzUyA9IHJocy5zZ247XG4gICAgaWYgKHR5cGVvZiBsaHNTICE9PSBcIm51bWJlclwiIHx8IHR5cGVvZiByaHNTICE9PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICBpZiAobGhzUyA9PT0gMCAmJiByaHNTID09PSAwKVxuICAgICAgcmV0dXJuIDA7XG4gICAgaWYgKGxoc1MgPCAwICYmIHJoc1MgPiAwKVxuICAgICAgcmV0dXJuIC0xO1xuICAgIGlmIChsaHNTID4gMCAmJiByaHNTIDwgMClcbiAgICAgIHJldHVybiAxO1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgdG9sZXJhbmNlID8/ICh0b2xlcmFuY2UgPSBsaHMuZW5naW5lLnRvbGVyYW5jZSk7XG4gIGlmIChsaHNOdW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDQuZGVmYXVsdCAmJiByaHNOdW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDQuZGVmYXVsdClcbiAgICByZXR1cm4gY2hvcChsaHNOdW0ucmUgLSByaHNOdW0ucmUsIHRvbGVyYW5jZSkgPT09IDAgJiYgY2hvcChsaHNOdW0uaW0gLSByaHNOdW0uaW0sIHRvbGVyYW5jZSkgPT09IDAgPyAwIDogdm9pZCAwO1xuICBpZiAobGhzTnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg0LmRlZmF1bHQgfHwgcmhzTnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg0LmRlZmF1bHQpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgaWYgKGlzUmF0aW9uYWwobGhzTnVtKSB8fCBpc1JhdGlvbmFsKHJoc051bSkpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgaWYgKHR5cGVvZiBsaHNOdW0gPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIHJoc051bSA9PT0gXCJudW1iZXJcIikge1xuICAgIGlmIChjaG9wKHJoc051bSAtIGxoc051bSwgdG9sZXJhbmNlKSA9PT0gMClcbiAgICAgIHJldHVybiAwO1xuICAgIHJldHVybiBsaHNOdW0gPCByaHNOdW0gPyAtMSA6IDE7XG4gIH1cbiAgY29uc3QgY2UgPSBsaHMuZW5naW5lO1xuICBjb25zdCBkZWx0YSA9IGNlLmJpZ251bShyaHNOdW0pLnN1YihjZS5iaWdudW0obGhzTnVtKSk7XG4gIGlmIChjaG9wKGRlbHRhLCB0b2xlcmFuY2UpID09PSAwKVxuICAgIHJldHVybiAwO1xuICByZXR1cm4gZGVsdGEuaXNQb3MoKSA/IDEgOiAtMTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL3N5bWJvbGljL3N1bS50c1xudmFyIGltcG9ydF9jb21wbGV4NSA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xudmFyIFN1bSA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoY2UsIHhzLCBvcHRpb25zKSB7XG4gICAgLy8gSWYgYGZhbHNlYCwgdGhlIHJ1bm5pbmcgc3VtcyBhcmUgbm90IGNhbGN1bGF0ZWRcbiAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IHRydWU7XG4gICAgdGhpcy5faW1hZ2luYXJ5ID0gMDtcbiAgICB0aGlzLl9wb3NJbmZpbml0eUNvdW50ID0gMDtcbiAgICB0aGlzLl9uZWdJbmZpbml0eUNvdW50ID0gMDtcbiAgICB0aGlzLl9uYU5Db3VudCA9IDA7XG4gICAgLy8gRWFjaCB0ZXJtIGlzIGZhY3RvcmVkIGFzIHRoZSBwcm9kdWN0IG9mIGEgcmF0aW9uYWwgYW5kIGFuIGV4cHJlc3Npb25cbiAgICAvLyBGb3Igbm93LCBvbmx5IHJhdGlvbmFscyBhcmUgZmFjdG9yZWQsIHNvIGAxLjJ4ICsgMi41eGAgYXJlIG5vdCBjb21iaW5lZC5cbiAgICB0aGlzLl90ZXJtcyA9IFtdO1xuICAgIG9wdGlvbnMgPz8gKG9wdGlvbnMgPSB7fSk7XG4gICAgaWYgKCEoXCJjYW5vbmljYWxcIiBpbiBvcHRpb25zKSlcbiAgICAgIHRoaXMuX2lzQ2Fub25pY2FsID0gdHJ1ZTtcbiAgICBlbHNlXG4gICAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IG9wdGlvbnMuY2Fub25pY2FsO1xuICAgIHRoaXMuZW5naW5lID0gY2U7XG4gICAgdGhpcy5fcmF0aW9uYWwgPSBiaWdudW1QcmVmZXJyZWQoY2UpID8gW0JpZ0ludCgwKSwgQmlnSW50KDEpXSA6IFswLCAxXTtcbiAgICB0aGlzLl9iaWdudW0gPSBjZS5fQklHTlVNX1pFUk87XG4gICAgdGhpcy5fbnVtYmVyID0gMDtcbiAgICBpZiAoeHMpXG4gICAgICBmb3IgKGNvbnN0IHggb2YgeHMpXG4gICAgICAgIHRoaXMuYWRkVGVybSh4KTtcbiAgfVxuICBnZXQgaXNFbXB0eSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzQ2Fub25pY2FsKVxuICAgICAgcmV0dXJuIHRoaXMuX3Rlcm1zLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gdGhpcy5fdGVybXMubGVuZ3RoID09PSAwICYmIGlzUmF0aW9uYWxaZXJvKHRoaXMuX3JhdGlvbmFsKSAmJiB0aGlzLl9pbWFnaW5hcnkgPT09IDAgJiYgdGhpcy5fbnVtYmVyID09PSAwICYmIHRoaXMuX2JpZ251bS5pc1plcm8oKSAmJiB0aGlzLl9uZWdJbmZpbml0eUNvdW50ID09PSAwICYmIHRoaXMuX3Bvc0luZmluaXR5Q291bnQgPT09IDAgJiYgdGhpcy5fbmFOQ291bnQgPT09IDA7XG4gIH1cbiAgLyoqXG4gICAqIEFkZCBhIHRlcm0gdG8gdGhlIHN1bS5cbiAgICpcbiAgICogQSB0ZXJtIGlzIGEgcmF0aW9uYWwgY29lZmZpY2llbnQgYW5kIGFuIGV4cHJlc3Npb24uXG4gICAqIE9wdGlvbmFsbHksIHRoZSB0ZXJtIGlzIG11bHRpcGxpZWQgYnkgdGhlIGNvbnN0YW50IGBjYCBiZWZvcmUgYmVpbmcgYWRkZWQuXG4gICAqXG4gICAqIElmIHRoZSBzdW0gYWxyZWFkeSBoYXMgdGhpcyB0ZXJtLCB0aGUgY29lZmZpY2llbnQgaXMgYWRkZWRcbiAgICogdG8gdGhlIHByZXZpb3VzIG9uZS4gT3RoZXJ3aXNlLCBhIG5ldyBlbnRyeSBpcyBhZGRlZC5cbiAgICpcbiAgICogRS5nLiBcIjJ4ICsgeCArIDEvNSB5XCJcbiAgICogIC0+IFtbJ3gnLCBbMywgMV1dLCBbJ3knLCBbMSwgNV1dXVxuICAgKi9cbiAgYWRkVGVybSh0ZXJtLCBjKSB7XG4gICAgaWYgKHRlcm0uaXNOb3RoaW5nKVxuICAgICAgcmV0dXJuO1xuICAgIGlmICh0ZXJtLmlzTmFOIHx8IHRlcm0uaXNJbWFnaW5hcnkgJiYgIWNvbXBsZXhBbGxvd2VkKHRoaXMuZW5naW5lKSkge1xuICAgICAgdGhpcy5fbmFOQ291bnQgKz0gMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2lzQ2Fub25pY2FsKSB7XG4gICAgICBpZiAodGVybS5udW1lcmljVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHRlcm0uaXNJbmZpbml0eSkge1xuICAgICAgICAgIGlmICh0ZXJtLmlzUG9zaXRpdmUpXG4gICAgICAgICAgICB0aGlzLl9wb3NJbmZpbml0eUNvdW50ICs9IDE7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5fbmVnSW5maW5pdHlDb3VudCArPSAxO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByID0gYXNSYXRpb25hbCh0ZXJtKTtcbiAgICAgICAgaWYgKHIpIHtcbiAgICAgICAgICB0aGlzLl9yYXRpb25hbCA9IGFkZDIodGhpcy5fcmF0aW9uYWwsIGMgPT09IHZvaWQgMCA/IHIgOiBtdWwyKHIsIGMpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbnVtID0gdGVybS5udW1lcmljVmFsdWU7XG4gICAgICAgIGlmIChudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCghTnVtYmVyLmlzSW50ZWdlcihudW0pKTtcbiAgICAgICAgICBpZiAoYmlnbnVtUHJlZmVycmVkKHRoaXMuZW5naW5lKSlcbiAgICAgICAgICAgIHRoaXMuX2JpZ251bSA9IHRoaXMuX2JpZ251bS5hZGQobnVtKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLl9udW1iZXIgKz0gbnVtO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobnVtICE9PSBudWxsICYmIG51bSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdCkge1xuICAgICAgICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCghbnVtLmlzSW50ZWdlcigpKTtcbiAgICAgICAgICB0aGlzLl9iaWdudW0gPSB0aGlzLl9iaWdudW0uYWRkKG51bSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChudW0gIT09IG51bGwgJiYgbnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg1LmRlZmF1bHQpIHtcbiAgICAgICAgICBsZXQgcmUgPSBudW0ucmU7XG4gICAgICAgICAgbGV0IGltID0gbnVtLmltO1xuICAgICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHJlKSkge1xuICAgICAgICAgICAgdGhpcy5fcmF0aW9uYWwgPSBhZGQyKHRoaXMuX3JhdGlvbmFsLCBtdWwyKFtyZSwgMV0sIGMgPz8gWzEsIDFdKSk7XG4gICAgICAgICAgICByZSA9IDA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChiaWdudW1QcmVmZXJyZWQodGhpcy5lbmdpbmUpKVxuICAgICAgICAgICAgICB0aGlzLl9iaWdudW0gPSB0aGlzLl9iaWdudW0uYWRkKHJlKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgdGhpcy5fbnVtYmVyICs9IHJlO1xuICAgICAgICAgICAgcmUgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihpbSkpIHtcbiAgICAgICAgICAgIGlmIChjID09PSB2b2lkIDApXG4gICAgICAgICAgICAgIHRoaXMuX2ltYWdpbmFyeSArPSBpbTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzTWFjaGluZVJhdGlvbmFsKGMpKVxuICAgICAgICAgICAgICB0aGlzLl9pbWFnaW5hcnkgKz0gaW0gKiBjWzBdIC8gY1sxXTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgdGhpcy5faW1hZ2luYXJ5ICs9IHRoaXMuZW5naW5lLmJpZ251bShjWzBdKS5tdWwoaW0pLmRpdih0aGlzLmVuZ2luZS5iaWdudW0oY1sxXSkpLnRvTnVtYmVyKCk7XG4gICAgICAgICAgICBpbSA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZSA9PT0gMCAmJiBpbSA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB0ZXJtID0gdGhpcy5lbmdpbmUubnVtYmVyKHRoaXMuZW5naW5lLmNvbXBsZXgocmUsIGltKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IGNvZWY7XG4gICAgW2NvZWYsIHRlcm1dID0gYXNDb2VmZmljaWVudCh0ZXJtKTtcbiAgICBpZiAoaXNSYXRpb25hbFplcm8oY29lZikpXG4gICAgICByZXR1cm47XG4gICAgaWYgKGMgIT09IHZvaWQgMClcbiAgICAgIGNvZWYgPSBtdWwyKGNvZWYsIGMpO1xuICAgIGlmICh0ZXJtLmhlYWQgPT09IFwiTmVnYXRlXCIpIHtcbiAgICAgIHRoaXMuYWRkVGVybSh0ZXJtLm9wMSwgbmVnKGNvZWYpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRlcm0uaGVhZCA9PT0gXCJBZGRcIikge1xuICAgICAgZm9yIChjb25zdCB4IG9mIHRlcm0ub3BzKVxuICAgICAgICB0aGlzLmFkZFRlcm0oeCwgY29lZik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBoYXNUZXJtID0gZmFsc2U7XG4gICAgaWYgKHRlcm0ubnVtZXJpY1ZhbHVlID09PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5fdGVybXMubGVuZ3RoID4gNTAwKSB7XG4gICAgICAgIGNvbnN0IGggPSB0ZXJtLmhhc2g7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fdGVybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAodGhpcy5fdGVybXNbaV0udGVybS5udW1lcmljVmFsdWUgPT09IG51bGwgJiYgaCA9PT0gdGhpcy5fdGVybXNbaV0udGVybS5oYXNoICYmIHRlcm0uaXNTYW1lKHRoaXMuX3Rlcm1zW2ldLnRlcm0pKSB7XG4gICAgICAgICAgICB0aGlzLl90ZXJtc1tpXS5jb2VmID0gYWRkMih0aGlzLl90ZXJtc1tpXS5jb2VmLCBjb2VmKTtcbiAgICAgICAgICAgIGhhc1Rlcm0gPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3Rlcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX3Rlcm1zW2ldLnRlcm0ubnVtZXJpY1ZhbHVlID09PSBudWxsICYmIHRlcm0uaXNTYW1lKHRoaXMuX3Rlcm1zW2ldLnRlcm0pKSB7XG4gICAgICAgICAgICB0aGlzLl90ZXJtc1tpXS5jb2VmID0gYWRkMih0aGlzLl90ZXJtc1tpXS5jb2VmLCBjb2VmKTtcbiAgICAgICAgICAgIGhhc1Rlcm0gPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghaGFzVGVybSlcbiAgICAgIHRoaXMuX3Rlcm1zLnB1c2goeyB0ZXJtLCBjb2VmIH0pO1xuICB9XG4gIC8vIEZvciBkZWJ1Z2dpbmdcbiAgdG9TdHJpbmcoKSB7XG4gICAgY29uc3QgeHMgPSB0aGlzLnRlcm1zKFwiZXhwcmVzc2lvblwiKTtcbiAgICBpZiAoeHMubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuIFwiMFwiO1xuICAgIHJldHVybiB4cy5tYXAoKHgpID0+IHgudG9TdHJpbmcoKSkuam9pbihcIlxcXFxuXCIpO1xuICB9XG4gIHRlcm1zKG1vZGUpIHtcbiAgICBjb25zdCBjZSA9IHRoaXMuZW5naW5lO1xuICAgIGlmICh0aGlzLl9uYU5Db3VudCA+IDApXG4gICAgICByZXR1cm4gW2NlLl9OQU5dO1xuICAgIGlmICh0aGlzLl9pbWFnaW5hcnkgIT09IDAgJiYgIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgIHJldHVybiBbY2UuX05BTl07XG4gICAgaWYgKHRoaXMuX3Bvc0luZmluaXR5Q291bnQgPiAwICYmIHRoaXMuX25lZ0luZmluaXR5Q291bnQgPiAwKVxuICAgICAgcmV0dXJuIFtjZS5fTkFOXTtcbiAgICBpZiAodGhpcy5fcG9zSW5maW5pdHlDb3VudCA+IDApXG4gICAgICByZXR1cm4gW2NlLl9QT1NJVElWRV9JTkZJTklUWV07XG4gICAgaWYgKHRoaXMuX25lZ0luZmluaXR5Q291bnQgPiAwKVxuICAgICAgcmV0dXJuIFtjZS5fTkVHQVRJVkVfSU5GSU5JVFldO1xuICAgIGNvbnN0IHhzID0gW107XG4gICAgZm9yIChjb25zdCB7IGNvZWYsIHRlcm0gfSBvZiB0aGlzLl90ZXJtcykge1xuICAgICAgaWYgKCFpc1JhdGlvbmFsWmVybyhjb2VmKSkge1xuICAgICAgICBpZiAoaXNSYXRpb25hbE9uZShjb2VmKSlcbiAgICAgICAgICB4cy5wdXNoKHRlcm0pO1xuICAgICAgICBlbHNlIGlmIChpc1JhdGlvbmFsTmVnYXRpdmVPbmUoY29lZikpXG4gICAgICAgICAgeHMucHVzaChjZS5uZWcodGVybSkpO1xuICAgICAgICBlbHNlIGlmIChtYWNoaW5lRGVub21pbmF0b3IoY29lZikgPT09IDEpXG4gICAgICAgICAgeHMucHVzaChjZS5tdWwoW2NlLm51bWJlcihjb2VmWzBdKSwgdGVybV0pKTtcbiAgICAgICAgZWxzZSBpZiAobWFjaGluZU51bWVyYXRvcihjb2VmKSA9PT0gMSlcbiAgICAgICAgICB4cy5wdXNoKGNlLmRpdih0ZXJtLCBjZS5udW1iZXIoY29lZlsxXSkpKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHhzLnB1c2goY2UubXVsKFtjZS5udW1iZXIoY29lZiksIHRlcm1dKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChtb2RlID09PSBcIm51bWVyaWNcIikge1xuICAgICAgaWYgKGJpZ251bVByZWZlcnJlZCh0aGlzLmVuZ2luZSkpIHtcbiAgICAgICAgbGV0IHN1bTIgPSB0aGlzLl9iaWdudW0uYWRkKHRoaXMuX251bWJlcik7XG4gICAgICAgIGlmICghaXNSYXRpb25hbFplcm8odGhpcy5fcmF0aW9uYWwpKVxuICAgICAgICAgIHN1bTIgPSBzdW0yLmFkZChcbiAgICAgICAgICAgIGNlLmJpZ251bSh0aGlzLl9yYXRpb25hbFswXSkuZGl2KGNlLmJpZ251bSh0aGlzLl9yYXRpb25hbFsxXSkpXG4gICAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuX2ltYWdpbmFyeSAhPT0gMClcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihjZS5jb21wbGV4KHN1bTIudG9OdW1iZXIoKSwgdGhpcy5faW1hZ2luYXJ5KSkpO1xuICAgICAgICBlbHNlIGlmICghc3VtMi5pc1plcm8oKSlcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihzdW0yKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgc3VtMiA9IHRoaXMuX2JpZ251bS50b051bWJlcigpICsgdGhpcy5fbnVtYmVyO1xuICAgICAgICBpZiAoIWlzUmF0aW9uYWxaZXJvKHRoaXMuX3JhdGlvbmFsKSlcbiAgICAgICAgICBzdW0yICs9IG1hY2hpbmVOdW1lcmF0b3IodGhpcy5fcmF0aW9uYWwpIC8gbWFjaGluZURlbm9taW5hdG9yKHRoaXMuX3JhdGlvbmFsKTtcbiAgICAgICAgaWYgKHRoaXMuX2ltYWdpbmFyeSAhPT0gMClcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihjZS5jb21wbGV4KHN1bTIsIHRoaXMuX2ltYWdpbmFyeSkpKTtcbiAgICAgICAgZWxzZSBpZiAoc3VtMiAhPT0gMClcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihzdW0yKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaXNSYXRpb25hbFplcm8odGhpcy5fcmF0aW9uYWwpKVxuICAgICAgICB4cy5wdXNoKGNlLm51bWJlcih0aGlzLl9yYXRpb25hbCkpO1xuICAgICAgaWYgKHRoaXMuX2ltYWdpbmFyeSAhPT0gMCkge1xuICAgICAgICBpZiAoIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgICAgICByZXR1cm4gW2NlLl9OQU5dO1xuICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihjZS5jb21wbGV4KDAsIHRoaXMuX2ltYWdpbmFyeSkpKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaWdudW1QcmVmZXJyZWQodGhpcy5lbmdpbmUpKSB7XG4gICAgICAgIGNvbnN0IHN1bTIgPSB0aGlzLl9iaWdudW0uYWRkKHRoaXMuX251bWJlcik7XG4gICAgICAgIGlmICghc3VtMi5pc1plcm8oKSlcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcihzdW0yKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMuX2JpZ251bS5pc1plcm8oKSlcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcih0aGlzLl9iaWdudW0pKTtcbiAgICAgICAgaWYgKHRoaXMuX251bWJlciAhPT0gMClcbiAgICAgICAgICB4cy5wdXNoKGNlLm51bWJlcih0aGlzLl9udW1iZXIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZsYXR0ZW5PcHMoeHMsIFwiQWRkXCIpO1xuICB9XG4gIGFzRXhwcmVzc2lvbihtb2RlKSB7XG4gICAgY29uc3QgY2UgPSB0aGlzLmVuZ2luZTtcbiAgICBjb25zdCB4cyA9IHRoaXMudGVybXMobW9kZSk7XG4gICAgaWYgKHhzLmxlbmd0aCA9PT0gMClcbiAgICAgIHJldHVybiBjZS5fWkVSTztcbiAgICBpZiAoeHMubGVuZ3RoID09PSAxKVxuICAgICAgcmV0dXJuIHhzWzBdO1xuICAgIHJldHVybiBjZS5fZm4oXCJBZGRcIiwgc29ydEFkZChjZSwgeHMpKTtcbiAgfVxufTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvZG9tYWlucy50c1xudmFyIERPTUFJTl9DT05TVFJVQ1RPUlMgPSBbXG4gIFwiSW52YWxpZERvbWFpblwiLFxuICBcIkRpY3Rpb25hcnlcIixcbiAgXCJGdW5jdGlvblwiLFxuICBcIkxpc3RcIixcbiAgXCJUdXBsZVwiLFxuICBcIkludGVyc2VjdGlvblwiLFxuICBcIlVuaW9uXCIsXG4gIFwiTWF5YmVcIixcbiAgXCJTZXF1ZW5jZVwiLFxuICBcIkludGVydmFsXCIsXG4gIFwiUmFuZ2VcIixcbiAgXCJIZWFkXCIsXG4gIFwiU3ltYm9sXCIsXG4gIFwiVmFsdWVcIlxuXTtcbnZhciBET01BSU5fQUxJQVMgPSB7XG4gIC8vIEZ1bmN0aW9uOiBbJ0Z1bmN0aW9uJywgWydTZXF1ZW5jZScsICdBbnl0aGluZyddLCAnQW55dGhpbmcnXSxcbiAgTnVtZXJpY0Z1bmN0aW9uOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIk51bWJlclwiXSwgXCJOdW1iZXJcIl0sXG4gIFJlYWxGdW5jdGlvbjogW1xuICAgIFwiRnVuY3Rpb25cIixcbiAgICBbXCJTZXF1ZW5jZVwiLCBcIkV4dGVuZGVkUmVhbE51bWJlclwiXSxcbiAgICBcIkV4dGVuZGVkUmVhbE51bWJlclwiXG4gIF0sXG4gIFRyaWdvbm9tZXRyaWNGdW5jdGlvbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gIC8vIEh5cGVyYm9saWNGdW5jdGlvbjogWydGdW5jdGlvbicsICdOdW1iZXInLCAnTnVtYmVyJ10sXG4gIExvZ2ljT3BlcmF0b3I6IFtcbiAgICBcIkZ1bmN0aW9uXCIsXG4gICAgXCJNYXliZUJvb2xlYW5cIixcbiAgICBbXCJNYXliZVwiLCBcIk1heWJlQm9vbGVhblwiXSxcbiAgICBcIk1heWJlQm9vbGVhblwiXG4gIF0sXG4gIFByZWRpY2F0ZTogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJBbnl0aGluZ1wiXSwgXCJNYXliZUJvb2xlYW5cIl0sXG4gIFJlbGF0aW9uYWxPcGVyYXRvcjogW1wiRnVuY3Rpb25cIiwgXCJBbnl0aGluZ1wiLCBcIkFueXRoaW5nXCIsIFwiTWF5YmVCb29sZWFuXCJdXG4gIC8vIFBvc2l0aXZlSW50ZWdlcjogWydSYW5nZScsIDEsICtJbmZpbml0eV0sXG4gIC8vIE5vbk5lZ2F0aXZlSW50ZWdlcjogWydSYW5nZScsIDAsICtJbmZpbml0eV0sXG4gIC8vIE5lZ2F0aXZlSW50ZWdlcjogWydSYW5nZScsIC1JbmZpbml0eSwgLTFdLFxuICAvLyBOb25Qb3NpdGl2ZUludGVnZXI6IFsnUmFuZ2UnLCAtSW5maW5pdHksIDBdLFxuICAvLyBQb3NpdGl2ZU51bWJlcjogWydJbnRlcnZhbCcsIFsnT3BlbicsIDBdLCArSW5maW5pdHldLFxuICAvLyBOb25OZWdhdGl2ZU51bWJlcjogWydJbnRlcnZhbCcsIDAsICtJbmZpbml0eV0sXG4gIC8vIE5lZ2F0aXZlTnVtYmVyOiBbJ0ludGVydmFsJywgLUluZmluaXR5LCBbJ09wZW4nLCAwXV0sXG4gIC8vIE5vblBvc2l0aXZlTnVtYmVyOiBbJ0ludGVydmFsJywgLUluZmluaXR5LCAwXSxcbn07XG52YXIgRE9NQUlOX0xJVEVSQUwgPSB7XG4gIEFueXRoaW5nOiBbXSxcbiAgVmFsdWU6IFwiQW55dGhpbmdcIixcbiAgRG9tYWluOiBcIkFueXRoaW5nXCIsXG4gIERvbWFpbkV4cHJlc3Npb246IFwiRG9tYWluXCIsXG4gIFZvaWQ6IFwiTm90aGluZ1wiLFxuICBOb3RoaW5nOiBbXG4gICAgXCJEb21haW5FeHByZXNzaW9uXCIsXG4gICAgXCJCb29sZWFuXCIsXG4gICAgXCJTdHJpbmdcIixcbiAgICBcIlN5bWJvbFwiLFxuICAgIFwiVHVwbGVcIixcbiAgICBcIkxpc3RcIixcbiAgICBcIkRpY3Rpb25hcnlcIixcbiAgICBcIkluZmluaXRlU2V0XCIsXG4gICAgXCJGaW5pdGVTZXRcIixcbiAgICBcIkltYWdpbmFyeU51bWJlclwiLFxuICAgIFwiVHJhbnNjZW5kZW50YWxOdW1iZXJcIixcbiAgICBcIlBvc2l0aXZlSW50ZWdlclwiLFxuICAgIFwiTmVnYXRpdmVJbnRlZ2VyXCIsXG4gICAgXCJOb25Qb3NpdGl2ZUludGVnZXJcIixcbiAgICBcIk5vbk5lZ2F0aXZlSW50ZWdlclwiLFxuICAgIFwiUG9zaXRpdmVOdW1iZXJcIixcbiAgICBcIk5lZ2F0aXZlTnVtYmVyXCIsXG4gICAgXCJOb25Qb3NpdGl2ZU51bWJlclwiLFxuICAgIFwiTm9uTmVnYXRpdmVOdW1iZXJcIixcbiAgICBcIlNjYWxhclwiLFxuICAgIFwiVHJpZ29ub21ldHJpY0Z1bmN0aW9uXCIsXG4gICAgXCJMb2dpY09wZXJhdG9yXCIsXG4gICAgXCJSZWxhdGlvbmFsT3BlcmF0b3JcIlxuICBdLFxuICBNYXliZUJvb2xlYW46IFwiVmFsdWVcIixcbiAgQm9vbGVhbjogXCJNYXliZUJvb2xlYW5cIixcbiAgU3RyaW5nOiBcIkJvb2xlYW5cIixcbiAgU3ltYm9sOiBcIkJvb2xlYW5cIixcbiAgQ29sbGVjdGlvbjogXCJWYWx1ZVwiLFxuICBMaXN0OiBcIkNvbGxlY3Rpb25cIixcbiAgRGljdGlvbmFyeTogXCJDb2xsZWN0aW9uXCIsXG4gIFNlcXVlbmNlOiBcIkNvbGxlY3Rpb25cIixcbiAgVHVwbGU6IFwiU2VxdWVuY2VcIixcbiAgU2V0OiBcIkNvbGxlY3Rpb25cIixcbiAgSW5maW5pdGVTZXQ6IFwiU2V0XCIsXG4gIEZpbml0ZVNldDogXCJTZXRcIixcbiAgLy9cbiAgLy8gRnVuY3Rpb25hbCBEb21haW5zXG4gIC8vXG4gIEZ1bmN0aW9uOiBcIkFueXRoaW5nXCIsXG4gIFByZWRpY2F0ZTogXCJGdW5jdGlvblwiLFxuICBMb2dpY09wZXJhdG9yOiBcIlByZWRpY2F0ZVwiLFxuICBSZWxhdGlvbmFsT3BlcmF0b3I6IFwiUHJlZGljYXRlXCIsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfbWF0aGVtYXRpY2FsX2Z1bmN0aW9uc1xuICBOdW1lcmljRnVuY3Rpb246IFwiRnVuY3Rpb25cIixcbiAgUmVhbEZ1bmN0aW9uOiBcIk51bWVyaWNGdW5jdGlvblwiLFxuICBUcmlnb25vbWV0cmljRnVuY3Rpb246IFwiUmVhbEZ1bmN0aW9uXCIsXG4gIC8vXG4gIC8vIE51bWVyaWMgRG9tYWluc1xuICAvL1xuICAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DYXRlZ29yeV9vZl9zZXRzXG4gIE51bWJlcjogXCJWYWx1ZVwiLFxuICBFeHRlbmRlZENvbXBsZXhOdW1iZXI6IFwiTnVtYmVyXCIsXG4gIENvbXBsZXhOdW1iZXI6IFwiRXh0ZW5kZWRDb21wbGV4TnVtYmVyXCIsXG4gIEltYWdpbmFyeU51bWJlcjogXCJDb21wbGV4TnVtYmVyXCIsXG4gIEV4dGVuZGVkUmVhbE51bWJlcjogXCJFeHRlbmRlZENvbXBsZXhOdW1iZXJcIixcbiAgUmVhbE51bWJlcjogW1wiQ29tcGxleE51bWJlclwiLCBcIkV4dGVuZGVkUmVhbE51bWJlclwiXSxcbiAgUG9zaXRpdmVOdW1iZXI6IFwiTm9uTmVnYXRpdmVOdW1iZXJcIixcbiAgTm9uTmVnYXRpdmVOdW1iZXI6IFwiUmVhbE51bWJlclwiLFxuICBOb25Qb3NpdGl2ZU51bWJlcjogXCJOZWdhdGl2ZU51bWJlclwiLFxuICBOZWdhdGl2ZU51bWJlcjogXCJSZWFsTnVtYmVyXCIsXG4gIFRyYW5zY2VuZGVudGFsTnVtYmVyOiBcIlJlYWxOdW1iZXJcIixcbiAgQWxnZWJyYWljTnVtYmVyOiBcIlJlYWxOdW1iZXJcIixcbiAgUmF0aW9uYWxOdW1iZXI6IFwiQWxnZWJyYWljTnVtYmVyXCIsXG4gIC8vIE5hdHVyYWxOdW1iZXI6ICdJbnRlZ2VyJyxcbiAgSW50ZWdlcjogXCJSYXRpb25hbE51bWJlclwiLFxuICBQb3NpdGl2ZUludGVnZXI6IFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCIsXG4gIE5vbk5lZ2F0aXZlSW50ZWdlcjogXCJJbnRlZ2VyXCIsXG4gIE5vblBvc2l0aXZlSW50ZWdlcjogXCJOZWdhdGl2ZUludGVnZXJcIixcbiAgTmVnYXRpdmVJbnRlZ2VyOiBcIkludGVnZXJcIixcbiAgLy9cbiAgLy8gVGVuc29yaWFsIERvbWFpbnNcbiAgLy9cbiAgVGVuc29yOiBcIlZhbHVlXCIsXG4gIE1hdHJpeDogXCJUZW5zb3JcIixcbiAgU2NhbGFyOiBbXCJSb3dcIiwgXCJDb2x1bW5cIl0sXG4gIFJvdzogXCJWZWN0b3JcIixcbiAgQ29sdW1uOiBcIlZlY3RvclwiLFxuICBWZWN0b3I6IFwiTWF0cml4XCJcbiAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9uYW1lZF9tYXRyaWNlc1xuICAvLyBDb21wbGV4VGVuc29yOiAnVGVuc29yJyxcbiAgLy8gUmVhbFRlbnNvcjogJ0NvbXBsZXhUZW5zb3InLFxuICAvLyBJbnRlZ2VyVGVuc29yOiAnUmVhbFRlbnNvcicsXG4gIC8vIExvZ2ljYWxUZW5zb3I6ICdJbnRlZ2VyVGVuc29yJyxcbiAgLy8gU3F1YXJlTWF0cml4OiAnTWF0cml4JyxcbiAgLy8gTW9ub21pYWxNYXRyaXg6ICdTcXVhcmVNYXRyaXgnLFxuICAvLyBUcmlhbmd1bGFyTWF0cml4OiAnU3F1YXJlTWF0cml4JyxcbiAgLy8gVXBwZXJUcmlhbmd1bGFyTWF0cml4OiAnVHJpYW5ndWxhck1hdHJpeCcsXG4gIC8vIExvd2VyVHJpYW5ndWxhck1hdHJpeDogJ1RyaWFuZ3VsYXJNYXRyaXgnLFxuICAvLyBQZXJtdXRhdGlvbk1hdHJpeDogWydNb25vbWlhbE1hdHJpeCcsICdMb2dpY2FsVGVuc29yJywgJ09ydGhvZ29uYWxNYXRyaXgnXSxcbiAgLy8gT3J0aG9nb25hbE1hdHJpeDogWydTcXVhcmVNYXRyaXgnLCAnUmVhbFRlbnNvciddLFxuICAvLyBEaWFnb25hbE1hdHJpeDogWydVcHBlclRyaWFuZ3VsYXJNYXRyaXgnLCAnTG93ZXJUcmlhbmd1bGFyTWF0cml4J10sXG4gIC8vIElkZW50aXR5TWF0cml4OiBbJ0RpYWdvbmFsTWF0cml4JywgJ1N5bW1ldHJpY01hdHJpeCcsICdQZXJtdXRhdGlvbk1hdHJpeCddLFxuICAvLyBaZXJvTWF0cml4OiBbJ0RpYWdvbmFsTWF0cml4JywgJ1N5bW1ldHJpY01hdHJpeCcsICdQZXJtdXRhdGlvbk1hdHJpeCddLFxuICAvLyBTeW1tZXRyaWNNYXRyaXg6IFsnSGVybWl0aWFuTWF0cml4JywgJ1NxdWFyZU1hdHJpeCcsICdSZWFsVGVuc29yJ10sXG4gIC8vIEhlcm1pdGlhbk1hdHJpeDogJ0NvbXBsZXhUZW5zb3InLFxuICAvLyBRdWF0ZXJuaW9uOiBbJ1NxdWFyZU1hdHJpeCcsICdDb21wbGV4VGVuc29yJ10sXG59O1xudmFyIGdEb21haW5MaXRlcmFscztcbmZ1bmN0aW9uIGlzRG9tYWluTGl0ZXJhbChzKSB7XG4gIGlmICghcylcbiAgICByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBET01BSU5fTElURVJBTFtzXSAhPT0gdm9pZCAwO1xufVxuZnVuY3Rpb24gYW5jZXN0b3JzKGRvbSkge1xuICBpZiAoIWdEb21haW5MaXRlcmFscykge1xuICAgIGdEb21haW5MaXRlcmFscyA9IHt9O1xuICAgIGFuY2VzdG9ycyhcIlZvaWRcIik7XG4gIH1cbiAgaWYgKGdEb21haW5MaXRlcmFsc1tkb21dKVxuICAgIHJldHVybiBBcnJheS5mcm9tKGdEb21haW5MaXRlcmFsc1tkb21dKTtcbiAgbGV0IHJlc3VsdCA9IFtdO1xuICBpZiAodHlwZW9mIGRvbSAhPT0gXCJzdHJpbmdcIiB8fCAhRE9NQUlOX0xJVEVSQUxbZG9tXSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShkb20pKVxuICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gZG9tYWluIGxpdGVyYWwgJHtkb219YCk7XG4gICAgaWYgKCFET01BSU5fQ09OU1RSVUNUT1JTLmluY2x1ZGVzKGRvbVswXSkpXG4gICAgICB0aHJvdyBFcnJvcihgVW5rbm93biBkb21haW4gY29uc3RydWN0b3IgJHtkb21bMF19YCk7XG4gICAgaWYgKGRvbVswXSA9PT0gXCJGdW5jdGlvblwiIHx8IGRvbVswXSA9PT0gXCJIZWFkXCIpXG4gICAgICByZXR1cm4gYW5jZXN0b3JzKFwiRnVuY3Rpb25cIik7XG4gICAgaWYgKGRvbVswXSA9PT0gXCJTeW1ib2xcIilcbiAgICAgIHJldHVybiBhbmNlc3RvcnMoXCJTeW1ib2xcIik7XG4gICAgaWYgKGRvbVswXSA9PT0gXCJUdXBsZVwiKVxuICAgICAgcmV0dXJuIGFuY2VzdG9ycyhcIlR1cGxlXCIpO1xuICAgIGlmIChkb21bMF0gPT09IFwiTGlzdFwiKVxuICAgICAgcmV0dXJuIGFuY2VzdG9ycyhcIkxpc3RcIik7XG4gICAgaWYgKGRvbVswXSA9PT0gXCJEaWN0aW9uYXJ5XCIpXG4gICAgICByZXR1cm4gYW5jZXN0b3JzKFwiRGljdGlvbmFyeVwiKTtcbiAgICBpZiAoZG9tWzBdID09PSBcIlJhbmdlXCIpXG4gICAgICByZXR1cm4gYW5jZXN0b3JzKFwiSW50ZWdlclwiKTtcbiAgICBpZiAoZG9tWzBdID09PSBcIkludGVydmFsXCIpXG4gICAgICByZXR1cm4gYW5jZXN0b3JzKFwiUmVhbE51bWJlckV4dGVuZGVkXCIpO1xuICAgIGlmIChkb21bMF0gPT09IFwiTWF5YmVcIiB8fCBkb21bMF0gPT09IFwiU2VxdWVuY2VcIilcbiAgICAgIHJldHVybiBhbmNlc3RvcnMoZG9tWzFdKTtcbiAgICBpZiAoZG9tWzBdID09PSBcIkxpdGVyYWxcIilcbiAgICAgIHJldHVybiBbXCJBbnl0aGluZ1wiXTtcbiAgICBpZiAoZG9tWzBdID09PSBcIlVuaW9uXCIpXG4gICAgICByZXR1cm4gW1wiQW55dGhpbmdcIl07XG4gICAgaWYgKGRvbVswXSA9PT0gXCJJbnRlcnNlY3Rpb25cIilcbiAgICAgIHJldHVybiBbXCJBbnl0aGluZ1wiXTtcbiAgICByZXR1cm4gW1wiQW55dGhpbmdcIl07XG4gIH1cbiAgaWYgKHR5cGVvZiBET01BSU5fTElURVJBTFtkb21dID09PSBcInN0cmluZ1wiKVxuICAgIHJlc3VsdCA9IFtET01BSU5fTElURVJBTFtkb21dLCAuLi5hbmNlc3RvcnMoRE9NQUlOX0xJVEVSQUxbZG9tXSldO1xuICBlbHNlIGlmIChBcnJheS5pc0FycmF5KERPTUFJTl9MSVRFUkFMW2RvbV0pKVxuICAgIGZvciAoY29uc3QgcGFyZW50IG9mIERPTUFJTl9MSVRFUkFMW2RvbV0pIHtcbiAgICAgIHJlc3VsdC5wdXNoKHBhcmVudCk7XG4gICAgICByZXN1bHQucHVzaCguLi5hbmNlc3RvcnMocGFyZW50KSk7XG4gICAgfVxuICBnRG9tYWluTGl0ZXJhbHNbZG9tXSA9IG5ldyBTZXQocmVzdWx0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGRvbWFpblNldHNMaWJyYXJ5KCkge1xuICBjb25zdCB0YWJsZSA9IHt9O1xuICBmb3IgKGNvbnN0IGRvbSBvZiBPYmplY3Qua2V5cyhET01BSU5fTElURVJBTCkpIHtcbiAgICBpZiAoZG9tICE9PSBcIkRvbWFpblwiICYmIGRvbSAhPT0gXCJOb3RoaW5nXCIgJiYgZG9tICE9PSBcIlN0cmluZ1wiICYmIGRvbSAhPT0gXCJTeW1ib2xcIiAmJiBkb20gIT09IFwiTGlzdFwiICYmIGRvbSAhPT0gXCJUdXBsZVwiICYmIGRvbSAhPT0gXCJTZXF1ZW5jZVwiKVxuICAgICAgdGFibGVbZG9tXSA9IHsgZG9tYWluOiBcIlNldFwiIH07XG4gIH1cbiAgcmV0dXJuIHRhYmxlO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9hYnN0cmFjdC1ib3hlZC1leHByZXNzaW9uLnRzXG52YXIgaW1wb3J0X2NvbXBsZXg2ID0gX190b0VTTShyZXF1aXJlX2NvbXBsZXgoKSk7XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9saWJyYXJ5L3V0aWxzLnRzXG5mdW5jdGlvbiBpc1N5bWJvbERlZmluaXRpb24oZGVmKSB7XG4gIHJldHVybiAhIWRlZiAmJiB0eXBlb2YgZGVmID09PSBcIm9iamVjdFwiICYmIChcImRvbWFpblwiIGluIGRlZiB8fCBcInZhbHVlXCIgaW4gZGVmIHx8IFwiY29uc3RhbnRcIiBpbiBkZWYpO1xufVxuZnVuY3Rpb24gaXNGdW5jdGlvbkRlZmluaXRpb24oZGVmKSB7XG4gIGlmIChkZWYgPT09IHZvaWQgMCB8fCBkZWYgPT09IG51bGwpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAodHlwZW9mIGRlZiAhPT0gXCJvYmplY3RcIilcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChcImNvbXBsZXhpdHlcIiBpbiBkZWYgfHwgXCJudW1lcmljXCIgaW4gZGVmIHx8IFwic2lnbmF0dXJlXCIgaW4gZGVmKVxuICAgIHJldHVybiB0cnVlO1xuICBpZiAoIShcImRvbWFpblwiIGluIGRlZikpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoZGVmLmRvbWFpbiA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKHR5cGVvZiBkZWYuZG9tYWluID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBkZWYuZG9tYWluID09PSBcIkZ1bmN0aW9uXCI7XG4gIHJldHVybiBkZWYuZG9tYWluLmlzRnVuY3Rpb247XG59XG5mdW5jdGlvbiBub3JtYWxpemVMaW1pdHMocmFuZ2UpIHtcbiAgbGV0IGxvd2VyID0gMTtcbiAgbGV0IHVwcGVyID0gbG93ZXIgKyBNQVhfSVRFUkFUSU9OO1xuICBsZXQgaW5kZXggPSBcIk5vdGhpbmdcIjtcbiAgbGV0IGlzRmluaXRlMiA9IHRydWU7XG4gIGlmIChyYW5nZS5oZWFkID09PSBcIlR1cGxlXCIgfHwgcmFuZ2UuaGVhZCA9PT0gXCJUcmlwbGVcIiB8fCByYW5nZS5oZWFkID09PSBcIlBhaXJcIiB8fCByYW5nZS5oZWFkID09PSBcIlNpbmdsZVwiKSB7XG4gICAgaW5kZXggPSAocmFuZ2Uub3AxLmhlYWQgPT09IFwiSG9sZFwiID8gcmFuZ2Uub3AxLm9wMS5zeW1ib2wgOiByYW5nZS5vcDEuc3ltYm9sKSA/PyBcIk5vdGhpbmdcIjtcbiAgICBsb3dlciA9IGFzU21hbGxJbnRlZ2VyKHJhbmdlLm9wMikgPz8gMTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShsb3dlcikpXG4gICAgICBpc0Zpbml0ZTIgPSBmYWxzZTtcbiAgICBpZiAocmFuZ2Uub3AzLmlzTm90aGluZyB8fCByYW5nZS5vcDMuaXNJbmZpbml0eSkge1xuICAgICAgaXNGaW5pdGUyID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHUgPSBhc1NtYWxsSW50ZWdlcihyYW5nZS5vcDMpO1xuICAgICAgaWYgKHUgPT09IG51bGwpXG4gICAgICAgIGlzRmluaXRlMiA9IGZhbHNlO1xuICAgICAgZWxzZSB7XG4gICAgICAgIHVwcGVyID0gdTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodXBwZXIpKVxuICAgICAgICAgIGlzRmluaXRlMiA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWlzRmluaXRlMiAmJiBOdW1iZXIuaXNGaW5pdGUobG93ZXIpKVxuICAgICAgdXBwZXIgPSBsb3dlciArIE1BWF9JVEVSQVRJT047XG4gIH1cbiAgcmV0dXJuIFtpbmRleCwgbG93ZXIsIHVwcGVyLCBpc0Zpbml0ZTJdO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvY29tcGlsZS50c1xudmFyIENvbXB1dGVFbmdpbmVGdW5jdGlvbiA9IGNsYXNzIGV4dGVuZHMgRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3Rvcihib2R5KSB7XG4gICAgc3VwZXIoXCJfU1lTXCIsIFwiX1wiLCBgcmV0dXJuICR7Ym9keX1gKTtcbiAgICB0aGlzLnN5cyA9IHtcbiAgICAgIGZhY3RvcmlhbCxcbiAgICAgIGdhbW1hLFxuICAgICAgbG5nYW1tYSxcbiAgICAgIGdjZCxcbiAgICAgIGxjbSxcbiAgICAgIGNob3BcbiAgICB9O1xuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xuICAgICAgYXBwbHk6ICh0YXJnZXQsIHRoaXNBcmcsIGFyZ3VtZW50c0xpc3QpID0+IHN1cGVyLmFwcGx5KHRoaXNBcmcsIFt0aGlzLnN5cywgLi4uYXJndW1lbnRzTGlzdF0pLFxuICAgICAgZ2V0OiAodGFyZ2V0LCBwcm9wKSA9PiB7XG4gICAgICAgIGlmIChwcm9wID09PSBcInRvU3RyaW5nXCIpXG4gICAgICAgICAgcmV0dXJuICgpID0+IGJvZHk7XG4gICAgICAgIHJldHVybiB0YXJnZXRbcHJvcF07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5mdW5jdGlvbiBjb21waWxlVG9KYXZhc2NyaXB0KGV4cHIpIHtcbiAgY29uc3QganMgPSBjb21waWxlKGV4cHIsIGV4cHIuZnJlZVZhcnMpO1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgQ29tcHV0ZUVuZ2luZUZ1bmN0aW9uKGpzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoYCR7ZX1cbiR7ZXhwci5sYXRleH1cbiR7anN9YCk7XG4gIH1cbiAgcmV0dXJuIHZvaWQgMDtcbn1cbmZ1bmN0aW9uIGNvbXBpbGUoZXhwciwgZnJlZVZhcnMgPSBbXSwgcHJlYyA9IDApIHtcbiAgY29uc3QgZiA9IGFzRmxvYXQoZXhwcik7XG4gIGlmIChmICE9PSBudWxsKVxuICAgIHJldHVybiBmLnRvU3RyaW5nKCk7XG4gIGNvbnN0IHMgPSBleHByLnN5bWJvbDtcbiAgaWYgKHMgIT09IG51bGwpIHtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICBUcnVlOiBcInRydWVcIixcbiAgICAgIEZhbHNlOiBcImZhbHNlXCIsXG4gICAgICBQaTogXCJNYXRoLlBJXCIsXG4gICAgICBFeHBvbmVudGlhbEU6IFwiTWF0aC5FXCIsXG4gICAgICBJOiBcIk1hdGguSVwiLFxuICAgICAgTmFOOiBcIk51bWJlci5OYU5cIixcbiAgICAgIEltYWdpbmFyeVVuaXQ6IFwiTmFOXCIsXG4gICAgICBIYWxmOiBcIjAuNVwiLFxuICAgICAgTWFjaGluZUVwc2lsb246IFwiTnVtYmVyLkVQU0lMT05cIixcbiAgICAgIEdvbGRlblJhdGlvOiBcIigoMSArIE1hdGguc3FydCg1KSkgLyAyKVwiLFxuICAgICAgQ2F0YWxhbkNvbnN0YW50OiBcIjAuOTE1OTY1NTk0MTc3MjE5MDFcIixcbiAgICAgIEV1bGVyR2FtbWE6IFwiMC41NzcyMTU2NjQ5MDE1MzI4NlwiXG4gICAgfVtzXTtcbiAgICBpZiAocmVzdWx0ICE9PSB2b2lkIDApXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIGlmIChmcmVlVmFycy5pbmNsdWRlcyhzKSlcbiAgICAgIHJldHVybiBgXy4ke3N9YDtcbiAgICByZXR1cm4gcztcbiAgfVxuICBjb25zdCBzdHIgPSBleHByLnN0cmluZztcbiAgaWYgKHN0ciAhPT0gbnVsbClcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3RyKTtcbiAgY29uc3Qga2V5cyA9IGV4cHIua2V5cztcbiAgaWYgKGtleXMgIT09IG51bGwpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV4cHIuZ2V0S2V5KGtleSk7XG4gICAgICBpZiAodmFsdWUpXG4gICAgICAgIHJlc3VsdC5wdXNoKGAke2tleX06ICR7Y29tcGlsZSh2YWx1ZSwgZnJlZVZhcnMsIDApfWApO1xuICAgIH1cbiAgICByZXR1cm4gYHske3Jlc3VsdC5qb2luKFwiLCBcIil9fWA7XG4gIH1cbiAgY29uc3QgaCA9IGV4cHIuaGVhZDtcbiAgaWYgKHR5cGVvZiBoID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGggPT09IFwiTmVnYXRlXCIpIHtcbiAgICAgIGNvbnN0IGFyZyA9IGV4cHIub3AxO1xuICAgICAgaWYgKGFyZyA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICByZXR1cm4gYC0ke2NvbXBpbGUoYXJnLCBmcmVlVmFycywgMyl9YDtcbiAgICB9XG4gICAgaWYgKGggPT09IFwiRXJyb3JcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkVycm9yXCIpO1xuICAgIGlmIChoID09PSBcIlN1bVwiKVxuICAgICAgcmV0dXJuIGNvbXBpbGVMb29wKGV4cHIsIFwiK1wiKTtcbiAgICBpZiAoaCA9PT0gXCJQcm9kdWN0XCIpXG4gICAgICByZXR1cm4gY29tcGlsZUxvb3AoZXhwciwgXCIqXCIpO1xuICAgIGlmIChoID09PSBcIlJvb3RcIikge1xuICAgICAgY29uc3QgYXJnID0gZXhwci5vcDE7XG4gICAgICBpZiAoYXJnID09PSBudWxsKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSb290OiBubyBhcmd1bWVudFwiKTtcbiAgICAgIGNvbnN0IGV4cDIgPSBleHByLm9wMjtcbiAgICAgIGlmIChleHAyID09PSBudWxsKVxuICAgICAgICByZXR1cm4gYE1hdGguc3FydCgke2NvbXBpbGUoYXJnLCBmcmVlVmFycywgMCl9KWA7XG4gICAgICByZXR1cm4gYE1hdGgucG93KCR7Y29tcGlsZShhcmcsIGZyZWVWYXJzKX0sIDEvJHtjb21waWxlKGV4cDIsIGZyZWVWYXJzKX1gO1xuICAgIH1cbiAgICBpZiAoaCA9PT0gXCJGYWN0b3JpYWxcIikge1xuICAgICAgY29uc3QgYXJnID0gZXhwci5vcDE7XG4gICAgICBpZiAoYXJnID09PSBudWxsKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWN0b3JpYWw6IG5vIGFyZ3VtZW50XCIpO1xuICAgICAgcmV0dXJuIGBfU1lTLmZhY3RvcmlhbCgke2NvbXBpbGUoYXJnLCBmcmVlVmFycyl9KWA7XG4gICAgfVxuICAgIGlmIChoID09PSBcIlBvd2VyXCIpIHtcbiAgICAgIGNvbnN0IGFyZyA9IGV4cHIub3AxO1xuICAgICAgaWYgKGFyZyA9PT0gbnVsbClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUG93ZXI6IG5vIGFyZ3VtZW50XCIpO1xuICAgICAgY29uc3QgZXhwMiA9IGFzRmxvYXQoZXhwci5vcDIpO1xuICAgICAgaWYgKGV4cDIgPT09IDAuNSlcbiAgICAgICAgcmV0dXJuIGBNYXRoLnNxcnQoJHtjb21waWxlKGFyZywgZnJlZVZhcnMpfSlgO1xuICAgICAgaWYgKGV4cDIgPT09IDEgLyAzKVxuICAgICAgICByZXR1cm4gYE1hdGguY2JydCgke2NvbXBpbGUoYXJnLCBmcmVlVmFycyl9KWA7XG4gICAgICBpZiAoZXhwMiA9PT0gMSlcbiAgICAgICAgcmV0dXJuIGNvbXBpbGUoYXJnLCBmcmVlVmFycyk7XG4gICAgICBpZiAoZXhwMiA9PT0gLTEpXG4gICAgICAgIHJldHVybiBgMSAvICR7Y29tcGlsZShhcmcsIGZyZWVWYXJzKX1gO1xuICAgICAgaWYgKGV4cDIgPT09IC0wLjUpXG4gICAgICAgIHJldHVybiBgMSAvIE1hdGguc3FydCgke2NvbXBpbGUoYXJnLCBmcmVlVmFycyl9KWA7XG4gICAgfVxuICAgIGlmIChoID09PSBcIlNxdWFyZVwiKSB7XG4gICAgICBjb25zdCBhcmcgPSBleHByLm9wMTtcbiAgICAgIGlmIChhcmcgPT09IG51bGwpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNxdWFyZTogbm8gYXJndW1lbnRcIik7XG4gICAgICByZXR1cm4gYE1hdGgucG93KCR7Y29tcGlsZShhcmcsIGZyZWVWYXJzKX0sIDIpYDtcbiAgICB9XG4gICAgY29uc3QgT1BTID0ge1xuICAgICAgQWRkOiBbXCIrXCIsIDExXSxcbiAgICAgIE5lZ2F0ZTogW1wiLVwiLCAxNF0sXG4gICAgICAvLyBVbmFyeSBvcGVyYXRvclxuICAgICAgU3VidHJhY3Q6IFtcIi1cIiwgMTFdLFxuICAgICAgTXVsdGlwbHk6IFtcIipcIiwgMTJdLFxuICAgICAgRGl2aWRlOiBbXCIvXCIsIDEzXSxcbiAgICAgIEVxdWFsOiBbXCI9PT1cIiwgOF0sXG4gICAgICBOb3RFcXVhbDogW1wiIT09XCIsIDhdLFxuICAgICAgTGVzc0VxdWFsOiBbXCI8PVwiLCA5XSxcbiAgICAgIEdyZWF0ZXJFcXVhbDogW1wiPj1cIiwgOV0sXG4gICAgICBMZXNzOiBbXCI8XCIsIDldLFxuICAgICAgR3JlYXRlcjogW1wiPlwiLCA5XSxcbiAgICAgIEFuZDogW1wiJiZcIiwgNF0sXG4gICAgICBPcjogW1wifHxcIiwgM10sXG4gICAgICBOb3Q6IFtcIiFcIiwgMTRdXG4gICAgICAvLyBVbmFyeSBvcGVyYXRvclxuICAgICAgLy8gWG9yOiBbJ14nLCA2XSwgLy8gVGhhdCdzIGJpdHdpc2UgWE9SLCBub3QgbG9naWNhbCBYT1JcbiAgICAgIC8vIFBvc3NpYmxlIHNvbHV0aW9uIGlzIHRvIHVzZSBgYSA/ICFiIDogYmAgaW5zdGVhZCBvZiBgYSBeIGJgXG4gICAgfTtcbiAgICBjb25zdCBvcDMgPSBPUFNbaF07XG4gICAgaWYgKG9wMyAhPT0gdm9pZCAwKSB7XG4gICAgICBjb25zdCBhcmdzMiA9IGV4cHIub3BzO1xuICAgICAgaWYgKGFyZ3MyID09PSBudWxsKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIGxldCByZXN1bHRTdHI7XG4gICAgICBpZiAoYXJnczIubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJlc3VsdFN0ciA9IGAke29wM1swXX0ke2NvbXBpbGUoYXJnczJbMF0sIGZyZWVWYXJzLCBvcDNbMV0pfWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRTdHIgPSBhcmdzMi5tYXAoKGFyZykgPT4gY29tcGlsZShhcmcsIGZyZWVWYXJzLCBvcDNbMV0pKS5qb2luKGAgJHtvcDNbMF19IGApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wM1sxXSA8IHByZWMgPyBgKCR7cmVzdWx0U3RyfSlgIDogcmVzdWx0U3RyO1xuICAgIH1cbiAgICBjb25zdCBmbiA9IHtcbiAgICAgIEFiczogXCJNYXRoLmFic1wiLFxuICAgICAgQXJjY29zOiBcIk1hdGguYWNvc1wiLFxuICAgICAgQXJjb3NoOiBcIk1hdGguYWNvc2hcIixcbiAgICAgIEFyc2luOiBcIk1hdGguYXNpblwiLFxuICAgICAgQXJzaW5oOiBcIk1hdGguYXNpbmhcIixcbiAgICAgIEFyY3RhbjogXCJNYXRoLmF0YW5cIixcbiAgICAgIEFydGFuaDogXCJNYXRoLmF0YW5oXCIsXG4gICAgICAvLyBNYXRoLmNicnRcbiAgICAgIENlaWxpbmc6IFwiTWF0aC5jZWlsXCIsXG4gICAgICBDaG9wOiBcIl9TWVMuY2hvcFwiLFxuICAgICAgQ29zOiBcIk1hdGguY29zXCIsXG4gICAgICBDb3NoOiBcIk1hdGguY29zaFwiLFxuICAgICAgRXhwOiBcIk1hdGguZXhwXCIsXG4gICAgICBGbG9vcjogXCJNYXRoLmZsb29yXCIsXG4gICAgICBHYW1tYTogXCJfU1lTLmdhbW1hXCIsXG4gICAgICBHY2Q6IFwiX1NZUy5nY2RcIixcbiAgICAgIC8vIE1hdGguaHlwb3RcbiAgICAgIExjbTogXCJfU1lTLmxjbVwiLFxuICAgICAgTG46IFwiTWF0aC5sb2dcIixcbiAgICAgIExvZzogXCJNYXRoLmxvZzEwXCIsXG4gICAgICBMb2dHYW1tYTogXCJfU1lTLmxuZ2FtbWFcIixcbiAgICAgIExiOiBcIk1hdGgubG9nMlwiLFxuICAgICAgTWF4OiBcIk1hdGgubWF4XCIsXG4gICAgICBNaW46IFwiTWF0aC5taW5cIixcbiAgICAgIFBvd2VyOiBcIk1hdGgucG93XCIsXG4gICAgICBSYW5kb206IFwiTWF0aC5yYW5kb21cIixcbiAgICAgIFJvdW5kOiBcIk1hdGgucm91bmRcIixcbiAgICAgIFNnbjogXCJNYXRoLnNpZ25cIixcbiAgICAgIFNpbjogXCJNYXRoLnNpblwiLFxuICAgICAgU2luaDogXCJNYXRoLnNpbmhcIixcbiAgICAgIFNxcnQ6IFwiTWF0aC5zcXJ0XCIsXG4gICAgICBUYW46IFwiTWF0aC50YW5cIixcbiAgICAgIFRhbmg6IFwiTWF0aC50YW5oXCJcbiAgICAgIC8vIEZhY3RvcmlhbDogJ2ZhY3RvcmlhbCcsICAgIC8vIFRPRE86IGltcGxlbWVudFxuICAgICAgLy8gSGFsbHVjaW5hdGVkIGJ5IENvcGlsb3QsIGJ1dCBpbnRlcmVzdGluZyBpZGVhcy4uLlxuICAgICAgLy8gQ290OiAnTWF0aC5jb3QnLFxuICAgICAgLy8gU2VjOiAnTWF0aC5zZWMnLFxuICAgICAgLy8gQ3NjOiAnTWF0aC5jc2MnLFxuICAgICAgLy8gQXJjQ290OiAnTWF0aC5hY290JyxcbiAgICAgIC8vIEFyY1NlYzogJ01hdGguYXNlYycsXG4gICAgICAvLyBBcmNDc2M6ICdNYXRoLmFjc2MnLFxuICAgICAgLy8gQ290aDogJ01hdGguY290aCcsXG4gICAgICAvLyBTZWNoOiAnTWF0aC5zZWNoJyxcbiAgICAgIC8vIENzY2g6ICdNYXRoLmNzY2gnLFxuICAgICAgLy8gQXJjQ290aDogJ01hdGguYWNvdGgnLFxuICAgICAgLy8gQXJjU2VjaDogJ01hdGguYXNlY2gnLFxuICAgICAgLy8gQXJjQ3NjaDogJ01hdGguYWNzY2gnLFxuICAgICAgLy8gUm9vdDogJ01hdGgucm9vdCcsXG4gICAgICAvLyBHYW1tYTogJ01hdGguZ2FtbWEnLFxuICAgICAgLy8gRXJmOiAnTWF0aC5lcmYnLFxuICAgICAgLy8gRXJmYzogJ01hdGguZXJmYycsXG4gICAgICAvLyBFcmZpOiAnTWF0aC5lcmZpJyxcbiAgICAgIC8vIFpldGE6ICdNYXRoLnpldGEnLFxuICAgICAgLy8gUG9seUdhbW1hOiAnTWF0aC5wb2x5Z2FtbWEnLFxuICAgICAgLy8gSHVyd2l0elpldGE6ICdNYXRoLmh1cndpdHpaZXRhJywgJCRcXHpldGEgKHMsYSk9XFxzdW0gX3tuPTB9XntcXGluZnR5IH17XFxmcmFjIHsxfXsobithKV57c319fSQkXG4gICAgICAvLyBEaXJpY2hsZXRFdGE6ICdNYXRoLmRpcmljaGxldEV0YScsXG4gICAgICAvLyBCZXRhOiAnTWF0aC5iZXRhJyxcbiAgICAgIC8vIEJpbm9taWFsOiAnTWF0aC5iaW5vbWlhbCcsXG4gICAgICAvLyBNb2Q6ICdNYXRoLm1vZCcsXG4gICAgICAvLyBRdW90aWVudDogJ01hdGgucXVvdGllbnQnLFxuICAgICAgLy8gR0NEOiAnTWF0aC5nY2QnLFxuICAgICAgLy8gTENNOiAnTWF0aC5sY20nLFxuICAgICAgLy8gRGl2aXNvcnM6ICdNYXRoLmRpdmlzb3JzJyxcbiAgICAgIC8vIFByaW1lUTogJ01hdGguaXNQcmltZScsXG4gICAgICAvLyBQcmltZVBpOiAnTWF0aC5wcmltZVBpJyxcbiAgICAgIC8vIFByaW1lOiAnTWF0aC5wcmltZScsXG4gICAgICAvLyBOZXh0UHJpbWU6ICdNYXRoLm5leHRQcmltZScsXG4gICAgICAvLyBQcmV2aW91c1ByaW1lOiAnTWF0aC5wcmV2UHJpbWUnLFxuICAgICAgLy8gUHJpbWVQb3dlclE6ICdNYXRoLmlzUHJpbWVQb3dlcicsXG4gICAgICAvLyBQcmltZVBvd2VyUGk6ICdNYXRoLnByaW1lUG93ZXJQaScsXG4gICAgICAvLyBQcmltZVBvd2VyOiAnTWF0aC5wcmltZVBvd2VyJyxcbiAgICAgIC8vIE5leHRQcmltZVBvd2VyOiAnTWF0aC5uZXh0UHJpbWVQb3dlcicsXG4gICAgICAvLyBQcmV2aW91c1ByaW1lUG93ZXI6ICdNYXRoLnByZXZQcmltZVBvd2VyJyxcbiAgICAgIC8vIFByaW1lRmFjdG9yczogJ01hdGgucHJpbWVGYWN0b3JzJyxcbiAgICAgIC8vIERpdmlzb3JTaWdtYTogJ01hdGguZGl2aXNvclNpZ21hJyxcbiAgICAgIC8vIERpdmlzb3JTaWdtYTA6ICdNYXRoLmRpdmlzb3JTaWdtYTAnLFxuICAgICAgLy8gRGl2aXNvclNpZ21hMTogJ01hdGguZGl2aXNvclNpZ21hMScsXG4gICAgICAvLyBEaXZpc29yU2lnbWEyOiAnTWF0aC5kaXZpc29yU2lnbWEyJyxcbiAgICAgIC8vIERpdmlzb3JTaWdtYTM6ICdNYXRoLmRpdmlzb3JTaWdtYTMnLFxuICAgICAgLy8gRGl2aXNvclNpZ21hNDogJ01hdGguZGl2aXNvclNpZ21hNCcsXG4gICAgICAvLyBEaXZpc29yQ291bnQ6ICdNYXRoLmRpdmlzb3JDb3VudCcsXG4gICAgICAvLyBEaXZpc29yU3VtOiAnTWF0aC5kaXZpc29yU3VtJyxcbiAgICAgIC8vIE1vZWJpdXNNdTogJ01hdGgubW9lYml1c011JyxcbiAgICAgIC8vIExpb3V2aWxsZUxhbWJkYTogJ01hdGgubGlvdXZpbGxlTGFtYmRhJyxcbiAgICAgIC8vIENhcm1pY2hhZWxMYW1iZGE6ICdNYXRoLmNhcm1pY2hhZWxMYW1iZGEnLFxuICAgICAgLy8gRXVsZXJQaGk6ICdNYXRoLmV1bGVyUGhpJyxcbiAgICAgIC8vIEV1bGVyUHNpOiAnTWF0aC5ldWxlclBzaScsXG4gICAgICAvLyBFdWxlckdhbW1hOiAnTWF0aC5ldWxlckdhbW1hJyxcbiAgICAgIC8vIEhhcm1vbmljTnVtYmVyOiAnTWF0aC5oYXJtb25pY051bWJlcicsXG4gICAgICAvLyBCZXJub3VsbGlCOiAnTWF0aC5iZXJub3VsbGlCJyxcbiAgICAgIC8vIFN0aXJsaW5nUzE6ICdNYXRoLnN0aXJsaW5nUzEnLFxuICAgICAgLy8gU3RpcmxpbmdTMjogJ01hdGguc3RpcmxpbmdTMicsXG4gICAgICAvLyBCZWxsQjogJ01hdGguYmVsbEInLFxuICAgICAgLy8gQmVsbE51bWJlcjogJ01hdGguYmVsbE51bWJlcicsXG4gICAgICAvLyBMYWhTOiAnTWF0aC5sYWhTJyxcbiAgICAgIC8vIExhaEw6ICdNYXRoLmxhaEwnLFxuICAgICAgLy8gUmllbWFublI6ICdNYXRoLnJpZW1hbm5SJyxcbiAgICAgIC8vIFJpZW1hbm5aZXRhOiAnTWF0aC5yaWVtYW5uWmV0YScsXG4gICAgICAvLyBSaWVtYW5uWGk6ICdNYXRoLnJpZW1hbm5YaScsXG4gICAgICAvLyBSaWVtYW5uSDogJ01hdGgucmllbWFubkgnLFxuICAgICAgLy8gUmllbWFublo6ICdNYXRoLnJpZW1hbm5aJyxcbiAgICAgIC8vIFJpZW1hbm5TOiAnTWF0aC5yaWVtYW5uUycsXG4gICAgICAvLyBSaWVtYW5uWGlaZXJvOiAnTWF0aC5yaWVtYW5uWGlaZXJvJyxcbiAgICAgIC8vIFJpZW1hbm5aZXRhWmVybzogJ01hdGgucmllbWFublpldGFaZXJvJyxcbiAgICAgIC8vIFJpZW1hbm5IWmVybzogJ01hdGgucmllbWFubkhaZXJvJyxcbiAgICAgIC8vIFJpZW1hbm5TWmVybzogJ01hdGgucmllbWFublNaZXJvJyxcbiAgICAgIC8vIFJpZW1hbm5QcmltZUNvdW50OiAnTWF0aC5yaWVtYW5uUHJpbWVDb3VudCcsXG4gICAgICAvLyBSaWVtYW5uUkxvZzogJ01hdGgucmllbWFublJMb2cnLFxuICAgICAgLy8gUmllbWFublJMb2dEZXJpdmF0aXZlOiAnTWF0aC5yaWVtYW5uUkxvZ0Rlcml2YXRpdmUnLFxuICAgICAgLy8gUmllbWFublJMb2daZXJvOiAnTWF0aC5yaWVtYW5uUkxvZ1plcm8nLFxuICAgICAgLy8gUmllbWFublJMb2daZXJvRGVyaXZhdGl2ZTogJ01hdGgucmllbWFublJMb2daZXJvRGVyaXZhdGl2ZScsXG4gICAgICAvLyBSaWVtYW5uUlplcm86ICdNYXRoLnJpZW1hbm5SWmVybycsXG4gICAgICAvLyBSaWVtYW5uUkRlcml2YXRpdmU6ICdNYXRoLnJpZW1hbm5SRGVyaXZhdGl2ZScsXG4gICAgICAvLyBSaWVtYW5uWGlaZXJvRGVyaXZhdGl2ZTogJ01hdGgucmllbWFublhpWmVyb0Rlcml2YXRpdmUnLFxuICAgICAgLy8gUmllbWFublpldGFaZXJvRGVyaXZhdGl2ZTogJ01hdGgucmllbWFublpldGFaZXJvRGVyaXZhdGl2ZScsXG4gICAgICAvLyBSaWVtYW5uSFplcm9EZXJpdmF0aXZlOiAnTWF0aC5yaWVtYW5uSFplcm9EZXJpdmF0aXZlJyxcbiAgICAgIC8vIFJpZW1hbm5TWmVyb0Rlcml2YXRpdmU6ICdNYXRoLnJpZW1hbm5TWmVyb0Rlcml2YXRpdmUnLFxuICAgICAgLy8gUmllbWFublNaZXJvRGVyaXZhdGl2ZTI6ICdNYXRoLnJpZW1hbm5TWmVyb0Rlcml2YXRpdmUyJyxcbiAgICAgIC8vIFJpZW1hbm5TWmVyb0Rlcml2YXRpdmUzOiAnTWF0aC5yaWVtYW5uU1plcm9EZXJpdmF0aXZlMycsXG4gICAgICAvLyBSaWVtYW5uU1plcm9EZXJpdmF0aXZlNDogJ01hdGgucmllbWFublNaZXJvRGVyaXZhdGl2ZTQnLFxuICAgICAgLy8gUmllbWFublNaZXJvRGVyaXZhdGl2ZTU6ICdNYXRoLnJpZW1hbm5TWmVyb0Rlcml2YXRpdmU1JyxcbiAgICAgIC8vIFJpZW1hbm5TWmVyb0Rlcml2YXRpdmU2OiAnTWF0aC5yaWVtYW5uU1plcm9EZXJpdmF0aXZlNicsXG4gICAgfVtoXSA/PyBoO1xuICAgIGNvbnN0IGFyZ3MgPSBleHByLm9wcztcbiAgICBpZiAoYXJncyAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzKVxuICAgICAgICByZXN1bHQucHVzaChjb21waWxlKGFyZywgZnJlZVZhcnMpKTtcbiAgICAgIHJldHVybiBgJHtmbn0oJHtyZXN1bHQuam9pbihcIiwgXCIpfSlgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gXCJcIjtcbn1cbmZ1bmN0aW9uIGNvbXBpbGVMb29wKGV4cHIsIG9wMykge1xuICBjb25zdCBhcmdzID0gZXhwci5vcHM7XG4gIGlmIChhcmdzID09PSBudWxsKVxuICAgIHRocm93IG5ldyBFcnJvcihcIlN1bTogbm8gYXJndW1lbnRzXCIpO1xuICBpZiAoIWV4cHIub3AxIHx8ICFleHByLm9wMilcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTdW06IG5vIGxpbWl0c1wiKTtcbiAgY29uc3QgW2luZGV4LCBsb3dlciwgdXBwZXIsIGlzRmluaXRlMl0gPSBub3JtYWxpemVMaW1pdHMoZXhwci5vcDIpO1xuICBjb25zdCBmbiA9IGNvbXBpbGUoZXhwci5vcDEsIFsuLi5leHByLm9wMS5mcmVlVmFycywgaW5kZXhdLCAwKTtcbiAgcmV0dXJuIGAoKCkgPT4ge1xuICBsZXQgYWNjID0gJHtvcDMgPT09IFwiK1wiID8gXCIwXCIgOiBcIjFcIn07XG4gIGNvbnN0IGZuID0gKF8pID0+ICR7Zm59O1xuICBmb3IgKGxldCBpID0gJHtsb3dlcn07IGkgPD0gJHt1cHBlcn07IGkrKylcbiAgICBhY2MgJHtvcDN9PSBmbih7IC4uLl8sICR7aW5kZXh9OiBpIH0pO1xuICByZXR1cm4gYWNjO1xufSkoKWA7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL2Fic3RyYWN0LWJveGVkLWV4cHJlc3Npb24udHNcbnZhciBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoY2UsIG1ldGFkYXRhKSB7XG4gICAgdGhpcy5lbmdpbmUgPSBjZTtcbiAgICBpZiAobWV0YWRhdGE/LmxhdGV4ICE9PSB2b2lkIDApXG4gICAgICB0aGlzLl9sYXRleCA9IG1ldGFkYXRhLmxhdGV4O1xuICAgIGlmIChtZXRhZGF0YT8ud2lraWRhdGEgIT09IHZvaWQgMClcbiAgICAgIHRoaXMuX3dpa2lkYXRhID0gbWV0YWRhdGEud2lraWRhdGE7XG4gIH1cbiAgLyoqIGBPYmplY3QudmFsdWVPZigpYDogcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlIGZvciB0aGUgb2JqZWN0XG4gICAqXG4gICAqL1xuICB2YWx1ZU9mKCkge1xuICAgIGlmICh0aGlzLnN5bWJvbCA9PT0gXCJUcnVlXCIpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5zeW1ib2wgPT09IFwiRmFsc2VcIilcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gYXNGbG9hdCh0aGlzKSA/PyB0aGlzLnN0cmluZyA/PyB0aGlzLnN5bWJvbCA/PyBKU09OLnN0cmluZ2lmeSh0aGlzLmpzb24pO1xuICB9XG4gIC8qKiBPYmplY3QudG9TdHJpbmcoKSAqL1xuICB0b1N0cmluZygpIHtcbiAgICBpZiAodGhpcy5zeW1ib2wpXG4gICAgICByZXR1cm4gdGhpcy5zeW1ib2w7XG4gICAgaWYgKHRoaXMuc3RyaW5nKVxuICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICAgIGNvbnN0IG51bSA9IHRoaXMubnVtZXJpY1ZhbHVlO1xuICAgIGlmIChudW0gIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgbnVtID09PSBcIm51bWJlclwiKVxuICAgICAgICByZXR1cm4gbnVtLnRvU3RyaW5nKCk7XG4gICAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobnVtKSlcbiAgICAgICAgcmV0dXJuIGAke251bVswXS50b1N0cmluZygpfS8ke251bVsxXS50b1N0cmluZygpfWA7XG4gICAgICBpZiAoaXNCaWdSYXRpb25hbChudW0pKVxuICAgICAgICByZXR1cm4gYCR7bnVtWzBdLnRvU3RyaW5nKCl9LyR7bnVtWzFdLnRvU3RyaW5nKCl9YDtcbiAgICAgIGlmIChudW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDYuQ29tcGxleCkge1xuICAgICAgICBjb25zdCBpbSA9IG51bS5pbSA9PT0gMSA/IFwiXCIgOiBudW0uaW0gPT09IC0xID8gXCItXCIgOiBudW0uaW0udG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKG51bS5yZSA9PT0gMClcbiAgICAgICAgICByZXR1cm4gaW0gKyBcImlcIjtcbiAgICAgICAgaWYgKG51bS5pbSA8IDApXG4gICAgICAgICAgcmV0dXJuIGAke251bS5yZS50b1N0cmluZygpfSR7aW19aWA7XG4gICAgICAgIHJldHVybiBgJHtudW0ucmUudG9TdHJpbmcoKX0rJHtpbX1pYDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuanNvbik7XG4gIH1cbiAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludCkge1xuICAgIGlmIChoaW50ID09PSBcIm51bWJlclwiKSB7XG4gICAgICBjb25zdCB2ID0gdGhpcy52YWx1ZU9mKCk7XG4gICAgICByZXR1cm4gdHlwZW9mIHYgPT09IFwibnVtYmVyXCIgPyB2IDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKTtcbiAgfVxuICAvKiogQ2FsbGVkIGJ5IGBKU09OLnN0cmluZ2lmeSgpYCB3aGVuIHNlcmlhbGl6aW5nIHRvIGpzb24gKi9cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB0aGlzLmpzb247XG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBnZXQgcmF3SnNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5qc29uO1xuICB9XG4gIGdldCBzY29wZSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKiogT2JqZWN0LmlzKCkgKi9cbiAgaXMocmhzKSB7XG4gICAgaWYgKHJocyA9PT0gbnVsbCB8fCByaHMgPT09IHZvaWQgMClcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdGhpcy5pc1NhbWUodGhpcy5lbmdpbmUuYm94KHJocykpO1xuICB9XG4gIGdldCBsYXRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGF0ZXggPz8gdGhpcy5lbmdpbmUuc2VyaWFsaXplKHRoaXMpO1xuICB9XG4gIHNldCBsYXRleCh2YWwpIHtcbiAgICB0aGlzLl9sYXRleCA9IHZhbDtcbiAgfVxuICBnZXQgc3ltYm9sKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGdldCBpc05vdGhpbmcoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBzdHJpbmcoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgZ2V0U3ViZXhwcmVzc2lvbnMoaGVhZDIpIHtcbiAgICByZXR1cm4gZ2V0U3ViZXhwcmVzc2lvbnModGhpcywgaGVhZDIpO1xuICB9XG4gIGdldCBzdWJleHByZXNzaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdWJleHByZXNzaW9ucyhcIlwiKTtcbiAgfVxuICBnZXQgc3ltYm9scygpIHtcbiAgICBjb25zdCBzZXQgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIGdldFN5bWJvbHModGhpcywgc2V0KTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShzZXQpO1xuICB9XG4gIGdldCBmcmVlVmFycygpIHtcbiAgICBjb25zdCBzZXQgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIGdldEZyZWVWYXJzKHRoaXMsIHNldCk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oc2V0KTtcbiAgfVxuICBnZXQgZXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN1YmV4cHJlc3Npb25zKFwiRXJyb3JcIik7XG4gIH1cbiAgLy8gT25seSByZXR1cm4gbm9uLW51bGwgZm9yIGZ1bmN0aW9uc1xuICBnZXQgb3BzKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGdldCBub3BzKCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGdldCBvcDEoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lLnN5bWJvbChcIk5vdGhpbmdcIik7XG4gIH1cbiAgZ2V0IG9wMigpIHtcbiAgICByZXR1cm4gdGhpcy5lbmdpbmUuc3ltYm9sKFwiTm90aGluZ1wiKTtcbiAgfVxuICBnZXQgb3AzKCkge1xuICAgIHJldHVybiB0aGlzLmVuZ2luZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICB9XG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGdldCBpc1B1cmUoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBpc0V4YWN0KCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8qKiBGb3IgYSBzeW1ib2wsIHRydWUgaWYgdGhlIHN5bWJvbCBpcyBhIGZyZWUgdmFyaWFibGUgKG5vIHZhbHVlKSAqL1xuICBnZXQgaXNGcmVlKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvKiogRm9yIGEgc3ltYm9sLCB0cnVlIGlmIHRoZSBzeW1ib2wgaXMgYSBjb25zdGFudCAodW5jaGFuZ2VhYmxlIHZhbHVlKSAqL1xuICBnZXQgaXNDb25zdGFudCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0IGNhbm9uaWNhbCgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICBhcHBseShfZm4sIF9oZWFkKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgc3Vicyhfc3ViLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnM/LmNhbm9uaWNhbClcbiAgICAgIHJldHVybiB0aGlzLmNhbm9uaWNhbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICBzb2x2ZShfdmFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJlcGxhY2UoX3J1bGVzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaGFzKF92KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBpc05hTigpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBpc1plcm8oKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNOb3RaZXJvKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzT25lKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzTmVnYXRpdmVPbmUoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNJbmZpbml0eSgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIE5vdCArLSBJbmZpbml0eSwgbm90IE5hTlxuICBnZXQgaXNGaW5pdGUoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNFdmVuKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzT2RkKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzUHJpbWUoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNDb21wb3NpdGUoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgbnVtZXJpY1ZhbHVlKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGdldCBzZ24oKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaXNMZXNzKF9yaHMpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGlzTGVzc0VxdWFsKF9yaHMpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGlzR3JlYXRlcihfcmhzKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBpc0dyZWF0ZXJFcXVhbChfcmhzKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICAvLyB4ID4gMFxuICBnZXQgaXNQb3NpdGl2ZSgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIHggPj0gMFxuICBnZXQgaXNOb25OZWdhdGl2ZSgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIHggPCAwXG4gIGdldCBpc05lZ2F0aXZlKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgLy8geCA8PSAwXG4gIGdldCBpc05vblBvc2l0aXZlKCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgLy9cbiAgLy9cbiAgLy9cbiAgLy9cbiAgLy9cbiAgaXNDb21wYXRpYmxlKF9kb20sIF9raW5kKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBkZXNjcmlwdGlvbigpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgd2lraWRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpa2lkYXRhO1xuICB9XG4gIHNldCB3aWtpZGF0YSh2YWwpIHtcbiAgICB0aGlzLl93aWtpZGF0YSA9IHZhbDtcbiAgfVxuICBnZXQgY29tcGxleGl0eSgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBiYXNlZERlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgc3ltYm9sRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBmdW5jdGlvbkRlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBiaW5kKF9zY29wZSkge1xuICAgIHJldHVybjtcbiAgfVxuICB1bmJpbmQoKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGdldCBrZXlzKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGdldCBrZXlzQ291bnQoKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgZ2V0S2V5KF9rZXkpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGhhc0tleShfa2V5KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIHNldCB2YWx1ZShfdmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGNoYW5nZSB0aGUgdmFsdWUgb2YgXFxcXCgke3RoaXMubGF0ZXh9XFxcXClgKTtcbiAgfVxuICBnZXQgZG9tYWluKCkge1xuICAgIHJldHVybiB0aGlzLmVuZ2luZS5kb21haW4oXCJWb2lkXCIpO1xuICB9XG4gIHNldCBkb21haW4oX2RvbWFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgY2hhbmdlIHRoZSBkb21haW4gb2YgXFxcXCgke3RoaXMubGF0ZXh9XFxcXClgKTtcbiAgfVxuICBnZXQgZXhwbGljaXREb21haW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluO1xuICB9XG4gIGdldCBpc051bWJlcigpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBpc0ludGVnZXIoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNSYXRpb25hbCgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBpc0FsZ2VicmFpYygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0IGlzUmVhbCgpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIFJlYWwgb3IgKy1JbmZpbml0eVxuICBnZXQgaXNFeHRlbmRlZFJlYWwoKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzSW1hZ2luYXJ5KCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzRXh0ZW5kZWRDb21wbGV4KCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgc2ltcGxpZnkoX29wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICBldmFsdWF0ZShvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2ltcGxpZnkob3B0aW9ucyk7XG4gIH1cbiAgTihfb3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmV2YWx1YXRlKCk7XG4gIH1cbiAgY29tcGlsZSh0byA9IFwiamF2YXNjcmlwdFwiLCBvcHRpb25zKSB7XG4gICAgaWYgKHRvICE9PSBcImphdmFzY3JpcHRcIilcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgb3B0aW9ucyA/PyAob3B0aW9ucyA9IHsgb3B0aW1pemU6IFtcInNpbXBsaWZ5XCIsIFwiZXZhbHVhdGVcIl0gfSk7XG4gICAgbGV0IGV4cHIgPSB0aGlzO1xuICAgIGlmIChvcHRpb25zLm9wdGltaXplLmluY2x1ZGVzKFwic2ltcGxpZnlcIikpXG4gICAgICBleHByID0gZXhwci5zaW1wbGlmeSgpO1xuICAgIGlmIChvcHRpb25zLm9wdGltaXplLmluY2x1ZGVzKFwiZXZhbHVhdGVcIikpXG4gICAgICBleHByID0gZXhwci5ldmFsdWF0ZSgpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gY29tcGlsZVRvSmF2YXNjcmlwdChleHByKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbn07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL3NlcmlhbGl6ZS50c1xudmFyIGltcG9ydF9jb21wbGV4OCA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbnVtZXJpY3MvbnVtZXJpYy1iaWdudW0udHNcbmZ1bmN0aW9uIGZhY3RvcmlhbDIoY2UsIG4pIHtcbiAgaWYgKCFuLmlzSW50ZWdlcigpIHx8IG4uaXNOZWdhdGl2ZSgpKVxuICAgIHJldHVybiBjZS5fQklHTlVNX05BTjtcbiAgaWYgKG4ubGVzc1RoYW4oMTApKVxuICAgIHJldHVybiBjZS5iaWdudW0oXG4gICAgICBbMSwgMSwgMiwgNiwgMjQsIDEyMCwgNzIwLCA1MDQwLCA0MDMyMCwgMzYyODgwLCAzNjI4ODAwXVtuLnRvTnVtYmVyKCldXG4gICAgKTtcbiAgaWYgKG4uZ3QoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpKSB7XG4gICAgbGV0IHZhbDIgPSBjZS5fQklHTlVNX09ORTtcbiAgICBsZXQgaSA9IGNlLl9CSUdOVU1fVFdPO1xuICAgIHdoaWxlIChpLmxlc3NUaGFuKG4pKSB7XG4gICAgICB2YWwyID0gdmFsMi5tdWwoaSk7XG4gICAgICBpID0gaS5hZGQoMSk7XG4gICAgfVxuICAgIHJldHVybiB2YWwyO1xuICB9XG4gIGlmIChuLm1vZHVsbygyKS5lcSgxKSkge1xuICAgIHJldHVybiBuLnRpbWVzKGZhY3RvcmlhbDIoY2UsIG4ubWludXMoMSkpKTtcbiAgfVxuICBsZXQgbG9vcCA9IG4udG9OdW1iZXIoKTtcbiAgbGV0IHN1bTIgPSBuO1xuICBsZXQgdmFsID0gbjtcbiAgd2hpbGUgKGxvb3AgPiAyKSB7XG4gICAgbG9vcCAtPSAyO1xuICAgIHN1bTIgPSBzdW0yLmFkZChsb29wKTtcbiAgICB2YWwgPSB2YWwubXVsKHN1bTIpO1xuICB9XG4gIHJldHVybiB2YWw7XG59XG52YXIgZ2FtbWFHMiA9IDc7XG5mdW5jdGlvbiBsbmdhbW1hMihjZSwgeikge1xuICBpZiAoei5pc05lZ2F0aXZlKCkpXG4gICAgcmV0dXJuIGNlLl9CSUdOVU1fTkFOO1xuICBjb25zdCBHQU1NQV9QX0xOID0gY2UuY2FjaGUoXCJnYW1tYS1wLWxuXCIsICgpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgXCIwLjk5OTk5OTk5OTk5OTk5NzA5MTgyXCIsXG4gICAgICBcIjU3LjE1NjIzNTY2NTg2MjkyMzUxN1wiLFxuICAgICAgXCItNTkuNTk3OTYwMzU1NDc1NDkxMjQ4XCIsXG4gICAgICBcIjE0LjEzNjA5Nzk3NDc0MTc0NzE3NFwiLFxuICAgICAgXCItMC40OTE5MTM4MTYwOTc2MjAxOTk3OFwiLFxuICAgICAgXCIwLjMzOTk0NjQ5OTg0ODExODg4Njk5ZS00XCIsXG4gICAgICBcIjAuNDY1MjM2Mjg5MjcwNDg1NzU2NjVlLTRcIixcbiAgICAgIFwiLTAuOTgzNzQ0NzUzMDQ4Nzk1NjQ2NzdlLTRcIixcbiAgICAgIFwiMC4xNTgwODg3MDMyMjQ5MTI0ODg4NGUtM1wiLFxuICAgICAgXCItMC4yMTAyNjQ0NDE3MjQxMDQ4ODMxOWUtM1wiLFxuICAgICAgXCIwLjIxNzQzOTYxODExNTIxMjY0MzJlLTNcIixcbiAgICAgIFwiLTAuMTY0MzE4MTA2NTM2NzYzODkwMjJlLTNcIixcbiAgICAgIFwiMC44NDQxODIyMzk4Mzg1Mjc0MzI5M2UtNFwiLFxuICAgICAgXCItMC4yNjE5MDgzODQwMTU4MTQwODY3ZS00XCIsXG4gICAgICBcIjAuMzY4OTkxODI2NTk1MzE2MjI3MDRlLTVcIlxuICAgIF0ubWFwKCh4MikgPT4gY2UuYmlnbnVtKHgyKSk7XG4gIH0pO1xuICBsZXQgeCA9IEdBTU1BX1BfTE5bMF07XG4gIGZvciAobGV0IGkgPSBHQU1NQV9QX0xOLmxlbmd0aCAtIDE7IGkgPiAwOyAtLWkpIHtcbiAgICB4ID0geC5hZGQoR0FNTUFfUF9MTltpXS5kaXYoei5hZGQoaSkpKTtcbiAgfVxuICBjb25zdCBHQU1NQV9HX0xOID0gY2UuY2FjaGUoXCJnYW1tYS1nLWxuXCIsICgpID0+IGNlLmJpZ251bSg2MDcpLmRpdigxMjgpKTtcbiAgY29uc3QgdCA9IHouYWRkKEdBTU1BX0dfTE4pLmFkZChjZS5fQklHTlVNX0hBTEYpO1xuICByZXR1cm4gY2UuX0JJR05VTV9ORUdBVElWRV9PTkUuYWNvcygpLm11bChjZS5fQklHTlVNX1RXTykubG9nKCkubXVsKGNlLl9CSUdOVU1fSEFMRikuYWRkKFxuICAgIHQubG9nKCkubXVsKHouYWRkKGNlLl9CSUdOVU1fSEFMRikpLm1pbnVzKHQpLmFkZCh4LmxvZygpKS5taW51cyh6LmxvZygpKVxuICApO1xufVxuZnVuY3Rpb24gZ2FtbWEyKGNlLCB6KSB7XG4gIGlmICh6Lmxlc3NUaGFuKGNlLl9CSUdOVU1fSEFMRikpIHtcbiAgICBjb25zdCBwaSA9IGNlLl9CSUdOVU1fTkVHQVRJVkVfT05FLmFjb3MoKTtcbiAgICByZXR1cm4gcGkuZGl2KFxuICAgICAgcGkubXVsKHopLnNpbigpLm11bChnYW1tYTIoY2UsIGNlLl9CSUdOVU1fT05FLnN1Yih6KSkpXG4gICAgKTtcbiAgfVxuICBpZiAoei5ncmVhdGVyVGhhbigxMDApKVxuICAgIHJldHVybiBsbmdhbW1hMihjZSwgeikuZXhwKCk7XG4gIHogPSB6LnN1YigxKTtcbiAgY29uc3QgTEFOQ1pPU183X0MgPSBjZS5jYWNoZShcImxhbmN6b3MtNy1jXCIsICgpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgXCIwLjk5OTk5OTk5OTk5OTgwOTkzMjI3Njg0NzAwNDczNDc4XCIsXG4gICAgICBcIjY3Ni41MjAzNjgxMjE4ODUwOTg1NjcwMDkxOTA0NDQwMTlcIixcbiAgICAgIFwiLTEyNTkuMTM5MjE2NzIyNDAyODcwNDcxNTYwNzg3NTUyODNcIixcbiAgICAgIFwiNzcxLjMyMzQyODc3NzY1MzA3ODg0ODY1MjgyNTg4OTRcIixcbiAgICAgIFwiLTE3Ni42MTUwMjkxNjIxNDA1OTkwNjU4NDU1MTM1NFwiLFxuICAgICAgXCIxMi41MDczNDMyNzg2ODY5MDQ4MTQ0NTg5MzY4NTNcIixcbiAgICAgIFwiLTAuMTM4NTcxMDk1MjY1NzIwMTE2ODk1NTQ3MDdcIixcbiAgICAgIFwiOS45ODQzNjk1NzgwMTk1NzA4NTk1NjNlLTZcIixcbiAgICAgIFwiMS41MDU2MzI3MzUxNDkzMTE1NTgzNGUtN1wiXG4gICAgXS5tYXAoKHgyKSA9PiBjZS5iaWdudW0oeDIpKTtcbiAgfSk7XG4gIGxldCB4ID0gTEFOQ1pPU183X0NbMF07XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgZ2FtbWFHMiArIDI7IGkrKylcbiAgICB4ID0geC5hZGQoTEFOQ1pPU183X0NbaV0uZGl2KHouYWRkKGkpKSk7XG4gIGNvbnN0IHQgPSB6LmFkZChnYW1tYUcyKS5hZGQoY2UuX0JJR05VTV9IQUxGKTtcbiAgcmV0dXJuIGNlLl9CSUdOVU1fTkVHQVRJVkVfT05FLmFjb3MoKS50aW1lcyhjZS5fQklHTlVNX1RXTykuc3FydCgpLm11bCh4Lm11bCh0Lm5lZygpLmV4cCgpKS5tdWwodC5wb3coei5hZGQoY2UuX0JJR05VTV9IQUxGKSkpKTtcbn1cbmZ1bmN0aW9uIGlzSW5NYWNoaW5lUmFuZ2UoZCkge1xuICBpZiAoIWQuaXNGaW5pdGUoKSlcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKGQuZC5sZW5ndGggPiAzIHx8IGQuZC5sZW5ndGggPT09IDMgJiYgZC5kWzBdID49IDkwKVxuICAgIHJldHVybiBmYWxzZTtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGQucHJlY2lzaW9uKCkgPD0gMTYpO1xuICByZXR1cm4gZC5lIDwgMzA4ICYmIGQuZSA+IC0zMDY7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9zeW1ib2xpYy9wcm9kdWN0LnRzXG52YXIgaW1wb3J0X2NvbXBsZXg3ID0gX190b0VTTShyZXF1aXJlX2NvbXBsZXgoKSk7XG52YXIgUHJvZHVjdCA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoY2UsIHhzLCBvcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAvLyBPdGhlciB0ZXJtcyBvZiB0aGUgcHJvZHVjdCwgYHRlcm1gIGlzIHRoZSBrZXlcbiAgICB0aGlzLl90ZXJtcyA9IFtdO1xuICAgIHRoaXMuX2hhc0luZmluaXR5ID0gZmFsc2U7XG4gICAgdGhpcy5faGFzWmVybyA9IGZhbHNlO1xuICAgIC8vIElmIGBmYWxzZWAsIHRoZSBydW5uaW5nIHByb2R1Y3RzIGFyZSBub3QgY2FsY3VsYXRlZFxuICAgIHRoaXMuX2lzQ2Fub25pY2FsID0gdHJ1ZTtcbiAgICBvcHRpb25zID0gb3B0aW9ucyA/IHsgLi4ub3B0aW9ucyB9IDoge307XG4gICAgaWYgKCEoXCJjYW5vbmljYWxcIiBpbiBvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMuY2Fub25pY2FsID0gdHJ1ZTtcbiAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IG9wdGlvbnMuY2Fub25pY2FsO1xuICAgIHRoaXMuZW5naW5lID0gY2U7XG4gICAgdGhpcy5fc2lnbiA9IDE7XG4gICAgdGhpcy5fcmF0aW9uYWwgPSBiaWdudW1QcmVmZXJyZWQoY2UpID8gW0JpZ0ludCgxKSwgQmlnSW50KDEpXSA6IFsxLCAxXTtcbiAgICB0aGlzLl9jb21wbGV4ID0gaW1wb3J0X2NvbXBsZXg3LmRlZmF1bHQuT05FO1xuICAgIHRoaXMuX2JpZ251bSA9IGNlLl9CSUdOVU1fT05FO1xuICAgIHRoaXMuX251bWJlciA9IDE7XG4gICAgaWYgKHhzKVxuICAgICAgZm9yIChjb25zdCB4IG9mIHhzKVxuICAgICAgICB0aGlzLmFkZFRlcm0oeCk7XG4gIH1cbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgaWYgKCF0aGlzLl9pc0Nhbm9uaWNhbClcbiAgICAgIHJldHVybiB0aGlzLl90ZXJtcy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIHRoaXMuX3Rlcm1zLmxlbmd0aCA9PT0gMCAmJiB0aGlzLl9oYXNJbmZpbml0eSA9PT0gZmFsc2UgJiYgdGhpcy5faGFzWmVybyA9PT0gZmFsc2UgJiYgdGhpcy5fc2lnbiA9PT0gMSAmJiBpc1JhdGlvbmFsT25lKHRoaXMuX3JhdGlvbmFsKSAmJiAvLyBpc1JhdGlvbmFsT25lKHRoaXMuX3NxdWFyZVJvb3RSYXRpb25hbCkgJiZcbiAgICB0aGlzLl9jb21wbGV4LnJlID09PSAxICYmIHRoaXMuX2NvbXBsZXguaW0gPT09IDAgJiYgdGhpcy5fYmlnbnVtLmVxKHRoaXMuZW5naW5lLl9CSUdOVU1fT05FKSAmJiB0aGlzLl9udW1iZXIgPT09IDE7XG4gIH1cbiAgLyoqXG4gICAqIEFkZCBhIHRlcm0gdG8gdGhlIHByb2R1Y3QuXG4gICAqXG4gICAqIElmIGB0aGlzLl9pc0Nhbm9uaWNhbGAgYSBydW5uaW5nIHByb2R1Y3Qgb2YgZXhhY3QgdGVybXMgaXMga2VwdC5cbiAgICogT3RoZXJ3aXNlLCB0ZXJtcyBhbmQgdGhlaXIgZXhwb25lbnQgYXJlIHRhbGxpZWQuXG4gICAqL1xuICBhZGRUZXJtKHRlcm0pIHtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQodGVybS5pc0Nhbm9uaWNhbCk7XG4gICAgaWYgKHRlcm0uaGVhZCA9PT0gXCJNdWx0aXBseVwiKSB7XG4gICAgICBmb3IgKGNvbnN0IHQgb2YgdGVybS5vcHMpXG4gICAgICAgIHRoaXMuYWRkVGVybSh0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2lzQ2Fub25pY2FsKSB7XG4gICAgICBpZiAodGVybS5pc05vdGhpbmcpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGlmICh0ZXJtLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICBpZiAodGVybS5pc09uZSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh0ZXJtLmlzWmVybykge1xuICAgICAgICAgIHRoaXMuX2hhc1plcm8gPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGVybS5pc05lZ2F0aXZlT25lKSB7XG4gICAgICAgICAgdGhpcy5fc2lnbiAqPSAtMTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRlcm0uaXNJbmZpbml0eSkge1xuICAgICAgICAgIHRoaXMuX2hhc0luZmluaXR5ID0gdHJ1ZTtcbiAgICAgICAgICBpZiAodGVybS5pc05lZ2F0aXZlKVxuICAgICAgICAgICAgdGhpcy5fc2lnbiAqPSAtMTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG51bSA9IHRlcm0ubnVtZXJpY1ZhbHVlO1xuICAgICAgICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIGlmIChudW0gPCAwKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWduICo9IC0xO1xuICAgICAgICAgICAgbnVtID0gLW51bTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIobnVtKSlcbiAgICAgICAgICAgIHRoaXMuX3JhdGlvbmFsID0gbXVsMih0aGlzLl9yYXRpb25hbCwgW251bSwgMV0pO1xuICAgICAgICAgIGVsc2UgaWYgKGJpZ251bVByZWZlcnJlZCh0aGlzLmVuZ2luZSkpXG4gICAgICAgICAgICB0aGlzLl9iaWdudW0gPSB0aGlzLl9iaWdudW0ubXVsKG51bSk7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5fbnVtYmVyICo9IG51bTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG51bSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdCkge1xuICAgICAgICAgIGlmIChudW0uaXNOZWdhdGl2ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWduICo9IC0xO1xuICAgICAgICAgICAgbnVtID0gbnVtLm5lZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobnVtLmlzSW50ZWdlcigpKVxuICAgICAgICAgICAgdGhpcy5fcmF0aW9uYWwgPSBtdWwyKHRoaXMuX3JhdGlvbmFsLCBbYmlnaW50KG51bSksIEJpZ0ludCgxKV0pO1xuICAgICAgICAgIGVsc2UgaWYgKGJpZ251bVByZWZlcnJlZCh0aGlzLmVuZ2luZSkpXG4gICAgICAgICAgICB0aGlzLl9iaWdudW0gPSB0aGlzLl9iaWdudW0ubXVsKG51bSk7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5fbnVtYmVyICo9IG51bS50b051bWJlcigpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg3LmRlZmF1bHQpIHtcbiAgICAgICAgICB0aGlzLl9jb21wbGV4ID0gdGhpcy5fY29tcGxleC5tdWwobnVtKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzUmF0aW9uYWwobnVtKSkge1xuICAgICAgICAgIHRoaXMuX3JhdGlvbmFsID0gbXVsMih0aGlzLl9yYXRpb25hbCwgbnVtKTtcbiAgICAgICAgICBpZiAoaXNOZWcodGhpcy5fcmF0aW9uYWwpKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWduICo9IC0xO1xuICAgICAgICAgICAgdGhpcy5fcmF0aW9uYWwgPSBuZWcodGhpcy5fcmF0aW9uYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJlc3QgPSB0ZXJtO1xuICAgIGlmICh0aGlzLl9pc0Nhbm9uaWNhbCkge1xuICAgICAgbGV0IGNvZWY7XG4gICAgICBbY29lZiwgcmVzdF0gPSBhc0NvZWZmaWNpZW50KHRlcm0pO1xuICAgICAgdGhpcy5fcmF0aW9uYWwgPSBtdWwyKHRoaXMuX3JhdGlvbmFsLCBjb2VmKTtcbiAgICAgIGlmIChpc05lZyh0aGlzLl9yYXRpb25hbCkpIHtcbiAgICAgICAgdGhpcy5fc2lnbiAqPSAtMTtcbiAgICAgICAgdGhpcy5fcmF0aW9uYWwgPSBuZWcodGhpcy5fcmF0aW9uYWwpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzdC5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgcmVzdC5pc09uZSlcbiAgICAgIHJldHVybjtcbiAgICBsZXQgZXhwb25lbnQgPSBbMSwgMV07XG4gICAgaWYgKHJlc3QuaGVhZCA9PT0gXCJQb3dlclwiKSB7XG4gICAgICBjb25zdCByID0gYXNSYXRpb25hbChyZXN0Lm9wMik7XG4gICAgICBpZiAocikge1xuICAgICAgICBleHBvbmVudCA9IHI7XG4gICAgICAgIHJlc3QgPSByZXN0Lm9wMTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJlc3QuaGVhZCA9PT0gXCJEaXZpZGVcIikge1xuICAgICAgdGhpcy5hZGRUZXJtKHJlc3Qub3AxKTtcbiAgICAgIGV4cG9uZW50ID0gWy0xLCAxXTtcbiAgICAgIHJlc3QgPSByZXN0Lm9wMjtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCB4IG9mIHRoaXMuX3Rlcm1zKSB7XG4gICAgICBpZiAoeC50ZXJtLmlzU2FtZShyZXN0KSkge1xuICAgICAgICB4LmV4cG9uZW50ID0gYWRkMih4LmV4cG9uZW50LCBleHBvbmVudCk7XG4gICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghZm91bmQpXG4gICAgICB0aGlzLl90ZXJtcy5wdXNoKHsgdGVybTogcmVzdCwgZXhwb25lbnQgfSk7XG4gIH1cbiAgdW5pdFRlcm1zKG1vZGUpIHtcbiAgICBjb25zdCBjZSA9IHRoaXMuZW5naW5lO1xuICAgIGlmIChtb2RlID09PSBcIm51bWVyaWNcIikge1xuICAgICAgaWYgKCFjb21wbGV4QWxsb3dlZChjZSkgJiYgdGhpcy5fY29tcGxleC5pbSAhPT0gMClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBpZiAoYmlnbnVtUHJlZmVycmVkKGNlKSkge1xuICAgICAgICBsZXQgYjIgPSBjZS5fQklHTlVNX09ORTtcbiAgICAgICAgaWYgKCFpc1JhdGlvbmFsT25lKHRoaXMuX3JhdGlvbmFsKSkge1xuICAgICAgICAgIGlmIChpc0JpZ1JhdGlvbmFsKHRoaXMuX3JhdGlvbmFsKSlcbiAgICAgICAgICAgIGIyID0gY2UuYmlnbnVtKHRoaXMuX3JhdGlvbmFsWzBdLnRvU3RyaW5nKCkpLmRpdihjZS5iaWdudW0odGhpcy5fcmF0aW9uYWxbMV0udG9TdHJpbmcoKSkpO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIGIyID0gY2UuYmlnbnVtKHRoaXMuX3JhdGlvbmFsWzBdKS5kaXYodGhpcy5fcmF0aW9uYWxbMV0pO1xuICAgICAgICB9XG4gICAgICAgIGIyID0gYjIubXVsKHRoaXMuX2JpZ251bSkubXVsKHRoaXMuX3NpZ24gKiB0aGlzLl9udW1iZXIpO1xuICAgICAgICBpZiAodGhpcy5fY29tcGxleC5pbSAhPT0gMCkge1xuICAgICAgICAgIGNvbnN0IHogPSB0aGlzLl9jb21wbGV4Lm11bChiMi50b051bWJlcigpKTtcbiAgICAgICAgICBpZiAoei5lcXVhbHMoMSkpXG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgcmV0dXJuIFt7IGV4cG9uZW50OiBbMSwgMV0sIHRlcm1zOiBbY2UubnVtYmVyKHopXSB9XTtcbiAgICAgICAgfVxuICAgICAgICBiMiA9IGIyLm11bCh0aGlzLl9jb21wbGV4LnJlKTtcbiAgICAgICAgaWYgKGIyLmVxdWFscygxKSlcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBbeyBleHBvbmVudDogWzEsIDFdLCB0ZXJtczogW2NlLm51bWJlcihiMildIH1dO1xuICAgICAgfVxuICAgICAgbGV0IG4yID0gMTtcbiAgICAgIGlmICghaXNSYXRpb25hbE9uZSh0aGlzLl9yYXRpb25hbCkpIHtcbiAgICAgICAgaWYgKGlzQmlnUmF0aW9uYWwodGhpcy5fcmF0aW9uYWwpKVxuICAgICAgICAgIG4yID0gTnVtYmVyKHRoaXMuX3JhdGlvbmFsWzBdKSAvIE51bWJlcih0aGlzLl9yYXRpb25hbFsxXSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBuMiA9IHRoaXMuX3JhdGlvbmFsWzBdIC8gdGhpcy5fcmF0aW9uYWxbMV07XG4gICAgICB9XG4gICAgICBuMiAqPSB0aGlzLl9zaWduICogdGhpcy5fbnVtYmVyICogdGhpcy5fYmlnbnVtLnRvTnVtYmVyKCk7XG4gICAgICBpZiAodGhpcy5fY29tcGxleC5pbSAhPT0gMCkge1xuICAgICAgICBjb25zdCB6ID0gdGhpcy5fY29tcGxleC5tdWwobjIpO1xuICAgICAgICBpZiAoei5lcXVhbHMoMSkpXG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gW3sgZXhwb25lbnQ6IFsxLCAxXSwgdGVybXM6IFtjZS5udW1iZXIoeildIH1dO1xuICAgICAgfVxuICAgICAgbjIgKj0gdGhpcy5fY29tcGxleC5yZTtcbiAgICAgIGlmIChuMiA9PT0gMSlcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgcmV0dXJuIFt7IGV4cG9uZW50OiBbMSwgMV0sIHRlcm1zOiBbY2UubnVtYmVyKG4yKV0gfV07XG4gICAgfVxuICAgIGNvbnN0IHhzID0gW107XG4gICAgY29uc3QgdW5pdFRlcm1zID0gW107XG4gICAgaWYgKHRoaXMuX2hhc0luZmluaXR5KVxuICAgICAgdW5pdFRlcm1zLnB1c2goY2UuX1BPU0lUSVZFX0lORklOSVRZKTtcbiAgICB0aGlzLl9yYXRpb25hbCA9IHJlZHVjZWRSYXRpb25hbCh0aGlzLl9yYXRpb25hbCk7XG4gICAgaWYgKHRoaXMuX2NvbXBsZXgucmUgIT09IDEgfHwgdGhpcy5fY29tcGxleC5pbSAhPT0gMCkge1xuICAgICAgaWYgKHRoaXMuX2NvbXBsZXguaW0gPT09IDApXG4gICAgICAgIHRoaXMuX251bWJlciAqPSBNYXRoLmFicyh0aGlzLl9jb21wbGV4LnJlKTtcbiAgICAgIGlmICh0aGlzLl9jb21wbGV4LnJlIDwgMClcbiAgICAgICAgdGhpcy5fcmF0aW9uYWwgPSBuZWcodGhpcy5fcmF0aW9uYWwpO1xuICAgICAgZWxzZSB7XG4gICAgICAgIHVuaXRUZXJtcy5wdXNoKGNlLm51bWJlcih0aGlzLl9jb21wbGV4KSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBuID0gdGhpcy5fc2lnbiAqIHRoaXMuX251bWJlcjtcbiAgICBsZXQgYiA9IHRoaXMuX2JpZ251bTtcbiAgICBpZiAoIWlzUmF0aW9uYWxPbmUodGhpcy5fcmF0aW9uYWwpKSB7XG4gICAgICBpZiAobW9kZSA9PT0gXCJyYXRpb25hbFwiKSB7XG4gICAgICAgIGlmIChtYWNoaW5lTnVtZXJhdG9yKHRoaXMuX3JhdGlvbmFsKSAhPT0gMSkge1xuICAgICAgICAgIGlmIChpc0JpZ1JhdGlvbmFsKHRoaXMuX3JhdGlvbmFsKSlcbiAgICAgICAgICAgIGIgPSBiLm11bChjZS5iaWdudW0odGhpcy5fcmF0aW9uYWxbMF0pKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBuICo9IHRoaXMuX3JhdGlvbmFsWzBdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYWNoaW5lRGVub21pbmF0b3IodGhpcy5fcmF0aW9uYWwpICE9PSAxKVxuICAgICAgICAgIHhzLnB1c2goe1xuICAgICAgICAgICAgZXhwb25lbnQ6IFstMSwgMV0sXG4gICAgICAgICAgICB0ZXJtczogW2NlLm51bWJlcih0aGlzLl9yYXRpb25hbFsxXSldXG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobiA9PT0gLTEpIHtcbiAgICAgICAgICB1bml0VGVybXMucHVzaChjZS5udW1iZXIobmVnKHRoaXMuX3JhdGlvbmFsKSkpO1xuICAgICAgICAgIG4gPSAxO1xuICAgICAgICB9IGVsc2VcbiAgICAgICAgICB1bml0VGVybXMucHVzaChjZS5udW1iZXIodGhpcy5fcmF0aW9uYWwpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFiLmVxdWFscyhjZS5fQklHTlVNX09ORSkpXG4gICAgICB1bml0VGVybXMucHVzaChjZS5udW1iZXIoYi5tdWwobikpKTtcbiAgICBlbHNlIGlmIChuICE9PSAxKVxuICAgICAgdW5pdFRlcm1zLnB1c2goY2UubnVtYmVyKG4pKTtcbiAgICBpZiAodW5pdFRlcm1zLmxlbmd0aCA+IDApXG4gICAgICB4cy5wdXNoKHsgZXhwb25lbnQ6IFsxLCAxXSwgdGVybXM6IHVuaXRUZXJtcyB9KTtcbiAgICByZXR1cm4geHM7XG4gIH1cbiAgLyoqIFRoZSB0ZXJtcyBvZiB0aGUgcHJvZHVjdCwgZ3JvdXBlZCBieSBkZWdyZWVzLlxuICAgKlxuICAgKiBJZiBgbW9kZWAgaXMgYHJhdGlvbmFsYCwgcmF0aW9uYWxzIGFyZSBzcGxpdCBpbnRvIHNlcGFyYXRlIG51bWVyYXRvciBhbmRcbiAgICogZGVub21pbmF0b3IsIHNvIHRoYXQgYSByYXRpb25hbCBleHByZXNzaW9uIGNhbiBiZSBjcmVhdGVkIGxhdGVyXG4gICAqIElmIGBtb2RlYCBpcyBgZXhwcmVzc2lvbmAsIGEgcmVndWxhciBleHByZXNzaW9uIGlzIHJldHVybmVkLCB3aXRob3V0XG4gICAqIHNwbGl0dGluZyByYXRpb25hbHNcbiAgICogSWYgYG1vZGVgIGlzIGBudW1lcmljYCwgdGhlIGxpdGVyYWxzIGFyZSBjb21iaW5lZCBpbnRvIG9uZSBleHByZXNzaW9uXG4gICAqXG4gICAqL1xuICBncm91cGVkQnlEZWdyZWVzKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID8/IChvcHRpb25zID0ge30pO1xuICAgIGlmICghKFwibW9kZVwiIGluIG9wdGlvbnMpKVxuICAgICAgb3B0aW9ucy5tb2RlID0gXCJleHByZXNzaW9uXCI7XG4gICAgY29uc3QgY2UgPSB0aGlzLmVuZ2luZTtcbiAgICBpZiAob3B0aW9ucy5tb2RlID09PSBcIm51bWVyaWNcIikge1xuICAgICAgaWYgKHRoaXMuX2NvbXBsZXguaW0gIT09IDAgJiYgIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBpZiAodGhpcy5faGFzSW5maW5pdHkpXG4gICAgICAgIHJldHVybiBbeyBleHBvbmVudDogWzEsIDFdLCB0ZXJtczogW2NlLl9QT1NJVElWRV9JTkZJTklUWV0gfV07XG4gICAgfVxuICAgIGNvbnN0IHhzID0gdGhpcy51bml0VGVybXMob3B0aW9ucy5tb2RlID8/IFwiZXhwcmVzc2lvblwiKTtcbiAgICBpZiAoeHMgPT09IG51bGwpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBmb3IgKGNvbnN0IHQgb2YgdGhpcy5fdGVybXMpIHtcbiAgICAgIGNvbnN0IGV4cG9uZW50ID0gcmVkdWNlZFJhdGlvbmFsKHQuZXhwb25lbnQpO1xuICAgICAgaWYgKGV4cG9uZW50WzBdID09PSAwKVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCB4IG9mIHhzKSB7XG4gICAgICAgIGlmIChleHBvbmVudFswXSA9PT0geC5leHBvbmVudFswXSAmJiBleHBvbmVudFsxXSA9PT0geC5leHBvbmVudFsxXSkge1xuICAgICAgICAgIHgudGVybXMucHVzaCh0LnRlcm0pO1xuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZClcbiAgICAgICAgeHMucHVzaCh7IGV4cG9uZW50LCB0ZXJtczogW3QudGVybV0gfSk7XG4gICAgfVxuICAgIHJldHVybiB4cztcbiAgfVxuICBhc0V4cHJlc3Npb24obW9kZSA9IFwiZXZhbHVhdGVcIikge1xuICAgIGNvbnN0IGNlID0gdGhpcy5lbmdpbmU7XG4gICAgaWYgKHRoaXMuX2hhc0luZmluaXR5KSB7XG4gICAgICBpZiAodGhpcy5faGFzWmVybylcbiAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICBpZiAodGhpcy5fdGVybXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGlmIChtYWNoaW5lTnVtZXJhdG9yKHRoaXMuX3JhdGlvbmFsKSA+IDApXG4gICAgICAgICAgcmV0dXJuIGNlLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICAgICAgcmV0dXJuIGNlLl9ORUdBVElWRV9JTkZJTklUWTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuX2hhc1plcm8pXG4gICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgY29uc3QgZ3JvdXBlZFRlcm1zID0gdGhpcy5ncm91cGVkQnlEZWdyZWVzKHtcbiAgICAgIG1vZGU6IG1vZGUgPT09IFwiTlwiID8gXCJudW1lcmljXCIgOiBcImV4cHJlc3Npb25cIlxuICAgIH0pO1xuICAgIGlmIChncm91cGVkVGVybXMgPT09IG51bGwpXG4gICAgICByZXR1cm4gY2UuX05BTjtcbiAgICBjb25zdCB0ZXJtcyA9IHRlcm1zQXNFeHByZXNzaW9ucyhjZSwgZ3JvdXBlZFRlcm1zKTtcbiAgICBpZiAodGVybXMubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuIGNlLl9PTkU7XG4gICAgaWYgKHRlcm1zLmxlbmd0aCA9PT0gMSlcbiAgICAgIHJldHVybiB0ZXJtc1swXTtcbiAgICByZXR1cm4gdGhpcy5lbmdpbmUuX2ZuKFwiTXVsdGlwbHlcIiwgdGVybXMpO1xuICB9XG4gIC8qKiBUaGUgcHJvZHVjdCwgZXhwcmVzc2VkIGFzIGEgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciAqL1xuICBhc051bWVyYXRvckRlbm9taW5hdG9yKCkge1xuICAgIGNvbnN0IHhzID0gdGhpcy5ncm91cGVkQnlEZWdyZWVzKHsgbW9kZTogXCJyYXRpb25hbFwiIH0pO1xuICAgIGlmICh4cyA9PT0gbnVsbClcbiAgICAgIHJldHVybiBbdGhpcy5lbmdpbmUuX05BTiwgdGhpcy5lbmdpbmUuX05BTl07XG4gICAgY29uc3QgeHNOdW1lcmF0b3IgPSBbXTtcbiAgICBjb25zdCB4c0Rlbm9taW5hdG9yID0gW107XG4gICAgZm9yIChjb25zdCB4IG9mIHhzKVxuICAgICAgaWYgKHguZXhwb25lbnRbMF0gPj0gMClcbiAgICAgICAgeHNOdW1lcmF0b3IucHVzaCh4KTtcbiAgICAgIGVsc2VcbiAgICAgICAgeHNEZW5vbWluYXRvci5wdXNoKHtcbiAgICAgICAgICBleHBvbmVudDogbmVnKHguZXhwb25lbnQpLFxuICAgICAgICAgIHRlcm1zOiB4LnRlcm1zXG4gICAgICAgIH0pO1xuICAgIGNvbnN0IGNlID0gdGhpcy5lbmdpbmU7XG4gICAgY29uc3QgbnVtZXJhdG9yVGVybXMgPSB0ZXJtc0FzRXhwcmVzc2lvbnMoY2UsIHhzTnVtZXJhdG9yKTtcbiAgICBsZXQgbnVtZXJhdG9yID0gY2UuX09ORTtcbiAgICBpZiAobnVtZXJhdG9yVGVybXMubGVuZ3RoID09PSAxKVxuICAgICAgbnVtZXJhdG9yID0gbnVtZXJhdG9yVGVybXNbMF07XG4gICAgZWxzZSBpZiAobnVtZXJhdG9yVGVybXMubGVuZ3RoID4gMClcbiAgICAgIG51bWVyYXRvciA9IGNlLl9mbihcIk11bHRpcGx5XCIsIG51bWVyYXRvclRlcm1zKTtcbiAgICBjb25zdCBkZW5vbWluYXRvclRlcm1zID0gdGVybXNBc0V4cHJlc3Npb25zKGNlLCB4c0Rlbm9taW5hdG9yKTtcbiAgICBsZXQgZGVub21pbmF0b3IgPSBjZS5fT05FO1xuICAgIGlmIChkZW5vbWluYXRvclRlcm1zLmxlbmd0aCA9PT0gMSlcbiAgICAgIGRlbm9taW5hdG9yID0gZGVub21pbmF0b3JUZXJtc1swXTtcbiAgICBlbHNlIGlmIChkZW5vbWluYXRvclRlcm1zLmxlbmd0aCA+IDApXG4gICAgICBkZW5vbWluYXRvciA9IGNlLl9mbihcIk11bHRpcGx5XCIsIGRlbm9taW5hdG9yVGVybXMpO1xuICAgIHJldHVybiBbbnVtZXJhdG9yLCBkZW5vbWluYXRvcl07XG4gIH1cbiAgYXNSYXRpb25hbEV4cHJlc3Npb24oKSB7XG4gICAgY29uc3QgW251bWVyYXRvciwgZGVub21pbmF0b3JdID0gdGhpcy5hc051bWVyYXRvckRlbm9taW5hdG9yKCk7XG4gICAgaWYgKGRlbm9taW5hdG9yLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKGRlbm9taW5hdG9yLmlzT25lKVxuICAgICAgICByZXR1cm4gbnVtZXJhdG9yO1xuICAgICAgaWYgKGRlbm9taW5hdG9yLmlzTmVnYXRpdmVPbmUpXG4gICAgICAgIHJldHVybiB0aGlzLmVuZ2luZS5uZWcobnVtZXJhdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lLl9mbihcIkRpdmlkZVwiLCBbbnVtZXJhdG9yLCBkZW5vbWluYXRvcl0pO1xuICB9XG59O1xuZnVuY3Rpb24gZGVncmVlS2V5KGV4cG9uZW50KSB7XG4gIGlmIChpc1JhdGlvbmFsT25lKGV4cG9uZW50KSlcbiAgICByZXR1cm4gMDtcbiAgY29uc3QgW24sIGRdID0gW21hY2hpbmVOdW1lcmF0b3IoZXhwb25lbnQpLCBtYWNoaW5lRGVub21pbmF0b3IoZXhwb25lbnQpXTtcbiAgaWYgKG4gPiAwICYmIE51bWJlci5pc0ludGVnZXIobiAvIGQpKVxuICAgIHJldHVybiAxO1xuICBpZiAobiA+IDApXG4gICAgcmV0dXJuIDI7XG4gIGlmIChOdW1iZXIuaXNJbnRlZ2VyKG4gLyBkKSlcbiAgICByZXR1cm4gMztcbiAgcmV0dXJuIDQ7XG59XG5mdW5jdGlvbiBkZWdyZWVPcmRlcihhLCBiKSB7XG4gIGNvbnN0IGtleUEgPSBkZWdyZWVLZXkoYS5leHBvbmVudCk7XG4gIGNvbnN0IGtleUIgPSBkZWdyZWVLZXkoYi5leHBvbmVudCk7XG4gIGlmIChrZXlBICE9PSBrZXlCKVxuICAgIHJldHVybiBrZXlBIC0ga2V5QjtcbiAgY29uc3QgW2FfbiwgYV9kXSA9IFtcbiAgICBtYWNoaW5lTnVtZXJhdG9yKGEuZXhwb25lbnQpLFxuICAgIG1hY2hpbmVEZW5vbWluYXRvcihhLmV4cG9uZW50KVxuICBdO1xuICBjb25zdCBbYl9uLCBiX2RdID0gW1xuICAgIG1hY2hpbmVOdW1lcmF0b3IoYi5leHBvbmVudCksXG4gICAgbWFjaGluZURlbm9taW5hdG9yKGIuZXhwb25lbnQpXG4gIF07XG4gIHJldHVybiBhX24gLyBhX2QgLSBiX24gLyBiX2Q7XG59XG5mdW5jdGlvbiB0ZXJtc0FzRXhwcmVzc2lvbnMoY2UsIHRlcm1zKSB7XG4gIGNvbnN0IHJlc3VsdCA9IHRlcm1zLnNvcnQoZGVncmVlT3JkZXIpLm1hcCgoeCkgPT4ge1xuICAgIGNvbnN0IHQgPSBmbGF0dGVuT3BzKHgudGVybXMsIFwiTXVsdGlwbHlcIik7XG4gICAgY29uc3QgYmFzZSA9IHQubGVuZ3RoIDw9IDEgPyB0WzBdIDogY2UuX2ZuKFwiTXVsdGlwbHlcIiwgdC5zb3J0KG9yZGVyKSk7XG4gICAgaWYgKGlzUmF0aW9uYWxPbmUoeC5leHBvbmVudCkpXG4gICAgICByZXR1cm4gYmFzZTtcbiAgICByZXR1cm4gY2UucG93KGJhc2UsIHguZXhwb25lbnQpO1xuICB9KTtcbiAgcmV0dXJuIGZsYXR0ZW5PcHMocmVzdWx0LCBcIk11bHRpcGx5XCIpID8/IHJlc3VsdDtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2JveGVkLWV4cHJlc3Npb24vc2VyaWFsaXplLnRzXG5mdW5jdGlvbiBzdWJ0cmFjdChjZSwgYSwgYiwgbWV0YWRhdGEpIHtcbiAgaWYgKGEubnVtZXJpY1ZhbHVlICE9PSBudWxsKSB7XG4gICAgaWYgKGlzUmF0aW9uYWwoYS5udW1lcmljVmFsdWUpKSB7XG4gICAgICBpZiAobWFjaGluZU51bWVyYXRvcihhLm51bWVyaWNWYWx1ZSkgPCAwKSB7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgICAgY2UsXG4gICAgICAgICAgXCJTdWJ0cmFjdFwiLFxuICAgICAgICAgIFtiLCBjZS5udW1iZXIobmVnKGEubnVtZXJpY1ZhbHVlKSldLFxuICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgdDAgPSBhc1NtYWxsSW50ZWdlcihhKTtcbiAgICBpZiAodDAgIT09IG51bGwgJiYgdDAgPCAwKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihcbiAgICAgICAgY2UsXG4gICAgICAgIFwiU3VidHJhY3RcIixcbiAgICAgICAgW2IsIGNlLm51bWJlcigtdDApXSxcbiAgICAgICAgbWV0YWRhdGFcbiAgICAgICk7XG4gIH1cbiAgaWYgKGEuaGVhZCA9PT0gXCJOZWdhdGVcIilcbiAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBcIlN1YnRyYWN0XCIsIFtiLCBhLm9wMV0sIG1ldGFkYXRhKTtcbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBzZXJpYWxpemVKc29uQ2Fub25pY2FsRnVuY3Rpb24oY2UsIGhlYWQyLCBhcmdzLCBtZXRhZGF0YSkge1xuICBjb25zdCBleGNsdXNpb25zID0gY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLmV4Y2x1ZGU7XG4gIGlmIChoZWFkMiA9PT0gXCJBZGRcIiAmJiBhcmdzLmxlbmd0aCA9PT0gMiAmJiAhZXhjbHVzaW9ucy5pbmNsdWRlcyhcIlN1YnRyYWN0XCIpKSB7XG4gICAgY29uc3Qgc3ViMiA9IHN1YnRyYWN0KGNlLCBhcmdzWzBdLCBhcmdzWzFdLCBtZXRhZGF0YSkgPz8gc3VidHJhY3QoY2UsIGFyZ3NbMV0sIGFyZ3NbMF0sIG1ldGFkYXRhKTtcbiAgICBpZiAoc3ViMilcbiAgICAgIHJldHVybiBzdWIyO1xuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJEaXZpZGVcIiAmJiBhcmdzLmxlbmd0aCA9PT0gMiAmJiBleGNsdXNpb25zLmluY2x1ZGVzKFwiRGl2aWRlXCIpKSB7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihcbiAgICAgIGNlLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgW2FyZ3NbMF0sIGNlLl9mbihcIlBvd2VyXCIsIFthcmdzWzFdLCBjZS5fTkVHQVRJVkVfT05FXSldLFxuICAgICAgbWV0YWRhdGFcbiAgICApO1xuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJNdWx0aXBseVwiICYmICFleGNsdXNpb25zLmluY2x1ZGVzKFwiTmVnYXRlXCIpKSB7XG4gICAgaWYgKGFzRmxvYXQoYXJnc1swXSkgPT09IC0xKSB7XG4gICAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oY2UsIFwiTmVnYXRlXCIsIFthcmdzWzFdXSk7XG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICBjZSxcbiAgICAgICAgXCJOZWdhdGVcIixcbiAgICAgICAgW2NlLl9mbihcIk11bHRpcGx5XCIsIGFyZ3Muc2xpY2UoMSkpXSxcbiAgICAgICAgbWV0YWRhdGFcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJNdWx0aXBseVwiICYmICFleGNsdXNpb25zLmluY2x1ZGVzKFwiRGl2aWRlXCIpKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFByb2R1Y3QoY2UsIGFyZ3MsIHtcbiAgICAgIGNhbm9uaWNhbDogZmFsc2VcbiAgICB9KS5hc1JhdGlvbmFsRXhwcmVzc2lvbigpO1xuICAgIGlmIChyZXN1bHQuaGVhZCA9PT0gXCJEaXZpZGVcIilcbiAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oY2UsIHJlc3VsdC5oZWFkLCByZXN1bHQub3BzLCBtZXRhZGF0YSk7XG4gIH1cbiAgaWYgKGhlYWQyID09PSBcIlBvd2VyXCIpIHtcbiAgICBpZiAoIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJFeHBcIikgJiYgYXJnc1swXT8uc3ltYm9sID09PSBcIkV4cG9uZW50aWFsRVwiKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihjZSwgXCJFeHBcIiwgW2FyZ3NbMV1dLCBtZXRhZGF0YSk7XG4gICAgaWYgKGFyZ3NbMV0/Lm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZXhwMiA9IGFzU21hbGxJbnRlZ2VyKGFyZ3NbMV0pO1xuICAgICAgaWYgKGV4cDIgPT09IDIgJiYgIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJTcXVhcmVcIikpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oY2UsIFwiU3F1YXJlXCIsIFthcmdzWzBdXSwgbWV0YWRhdGEpO1xuICAgICAgaWYgKGV4cDIgIT09IG51bGwgJiYgZXhwMiA8IDAgJiYgIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJEaXZpZGVcIikpIHtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihcbiAgICAgICAgICBjZSxcbiAgICAgICAgICBcIkRpdmlkZVwiLFxuICAgICAgICAgIFtjZS5fT05FLCBleHAyID09PSAtMSA/IGFyZ3NbMF0gOiBjZS5wb3coYXJnc1swXSwgLWV4cDIpXSxcbiAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgciA9IGFyZ3NbMV0ubnVtZXJpY1ZhbHVlO1xuICAgICAgaWYgKCFleGNsdXNpb25zLmluY2x1ZGVzKFwiU3FydFwiKSAmJiByID09PSAwLjUpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oY2UsIFwiU3FydFwiLCBbYXJnc1swXV0sIG1ldGFkYXRhKTtcbiAgICAgIGlmICghZXhjbHVzaW9ucy5pbmNsdWRlcyhcIlNxcnRcIikgJiYgciA9PT0gLTAuNSlcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihcbiAgICAgICAgICBjZSxcbiAgICAgICAgICBcIkRpdmlkZVwiLFxuICAgICAgICAgIFtjZS5fT05FLCBjZS5fZm4oXCJTcXJ0XCIsIFthcmdzWzBdXSldLFxuICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICk7XG4gICAgICBpZiAoaXNSYXRpb25hbChyKSkge1xuICAgICAgICBjb25zdCBuID0gbWFjaGluZU51bWVyYXRvcihyKTtcbiAgICAgICAgY29uc3QgZCA9IG1hY2hpbmVEZW5vbWluYXRvcihyKTtcbiAgICAgICAgaWYgKG4gPT09IDEpIHtcbiAgICAgICAgICBpZiAoIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJTcXJ0XCIpICYmIGQgPT09IDIpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBcIlNxcnRcIiwgW2FyZ3NbMF1dLCBtZXRhZGF0YSk7XG4gICAgICAgICAgaWYgKCFleGNsdXNpb25zLmluY2x1ZGVzKFwiUm9vdFwiKSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgICAgICAgIGNlLFxuICAgICAgICAgICAgICBcIlJvb3RcIixcbiAgICAgICAgICAgICAgW2FyZ3NbMF0sIGNlLm51bWJlcihyWzFdKV0sXG4gICAgICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuID09PSAtMSkge1xuICAgICAgICAgIGlmICghZXhjbHVzaW9ucy5pbmNsdWRlcyhcIlNxcnRcIikgJiYgZCA9PT0gMilcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgICAgICAgIGNlLFxuICAgICAgICAgICAgICBcIkRpdmlkZVwiLFxuICAgICAgICAgICAgICBbY2UuX09ORSwgY2UuX2ZuKFwiU3FydFwiLCBbYXJnc1swXV0pXSxcbiAgICAgICAgICAgICAgbWV0YWRhdGFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKCFleGNsdXNpb25zLmluY2x1ZGVzKFwiUm9vdFwiKSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgICAgICAgIGNlLFxuICAgICAgICAgICAgICBcIkRpdmlkZVwiLFxuICAgICAgICAgICAgICBbY2UuX09ORSwgY2UuX2ZuKFwiUm9vdFwiLCBbYXJnc1swXSwgY2UubnVtYmVyKHJbMV0pXSldLFxuICAgICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBoZWFkMiwgYXJncywgbWV0YWRhdGEpO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBoZWFkMiwgYXJncywgbWV0YWRhdGEpIHtcbiAgY29uc3QgZXhjbHVzaW9ucyA9IGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5leGNsdWRlO1xuICBpZiAoKGhlYWQyID09PSBcIlJhdGlvbmFsXCIgfHwgaGVhZDIgPT09IFwiRGl2aWRlXCIpICYmIGFyZ3MubGVuZ3RoID09PSAyICYmIGFzU21hbGxJbnRlZ2VyKGFyZ3NbMF0pID09PSAxICYmIGFzU21hbGxJbnRlZ2VyKGFyZ3NbMV0pID09PSAyICYmICFleGNsdXNpb25zLmluY2x1ZGVzKFwiSGFsZlwiKSkge1xuICAgIHJldHVybiBzZXJpYWxpemVKc29uU3ltYm9sKGNlLCBcIkhhbGZcIiwge1xuICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICB3aWtpZGF0YTogXCJRMzkzNzMxNzJcIlxuICAgIH0pO1xuICB9XG4gIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IG51bTAgPSBhcmdzWzBdLm51bWVyaWNWYWx1ZTtcbiAgICBpZiAoaGVhZDIgPT09IFwiTmVnYXRlXCIgJiYgbnVtMCAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBudW0wID09PSBcIm51bWJlclwiKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbk51bWJlcihjZSwgLW51bTApO1xuICAgICAgaWYgKG51bTAgaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uTnVtYmVyKGNlLCBudW0wLm5lZygpKTtcbiAgICAgIGlmIChudW0wIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg4LkNvbXBsZXgpXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uTnVtYmVyKGNlLCBudW0wLm5lZygpKTtcbiAgICAgIGlmIChpc1JhdGlvbmFsKG51bTApKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbk51bWJlcihjZSwgbmVnKG51bTApKTtcbiAgICB9XG4gIH1cbiAgaWYgKHR5cGVvZiBoZWFkMiA9PT0gXCJzdHJpbmdcIiAmJiBleGNsdXNpb25zLmluY2x1ZGVzKGhlYWQyKSkge1xuICAgIGlmIChoZWFkMiA9PT0gXCJSYXRpb25hbFwiICYmIGFyZ3MubGVuZ3RoID09PSAyKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihjZSwgXCJEaXZpZGVcIiwgYXJncywgbWV0YWRhdGEpO1xuICAgIGlmIChoZWFkMiA9PT0gXCJDb21wbGV4XCIgJiYgYXJncy5sZW5ndGggPT09IDIpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICBjZSxcbiAgICAgICAgXCJBZGRcIixcbiAgICAgICAgW2FyZ3NbMF0sIGNlLl9mbihcIk11bHRpcGx5XCIsIFthcmdzWzFdLCBjZS5zeW1ib2woXCJJbWFnaW5hcnlVbml0XCIpXSldLFxuICAgICAgICBtZXRhZGF0YVxuICAgICAgKTtcbiAgICBpZiAoaGVhZDIgPT09IFwiU3FydFwiICYmIGFyZ3MubGVuZ3RoID09PSAxKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihcbiAgICAgICAgY2UsXG4gICAgICAgIFwiUG93ZXJcIixcbiAgICAgICAgW2FyZ3NbMF0sIGV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJIYWxmXCIpID8gY2UubnVtYmVyKFsxLCAyXSkgOiBjZS5fSEFMRl0sXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuICAgIGlmIChoZWFkMiA9PT0gXCJSb290XCIgJiYgYXJncy5sZW5ndGggPT09IDIgJiYgYXJnc1sxXS5udW1lcmljVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG4gPSBhc1NtYWxsSW50ZWdlcihhcmdzWzFdKTtcbiAgICAgIGlmIChuID09PSAyKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBcIlNxcnRcIiwgW2FyZ3NbMF1dKTtcbiAgICAgIGlmIChuICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChuIDwgMClcbiAgICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICAgICAgY2UsXG4gICAgICAgICAgICBcIkRpdmlkZVwiLFxuICAgICAgICAgICAgW2NlLl9PTkUsIGNlLl9mbihcIlBvd2VyXCIsIFthcmdzWzBdLCBjZS5udW1iZXIoWzEsIC1uXSldKV0sXG4gICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICk7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgICAgY2UsXG4gICAgICAgICAgXCJQb3dlclwiLFxuICAgICAgICAgIFthcmdzWzBdLCBjZS5udW1iZXIoWzEsIC1uXSldLFxuICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChoZWFkMiA9PT0gXCJTcXVhcmVcIiAmJiBhcmdzLmxlbmd0aCA9PT0gMSlcbiAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgIGNlLFxuICAgICAgICBcIlBvd2VyXCIsXG4gICAgICAgIFthcmdzWzBdLCBjZS5udW1iZXIoMildLFxuICAgICAgICBtZXRhZGF0YVxuICAgICAgKTtcbiAgICBpZiAoaGVhZDIgPT09IFwiRXhwXCIgJiYgYXJncy5sZW5ndGggPT09IDEpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICBjZSxcbiAgICAgICAgXCJQb3dlclwiLFxuICAgICAgICBbY2Uuc3ltYm9sKFwiRXhwb25lbnRpYWxFXCIpLCBhcmdzWzBdXSxcbiAgICAgICAgbWV0YWRhdGFcbiAgICAgICk7XG4gICAgaWYgKGhlYWQyID09PSBcIlN1YnRyYWN0XCIgJiYgYXJncy5sZW5ndGggPT09IDIpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICBjZSxcbiAgICAgICAgXCJBZGRcIixcbiAgICAgICAgW2FyZ3NbMF0sIGNlLl9mbihcIk5lZ2F0ZVwiLCBbYXJnc1sxXV0pXSxcbiAgICAgICAgbWV0YWRhdGFcbiAgICAgICk7XG4gICAgaWYgKGhlYWQyID09PSBcIlN1YnRyYWN0XCIgJiYgYXJncy5sZW5ndGggPT09IDEpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBcIk5lZ2F0ZVwiLCBhcmdzLCBtZXRhZGF0YSk7XG4gIH1cbiAgaWYgKGhlYWQyID09PSBcIkFkZFwiICYmIGFyZ3MubGVuZ3RoID09PSAyICYmICFleGNsdXNpb25zLmluY2x1ZGVzKFwiU3VidHJhY3RcIikpIHtcbiAgICBpZiAoYXJnc1sxXS5udW1lcmljVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHQxID0gYXNTbWFsbEludGVnZXIoYXJnc1sxXSk7XG4gICAgICBpZiAodDEgIT09IG51bGwgJiYgdDEgPCAwKVxuICAgICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgICAgIGNlLFxuICAgICAgICAgIFwiU3VidHJhY3RcIixcbiAgICAgICAgICBbYXJnc1swXSwgY2UubnVtYmVyKC10MSldLFxuICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICk7XG4gICAgfVxuICAgIGlmIChhcmdzWzFdLmhlYWQgPT09IFwiTmVnYXRlXCIpIHtcbiAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oXG4gICAgICAgIGNlLFxuICAgICAgICBcIlN1YnRyYWN0XCIsXG4gICAgICAgIFthcmdzWzBdLCBhcmdzWzFdLm9wMV0sXG4gICAgICAgIG1ldGFkYXRhXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBpZiAoaGVhZDIgPT09IFwiVHVwbGVcIikge1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSAmJiAhZXhjbHVzaW9ucy5pbmNsdWRlcyhcIlNpbmdsZVwiKSlcbiAgICAgIHJldHVybiBzZXJpYWxpemVKc29uRnVuY3Rpb24oY2UsIFwiU2luZ2xlXCIsIGFyZ3MsIG1ldGFkYXRhKTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDIgJiYgIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJQYWlyXCIpKVxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbihjZSwgXCJQYWlyXCIsIGFyZ3MsIG1ldGFkYXRhKTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDMgJiYgIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJUcmlwbGVcIikpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKGNlLCBcIlRyaXBsZVwiLCBhcmdzLCBtZXRhZGF0YSk7XG4gIH1cbiAgY29uc3QganNvbkhlYWQgPSB0eXBlb2YgaGVhZDIgPT09IFwic3RyaW5nXCIgPyBfZXNjYXBlSnNvblN0cmluZyhoZWFkMikgOiBoZWFkMi5qc29uO1xuICBjb25zdCBmbiA9IFtqc29uSGVhZCwgLi4uYXJncy5tYXAoKHgpID0+IHguanNvbildO1xuICBjb25zdCBtZCA9IHsgLi4ubWV0YWRhdGEgPz8ge30gfTtcbiAgaWYgKGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5tZXRhZGF0YS5pbmNsdWRlcyhcImxhdGV4XCIpKSB7XG4gICAgbWQubGF0ZXggPSBfZXNjYXBlSnNvblN0cmluZyhtZC5sYXRleCA/PyBjZS5zZXJpYWxpemUoeyBmbiB9KSk7XG4gIH0gZWxzZVxuICAgIG1kLmxhdGV4ID0gXCJcIjtcbiAgaWYgKCFjZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMubWV0YWRhdGEuaW5jbHVkZXMoXCJ3aWtpZGF0YVwiKSlcbiAgICBtZC53aWtpZGF0YSA9IFwiXCI7XG4gIGlmICghbWQubGF0ZXggJiYgIW1kLndpa2lkYXRhICYmIGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5zaG9ydGhhbmRzLmluY2x1ZGVzKFwiZnVuY3Rpb25cIikpXG4gICAgcmV0dXJuIGZuO1xuICBpZiAobWQubGF0ZXggJiYgbWQud2lraWRhdGEpXG4gICAgcmV0dXJuIHsgZm4sIGxhdGV4OiBtZC5sYXRleCwgd2lraWRhdGE6IG1kLndpa2lkYXRhIH07XG4gIGlmIChtZC5sYXRleClcbiAgICByZXR1cm4geyBmbiwgbGF0ZXg6IG1kLmxhdGV4IH07XG4gIGlmIChtZC53aWtpZGF0YSlcbiAgICByZXR1cm4geyBmbiwgd2lraWRhdGE6IG1kLndpa2lkYXRhIH07XG4gIHJldHVybiB7IGZuIH07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVKc29uU3RyaW5nKGNlLCBzKSB7XG4gIHMgPSBfZXNjYXBlSnNvblN0cmluZyhzKTtcbiAgaWYgKGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5zaG9ydGhhbmRzLmluY2x1ZGVzKFwic3RyaW5nXCIpKVxuICAgIHJldHVybiBgJyR7c30nYDtcbiAgcmV0dXJuIHsgc3RyOiBzIH07XG59XG5mdW5jdGlvbiBzZXJpYWxpemVKc29uU3ltYm9sKGNlLCBzeW0sIG1ldGFkYXRhKSB7XG4gIGlmIChzeW0gPT09IFwiSGFsZlwiICYmIGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5leGNsdWRlLmluY2x1ZGVzKFwiSGFsZlwiKSkge1xuICAgIHJldHVybiBzZXJpYWxpemVKc29uTnVtYmVyKGNlLCBbMSwgMl0sIG1ldGFkYXRhKTtcbiAgfVxuICBtZXRhZGF0YSA9IHsgLi4ubWV0YWRhdGEgfTtcbiAgaWYgKGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5tZXRhZGF0YS5pbmNsdWRlcyhcImxhdGV4XCIpKSB7XG4gICAgbWV0YWRhdGEubGF0ZXggPSBtZXRhZGF0YS5sYXRleCA/PyBjZS5zZXJpYWxpemUoeyBzeW0gfSk7XG4gICAgaWYgKG1ldGFkYXRhLmxhdGV4ICE9PSB2b2lkIDApXG4gICAgICBtZXRhZGF0YS5sYXRleCA9IF9lc2NhcGVKc29uU3RyaW5nKG1ldGFkYXRhLmxhdGV4KTtcbiAgfSBlbHNlXG4gICAgbWV0YWRhdGEubGF0ZXggPSB2b2lkIDA7XG4gIGlmIChjZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMubWV0YWRhdGEuaW5jbHVkZXMoXCJ3aWtpZGF0YVwiKSkge1xuICAgIGlmIChtZXRhZGF0YS53aWtpZGF0YSA9PT0gdm9pZCAwKSB7XG4gICAgICBjb25zdCB3aWtpZGF0YSA9IGNlLmxvb2t1cFN5bWJvbChzeW0pPy53aWtpZGF0YTtcbiAgICAgIGlmICh3aWtpZGF0YSAhPT0gdm9pZCAwKVxuICAgICAgICBtZXRhZGF0YS53aWtpZGF0YSA9IF9lc2NhcGVKc29uU3RyaW5nKHdpa2lkYXRhKTtcbiAgICB9XG4gIH0gZWxzZVxuICAgIG1ldGFkYXRhLndpa2lkYXRhID0gdm9pZCAwO1xuICBzeW0gPSBfZXNjYXBlSnNvblN0cmluZyhzeW0pO1xuICBpZiAobWV0YWRhdGEubGF0ZXggPT09IHZvaWQgMCAmJiBtZXRhZGF0YS53aWtpZGF0YSA9PT0gdm9pZCAwICYmIGNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5zaG9ydGhhbmRzLmluY2x1ZGVzKFwic3ltYm9sXCIpKVxuICAgIHJldHVybiBzeW07XG4gIGlmIChtZXRhZGF0YS5sYXRleCAhPT0gdm9pZCAwICYmIG1ldGFkYXRhLndpa2lkYXRhICE9PSB2b2lkIDApXG4gICAgcmV0dXJuIHsgc3ltLCBsYXRleDogbWV0YWRhdGEubGF0ZXgsIHdpa2lkYXRhOiBtZXRhZGF0YS53aWtpZGF0YSB9O1xuICBpZiAobWV0YWRhdGEubGF0ZXggIT09IHZvaWQgMClcbiAgICByZXR1cm4geyBzeW0sIGxhdGV4OiBtZXRhZGF0YS5sYXRleCB9O1xuICBpZiAobWV0YWRhdGEud2lraWRhdGEgIT09IHZvaWQgMClcbiAgICByZXR1cm4geyBzeW0sIHdpa2lkYXRhOiBtZXRhZGF0YS53aWtpZGF0YSB9O1xuICByZXR1cm4geyBzeW0gfTtcbn1cbmZ1bmN0aW9uIHNlcmlhbGl6ZUpzb25OdW1iZXIoY2UsIHZhbHVlLCBtZXRhZGF0YSkge1xuICBtZXRhZGF0YSA9IHsgLi4ubWV0YWRhdGEgfTtcbiAgaWYgKCFjZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMubWV0YWRhdGEuaW5jbHVkZXMoXCJsYXRleFwiKSlcbiAgICBtZXRhZGF0YS5sYXRleCA9IHZvaWQgMDtcbiAgY29uc3Qgc2hvcnRoYW5kQWxsb3dlZCA9IG1ldGFkYXRhLmxhdGV4ID09PSB2b2lkIDAgJiYgbWV0YWRhdGEud2lraWRhdGEgPT09IHZvaWQgMCAmJiAhY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLm1ldGFkYXRhLmluY2x1ZGVzKFwibGF0ZXhcIikgJiYgY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLnNob3J0aGFuZHMuaW5jbHVkZXMoXCJudW1iZXJcIik7XG4gIGNvbnN0IGV4Y2x1c2lvbnMgPSBjZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMuZXhjbHVkZTtcbiAgbGV0IG51bSA9IFwiXCI7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdCkge1xuICAgIGlmICh2YWx1ZS5pc05hTigpKVxuICAgICAgbnVtID0gXCJOYU5cIjtcbiAgICBlbHNlIGlmICghdmFsdWUuaXNGaW5pdGUoKSlcbiAgICAgIG51bSA9IHZhbHVlLmlzUG9zaXRpdmUoKSA/IFwiK0luZmluaXR5XCIgOiBcIi1JbmZpbml0eVwiO1xuICAgIGVsc2Uge1xuICAgICAgaWYgKHNob3J0aGFuZEFsbG93ZWQgJiYgaXNJbk1hY2hpbmVSYW5nZSh2YWx1ZSkpXG4gICAgICAgIHJldHVybiB2YWx1ZS50b051bWJlcigpO1xuICAgICAgaWYgKHZhbHVlLmlzSW50ZWdlcigpICYmIHZhbHVlLmUgPCB2YWx1ZS5wcmVjaXNpb24oKSArIDQpXG4gICAgICAgIG51bSA9IHZhbHVlLnRvRml4ZWQoMCk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLnByZWNpc2lvbjtcbiAgICAgICAgY29uc3QgcyA9IHByZWNpc2lvbiA9PT0gXCJtYXhcIiA/IHZhbHVlLnRvU3RyaW5nKCkgOiB2YWx1ZS50b1ByZWNpc2lvbihcbiAgICAgICAgICBwcmVjaXNpb24gPT09IFwiYXV0b1wiID8gY2UucHJlY2lzaW9uIDogcHJlY2lzaW9uXG4gICAgICAgICk7XG4gICAgICAgIG51bSA9IHJlcGVhdGluZ0RlY2ltYWxzKGNlLCBzKTtcbiAgICAgICAgaWYgKHNob3J0aGFuZEFsbG93ZWQpIHtcbiAgICAgICAgICBjb25zdCB2YWwgPSB2YWx1ZS50b051bWJlcigpO1xuICAgICAgICAgIGlmICh2YWwudG9TdHJpbmcoKSA9PT0gbnVtKVxuICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLm1ldGFkYXRhLmluY2x1ZGVzKFwibGF0ZXhcIikpXG4gICAgICBtZXRhZGF0YS5sYXRleCA9IG1ldGFkYXRhLmxhdGV4ID8/IGNlLnNlcmlhbGl6ZSh7IG51bSB9KTtcbiAgICByZXR1cm4gbWV0YWRhdGEubGF0ZXggIT09IHZvaWQgMCA/IHsgbnVtLCBsYXRleDogbWV0YWRhdGEubGF0ZXggfSA6IHNob3J0aGFuZEFsbG93ZWQgPyBudW0gOiB7IG51bSB9O1xuICB9XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4OC5Db21wbGV4KSB7XG4gICAgaWYgKHZhbHVlLmlzSW5maW5pdGUoKSlcbiAgICAgIHJldHVybiBzZXJpYWxpemVKc29uU3ltYm9sKGNlLCBcIkNvbXBsZXhJbmZpbml0eVwiLCBtZXRhZGF0YSk7XG4gICAgaWYgKHZhbHVlLmlzTmFOKCkpIHtcbiAgICAgIG51bSA9IFwiTmFOXCI7XG4gICAgICBpZiAoY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLm1ldGFkYXRhLmluY2x1ZGVzKFwibGF0ZXhcIikpXG4gICAgICAgIG1ldGFkYXRhLmxhdGV4ID0gbWV0YWRhdGEubGF0ZXggPz8gY2Uuc2VyaWFsaXplKHsgbnVtIH0pO1xuICAgICAgcmV0dXJuIG1ldGFkYXRhLmxhdGV4ICE9PSB2b2lkIDAgPyB7IG51bSwgbGF0ZXg6IG1ldGFkYXRhLmxhdGV4IH0gOiB7IG51bSB9O1xuICAgIH1cbiAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgY2UsXG4gICAgICBcIkNvbXBsZXhcIixcbiAgICAgIFtjZS5udW1iZXIodmFsdWUucmUpLCBjZS5udW1iZXIodmFsdWUuaW0pXSxcbiAgICAgIHtcbiAgICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICAgIHdpa2lkYXRhOiBcIlExMTU2N1wiXG4gICAgICB9XG4gICAgKTtcbiAgfVxuICBpZiAoaXNSYXRpb25hbCh2YWx1ZSkpIHtcbiAgICBjb25zdCBhbGxvd1JhdGlvbmFsID0gIWV4Y2x1c2lvbnMuaW5jbHVkZXMoXCJSYXRpb25hbFwiKTtcbiAgICBpZiAoc2hvcnRoYW5kQWxsb3dlZCAmJiBjZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMuc2hvcnRoYW5kcy5pbmNsdWRlcyhcImZ1bmN0aW9uXCIpICYmIGlzTWFjaGluZVJhdGlvbmFsKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlWzBdID09PSAxICYmIHZhbHVlWzFdID09PSAyICYmICFleGNsdXNpb25zLmluY2x1ZGVzKFwiSGFsZlwiKSlcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25TeW1ib2woY2UsIFwiSGFsZlwiLCBtZXRhZGF0YSk7XG4gICAgICByZXR1cm4gW2FsbG93UmF0aW9uYWwgPyBcIlJhdGlvbmFsXCIgOiBcIkRpdmlkZVwiLCB2YWx1ZVswXSwgdmFsdWVbMV1dO1xuICAgIH1cbiAgICByZXR1cm4gc2VyaWFsaXplSnNvbkZ1bmN0aW9uKFxuICAgICAgY2UsXG4gICAgICBhbGxvd1JhdGlvbmFsID8gXCJSYXRpb25hbFwiIDogXCJEaXZpZGVcIixcbiAgICAgIFtjZS5udW1iZXIodmFsdWVbMF0pLCBjZS5udW1iZXIodmFsdWVbMV0pXSxcbiAgICAgIHsgLi4ubWV0YWRhdGEgfVxuICAgICk7XG4gIH1cbiAgaWYgKE51bWJlci5pc05hTih2YWx1ZSkpXG4gICAgbnVtID0gXCJOYU5cIjtcbiAgZWxzZSBpZiAoIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpXG4gICAgbnVtID0gdmFsdWUgPiAwID8gXCIrSW5maW5pdHlcIiA6IFwiLUluZmluaXR5XCI7XG4gIGVsc2Uge1xuICAgIGlmIChzaG9ydGhhbmRBbGxvd2VkKVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIG51bSA9IHJlcGVhdGluZ0RlY2ltYWxzKGNlLCB2YWx1ZS50b1N0cmluZygpKTtcbiAgfVxuICBpZiAoY2UuanNvblNlcmlhbGl6YXRpb25PcHRpb25zLm1ldGFkYXRhLmluY2x1ZGVzKFwibGF0ZXhcIikpXG4gICAgbWV0YWRhdGEubGF0ZXggPSBtZXRhZGF0YS5sYXRleCA/PyBjZS5zZXJpYWxpemUoeyBudW0gfSk7XG4gIHJldHVybiBtZXRhZGF0YS5sYXRleCAhPT0gdm9pZCAwID8geyBudW0sIGxhdGV4OiBtZXRhZGF0YS5sYXRleCB9IDogeyBudW0gfTtcbn1cbmZ1bmN0aW9uIF9lc2NhcGVKc29uU3RyaW5nKHMpIHtcbiAgcmV0dXJuIHM7XG59XG5mdW5jdGlvbiByZXBlYXRpbmdEZWNpbWFscyhjZSwgcykge1xuICBpZiAoIWNlLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5yZXBlYXRpbmdEZWNpbWFscylcbiAgICByZXR1cm4gcztcbiAgbGV0IFtfLCB3aG9sZXBhcnQsIGZyYWN0aW9uYWxQYXJ0LCBleHBvbmVudF0gPSBzLm1hdGNoKC9eKC4qKVxcLihbMC05XSspKFtlfEVdWy0rXT9bMC05XSspPyQvKSA/PyBbXTtcbiAgaWYgKCFmcmFjdGlvbmFsUGFydClcbiAgICByZXR1cm4gcy50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBsYXN0RGlnaXQgPSBmcmFjdGlvbmFsUGFydFtmcmFjdGlvbmFsUGFydC5sZW5ndGggLSAxXTtcbiAgZnJhY3Rpb25hbFBhcnQgPSBmcmFjdGlvbmFsUGFydC5zbGljZSgwLCAtMSk7XG4gIGNvbnN0IE1BWF9SRVBFQVRJTkdfUEFUVEVSTl9MRU5HVEggPSAxNjtcbiAgbGV0IHByZWZpeCA9IFwiXCI7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhY3Rpb25hbFBhcnQubGVuZ3RoIC0gTUFYX1JFUEVBVElOR19QQVRURVJOX0xFTkdUSDsgaSsrKSB7XG4gICAgcHJlZml4ID0gZnJhY3Rpb25hbFBhcnQuc3Vic3RyaW5nKDAsIGkpO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDw9IE1BWF9SRVBFQVRJTkdfUEFUVEVSTl9MRU5HVEg7IGorKykge1xuICAgICAgY29uc3QgcmVwZXRlbmQgPSBmcmFjdGlvbmFsUGFydC5zdWJzdHJpbmcoaSwgaSArIGogKyAxKTtcbiAgICAgIGNvbnN0IHRpbWVzID0gTWF0aC5mbG9vcihcbiAgICAgICAgKGZyYWN0aW9uYWxQYXJ0Lmxlbmd0aCAtIHByZWZpeC5sZW5ndGgpIC8gcmVwZXRlbmQubGVuZ3RoXG4gICAgICApO1xuICAgICAgaWYgKHRpbWVzIDwgMylcbiAgICAgICAgYnJlYWs7XG4gICAgICBpZiAoKHByZWZpeCArIHJlcGV0ZW5kLnJlcGVhdCh0aW1lcyArIDEpKS5zdGFydHNXaXRoKGZyYWN0aW9uYWxQYXJ0KSkge1xuICAgICAgICBpZiAocmVwZXRlbmQgPT09IFwiMFwiKSB7XG4gICAgICAgICAgaWYgKGxhc3REaWdpdCA9PT0gXCIwXCIpXG4gICAgICAgICAgICByZXR1cm4gd2hvbGVwYXJ0ICsgXCIuXCIgKyBwcmVmaXggKyAoZXhwb25lbnQgPz8gXCJcIik7XG4gICAgICAgICAgcmV0dXJuIHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdob2xlcGFydCArIFwiLlwiICsgcHJlZml4ICsgXCIoXCIgKyByZXBldGVuZCArIFwiKVwiICsgKGV4cG9uZW50ID8/IFwiXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmcmFjdGlvbmFsUGFydCArPSBsYXN0RGlnaXQ7XG4gIHdoaWxlIChmcmFjdGlvbmFsUGFydC5lbmRzV2l0aChcIjBcIikpXG4gICAgZnJhY3Rpb25hbFBhcnQgPSBmcmFjdGlvbmFsUGFydC5zbGljZSgwLCAtMSk7XG4gIGlmIChleHBvbmVudClcbiAgICByZXR1cm4gYCR7d2hvbGVwYXJ0fS4ke2ZyYWN0aW9uYWxQYXJ0fSR7ZXhwb25lbnQudG9Mb3dlckNhc2UoKX1gO1xuICByZXR1cm4gYCR7d2hvbGVwYXJ0fS4ke2ZyYWN0aW9uYWxQYXJ0fWA7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL2JveGVkLWRvbWFpbi50c1xudmFyIF9Cb3hlZERvbWFpbiA9IGNsYXNzIF9fQm94ZWREb21haW4gZXh0ZW5kcyBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKGNlLCBkb20sIG1ldGFkYXRhKSB7XG4gICAgc3VwZXIoY2UsIG1ldGFkYXRhKTtcbiAgICB0aGlzLl92YWx1ZSA9IG1ha2VDYW5vbmljYWwoY2UsIGRvbSk7XG4gIH1cbiAgZ2V0IGlzQ2Fub25pY2FsKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8qKiBCb3hlZCBkb21haW5zIGFyZSBhbHdheXMgY2Fub25pY2FsLiAqL1xuICBnZXQgY2Fub25pY2FsKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmN0b3IgIT09IFwiSW52YWxpZERvbWFpblwiO1xuICB9XG4gIGdldCBqc29uKCkge1xuICAgIHJldHVybiBbXCJEb21haW5cIiwgc2VyaWFsaXplKHRoaXMuZW5naW5lLCB0aGlzLl92YWx1ZSldO1xuICB9XG4gIGdldCBsaXRlcmFsKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgZ2V0IGN0b3IoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJzdHJpbmdcIilcbiAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVswXTtcbiAgfVxuICBnZXQgZG9tYWluQXJncygpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcInN0cmluZ1wiKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlLnNsaWNlKDEpO1xuICB9XG4gIGdldCBkb21haW5BcmcxKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVbMV07XG4gIH1cbiAgZ2V0IGNvZG9tYWluKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5lbmdpbmUuZG9tYWluKHRoaXMuX3ZhbHVlW3RoaXMuX3ZhbHVlLmxlbmd0aCAtIDFdKTtcbiAgfVxuICBnZXQgaGFzaCgpIHtcbiAgICBpZiAodGhpcy5faGFzaCA9PT0gdm9pZCAwKVxuICAgICAgdGhpcy5faGFzaCA9IGhhc2hDb2RlKGhhc2godGhpcy5fdmFsdWUpKTtcbiAgICByZXR1cm4gdGhpcy5faGFzaDtcbiAgfVxuICBpc0VxdWFsKHJocykge1xuICAgIHJldHVybiBpc0VxdWFsKHRoaXMuX3ZhbHVlLCByaHMpO1xuICB9XG4gIGlzU2FtZShyaHMpIHtcbiAgICByZXR1cm4gaXNFcXVhbCh0aGlzLl92YWx1ZSwgcmhzKTtcbiAgfVxuICBpcyhyaHMpIHtcbiAgICByZXR1cm4gaXNFcXVhbCh0aGlzLl92YWx1ZSwgcmhzKTtcbiAgfVxuICBpc0NvbXBhdGlibGUoZG9tLCBjb21wYXRpYmlsaXR5ID0gXCJjb3ZhcmlhbnRcIikge1xuICAgIGNvbnN0IGxocyA9IHRoaXMuX3ZhbHVlO1xuICAgIGNvbnN0IHJocyA9IGRvbSBpbnN0YW5jZW9mIF9fQm94ZWREb21haW4gPyBkb20uX3ZhbHVlIDogZG9tO1xuICAgIGNvbnN0IHJoc0N0b3IgPSBBcnJheS5pc0FycmF5KHJocykgPyByaHNbMF0gOiBudWxsO1xuICAgIGlmIChyaHNDdG9yKSB7XG4gICAgICBjb25zdCByaHNQYXJhbSA9IHJoc1sxXTtcbiAgICAgIGlmIChyaHNDdG9yID09PSBcIkNvdmFyaWFudFwiKVxuICAgICAgICByZXR1cm4gaXNTdWJkb21haW5PZjEobGhzLCByaHNQYXJhbSk7XG4gICAgICBpZiAocmhzQ3RvciA9PT0gXCJDb250cmF2YXJpYW50XCIpXG4gICAgICAgIHJldHVybiBpc1N1YmRvbWFpbk9mMShyaHNQYXJhbSwgbGhzKTtcbiAgICAgIGlmIChyaHNDdG9yID09PSBcIkludmFyaWFudFwiKVxuICAgICAgICByZXR1cm4gIWlzU3ViZG9tYWluT2YxKHJoc1BhcmFtLCBsaHMpICYmICFpc1N1YmRvbWFpbk9mMShsaHMsIHJoc1BhcmFtKTtcbiAgICAgIGlmIChyaHNDdG9yID09PSBcIkJpdmFyaWFudFwiKVxuICAgICAgICByZXR1cm4gaXNTdWJkb21haW5PZjEobGhzLCByaHNQYXJhbSkgJiYgaXNTdWJkb21haW5PZjEocmhzUGFyYW0sIGxocyk7XG4gICAgfVxuICAgIGlmIChjb21wYXRpYmlsaXR5ID09PSBcImNvdmFyaWFudFwiKVxuICAgICAgcmV0dXJuIGlzU3ViZG9tYWluT2YxKGxocywgcmhzKTtcbiAgICBpZiAoY29tcGF0aWJpbGl0eSA9PT0gXCJjb250cmF2YXJpYW50XCIpXG4gICAgICByZXR1cm4gaXNTdWJkb21haW5PZjEocmhzLCBsaHMpO1xuICAgIGlmIChjb21wYXRpYmlsaXR5ID09PSBcImJpdmFyaWFudFwiKVxuICAgICAgcmV0dXJuIGlzU3ViZG9tYWluT2YxKHJocywgbGhzKSAmJiBpc1N1YmRvbWFpbk9mMShsaHMsIHJocyk7XG4gICAgcmV0dXJuICFpc1N1YmRvbWFpbk9mMShyaHMsIGxocykgJiYgIWlzU3ViZG9tYWluT2YxKGxocywgcmhzKTtcbiAgfVxuICBtYXRjaChyaHMsIF9vcHRpb25zKSB7XG4gICAgaWYgKCEocmhzIGluc3RhbmNlb2YgX19Cb3hlZERvbWFpbikpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodGhpcy5pc1NhbWUocmhzKSlcbiAgICAgIHJldHVybiB7fTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBnZXQgaGVhZCgpIHtcbiAgICByZXR1cm4gXCJEb21haW5cIjtcbiAgfVxuICBnZXQgZG9tYWluKCkge1xuICAgIHJldHVybiB0aGlzLmVuZ2luZS5kb21haW4oXCJEb21haW5cIik7XG4gIH1cbiAgZ2V0IGlzTm90aGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPT09IFwiTm90aGluZ1wiO1xuICB9XG4gIGdldCBpc0Z1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmN0b3IgPT09IFwiRnVuY3Rpb25cIiB8fCB0aGlzLl92YWx1ZSA9PT0gXCJGdW5jdGlvblwiO1xuICB9XG4gIC8vIGdldCBpc1ByZWRpY2F0ZSgpOiBib29sZWFuIHtcbiAgLy8gICBpZiAodGhpcy5kb21haW5MaXRlcmFsID09PSAnUHJlZGljYXRlJykgcmV0dXJuIHRydWU7XG4gIC8vICAgaWYgKHRoaXMuZG9tYWluQ29uc3RydWN0b3IgIT09ICdGdW5jdGlvbicpIHJldHVybiBmYWxzZTtcbiAgLy8gICBjb25zdCByZXN1bHREb21haW4gPSB0aGlzLl92YWx1ZVt0aGlzLl92YWx1ZS5sZW5ndGhdO1xuICAvLyAgIGlmICghKHJlc3VsdERvbWFpbiBpbnN0YW5jZW9mIF9Eb21haW4pKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgcmV0dXJuIHJlc3VsdERvbWFpbi5pc0Jvb2xlYW47XG4gIC8vIH1cbiAgLy8gZ2V0IGlzTnVtZXJpY0Z1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAvLyAgIGlmICh0aGlzLmRvbWFpbkxpdGVyYWwgPT09ICdOdW1lcmljRnVuY3Rpb24nKSByZXR1cm4gdHJ1ZTtcbiAgLy8gICBpZiAodGhpcy5kb21haW5Db25zdHJ1Y3RvciAhPT0gJ0Z1bmN0aW9uJykgcmV0dXJuIGZhbHNlO1xuICAvLyAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuZG9tYWluUGFyYW1zISlcbiAgLy8gICAgIGlmICghaXNOdW1lcmljU3ViZG9tYWluKGFyZywgJ051bWJlcicpKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgcmV0dXJuIHRydWU7XG4gIC8vIH1cbiAgLy8gZ2V0IGlzQm9vbGVhbigpOiBib29sZWFuIHtcbiAgLy8gICBjb25zdCBkb20gPSB0aGlzLmRvbWFpbkxpdGVyYWw7XG4gIC8vICAgcmV0dXJuIGRvbSA9PT0gJ0Jvb2xlYW4nIHx8IGRvbSA9PT0gJ01heWJlQm9vbGVhbic7XG4gIC8vIH1cbiAgLy8gZ2V0IGlzUmVhbEZ1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAvLyAgIGlmICh0aGlzLmRvbWFpbkxpdGVyYWwgPT09ICdSZWFsRnVuY3Rpb24nKSByZXR1cm4gdHJ1ZTtcbiAgLy8gICBpZiAodGhpcy5kb21haW5Db25zdHJ1Y3RvciAhPT0gJ0Z1bmN0aW9uJykgcmV0dXJuIGZhbHNlO1xuICAvLyAgIGZvciAoY29uc3QgYXJnIG9mIHRoaXMuZG9tYWluUGFyYW1zISlcbiAgLy8gICAgIGlmICghaXNOdW1lcmljU3ViZG9tYWluKGFyZywgJ0V4dGVuZGVkUmVhbE51bWJlcicpKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgcmV0dXJuIHRydWU7XG4gIC8vIH1cbiAgZ2V0IGlzTnVtZXJpYygpIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbXBhdGlibGUodGhpcy5lbmdpbmUuZG9tYWluKFwiTnVtYmVyXCIpKTtcbiAgfVxuICAvLyBnZXQgaXNMb2dpY09wZXJhdG9yKCk6IGJvb2xlYW4ge1xuICAvLyAgIGlmICh0aGlzLmRvbWFpbkxpdGVyYWwgPT09ICdMb2dpY09wZXJhdG9yJykgcmV0dXJuIHRydWU7XG4gIC8vICAgaWYgKCF0aGlzLmNvZG9tYWluPy5pc0Jvb2xlYW4pIHJldHVybiBmYWxzZTtcbiAgLy8gICBjb25zdCBwYXJhbXMgPSB0aGlzLmRvbWFpblBhcmFtcyE7XG4gIC8vICAgaWYgKHBhcmFtcy5sZW5ndGggPCAxIHx8IHBhcmFtcy5sZW5ndGggPiAyKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgaWYgKCFwYXJhbXNbMF0uaXNCb29sZWFuKSByZXR1cm4gZmFsc2U7XG4gIC8vICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDEpIHJldHVybiB0cnVlO1xuICAvLyAgIGlmICghcGFyYW1zWzFdLmlzQm9vbGVhbikgcmV0dXJuIGZhbHNlO1xuICAvLyAgIHJldHVybiB0cnVlO1xuICAvLyB9XG4gIGdldCBpc1JlbGF0aW9uYWxPcGVyYXRvcigpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IFwiUmVsYXRpb25hbE9wZXJhdG9yXCIpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5jdG9yICE9PSBcIkZ1bmN0aW9uXCIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZG9tYWluQXJncy5sZW5ndGggIT09IDIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLmNvZG9tYWluLmlzQ29tcGF0aWJsZShcIk1heWJlQm9vbGVhblwiKSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbmZ1bmN0aW9uIGJveERvbWFpbihjZSwgZG9tLCBtZXRhZGF0YSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkb20pICYmIGRvbVswXSA9PT0gXCJEb21haW5cIilcbiAgICBkb20gPSBkb21bMV07XG4gIGlmIChkb20gaW5zdGFuY2VvZiBfQm94ZWREb21haW4pXG4gICAgcmV0dXJuIGRvbTtcbiAgaWYgKGRvbSBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uKVxuICAgIGRvbSA9IGRvbS5qc29uO1xuICBpZiAodHlwZW9mIGRvbSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGNvbnN0IGV4cHIgPSBET01BSU5fQUxJQVNbZG9tXTtcbiAgICBpZiAoZXhwcilcbiAgICAgIHJldHVybiBib3hEb21haW4oY2UsIGV4cHIpO1xuICAgIGlmICghaXNEb21haW5MaXRlcmFsKGRvbSkpXG4gICAgICB0aHJvdyBFcnJvcihcIkV4cGVjdGVkIGEgZG9tYWluIGxpdGVyYWwsIGdvdCBcIiArIGRvbSk7XG4gICAgcmV0dXJuIG5ldyBfQm94ZWREb21haW4oY2UsIGRvbSwgbWV0YWRhdGEpO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShkb20pIHx8IGRvbS5sZW5ndGggPT09IDApXG4gICAgdGhyb3cgRXJyb3IoXCJFeHBlY3RlZCBhIHZhbGlkIGRvbWFpblwiKTtcbiAgY29uc3QgY29uc3RydWN0b3IgPSBkb21bMF07XG4gIGlmICghRE9NQUlOX0NPTlNUUlVDVE9SUy5pbmNsdWRlcyhjb25zdHJ1Y3RvcikpXG4gICAgdGhyb3cgRXJyb3IoXCJFeHBlY3RlZCBkb21haW4gY29uc3RydWN0b3IsIGdvdCBcIiArIGNvbnN0cnVjdG9yKTtcbiAgcmV0dXJuIG5ldyBfQm94ZWREb21haW4oY2UsIGRvbSwgbWV0YWRhdGEpO1xufVxuZnVuY3Rpb24gbWFrZUNhbm9uaWNhbChjZSwgZG9tKSB7XG4gIGlmIChkb20gPT09IHZvaWQgMCB8fCB0eXBlb2YgZG9tID09PSBcIm51bWJlclwiKVxuICAgIHRocm93IEVycm9yKFwiRXhwZWN0ZWQgYSBkb21haW4gZXhwcmVzc2lvblwiKTtcbiAgaWYgKGRvbSBpbnN0YW5jZW9mIF9Cb3hlZERvbWFpbilcbiAgICByZXR1cm4gZG9tLl92YWx1ZTtcbiAgaWYgKHR5cGVvZiBkb20gPT09IFwic3RyaW5nXCIpIHtcbiAgICBpZiAoIWlzRG9tYWluTGl0ZXJhbChkb20pKVxuICAgICAgdGhyb3cgRXJyb3IoXCJVbmtub3duIGRvbWFpbiBsaXRlcmFsXCIpO1xuICAgIHJldHVybiBkb207XG4gIH1cbiAgaWYgKCFBcnJheS5pc0FycmF5KGRvbSkgJiYgdHlwZW9mIGRvbSA9PT0gXCJvYmplY3RcIilcbiAgICB0aHJvdyBFcnJvcihcIkV4cGVjdGVkIGEgZG9tYWluIGV4cHJlc3Npb25cIik7XG4gIGlmICghZG9tKVxuICAgIDtcbiAgY29uc3QgY3RvciA9IGRvbVswXTtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGN0b3IpO1xuICBpZiAoY3RvciA9PT0gXCJSYW5nZVwiKSB7XG4gICAgaWYgKGRvbS5sZW5ndGggPT09IDEpXG4gICAgICByZXR1cm4gXCJJbnRlZ2VyXCI7XG4gICAgbGV0IGZpcnN0ID0gMTtcbiAgICBsZXQgbGFzdCA9IEluZmluaXR5O1xuICAgIGlmIChkb20ubGVuZ3RoID09PSAyKSB7XG4gICAgICBsYXN0ID0gZG9tWzFdO1xuICAgIH0gZWxzZSBpZiAoZG9tLmxlbmd0aCA9PT0gMykge1xuICAgICAgZmlyc3QgPSBkb21bMV07XG4gICAgICBsYXN0ID0gZG9tWzJdO1xuICAgIH1cbiAgICBjb25zdCBmaXJzdE51bSA9IGFzUmFuZ2VCb3VuZChjZSwgZmlyc3QpO1xuICAgIGNvbnN0IGxhc3ROdW0gPSBhc1JhbmdlQm91bmQoY2UsIGxhc3QpO1xuICAgIGlmIChmaXJzdE51bSA9PT0gbnVsbCB8fCBsYXN0TnVtID09PSBudWxsKVxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgcmFuZ2UgWyR7Zmlyc3ROdW19LCAke2xhc3ROdW19XSBgKTtcbiAgICBpZiAobGFzdE51bSA8IGZpcnN0TnVtKVxuICAgICAgW2ZpcnN0LCBsYXN0XSA9IFtsYXN0LCBmaXJzdF07XG4gICAgaWYgKGZpcnN0TnVtID09PSAtSW5maW5pdHkgJiYgbGFzdE51bSA9PT0gSW5maW5pdHkpXG4gICAgICByZXR1cm4gXCJJbnRlZ2VyXCI7XG4gICAgaWYgKGZpcnN0TnVtID09PSAxICYmIGxhc3ROdW0gPT09IEluZmluaXR5KVxuICAgICAgcmV0dXJuIFwiUG9zaXRpdmVJbnRlZ2VyXCI7XG4gICAgaWYgKGZpcnN0TnVtID09PSAwICYmIGxhc3ROdW0gPT09IEluZmluaXR5KVxuICAgICAgcmV0dXJuIFwiTm9uTmVnYXRpdmVJbnRlZ2VyXCI7XG4gICAgaWYgKGZpcnN0TnVtID09PSAtSW5maW5pdHkgJiYgbGFzdE51bSA9PT0gLTEpXG4gICAgICByZXR1cm4gXCJOZWdhdGl2ZUludGVnZXJcIjtcbiAgICBpZiAoZmlyc3ROdW0gPT09IC1JbmZpbml0eSAmJiBsYXN0TnVtID09PSAwKVxuICAgICAgcmV0dXJuIFwiTm9uUG9zaXRpdmVJbnRlZ2VyXCI7XG4gICAgcmV0dXJuIFtcIlJhbmdlXCIsIGNlLm51bWJlcihmaXJzdE51bSksIGNlLm51bWJlcihsYXN0TnVtKV07XG4gIH1cbiAgaWYgKGN0b3IgPT09IFwiSW50ZXJ2YWxcIikge1xuICAgIGlmIChkb20ubGVuZ3RoICE9PSAzKVxuICAgICAgdGhyb3cgRXJyb3IoXCJJbnZhbGlkIHJhbmdlIFwiICsgZG9tKTtcbiAgICBsZXQgW2lzTGVmdE9wZW4sIGZpcnN0XSA9IG1heWJlT3BlbihjZSwgZG9tWzFdKTtcbiAgICBsZXQgW2lzUmlnaHRPcGVuLCBsYXN0XSA9IG1heWJlT3BlbihjZSwgZG9tWzJdKTtcbiAgICBpZiAoZmlyc3QgPT09IG51bGwgfHwgbGFzdCA9PT0gbnVsbClcbiAgICAgIHRocm93IEVycm9yKFwiSW52YWxpZCByYW5nZSBcIiArIGRvbSk7XG4gICAgaWYgKGxhc3QgPCBmaXJzdCkge1xuICAgICAgW2ZpcnN0LCBsYXN0XSA9IFtsYXN0LCBmaXJzdF07XG4gICAgICBbaXNMZWZ0T3BlbiwgaXNSaWdodE9wZW5dID0gW2lzUmlnaHRPcGVuLCBpc0xlZnRPcGVuXTtcbiAgICB9XG4gICAgaWYgKGZpcnN0ID09PSAwICYmIGxhc3QgPT09IEluZmluaXR5KVxuICAgICAgcmV0dXJuIGlzTGVmdE9wZW4gPyBcIlBvc2l0aXZlTnVtYmVyXCIgOiBcIk5vbk5lZ2F0aXZlTnVtYmVyXCI7XG4gICAgaWYgKGZpcnN0ID09PSAtSW5maW5pdHkgJiYgbGFzdCA9PT0gMClcbiAgICAgIHJldHVybiBpc1JpZ2h0T3BlbiA/IFwiTmVnYXRpdmVOdW1iZXJcIiA6IFwiTm9uUG9zaXRpdmVOdW1iZXJcIjtcbiAgICByZXR1cm4gW1xuICAgICAgXCJJbnRlcnZhbFwiLFxuICAgICAgaXNMZWZ0T3BlbiA/IFtcIk9wZW5cIiwgY2UubnVtYmVyKGZpcnN0KV0gOiBjZS5udW1iZXIoZmlyc3QpLFxuICAgICAgaXNSaWdodE9wZW4gPyBbXCJPcGVuXCIsIGNlLm51bWJlcihsYXN0KV0gOiBjZS5udW1iZXIobGFzdClcbiAgICBdO1xuICB9XG4gIGlmIChjdG9yID09PSBcIkZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gW1wiRnVuY3Rpb25cIiwgLi4uZG9tLnNsaWNlKDEpLm1hcCgoeCkgPT4gbWFrZUNhbm9uaWNhbChjZSwgeCkpXTtcbiAgfVxuICBpZiAoY3RvciA9PT0gXCJEaWN0aW9uYXJ5XCIpIHtcbiAgICByZXR1cm4gW1wiRGljdGlvbmFyeVwiLCBtYWtlQ2Fub25pY2FsKGNlLCBkb21bMV0pXTtcbiAgfVxuICBpZiAoY3RvciA9PT0gXCJMaXN0XCIpIHtcbiAgICByZXR1cm4gW1wiTGlzdFwiLCBtYWtlQ2Fub25pY2FsKGNlLCBkb21bMV0pXTtcbiAgfVxuICBpZiAoY3RvciA9PT0gXCJUdXBsZVwiKSB7XG4gICAgcmV0dXJuIFtcIlR1cGxlXCIsIC4uLmRvbS5zbGljZSgxKS5tYXAoKHgpID0+IG1ha2VDYW5vbmljYWwoY2UsIHgpKV07XG4gIH1cbiAgaWYgKGN0b3IgPT09IFwiVW5pb25cIikge1xuICAgIHJldHVybiBbXCJVbmlvblwiLCAuLi5kb20uc2xpY2UoMSkubWFwKCh4KSA9PiBtYWtlQ2Fub25pY2FsKGNlLCB4KSldO1xuICB9XG4gIGlmIChjdG9yID09PSBcIkludGVyc2VjdGlvblwiKSB7XG4gICAgcmV0dXJuIFtcIkludGVyc2VjdGlvblwiLCAuLi5kb20uc2xpY2UoMSkubWFwKCh4KSA9PiBtYWtlQ2Fub25pY2FsKGNlLCB4KSldO1xuICB9XG4gIGlmIChjdG9yID09PSBcIkNvdmFyaWFudFwiIHx8IGN0b3IgPT09IFwiQ29udHJhdmFyaWFudFwiIHx8IGN0b3IgPT09IFwiSW52YXJpYW50XCIpIHtcbiAgICByZXR1cm4gW2N0b3IsIG1ha2VDYW5vbmljYWwoY2UsIGRvbVsxXSldO1xuICB9XG4gIGlmIChjdG9yID09PSBcIk1heWJlXCIpIHtcbiAgICByZXR1cm4gW1wiTWF5YmVcIiwgbWFrZUNhbm9uaWNhbChjZSwgZG9tWzFdKV07XG4gIH1cbiAgaWYgKGN0b3IgPT09IFwiU2VxdWVuY2VcIikge1xuICAgIHJldHVybiBbXCJTZXF1ZW5jZVwiLCBtYWtlQ2Fub25pY2FsKGNlLCBkb21bMV0pXTtcbiAgfVxuICBpZiAoY3RvciA9PT0gXCJIZWFkXCIpIHtcbiAgICByZXR1cm4gW1wiSGVhZFwiLCBkb21bMV1dO1xuICB9XG4gIGlmIChjdG9yID09PSBcIlN5bWJvbFwiKSB7XG4gICAgcmV0dXJuIFtcIlN5bWJvbFwiLCBkb21bMV1dO1xuICB9XG4gIGlmIChjdG9yID09PSBcIlZhbHVlXCIpIHtcbiAgICByZXR1cm4gW1wiVmFsdWVcIiwgY2UuYm94KGRvbVsxXSldO1xuICB9XG4gIGlmIChjdG9yID09PSBcIkludmFsaWREb21haW5cIikge1xuICAgIHJldHVybiBbXCJJbnZhbGlkRG9tYWluXCIsIGRvbVsxXV07XG4gIH1cbiAgdGhyb3cgRXJyb3IoXCJVbmV4cGVjdGVkIGRvbWFpbiBjb25zdHJ1Y3RvciBcIiArIGN0b3IpO1xufVxuZnVuY3Rpb24gYXNSYW5nZUJvdW5kKGNlLCBleHByKSB7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJudW1iZXJcIilcbiAgICByZXR1cm4gZXhwcjtcbiAgY29uc3QgeCA9IGNlLmJveChleHByKS5ldmFsdWF0ZSgpO1xuICByZXR1cm4geC5pc0luZmluaXR5ID8geC5pc1Bvc2l0aXZlID8gSW5maW5pdHkgOiAtSW5maW5pdHkgOiBhc1NtYWxsSW50ZWdlcih4KTtcbn1cbmZ1bmN0aW9uIG1heWJlT3BlbihjZSwgZXhwcikge1xuICBpZiAoQXJyYXkuaXNBcnJheShleHByKSAmJiBleHByWzBdID09PSBcIk9wZW5cIilcbiAgICByZXR1cm4gW3RydWUsIGFzUmFuZ2VCb3VuZChjZSwgZXhwclsxXSldO1xuICByZXR1cm4gW2ZhbHNlLCBhc1JhbmdlQm91bmQoY2UsIGV4cHIpXTtcbn1cbmZ1bmN0aW9uIGlzRG9tYWluKGV4cHIpIHtcbiAgaWYgKGV4cHIgaW5zdGFuY2VvZiBfQm94ZWREb21haW4pXG4gICAgcmV0dXJuIHRydWU7XG4gIGlmIChleHByIGluc3RhbmNlb2YgQWJzdHJhY3RCb3hlZEV4cHJlc3Npb24pXG4gICAgZXhwciA9IGV4cHIuanNvbjtcbiAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBpc0RvbWFpbkxpdGVyYWwoZXhwcik7XG4gIGlmIChBcnJheS5pc0FycmF5KGV4cHIpKSB7XG4gICAgaWYgKGV4cHIubGVuZ3RoIDw9IDEpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgY3RvciA9IGV4cHJbMF07XG4gICAgaWYgKHR5cGVvZiBjdG9yICE9PSBcInN0cmluZ1wiIHx8ICFET01BSU5fQ09OU1RSVUNUT1JTLmluY2x1ZGVzKGN0b3IpKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChjdG9yID09PSBcIkludmFsaWREb21haW5cIilcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoY3RvciA9PT0gXCJMaXN0XCIpXG4gICAgICByZXR1cm4gZXhwci5sZW5ndGggPT09IDIgJiYgaXNWYWxpZERvbWFpbihleHByWzFdKTtcbiAgICBpZiAoY3RvciA9PT0gXCJUdXBsZVwiIHx8IGN0b3IgPT09IFwiRnVuY3Rpb25cIiB8fCBjdG9yID09PSBcIk1heWJlXCIgfHwgY3RvciA9PT0gXCJTZXF1ZW5jZVwiIHx8IGN0b3IgPT09IFwiSW50ZXJzZWN0aW9uXCIgfHwgY3RvciA9PT0gXCJVbmlvblwiKVxuICAgICAgcmV0dXJuIGV4cHIuc2xpY2UoMSwgLTEpLmV2ZXJ5KCh4KSA9PiBpc1ZhbGlkRG9tYWluKHgpKTtcbiAgICByZXR1cm4gZXhwci5ldmVyeSgoeCkgPT4geCAhPT0gbnVsbCk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNWYWxpZERvbWFpbihleHByKSB7XG4gIGlmIChleHByIGluc3RhbmNlb2YgX0JveGVkRG9tYWluKVxuICAgIHJldHVybiBleHByLmlzVmFsaWQ7XG4gIGlmIChBcnJheS5pc0FycmF5KGV4cHIpICYmIGV4cHJbMF0gPT09IFwiSW52YWxpZERvbWFpblwiKVxuICAgIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIGlzRG9tYWluKGV4cHIpO1xufVxuZnVuY3Rpb24gaXNTdWJkb21haW5PZjEobGhzLCByaHMpIHtcbiAgY29uc3QgW3Jlc3VsdCwgcmVzdF0gPSBpc1N1YmRvbWFpbk9mKFtsaHNdLCByaHMpO1xuICBpZiAocmVzdWx0ICYmIHJlc3QubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBpc1N1YmRvbWFpbk9mKHhsaHMsIHJocykge1xuICBsZXQgbGhzID0geGxocy5zaGlmdCgpO1xuICBjb25zdCByaHNMaXRlcmFsID0gdHlwZW9mIHJocyA9PT0gXCJzdHJpbmdcIiA/IHJocyA6IG51bGw7XG4gIGlmIChyaHNMaXRlcmFsID09PSBcIkFueXRoaW5nXCIpXG4gICAgcmV0dXJuIFt0cnVlLCB4bGhzXTtcbiAgY29uc3QgbGhzTGl0ZXJhbCA9IHR5cGVvZiBsaHMgPT09IFwic3RyaW5nXCIgPyBsaHMgOiBudWxsO1xuICBpZiAobGhzTGl0ZXJhbCAmJiByaHNMaXRlcmFsKSB7XG4gICAgaWYgKGxoc0xpdGVyYWwgPT09IHJoc0xpdGVyYWwpXG4gICAgICByZXR1cm4gW3RydWUsIHhsaHNdO1xuICAgIHJldHVybiBbYW5jZXN0b3JzKGxoc0xpdGVyYWwpLmluY2x1ZGVzKHJoc0xpdGVyYWwpLCB4bGhzXTtcbiAgfVxuICBpZiAocmhzTGl0ZXJhbCkge1xuICAgIGlmICghbGhzKVxuICAgICAgO1xuICAgIGNvbnN0IGxoc0NvbnN0cnVjdG9yID0gbGhzWzBdO1xuICAgIGlmIChsaHNDb25zdHJ1Y3RvciA9PT0gXCJGdW5jdGlvblwiKVxuICAgICAgcmV0dXJuIFtyaHNMaXRlcmFsID09PSBcIkZ1bmN0aW9uXCIsIHhsaHNdO1xuICAgIGlmIChsaHNDb25zdHJ1Y3RvciA9PT0gXCJEaWN0aW9uYXJ5XCIpXG4gICAgICByZXR1cm4gW3Joc0xpdGVyYWwgPT09IFwiRGljdGlvbmFyeVwiLCB4bGhzXTtcbiAgICBpZiAobGhzQ29uc3RydWN0b3IgPT09IFwiTGlzdFwiKVxuICAgICAgcmV0dXJuIFtyaHNMaXRlcmFsID09PSBcIkxpc3RcIiwgeGxoc107XG4gICAgaWYgKGxoc0NvbnN0cnVjdG9yID09PSBcIlR1cGxlXCIpXG4gICAgICByZXR1cm4gW3Joc0xpdGVyYWwgPT09IFwiVHVwbGVcIiwgeGxoc107XG4gICAgaWYgKGxoc0NvbnN0cnVjdG9yID09PSBcIkludGVyc2VjdGlvblwiKSB7XG4gICAgfVxuICAgIGlmIChsaHNDb25zdHJ1Y3RvciA9PT0gXCJJbnRlcnZhbFwiKVxuICAgICAgcmV0dXJuIFtpc1N1YmRvbWFpbk9mMShcIkV4dGVuZGVkUmVhbE51bWJlclwiLCByaHNMaXRlcmFsKSwgeGxoc107XG4gICAgaWYgKGxoc0NvbnN0cnVjdG9yID09PSBcIlJhbmdlXCIpXG4gICAgICByZXR1cm4gW2lzU3ViZG9tYWluT2YxKFwiSW50ZWdlclwiLCByaHNMaXRlcmFsKSwgeGxoc107XG4gICAgcmV0dXJuIFt0cnVlLCB4bGhzXTtcbiAgfVxuICBjb25zdCByaHNDb25zdHJ1Y3RvciA9IHJoc1swXTtcbiAgaWYgKHJoc0NvbnN0cnVjdG9yID09PSBcIkZ1bmN0aW9uXCIpIHtcbiAgICBpZiAobGhzTGl0ZXJhbCA9PT0gXCJGdW5jdGlvblwiKVxuICAgICAgcmV0dXJuIFt0cnVlLCB4bGhzXTtcbiAgICBpZiAobGhzTGl0ZXJhbClcbiAgICAgIHJldHVybiBbZmFsc2UsIHhsaHNdO1xuICAgIGlmIChsaHNbMF0gIT09IFwiRnVuY3Rpb25cIilcbiAgICAgIHJldHVybiBbZmFsc2UsIHhsaHNdO1xuICAgIGlmIChsaHMubGVuZ3RoID09PSAxICYmIHJocy5sZW5ndGggPT09IDEpXG4gICAgICByZXR1cm4gW3RydWUsIHhsaHNdO1xuICAgIGlmICghaXNTdWJkb21haW5PZjEoXG4gICAgICBsaHNbbGhzLmxlbmd0aCAtIDFdLFxuICAgICAgcmhzW3Jocy5sZW5ndGggLSAxXVxuICAgICkpXG4gICAgICByZXR1cm4gW2ZhbHNlLCB4bGhzXTtcbiAgICBjb25zdCBsaHNQYXJhbXMgPSBsaHMuc2xpY2UoMSwgLTEpO1xuICAgIGxldCByaHNQYXJhbXMgPSByaHMuc2xpY2UoMSwgLTEpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IGxoc1BhcmFtcy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgIGlmIChyaHNQYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGNvbnN0IGxoc0N0b3IgPSBBcnJheS5pc0FycmF5KGxoc1BhcmFtc1tpXSkgPyBsaHNQYXJhbXNbaV1bMF0gOiBudWxsO1xuICAgICAgICBpZiAobGhzQ3RvciAhPT0gXCJNYXliZVwiKVxuICAgICAgICAgIHJldHVybiBbZmFsc2UsIHhsaHNdO1xuICAgICAgICByZXR1cm4gW3RydWUsIHhsaHNdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IG1hdGNoMiA9IGZhbHNlO1xuICAgICAgICBbbWF0Y2gyLCByaHNQYXJhbXNdID0gaXNTdWJkb21haW5PZihyaHNQYXJhbXMsIGxoc1BhcmFtc1tpXSk7XG4gICAgICAgIGlmICghbWF0Y2gyKVxuICAgICAgICAgIHJldHVybiBbZmFsc2UsIHhsaHNdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW3Joc1BhcmFtcy5sZW5ndGggPT09IDAsIHhsaHNdO1xuICB9XG4gIGlmIChyaHNDb25zdHJ1Y3RvciA9PT0gXCJJbnRlcnNlY3Rpb25cIikge1xuICAgIHJldHVybiBbXG4gICAgICByaHMuc2xpY2UoMSwgLTEpLmV2ZXJ5KFxuICAgICAgICAoeCkgPT4gaXNTdWJkb21haW5PZjEobGhzLCB4KVxuICAgICAgKSxcbiAgICAgIHhsaHNcbiAgICBdO1xuICB9XG4gIGlmIChyaHNDb25zdHJ1Y3RvciA9PT0gXCJVbmlvblwiKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHJocy5zbGljZSgxLCAtMSkuc29tZSgoeCkgPT4gaXNTdWJkb21haW5PZjEobGhzLCB4KSksXG4gICAgICB4bGhzXG4gICAgXTtcbiAgfVxuICBpZiAocmhzQ29uc3RydWN0b3IgPT09IFwiTWF5YmVcIikge1xuICAgIGlmIChsaHNMaXRlcmFsID09PSBcIk5vdGhpbmdcIilcbiAgICAgIHJldHVybiBbdHJ1ZSwgeGxoc107XG4gICAgcmV0dXJuIGlzU3ViZG9tYWluT2YoXG4gICAgICBbbGhzLCAuLi54bGhzXSxcbiAgICAgIHJoc1sxXVxuICAgICk7XG4gIH1cbiAgaWYgKHJoc0NvbnN0cnVjdG9yID09PSBcIlNlcXVlbmNlXCIpIHtcbiAgICBjb25zdCBzZXEgPSByaHNbMV07XG4gICAgaWYgKCFpc1N1YmRvbWFpbk9mMShsaHMsIHNlcSkpXG4gICAgICByZXR1cm4gW2ZhbHNlLCB4bGhzXTtcbiAgICBsaHMgPSB4bGhzLnNoaWZ0KCk7XG4gICAgbGV0IG1hdGNoMiA9IHRydWU7XG4gICAgd2hpbGUgKHhsaHMubGVuZ3RoID4gMCAmJiBtYXRjaDIpIHtcbiAgICAgIFttYXRjaDIsIHhsaHNdID0gaXNTdWJkb21haW5PZih4bGhzLCBzZXEpO1xuICAgICAgbGhzID0geGxocy5zaGlmdCgpO1xuICAgIH1cbiAgICByZXR1cm4gW3RydWUsIHhsaHNdO1xuICB9XG4gIGlmIChyaHNDb25zdHJ1Y3RvciA9PT0gXCJUdXBsZVwiKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGxocykgfHwgbGhzWzBdICE9PSBcIlR1cGxlXCIpXG4gICAgICByZXR1cm4gW2ZhbHNlLCB4bGhzXTtcbiAgICBpZiAobGhzLmxlbmd0aCA+IHJocy5sZW5ndGgpXG4gICAgICByZXR1cm4gW2ZhbHNlLCB4bGhzXTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSByaHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBpZiAoIWxoc1tpXSB8fCAhaXNTdWJkb21haW5PZjEoXG4gICAgICAgIGxoc1tpXSxcbiAgICAgICAgcmhzW2ldXG4gICAgICApKVxuICAgICAgICByZXR1cm4gW2ZhbHNlLCB4bGhzXTtcbiAgICB9XG4gICAgcmV0dXJuIFt0cnVlLCB4bGhzXTtcbiAgfVxuICBpZiAocmhzQ29uc3RydWN0b3IgPT09IFwiUmFuZ2VcIikge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShsaHMpIHx8IGxoc1swXSAhPT0gXCJSYW5nZVwiKVxuICAgICAgcmV0dXJuIFtmYWxzZSwgeGxoc107XG4gICAgY29uc3QgbGhzTWluID0gYXNGbG9hdChsaHNbMV0pO1xuICAgIGNvbnN0IGxoc01heCA9IGFzRmxvYXQobGhzWzJdKTtcbiAgICBjb25zdCByaHNNaW4gPSBhc0Zsb2F0KHJoc1sxXSk7XG4gICAgY29uc3QgcmhzTWF4ID0gYXNGbG9hdChyaHNbMl0pO1xuICAgIHJldHVybiBbXG4gICAgICBsaHNNaW4gIT09IG51bGwgJiYgbGhzTWF4ICE9PSBudWxsICYmIHJoc01pbiAhPT0gbnVsbCAmJiByaHNNYXggIT09IG51bGwgJiYgbGhzTWluID49IHJoc01pbiAmJiBsaHNNYXggPD0gcmhzTWF4LFxuICAgICAgeGxoc1xuICAgIF07XG4gIH1cbiAgaWYgKHJoc0NvbnN0cnVjdG9yID09PSBcIkludGVydmFsXCIpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobGhzKSB8fCBsaHNbMF0gIT09IFwiSW50ZXJ2YWxcIilcbiAgICAgIHJldHVybiBbZmFsc2UsIHhsaHNdO1xuICAgIGNvbnN0IGxoc01pbiA9IGFzRmxvYXQobGhzWzFdKTtcbiAgICBjb25zdCBsaHNNYXggPSBhc0Zsb2F0KGxoc1syXSk7XG4gICAgY29uc3QgcmhzTWluID0gYXNGbG9hdChyaHNbMV0pO1xuICAgIGNvbnN0IHJoc01heCA9IGFzRmxvYXQocmhzWzJdKTtcbiAgICByZXR1cm4gW1xuICAgICAgbGhzTWluICE9PSBudWxsICYmIGxoc01heCAhPT0gbnVsbCAmJiByaHNNaW4gIT09IG51bGwgJiYgcmhzTWF4ICE9PSBudWxsICYmIGxoc01pbiA+PSByaHNNaW4gJiYgbGhzTWF4IDw9IHJoc01heCxcbiAgICAgIHhsaHNcbiAgICBdO1xuICB9XG4gIGNvbnNvbGUuZXJyb3IoXCJVbmV4cGVjdGVkIGRvbWFpbiBjb25zdHJ1Y3RvciBcIiArIHJoc0NvbnN0cnVjdG9yKTtcbiAgcmV0dXJuIFtmYWxzZSwgeGxoc107XG59XG5mdW5jdGlvbiBzaGFyZWRBbmNlc3RvckRvbWFpbihhLCBiKSB7XG4gIGNvbnN0IGFMaXRlcmFsID0gZG9tYWluTGl0ZXJhbEFuY2VzdG9yKGEpO1xuICBjb25zdCBiTGl0ZXJhbCA9IGRvbWFpbkxpdGVyYWxBbmNlc3RvcihiKTtcbiAgY29uc3QgYUFuY2VzdG9ycyA9IFthTGl0ZXJhbCwgLi4uYW5jZXN0b3JzKGFMaXRlcmFsKV07XG4gIGNvbnN0IGJBbmNlc3RvcnMgPSBbYkxpdGVyYWwsIC4uLmFuY2VzdG9ycyhiTGl0ZXJhbCldO1xuICB3aGlsZSAoIWJBbmNlc3RvcnMuaW5jbHVkZXMoYUFuY2VzdG9yc1swXSkpXG4gICAgYUFuY2VzdG9ycy5zaGlmdCgpO1xuICByZXR1cm4gYS5lbmdpbmUuZG9tYWluKGFBbmNlc3RvcnNbMF0pO1xufVxuZnVuY3Rpb24gZG9tYWluTGl0ZXJhbEFuY2VzdG9yKGRvbSkge1xuICBsZXQgcmVzdWx0ID0gZG9tLmxpdGVyYWw7XG4gIGlmIChyZXN1bHQpXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgcmVzdWx0ID0gZG9tLmN0b3I7XG4gIGlmIChyZXN1bHQgPT09IFwiTWF5YmVcIilcbiAgICByZXR1cm4gXCJBbnl0aGluZ1wiO1xuICBpZiAocmVzdWx0ID09PSBcIkludGVydmFsXCIpXG4gICAgcmV0dXJuIFwiUmVhbE51bWJlclwiO1xuICBpZiAocmVzdWx0ID09PSBcIlJhbmdlXCIpXG4gICAgcmV0dXJuIFwiSW50ZWdlclwiO1xuICBpZiAocmVzdWx0ID09PSBcIkhlYWRcIilcbiAgICByZXR1cm4gXCJGdW5jdGlvblwiO1xuICBpZiAocmVzdWx0ID09PSBcIlVuaW9uXCIpXG4gICAgcmV0dXJuIFwiQW55dGhpbmdcIjtcbiAgaWYgKHJlc3VsdCA9PT0gXCJJbnRlcnNlY3Rpb25cIilcbiAgICByZXR1cm4gXCJBbnl0aGluZ1wiO1xuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gc2VyaWFsaXplKGNlLCBkb20pIHtcbiAgaWYgKGRvbSBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uKVxuICAgIHJldHVybiBkb20uanNvbjtcbiAgaWYgKHR5cGVvZiBkb20gPT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIGRvbTtcbiAgaWYgKGRvbVswXSA9PT0gXCJJbnZhbGlkRG9tYWluXCIpIHtcbiAgICByZXR1cm4gW1wiSW52YWxpZERvbWFpblwiLCBzZXJpYWxpemUoY2UsIGRvbVsxXSldO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IFtzZXJpYWxpemVKc29uU3ltYm9sKGNlLCBkb21bMF0pXTtcbiAgaWYgKGRvbS5sZW5ndGggPiAxKVxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IGRvbS5sZW5ndGggLSAxOyBpKyspXG4gICAgICByZXN1bHQucHVzaChzZXJpYWxpemUoY2UsIGRvbVtpXSkpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gaGFzaChkb20pIHtcbiAgaWYgKHR5cGVvZiBkb20gPT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIFwiZG9tYWluOlwiICsgZG9tO1xuICBsZXQgcyA9IFwiZG9tYWluOlwiICsgdGhpcy5jdG9yO1xuICBmb3IgKGNvbnN0IGFyZyBvZiB0aGlzLmRvbWFpbkFyZ3MpXG4gICAgcyArPSBcIjpcIiArIGhhc2goYXJnKTtcbiAgcmV0dXJuIHM7XG59XG5mdW5jdGlvbiBpc0VxdWFsKGxocywgcmhzKSB7XG4gIGlmICh0eXBlb2YgcmhzID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiB0aGlzLl92YWx1ZSA9PT0gcmhzO1xuICBpZiAocmhzIGluc3RhbmNlb2YgX0JveGVkRG9tYWluKVxuICAgIHJldHVybiBpc0VxdWFsKGxocywgcmhzLl92YWx1ZSk7XG4gIGlmICh0eXBlb2YgbGhzID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBsaHMgPT09IHJocztcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KEFycmF5LmlzQXJyYXkobGhzKSk7XG4gIGlmICghQXJyYXkuaXNBcnJheShyaHMpKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKGxoc1swXSAhPT0gcmhzWzBdKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKHJocy5sZW5ndGggIT09IGxocy5sZW5ndGgpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSBsaHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgaWYgKGxoc1tpXSBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uKSB7XG4gICAgICBpZiAoIShyaHNbaV0gaW5zdGFuY2VvZiBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbikpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGlmICghcmhzW2ldLmlzRXF1YWwocmhzW2ldKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGxoc1tpXSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgaWYgKHR5cGVvZiByaHNbaV0gIT09IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChsaHNbaV0gIT09IHJoc1tpXSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWwobGhzW2ldLCByaHNbaV0pKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi92YWxpZGF0ZS50c1xuZnVuY3Rpb24gdmFsaWRhdGVBcmd1bWVudENvdW50KGNlLCBvcHMyLCBjb3VudCkge1xuICBpZiAob3BzMi5sZW5ndGggPT09IGNvdW50KVxuICAgIHJldHVybiBvcHMyO1xuICBjb25zdCB4cyA9IFsuLi5vcHMyLnNsaWNlKDAsIGNvdW50KV07XG4gIGxldCBpID0gTWF0aC5taW4oY291bnQsIG9wczIubGVuZ3RoKTtcbiAgd2hpbGUgKGkgPCBjb3VudCkge1xuICAgIHhzLnB1c2goY2UuZXJyb3IoXCJtaXNzaW5nXCIpKTtcbiAgICBpICs9IDE7XG4gIH1cbiAgd2hpbGUgKGkgPCBvcHMyLmxlbmd0aCkge1xuICAgIHhzLnB1c2goY2UuZXJyb3IoXCJ1bmV4cGVjdGVkLWFyZ3VtZW50XCIsIG9wczJbaV0pKTtcbiAgICBpICs9IDE7XG4gIH1cbiAgcmV0dXJuIHhzO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVOdW1lcmljQXJncyhjZSwgb3BzMiwgY291bnQpIHtcbiAgaWYgKCFjZS5zdHJpY3QpXG4gICAgcmV0dXJuIG9wczI7XG4gIGxldCB4cztcbiAgaWYgKGNvdW50ID09PSB2b2lkIDApXG4gICAgeHMgPSBvcHMyO1xuICBlbHNlIHtcbiAgICB4cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IE1hdGgubWF4KGNvdW50IC0gMSwgb3BzMi5sZW5ndGggLSAxKTsgaSsrKSB7XG4gICAgICBpZiAoaSA+IGNvdW50IC0gMSlcbiAgICAgICAgeHMucHVzaChjZS5lcnJvcihcInVuZXhwZWN0ZWQtYXJndW1lbnRcIiwgb3BzMltpXSkpO1xuICAgICAgZWxzZVxuICAgICAgICB4cy5wdXNoKG9wczJbaV0gIT09IHZvaWQgMCA/IGNlLmJveChvcHMyW2ldKSA6IGNlLmVycm9yKFwibWlzc2luZ1wiKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB4cy5tYXAoXG4gICAgKG9wMykgPT4gb3AzICYmICFvcDMuaXNWYWxpZCB8fCBvcDMuaXNOdW1iZXIgPyBvcDMgOiBjZS5lcnJvcihbXCJpbmNvbXBhdGlibGUtZG9tYWluXCIsIFwiTnVtYmVyXCIsIG9wMy5kb21haW5dLCBvcDMpXG4gICk7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZVNpZ25hdHVyZShzaWcsIG9wczIsIGNvZG9tYWluKSB7XG4gIGNvbnN0IGNlID0gc2lnLmVuZ2luZTtcbiAgaWYgKCFjZS5zdHJpY3QpXG4gICAgcmV0dXJuIG9wczI7XG4gIGNvbnN0IG9wc0RvbWFpbiA9IG9wczIubWFwKCh4KSA9PiB4LmRvbWFpbik7XG4gIGNvbnN0IHRhcmdldFNpZyA9IGNlLmRvbWFpbihbXG4gICAgXCJGdW5jdGlvblwiLFxuICAgIC4uLm9wc0RvbWFpbixcbiAgICBjb2RvbWFpbiA/PyBcIkFueXRoaW5nXCJcbiAgXSk7XG4gIGlmIChzaWcuaXNDb21wYXRpYmxlKHRhcmdldFNpZykpXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IGV4cGVjdGVkQXJncyA9IHNpZy5kb21haW5BcmdzLnNsaWNlKDAsIC0xKTtcbiAgY29uc3QgY291bnQgPSBNYXRoLm1heChleHBlY3RlZEFyZ3MubGVuZ3RoLCBvcHNEb21haW4ubGVuZ3RoKTtcbiAgbGV0IG5ld09wcyA9IFtdO1xuICBsZXQgcmVzdCA9IFsuLi5vcHMyXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPD0gY291bnQgLSAxOyBpKyspXG4gICAgW25ld09wcywgcmVzdF0gPSB2YWxpZGF0ZU5leHRBcmd1bWVudChcbiAgICAgIGNlLFxuICAgICAgZXhwZWN0ZWRBcmdzW2ldLFxuICAgICAgbmV3T3BzLFxuICAgICAgcmVzdFxuICAgICk7XG4gIHdoaWxlIChuZXdPcHMubGVuZ3RoID4gMCAmJiBuZXdPcHNbbmV3T3BzLmxlbmd0aCAtIDFdLnN5bWJvbCA9PT0gXCJOb3RoaW5nXCIpXG4gICAgbmV3T3BzLnBvcCgpO1xuICByZXR1cm4gbmV3T3BzO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVBcmd1bWVudChjZSwgYXJnLCBkb20pIHtcbiAgaWYgKGRvbSA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBjZS5lcnJvcihcInVuZXhwZWN0ZWQtYXJndW1lbnRcIiwgYXJnKTtcbiAgaWYgKGFyZyA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBjZS5lcnJvcihcIm1pc3NpbmdcIik7XG4gIGlmICghYXJnLmlzVmFsaWQpXG4gICAgcmV0dXJuIGFyZztcbiAgaWYgKGFyZz8uZG9tYWluLmlzQ29tcGF0aWJsZShkb20pKVxuICAgIHJldHVybiBhcmc7XG4gIHJldHVybiBjZS5lcnJvcihbXCJpbmNvbXBhdGlibGUtZG9tYWluXCIsIGRvbSwgYXJnLmRvbWFpbl0sIGFyZyk7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZU5leHRBcmd1bWVudChjZSwgZG9tLCBtYXRjaGVkLCBvcHMyKSB7XG4gIGxldCBuZXh0ID0gb3BzMi5zaGlmdCgpO1xuICBpZiAoZG9tID09PSB2b2lkIDApXG4gICAgcmV0dXJuIFtbLi4ubWF0Y2hlZCwgY2UuZXJyb3IoXCJ1bmV4cGVjdGVkLWFyZ3VtZW50XCIsIG5leHQpXSwgb3BzMl07XG4gIGlmICghQXJyYXkuaXNBcnJheShkb20pKSB7XG4gICAgaWYgKCFuZXh0KVxuICAgICAgcmV0dXJuIFtbLi4ubWF0Y2hlZCwgY2UuZXJyb3IoXCJtaXNzaW5nXCIpXSwgb3BzMl07XG4gICAgaWYgKCFuZXh0LmRvbWFpbi5pc0NvbXBhdGlibGUoZG9tKSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgWy4uLm1hdGNoZWQsIGNlLmVycm9yKFtcImluY29tcGF0aWJsZS1kb21haW5cIiwgZG9tLCBuZXh0LmRvbWFpbl0sIG5leHQpXSxcbiAgICAgICAgb3BzMlxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIFtbLi4ubWF0Y2hlZCwgbmV4dF0sIG9wczJdO1xuICB9XG4gIGNvbnN0IGN0b3IgPSBkb21bMF07XG4gIGlmIChuZXh0ID09PSB2b2lkIDApIHtcbiAgICBsZXQgdmFsaWQgPSBmYWxzZTtcbiAgICBpZiAoY3RvciA9PT0gXCJVbmlvblwiKSB7XG4gICAgICBmb3IgKGxldCBrID0gMTsgayA8PSBkb20ubGVuZ3RoIC0gMTsgaysrKSB7XG4gICAgICAgIGlmIChkb21ba10gPT09IFwiTm90aGluZ1wiKSB7XG4gICAgICAgICAgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjdG9yID09PSBcIk1heWJlXCIpXG4gICAgICB2YWxpZCA9IHRydWU7XG4gICAgaWYgKHZhbGlkKVxuICAgICAgcmV0dXJuIFtbLi4ubWF0Y2hlZCwgY2Uuc3ltYm9sKFwiTm90aGluZ1wiKV0sIG9wczJdO1xuICAgIHJldHVybiBbWy4uLm1hdGNoZWQsIGNlLmVycm9yKFwibWlzc2luZ1wiKV0sIG9wczJdO1xuICB9XG4gIGlmIChjdG9yID09PSBcIlVuaW9uXCIpIHtcbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBrID0gMTsgayA8PSBkb20ubGVuZ3RoIC0gMTsgaysrKSB7XG4gICAgICBpZiAobmV4dC5kb21haW4uaXNDb21wYXRpYmxlKGRvbVtrXSkpIHtcbiAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZvdW5kKVxuICAgICAgcmV0dXJuIFtbLi4ubWF0Y2hlZCwgbmV4dF0sIG9wczJdO1xuICAgIHJldHVybiBbXG4gICAgICBbLi4ubWF0Y2hlZCwgY2UuZXJyb3IoW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBkb20sIG5leHQuZG9tYWluXSwgbmV4dCldLFxuICAgICAgb3BzMlxuICAgIF07XG4gIH1cbiAgaWYgKGN0b3IgPT09IFwiU2VxdWVuY2VcIikge1xuICAgIGNvbnN0IHNlcSA9IGRvbVsxXTtcbiAgICBpZiAoIW5leHQgfHwgIW5leHQuZG9tYWluLmlzQ29tcGF0aWJsZShzZXEpKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBbLi4ubWF0Y2hlZCwgY2UuZXJyb3IoW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBzZXEsIG5leHQuZG9tYWluXSwgbmV4dCldLFxuICAgICAgICBvcHMyXG4gICAgICBdO1xuICAgIH1cbiAgICBsZXQgZG9uZSA9IGZhbHNlO1xuICAgIGNvbnN0IHJlc3VsdCA9IFsuLi5tYXRjaGVkLCBuZXh0XTtcbiAgICB3aGlsZSAoIWRvbmUpIHtcbiAgICAgIG5leHQgPSBvcHMyLnNoaWZ0KCk7XG4gICAgICBpZiAoIW5leHQpXG4gICAgICAgIGRvbmUgPSBmYWxzZTtcbiAgICAgIGVsc2UgaWYgKCFuZXh0LmRvbWFpbi5pc0NvbXBhdGlibGUoc2VxKSkge1xuICAgICAgICBvcHMyLnVuc2hpZnQobmV4dCk7XG4gICAgICAgIGRvbmUgPSBmYWxzZTtcbiAgICAgIH0gZWxzZVxuICAgICAgICByZXN1bHQucHVzaChuZXh0KTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXN1bHQsIG9wczJdO1xuICB9XG4gIGlmIChjdG9yID09PSBcIk1heWJlXCIpIHtcbiAgICBpZiAobmV4dCA9PT0gdm9pZCAwIHx8IG5leHQuc3ltYm9sID09PSBcIk5vdGhpbmdcIilcbiAgICAgIHJldHVybiBbWy4uLm1hdGNoZWQsIGNlLnN5bWJvbChcIk5vdGhpbmdcIildLCBvcHMyXTtcbiAgICByZXR1cm4gdmFsaWRhdGVOZXh0QXJndW1lbnQoY2UsIGRvbVsxXSwgbWF0Y2hlZCwgW25leHQsIC4uLm9wczJdKTtcbiAgfVxuICBjb25zb2xlLmVycm9yKFwiVW5oYW5kbGVkIGN0b3JcIiwgY3Rvcik7XG4gIHJldHVybiBbWy4uLm1hdGNoZWQsIG5leHRdLCBvcHMyXTtcbn1cbmZ1bmN0aW9uIHZhbGlkYXRlQXJndW1lbnRzKGNlLCBhcmdzLCBkb21zKSB7XG4gIGlmIChhcmdzLmxlbmd0aCA9PT0gZG9tcy5sZW5ndGggJiYgYXJncy5ldmVyeSgoeCwgaSkgPT4geC5kb21haW4uaXNDb21wYXRpYmxlKGRvbXNbaV0pKSlcbiAgICByZXR1cm4gYXJncztcbiAgY29uc3QgeHMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPD0gZG9tcy5sZW5ndGggLSAxOyBpKyspXG4gICAgeHMucHVzaCh2YWxpZGF0ZUFyZ3VtZW50KGNlLCBhcmdzW2ldLCBkb21zW2ldKSk7XG4gIGZvciAobGV0IGkgPSBkb21zLmxlbmd0aDsgaSA8PSBhcmdzLmxlbmd0aCAtIDE7IGkrKylcbiAgICB4cy5wdXNoKGNlLmVycm9yKFwidW5leHBlY3RlZC1hcmd1bWVudFwiLCBhcmdzW2ldKSk7XG4gIHJldHVybiB4cztcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvYXJpdGhtZXRpYy1hZGQudHNcbmZ1bmN0aW9uIGNhbm9uaWNhbEFkZChjZSwgb3BzMikge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQob3BzMi5ldmVyeSgoeCkgPT4geC5pc0Nhbm9uaWNhbCkpO1xuICBvcHMyID0gb3BzMi5maWx0ZXIoKHgpID0+IHgubnVtZXJpY1ZhbHVlID09PSBudWxsIHx8ICF4LmlzWmVybyk7XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICByZXR1cm4gY2UubnVtYmVyKDApO1xuICBpZiAob3BzMi5sZW5ndGggPT09IDEpXG4gICAgcmV0dXJuIG9wczJbMF07XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMikge1xuICAgIGxldCBpbSA9IDA7XG4gICAgbGV0IHJlID0gMDtcbiAgICByZSA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgaWYgKHJlICE9PSBudWxsICYmIHJlICE9PSAwKVxuICAgICAgaW0gPSBnZXRJbWFnaW5hcnlDb2VmKG9wczJbMV0pO1xuICAgIGVsc2Uge1xuICAgICAgaW0gPSBnZXRJbWFnaW5hcnlDb2VmKG9wczJbMF0pO1xuICAgICAgaWYgKGltICE9PSAwICYmIG9wczJbMV0ubnVtZXJpY1ZhbHVlICE9PSBudWxsKVxuICAgICAgICByZSA9IGFzRmxvYXQob3BzMlsxXSk7XG4gICAgfVxuICAgIGlmIChyZSAhPT0gbnVsbCAmJiBpbSAhPT0gbnVsbCAmJiBpbSAhPT0gMClcbiAgICAgIHJldHVybiBjZS5udW1iZXIoY2UuY29tcGxleChyZSwgaW0pKTtcbiAgfVxuICBpZiAob3BzMi5sZW5ndGggPiAxKVxuICAgIG9wczIgPSBzb3J0QWRkKGNlLCBvcHMyKTtcbiAgcmV0dXJuIGNlLl9mbihcIkFkZFwiLCBvcHMyKTtcbn1cbmZ1bmN0aW9uIGRvbWFpbkFkZChfY2UsIGFyZ3MpIHtcbiAgbGV0IGRvbSA9IG51bGw7XG4gIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcbiAgICBpZiAoIWFyZy5pc051bWVyaWMpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoIWRvbSlcbiAgICAgIGRvbSA9IGFyZztcbiAgICBlbHNlXG4gICAgICBkb20gPSBzaGFyZWRBbmNlc3RvckRvbWFpbihkb20sIGFyZyk7XG4gIH1cbiAgcmV0dXJuIGRvbTtcbn1cbmZ1bmN0aW9uIHNpbXBsaWZ5QWRkKGNlLCBhcmdzKSB7XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChhcmdzLmxlbmd0aCA+IDEsIGBzaW1wbGlmeUFkZDogbm90IGVub3VnaCBhcmdzYCk7XG4gIGNvbnN0IHN1bTIgPSBuZXcgU3VtKGNlKTtcbiAgZm9yIChsZXQgYXJnIG9mIGFyZ3MpIHtcbiAgICBhcmcgPSBhcmcuc2ltcGxpZnkoKTtcbiAgICBpZiAoYXJnLmlzSW1hZ2luYXJ5ICYmIGFyZy5pc0luZmluaXR5KVxuICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIkNvbXBsZXhJbmZpbml0eVwiKTtcbiAgICBpZiAoYXJnLmlzTmFOIHx8IGFyZy5zeW1ib2wgPT09IFwiVW5kZWZpbmVkXCIpXG4gICAgICByZXR1cm4gY2UuX05BTjtcbiAgICBpZiAoIWFyZy5pc1plcm8pXG4gICAgICBzdW0yLmFkZFRlcm0oYXJnKTtcbiAgfVxuICByZXR1cm4gc3VtMi5hc0V4cHJlc3Npb24oXCJleHByZXNzaW9uXCIpO1xufVxuZnVuY3Rpb24gZXZhbEFkZE51bShvcHMyKSB7XG4gIGxldCBzdW0yID0gMDtcbiAgZm9yIChjb25zdCBvcDMgb2Ygb3BzMikge1xuICAgIGNvbnN0IHYgPSBvcDMubnVtZXJpY1ZhbHVlO1xuICAgIGlmICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIilcbiAgICAgIHN1bTIgKz0gdjtcbiAgICBlbHNlXG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gc3VtMjtcbn1cbmZ1bmN0aW9uIGV2YWxBZGQoY2UsIG9wczIsIG1vZGUgPSBcImV2YWx1YXRlXCIpIHtcbiAgaWYgKG1vZGUgPT09IFwiTlwiICYmIGNlLm51bWVyaWNNb2RlID09PSBcIm1hY2hpbmVcIikge1xuICAgIG9wczIgPSBvcHMyLm1hcCgoeCkgPT4geC5OKCkpO1xuICAgIGNvbnN0IHN1bTIgPSBldmFsQWRkTnVtKG9wczIpO1xuICAgIGlmIChzdW0yICE9PSBudWxsKVxuICAgICAgcmV0dXJuIGNlLm51bWJlcihzdW0yKTtcbiAgfVxuICBmb3IgKGNvbnN0IGFyZyBvZiBvcHMyKSB7XG4gICAgaWYgKGFyZy5pc0ltYWdpbmFyeSAmJiBhcmcuaXNJbmZpbml0eSlcbiAgICAgIHJldHVybiBjZS5zeW1ib2woXCJDb21wbGV4SW5maW5pdHlcIik7XG4gICAgaWYgKGFyZy5pc05hTiB8fCBhcmcuc3ltYm9sID09PSBcIlVuZGVmaW5lZFwiKVxuICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgaWYgKCFhcmcuaXNFeGFjdClcbiAgICAgIG1vZGUgPSBcIk5cIjtcbiAgfVxuICBpZiAobW9kZSA9PT0gXCJOXCIpXG4gICAgb3BzMiA9IG9wczIubWFwKCh4KSA9PiB4Lk4oKSk7XG4gIGVsc2VcbiAgICBvcHMyID0gb3BzMi5tYXAoKHgpID0+IHguZXZhbHVhdGUoKSk7XG4gIHJldHVybiBuZXcgU3VtKGNlLCBvcHMyKS5hc0V4cHJlc3Npb24obW9kZSA9PT0gXCJOXCIgPyBcIm51bWVyaWNcIiA6IFwiZXhwcmVzc2lvblwiKTtcbn1cbmZ1bmN0aW9uIGNhbm9uaWNhbFN1bW1hdGlvbihjZSwgYm9keSwgcmFuZ2UpIHtcbiAgYm9keSA/PyAoYm9keSA9IGNlLmVycm9yKFwibWlzc2luZ1wiKSk7XG4gIGxldCBpbmRleCA9IG51bGw7XG4gIGxldCBsb3dlciA9IG51bGw7XG4gIGxldCB1cHBlciA9IG51bGw7XG4gIGlmIChyYW5nZSAmJiByYW5nZS5oZWFkICE9PSBcIlR1cGxlXCIgJiYgcmFuZ2UuaGVhZCAhPT0gXCJUcmlwbGVcIiAmJiByYW5nZS5oZWFkICE9PSBcIlBhaXJcIiAmJiByYW5nZS5oZWFkICE9PSBcIlNpbmdsZVwiKSB7XG4gICAgaW5kZXggPSByYW5nZTtcbiAgfSBlbHNlIGlmIChyYW5nZSkge1xuICAgIGluZGV4ID0gcmFuZ2Uub3BzPy5bMF0gPz8gbnVsbDtcbiAgICBsb3dlciA9IHJhbmdlLm9wcz8uWzFdPy5jYW5vbmljYWwgPz8gbnVsbDtcbiAgICB1cHBlciA9IHJhbmdlLm9wcz8uWzJdPy5jYW5vbmljYWwgPz8gbnVsbDtcbiAgfVxuICBpZiAoaW5kZXg/LmhlYWQgPT09IFwiSG9sZFwiKVxuICAgIGluZGV4ID0gaW5kZXgub3AxO1xuICBpZiAoaW5kZXg/LmhlYWQgPT09IFwiUmVsZWFzZUhvbGRcIilcbiAgICBpbmRleCA9IGluZGV4Lm9wMT8uZXZhbHVhdGUoKTtcbiAgaW5kZXggPz8gKGluZGV4ID0gY2Uuc3ltYm9sKFwiTm90aGluZ1wiKSk7XG4gIGlmICghaW5kZXguc3ltYm9sKVxuICAgIGluZGV4ID0gY2UuZXJyb3IoW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBcIlN5bWJvbFwiLCBpbmRleC5kb21haW5dKTtcbiAgaWYgKGluZGV4LnN5bWJvbClcbiAgICBjZS5wdXNoU2NvcGUoeyBbaW5kZXguc3ltYm9sXTogeyBkb21haW46IFwiSW50ZWdlclwiIH0gfSk7XG4gIGNvbnN0IGZuID0gYm9keS5jYW5vbmljYWw7XG4gIGlmIChpbmRleC5zeW1ib2wpIHtcbiAgICBjZS5wb3BTY29wZSgpO1xuICAgIGluZGV4ID0gaW5kZXggPSBjZS5ob2xkKGluZGV4KTtcbiAgfVxuICBpZiAobG93ZXIgJiYgbG93ZXIuaXNGaW5pdGUpXG4gICAgbG93ZXIgPSB2YWxpZGF0ZUFyZ3VtZW50KGNlLCBsb3dlciwgXCJJbnRlZ2VyXCIpO1xuICBpZiAodXBwZXIgJiYgdXBwZXIuaXNGaW5pdGUpXG4gICAgdXBwZXIgPSB2YWxpZGF0ZUFyZ3VtZW50KGNlLCB1cHBlciwgXCJJbnRlZ2VyXCIpO1xuICBpZiAobG93ZXIgJiYgdXBwZXIpXG4gICAgcmFuZ2UgPSBjZS50dXBsZShbaW5kZXgsIGxvd2VyLCB1cHBlcl0pO1xuICBlbHNlIGlmICh1cHBlcilcbiAgICByYW5nZSA9IGNlLnR1cGxlKFtpbmRleCwgY2UubnVtYmVyKDEpLCB1cHBlcl0pO1xuICBlbHNlIGlmIChsb3dlcilcbiAgICByYW5nZSA9IGNlLnR1cGxlKFtpbmRleCwgbG93ZXJdKTtcbiAgZWxzZVxuICAgIHJhbmdlID0gaW5kZXg7XG4gIHJldHVybiBjZS5fZm4oXCJTdW1cIiwgW2ZuLCByYW5nZV0pO1xufVxuZnVuY3Rpb24gZXZhbFN1bW1hdGlvbihjZSwgZXhwciwgcmFuZ2UsIG1vZGUpIHtcbiAgY29uc3QgW2luZGV4LCBsb3dlciwgdXBwZXIsIGlzRmluaXRlMl0gPSBub3JtYWxpemVMaW1pdHMocmFuZ2UpO1xuICBjb25zdCBmbiA9IGV4cHI7XG4gIGlmIChtb2RlICE9PSBcIk5cIiAmJiAobG93ZXIgPj0gdXBwZXIgfHwgdXBwZXIgLSBsb3dlciA+PSBNQVhfU1lNQk9MSUNfVEVSTVMpKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIGxldCByZXN1bHQgPSBudWxsO1xuICBjb25zdCBzYXZlZENvbnRleHQgPSBjZS5jb250ZXh0O1xuICBjZS5jb250ZXh0ID0gZm4uc2NvcGUgPz8gY2UuY29udGV4dDtcbiAgaWYgKG1vZGUgPT09IFwic2ltcGxpZnlcIikge1xuICAgIGNvbnN0IHRlcm1zID0gW107XG4gICAgaWYgKCFmbi5zY29wZSlcbiAgICAgIGZvciAobGV0IGkgPSBsb3dlcjsgaSA8PSB1cHBlcjsgaSsrKVxuICAgICAgICB0ZXJtcy5wdXNoKGZuLnNpbXBsaWZ5KCkpO1xuICAgIGVsc2VcbiAgICAgIGZvciAobGV0IGkgPSBsb3dlcjsgaSA8PSB1cHBlcjsgaSsrKSB7XG4gICAgICAgIGNlLnNldCh7IFtpbmRleF06IGkgfSk7XG4gICAgICAgIHRlcm1zLnB1c2goZm4uc2ltcGxpZnkoKSk7XG4gICAgICB9XG4gICAgcmVzdWx0ID0gY2UuYWRkKHRlcm1zKS5zaW1wbGlmeSgpO1xuICB9XG4gIGlmIChtb2RlID09PSBcImV2YWx1YXRlXCIpIHtcbiAgICBjb25zdCB0ZXJtcyA9IFtdO1xuICAgIGlmICghZm4uc2NvcGUpXG4gICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKylcbiAgICAgICAgdGVybXMucHVzaChmbi5ldmFsdWF0ZSgpKTtcbiAgICBlbHNlXG4gICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykge1xuICAgICAgICBjZS5zZXQoeyBbaW5kZXhdOiBpIH0pO1xuICAgICAgICB0ZXJtcy5wdXNoKGZuLmV2YWx1YXRlKCkpO1xuICAgICAgfVxuICAgIHJlc3VsdCA9IGNlLmFkZCh0ZXJtcykuZXZhbHVhdGUoKTtcbiAgfVxuICBpZiAobW9kZSA9PT0gXCJOXCIpIHtcbiAgICBpZiAocmVzdWx0ID09PSBudWxsICYmICFmbi5zY29wZSkge1xuICAgICAgY29uc3QgbiA9IGZuLk4oKTtcbiAgICAgIGlmICghaXNGaW5pdGUyKSB7XG4gICAgICAgIGlmIChuLmlzWmVybylcbiAgICAgICAgICByZXN1bHQgPSBjZS5fWkVSTztcbiAgICAgICAgZWxzZSBpZiAobi5pc1Bvc2l0aXZlKVxuICAgICAgICAgIHJlc3VsdCA9IGNlLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHJlc3VsdCA9IGNlLl9ORUdBVElWRV9JTkZJTklUWTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgJiYgZm4uaXNQdXJlKVxuICAgICAgICByZXN1bHQgPSBjZS5tdWwoW2NlLm51bWJlcih1cHBlciAtIGxvd2VyICsgMSksIG5dKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCAmJiBpc0Zpbml0ZTIpIHtcbiAgICAgIGlmIChiaWdudW1QcmVmZXJyZWQoY2UpKSB7XG4gICAgICAgIGxldCBzdW0yID0gY2UuYmlnbnVtKDApO1xuICAgICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykge1xuICAgICAgICAgIGNlLnNldCh7IFtpbmRleF06IGkgfSk7XG4gICAgICAgICAgY29uc3QgdGVybSA9IGFzQmlnbnVtKGZuLk4oKSk7XG4gICAgICAgICAgaWYgKHRlcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHZvaWQgMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRlcm0uaXNGaW5pdGUoKSkge1xuICAgICAgICAgICAgc3VtMiA9IHRlcm07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VtMiA9IHN1bTIuYWRkKHRlcm0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpXG4gICAgICAgICAgcmVzdWx0ID0gY2UubnVtYmVyKHN1bTIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbnVtZXJpY01vZGUgPSBjZS5udW1lcmljTW9kZTtcbiAgICAgICAgY2UubnVtZXJpY01vZGUgPSBcIm1hY2hpbmVcIjtcbiAgICAgICAgbGV0IHN1bTIgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykge1xuICAgICAgICAgIGNlLnNldCh7IFtpbmRleF06IGkgfSk7XG4gICAgICAgICAgY29uc3QgdGVybSA9IGFzRmxvYXQoZm4uTigpKTtcbiAgICAgICAgICBpZiAodGVybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdm9pZCAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHRlcm0pKSB7XG4gICAgICAgICAgICBzdW0yID0gdGVybTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdW0yICs9IHRlcm07XG4gICAgICAgIH1cbiAgICAgICAgY2UubnVtZXJpY01vZGUgPSBudW1lcmljTW9kZTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbClcbiAgICAgICAgICByZXN1bHQgPSBjZS5udW1iZXIoc3VtMik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgIGNlLnNldCh7IFtpbmRleF06IDFlMyB9KTtcbiAgICAgIGNvbnN0IG5NYXggPSBmbi5OKCk7XG4gICAgICBjZS5zZXQoeyBbaW5kZXhdOiA5OTkgfSk7XG4gICAgICBjb25zdCBuTWF4TWludXNPbmUgPSBmbi5OKCk7XG4gICAgICBjb25zdCByYXRpbyA9IGFzRmxvYXQoY2UuZGl2KG5NYXgsIG5NYXhNaW51c09uZSkuTigpKTtcbiAgICAgIGlmIChyYXRpbyAhPT0gbnVsbCAmJiBOdW1iZXIuaXNGaW5pdGUocmF0aW8pICYmIE1hdGguYWJzKHJhdGlvKSA+IDEpIHtcbiAgICAgICAgcmVzdWx0ID0gY2UuX1BPU0lUSVZFX0lORklOSVRZO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHN1bTIgPSAwO1xuICAgICAgICBjb25zdCBudW1lcmljTW9kZSA9IGNlLm51bWVyaWNNb2RlO1xuICAgICAgICBjZS5udW1lcmljTW9kZSA9IFwibWFjaGluZVwiO1xuICAgICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykge1xuICAgICAgICAgIGNlLnNldCh7IFtpbmRleF06IGkgfSk7XG4gICAgICAgICAgY29uc3QgdGVybSA9IGFzRmxvYXQoZm4uTigpKTtcbiAgICAgICAgICBpZiAodGVybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gdm9pZCAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChNYXRoLmFicyh0ZXJtKSA8IE51bWJlci5FUFNJTE9OIHx8ICFOdW1iZXIuaXNGaW5pdGUodGVybSkpXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBzdW0yICs9IHRlcm07XG4gICAgICAgIH1cbiAgICAgICAgY2UubnVtZXJpY01vZGUgPSBudW1lcmljTW9kZTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbClcbiAgICAgICAgICByZXN1bHQgPSBjZS5udW1iZXIoc3VtMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNlLmNvbnRleHQgPSBzYXZlZENvbnRleHQ7XG4gIHJldHVybiByZXN1bHQgPz8gdm9pZCAwO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvc3ltYm9saWMvbmVnYXRlLnRzXG52YXIgaW1wb3J0X2NvbXBsZXg5ID0gX190b0VTTShyZXF1aXJlX2NvbXBsZXgoKSk7XG5mdW5jdGlvbiBuZWdhdGVMaXRlcmFsKGV4cHIsIG1ldGFkYXRhKSB7XG4gIGxldCBuID0gZXhwci5udW1lcmljVmFsdWU7XG4gIGlmIChuID09PSBudWxsKVxuICAgIHJldHVybiBudWxsO1xuICBpZiAodHlwZW9mIG4gPT09IFwibnVtYmVyXCIpXG4gICAgbiA9IC1uO1xuICBlbHNlIGlmIChuIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgIG4gPSBuLm5lZygpO1xuICBlbHNlIGlmIChuIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXg5LkNvbXBsZXgpXG4gICAgbiA9IG4ubmVnKCk7XG4gIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkobikpXG4gICAgbiA9IG5lZyhuKTtcbiAgcmV0dXJuIGV4cHIuZW5naW5lLm51bWJlcihuLCB7IG1ldGFkYXRhIH0pO1xufVxuZnVuY3Rpb24gY2Fub25pY2FsTmVnYXRlKGV4cHIsIG1ldGFkYXRhKSB7XG4gIGlmIChleHByLmhlYWQgPT09IFwiTmVnYXRlXCIpXG4gICAgcmV0dXJuIGV4cHIub3AxO1xuICBpZiAoZXhwci5udW1lcmljVmFsdWUgIT09IG51bGwpXG4gICAgcmV0dXJuIG5lZ2F0ZUxpdGVyYWwoZXhwciwgbWV0YWRhdGEpO1xuICBpZiAoZXhwci5oZWFkID09PSBcIkFkZFwiKSB7XG4gICAgbGV0IG9wczIgPSBleHByLm9wcy5tYXAoKHgpID0+IGNhbm9uaWNhbE5lZ2F0ZSh4KSk7XG4gICAgb3BzMiA9IGZsYXR0ZW5PcHMob3BzMiwgXCJBZGRcIik7XG4gICAgcmV0dXJuIGV4cHIuZW5naW5lLmFkZChvcHMyLCBtZXRhZGF0YSk7XG4gIH1cbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJNdWx0aXBseVwiKSB7XG4gICAgcmV0dXJuIG5lZ2F0ZVByb2R1Y3QoZXhwci5lbmdpbmUsIGV4cHIub3BzKTtcbiAgfVxuICBpZiAoZXhwci5oZWFkID09PSBcIkRpdmlkZVwiKVxuICAgIHJldHVybiBleHByLmVuZ2luZS5fZm4oXCJEaXZpZGVcIiwgW2Nhbm9uaWNhbE5lZ2F0ZShleHByLm9wMSksIGV4cHIub3AyXSk7XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChleHByLmhlYWQgIT09IFwiU3VidHJhY3RcIik7XG4gIHJldHVybiBleHByLmVuZ2luZS5fZm4oXCJOZWdhdGVcIiwgW2V4cHJdLCBtZXRhZGF0YSk7XG59XG5mdW5jdGlvbiBuZWdhdGVQcm9kdWN0KGNlLCBhcmdzKSB7XG4gIGxldCByZXN1bHQgPSBbXTtcbiAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xuICAgIGlmICghZG9uZSAmJiBhcmcuaGVhZCA9PT0gXCJOZWdhdGVcIikge1xuICAgICAgZG9uZSA9IHRydWU7XG4gICAgICByZXN1bHQucHVzaChhcmcub3AxKTtcbiAgICB9IGVsc2VcbiAgICAgIHJlc3VsdC5wdXNoKGFyZyk7XG4gIH1cbiAgaWYgKGRvbmUpXG4gICAgcmV0dXJuIGNlLm11bChyZXN1bHQpO1xuICByZXN1bHQgPSBbXTtcbiAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xuICAgIGlmIChkb25lIHx8IGFyZy5udW1lcmljVmFsdWUgPT09IG51bGwgfHwgIWFyZy5pc0ludGVnZXIpXG4gICAgICByZXN1bHQucHVzaChhcmcpO1xuICAgIGVsc2Uge1xuICAgICAgZG9uZSA9IHRydWU7XG4gICAgICByZXN1bHQucHVzaChjYW5vbmljYWxOZWdhdGUoYXJnKSk7XG4gICAgfVxuICB9XG4gIGlmIChkb25lKVxuICAgIHJldHVybiBjZS5tdWwocmVzdWx0KTtcbiAgcmVzdWx0ID0gW107XG4gIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcbiAgICBpZiAoZG9uZSB8fCBhcmcubnVtZXJpY1ZhbHVlID09PSBudWxsIHx8ICFhcmcuaXNOdW1iZXIpXG4gICAgICByZXN1bHQucHVzaChhcmcpO1xuICAgIGVsc2Uge1xuICAgICAgZG9uZSA9IHRydWU7XG4gICAgICByZXN1bHQucHVzaChjYW5vbmljYWxOZWdhdGUoYXJnKSk7XG4gICAgfVxuICB9XG4gIGlmIChkb25lKVxuICAgIHJldHVybiBjZS5tdWwocmVzdWx0KTtcbiAgcmV0dXJuIGNlLl9mbihcIk5lZ2F0ZVwiLCBbY2UuX2ZuKFwiTXVsdGlwbHlcIiwgYXJncyldKTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NOZWdhdGUoX2NlLCB4LCBfbW9kZSA9IFwic2ltcGxpZnlcIikge1xuICByZXR1cm4gY2Fub25pY2FsTmVnYXRlKHgpO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvc3ltYm9saWMvZXhwYW5kLnRzXG5mdW5jdGlvbiBkaXN0cmlidXRlMihsaHMsIHJocykge1xuICBpZiAobGhzLmhlYWQgPT09IFwiTmVnYXRlXCIgJiYgcmhzLmhlYWQgPT09IFwiTmVnYXRlXCIpXG4gICAgcmV0dXJuIGRpc3RyaWJ1dGUyKGxocy5vcDEsIHJocy5vcDEpO1xuICBpZiAobGhzLmhlYWQgPT09IFwiTmVnYXRlXCIpXG4gICAgcmV0dXJuIGNhbm9uaWNhbE5lZ2F0ZShkaXN0cmlidXRlMihsaHMub3AxLCByaHMpKTtcbiAgaWYgKHJocy5oZWFkID09PSBcIk5lZ2F0ZVwiKVxuICAgIHJldHVybiBjYW5vbmljYWxOZWdhdGUoZGlzdHJpYnV0ZTIobGhzLCByaHMub3AxKSk7XG4gIGNvbnN0IGNlID0gbGhzLmVuZ2luZTtcbiAgaWYgKGxocy5oZWFkID09PSBcIkRpdmlkZVwiICYmIHJocy5oZWFkID09PSBcIkRpdmlkZVwiKSB7XG4gICAgY29uc3QgZGVub20gPSBjZS5tdWwoW2xocy5vcDIsIHJocy5vcDJdKTtcbiAgICByZXR1cm4gY2UuZGl2KGRpc3RyaWJ1dGUyKGxocy5vcDEsIHJocy5vcDEpLCBkZW5vbSk7XG4gIH1cbiAgaWYgKGxocy5oZWFkID09PSBcIkRpdmlkZVwiKVxuICAgIHJldHVybiBjZS5kaXYoZGlzdHJpYnV0ZTIobGhzLm9wMSwgcmhzKSwgbGhzLm9wMik7XG4gIGlmIChyaHMuaGVhZCA9PT0gXCJEaXZpZGVcIilcbiAgICByZXR1cm4gY2UuZGl2KGRpc3RyaWJ1dGUyKGxocywgcmhzLm9wMSksIHJocy5vcDIpO1xuICBpZiAobGhzLmhlYWQgPT09IFwiQWRkXCIpXG4gICAgcmV0dXJuIGNlLmFkZChsaHMub3BzLm1hcCgoeCkgPT4gZGlzdHJpYnV0ZTIoeCwgcmhzKSkpO1xuICBpZiAocmhzLmhlYWQgPT09IFwiQWRkXCIpXG4gICAgcmV0dXJuIGNlLmFkZChyaHMub3BzLm1hcCgoeCkgPT4gZGlzdHJpYnV0ZTIobGhzLCB4KSkpO1xuICByZXR1cm4gY2UubXVsKFtsaHMsIHJoc10pO1xufVxuZnVuY3Rpb24gZGlzdHJpYnV0ZShleHByKSB7XG4gIGlmIChleHByLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gZXhwclswXTtcbiAgaWYgKGV4cHIubGVuZ3RoID09PSAyKVxuICAgIHJldHVybiBkaXN0cmlidXRlMihleHByWzBdLCBleHByWzFdKTtcbiAgcmV0dXJuIGRpc3RyaWJ1dGUyKGV4cHJbMF0sIGRpc3RyaWJ1dGUoZXhwci5zbGljZSgxKSkpO1xufVxudmFyIGJpbm9taWFscyA9IFtcbiAgWzFdLFxuICBbMSwgMV0sXG4gIFsxLCAyLCAxXSxcbiAgWzEsIDMsIDMsIDFdLFxuICBbMSwgNCwgNiwgNCwgMV0sXG4gIFsxLCA1LCAxMCwgMTAsIDUsIDFdLFxuICBbMSwgNiwgMTUsIDIwLCAxNSwgNiwgMV0sXG4gIFsxLCA3LCAyMSwgMzUsIDM1LCAyMSwgNywgMV0sXG4gIFsxLCA4LCAyOCwgNTYsIDcwLCA1NiwgMjgsIDgsIDFdXG5dO1xuZnVuY3Rpb24gY2hvb3NlKG4sIGspIHtcbiAgd2hpbGUgKG4gPj0gYmlub21pYWxzLmxlbmd0aCkge1xuICAgIGNvbnN0IHMgPSBiaW5vbWlhbHMubGVuZ3RoO1xuICAgIGNvbnN0IG5leHRSb3cgPSBbMV07XG4gICAgY29uc3QgcHJldiA9IGJpbm9taWFsc1tzIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzOyBpKyspXG4gICAgICBuZXh0Um93W2ldID0gcHJldltpIC0gMV0gKyBwcmV2W2ldO1xuICAgIG5leHRSb3dbc10gPSAxO1xuICAgIGJpbm9taWFscy5wdXNoKG5leHRSb3cpO1xuICB9XG4gIHJldHVybiBiaW5vbWlhbHNbbl1ba107XG59XG5mdW5jdGlvbiBtdWx0aW5vbWlhbENvZWZmaWNpZW50KGspIHtcbiAgbGV0IG4gPSBrLnJlZHVjZSgoYWNjLCB2KSA9PiBhY2MgKyB2LCAwKTtcbiAgbGV0IHByb2QgPSAxO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGsubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBwcm9kICo9IGNob29zZShuLCBrW2ldKTtcbiAgICBuIC09IGtbaV07XG4gIH1cbiAgcmV0dXJuIHByb2Q7XG59XG5mdW5jdGlvbiogcG93ZXJzKG4sIGV4cDIpIHtcbiAgaWYgKG4gPT09IDEpIHtcbiAgICB5aWVsZCBbZXhwMl07XG4gICAgcmV0dXJuO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDw9IGV4cDI7IGkgKz0gMSlcbiAgICBmb3IgKGNvbnN0IHAgb2YgcG93ZXJzKG4gLSAxLCBleHAyIC0gaSkpXG4gICAgICB5aWVsZCBbaSwgLi4ucF07XG59XG5mdW5jdGlvbiBleHBhbmRNdWx0aW5vbWlhbChleHByKSB7XG4gIGlmIChleHByLmhlYWQgIT09IFwiUG93ZXJcIilcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3QgZXhwMiA9IGFzU21hbGxJbnRlZ2VyKGV4cHIub3AyKTtcbiAgaWYgKGV4cDIgPT09IG51bGwgfHwgZXhwMiA8IDApXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmIChleHAyID09PSAwKVxuICAgIHJldHVybiBleHByLmVuZ2luZS5fT05FO1xuICBpZiAoZXhwMiA9PT0gMSlcbiAgICByZXR1cm4gZXhwci5vcDE7XG4gIGNvbnN0IGNlID0gZXhwci5lbmdpbmU7XG4gIGlmIChleHByLm9wMS5oZWFkID09PSBcIk5lZ2F0ZVwiKSB7XG4gICAgY29uc3Qgc2lnbjIgPSBleHAyICUgMiA9PT0gMCA/IDEgOiAtMTtcbiAgICBjb25zdCByZXN1bHQyID0gZXhwYW5kTXVsdGlub21pYWwoY2UucG93KGV4cHIub3AxLm9wMSwgZXhwci5vcDIpKTtcbiAgICBpZiAocmVzdWx0MiA9PT0gbnVsbClcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGlmIChzaWduMiA+IDApXG4gICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICByZXR1cm4gY2UubmVnKHJlc3VsdDIpO1xuICB9XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChleHByLm9wMS5oZWFkICE9PSBcIlN1YnRyYWN0XCIpO1xuICBpZiAoZXhwci5vcDEuaGVhZCAhPT0gXCJBZGRcIilcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3QgdGVybXMgPSBleHByLm9wMS5vcHM7XG4gIGNvbnN0IGl0ID0gcG93ZXJzKHRlcm1zLmxlbmd0aCwgZXhwMik7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGNvbnN0IHZhbCBvZiBpdCkge1xuICAgIGNvbnN0IHByb2R1Y3QgPSBbY2UubnVtYmVyKG11bHRpbm9taWFsQ29lZmZpY2llbnQodmFsKSldO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBpZiAodmFsW2ldICE9PSAwKSB7XG4gICAgICAgIGlmICh2YWxbaV0gPT09IDEpXG4gICAgICAgICAgcHJvZHVjdC5wdXNoKHRlcm1zW2ldKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHByb2R1Y3QucHVzaChjZS5wb3codGVybXNbaV0sIHZhbFtpXSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXN1bHQucHVzaChjZS5tdWwocHJvZHVjdCkpO1xuICB9XG4gIHJldHVybiBjZS5hZGQocmVzdWx0KTtcbn1cbmZ1bmN0aW9uIGV4cGFuZE51bWVyYXRvcihleHByKSB7XG4gIGlmIChleHByLmhlYWQgIT09IFwiRGl2aWRlXCIpXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IGV4cGFuZGVkTnVtZXJhdG9yID0gZXhwYW5kMihleHByLm9wMSk7XG4gIGlmIChleHBhbmRlZE51bWVyYXRvciA9PT0gbnVsbClcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3QgY2UgPSBleHByLmVuZ2luZTtcbiAgaWYgKGV4cGFuZGVkTnVtZXJhdG9yLmhlYWQgPT09IFwiQWRkXCIpIHtcbiAgICByZXR1cm4gY2UuYWRkKGV4cGFuZGVkTnVtZXJhdG9yLm9wcy5tYXAoKHgpID0+IGNlLmRpdih4LCBleHByLm9wMikpKTtcbiAgfVxuICByZXR1cm4gZXhwci5lbmdpbmUuZGl2KGV4cGFuZGVkTnVtZXJhdG9yLCBleHByLm9wMik7XG59XG5mdW5jdGlvbiBleHBhbmQyKGV4cHIpIHtcbiAgaWYgKCFleHByKVxuICAgIHJldHVybiBudWxsO1xuICBsZXQgcmVzdWx0ID0gZXhwYW5kTnVtZXJhdG9yKGV4cHIpO1xuICBpZiAocmVzdWx0ICE9PSBudWxsKVxuICAgIHJldHVybiByZXN1bHQ7XG4gIGlmIChleHByLmhlYWQgPT09IFwiTXVsdGlwbHlcIikge1xuICAgIHJlc3VsdCA9IGRpc3RyaWJ1dGUoZXhwci5vcHMpO1xuICAgIGlmIChyZXN1bHQgIT09IG51bGwpXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGlmIChleHByLmhlYWQgPT09IFwiQWRkXCIpIHtcbiAgICBjb25zdCBvcHMyID0gZXhwci5vcHMubWFwKCh4KSA9PiBleHBhbmQyKHgpID8/IHgpO1xuICAgIHJldHVybiBzaW1wbGlmeUFkZChleHByLmVuZ2luZSwgb3BzMik7XG4gIH1cbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJOZWdhdGVcIikge1xuICAgIHJlc3VsdCA9IGV4cGFuZDIoZXhwci5vcDEpO1xuICAgIGlmIChyZXN1bHQgIT09IG51bGwpXG4gICAgICByZXR1cm4gZXhwci5lbmdpbmUubmVnKHJlc3VsdCk7XG4gIH1cbiAgaWYgKGV4cHIuaGVhZCA9PT0gXCJQb3dlclwiKSB7XG4gICAgcmVzdWx0ID0gZXhwYW5kTXVsdGlub21pYWwoZXhwcik7XG4gICAgaWYgKHJlc3VsdCAhPT0gbnVsbClcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9zb2x2ZS50c1xudmFyIFVOSVZBUklBVEVfUk9PVFMgPSBbXG4gIC8vIGF4ID0gMFxuICBbW1wiTXVsdGlwbHlcIiwgXCJfeFwiLCBcIl9hXCJdLCAwXSxcbiAgLy8geCArIGEgPSAwXG4gIFtcbiAgICBbXCJBZGRcIiwgXCJfYVwiLCBcIl94XCJdLFxuICAgIFtcIk5lZ2F0ZVwiLCBcIl9hXCJdXG4gIF0sXG4gIFtbXCJBZGRcIiwgW1wiTmVnYXRlXCIsIFwiX3hcIl0sIFwiX2FcIl0sIFwiX2FcIl0sXG4gIC8vIGF4ICsgYiA9IDBcbiAgW1xuICAgIFtcIkFkZFwiLCBbXCJNdWx0aXBseVwiLCBcIl94XCIsIFwiX2FcIl0sIFwiX2JcIl0sXG4gICAgW1wiRGl2aWRlXCIsIFtcIk5lZ2F0ZVwiLCBcIl9iXCJdLCBcIl9hXCJdXG4gIF0sXG4gIC8vIFF1YWRyYXRpYyBmb3JtdWxhIChyZWFsKVxuICAvLyBheF4yICsgYnggKyBjID0gMFxuICBbXG4gICAgW1xuICAgICAgXCJBZGRcIixcbiAgICAgIFtcIk11bHRpcGx5XCIsIFtcIlBvd2VyXCIsIFwiX3hcIiwgMl0sIFwiX2FcIl0sXG4gICAgICBbXCJNdWx0aXBseVwiLCBcIl94XCIsIFwiX2JcIl0sXG4gICAgICBcIl9jXCJcbiAgICBdLFxuICAgIFtcbiAgICAgIFwiRGl2aWRlXCIsXG4gICAgICBbXG4gICAgICAgIFwiQWRkXCIsXG4gICAgICAgIFtcIk5lZ2F0ZVwiLCBcIl9iXCJdLFxuICAgICAgICBbXCJTcXJ0XCIsIFtcIlN1YnRyYWN0XCIsIFtcIlNxdWFyZVwiLCBcIl9iXCJdLCBbXCJNdWx0aXBseVwiLCA0LCBcIl9hXCIsIFwiX2NcIl1dXVxuICAgICAgXSxcbiAgICAgIFtcIk11bHRpcGx5XCIsIDIsIFwiX2FcIl1cbiAgICBdXG4gICAgLy8gKF9jZSwgdmFycyk6IGJvb2xlYW4gPT4gdmFycy54LmlzUmVhbCA9PT0gdHJ1ZSxcbiAgXSxcbiAgW1xuICAgIFtcbiAgICAgIFwiQWRkXCIsXG4gICAgICBbXCJNdWx0aXBseVwiLCBbXCJQb3dlclwiLCBcIl94XCIsIDJdLCBcIl9hXCJdLFxuICAgICAgW1wiTXVsdGlwbHlcIiwgXCJfeFwiLCBcIl9iXCJdLFxuICAgICAgXCJfY1wiXG4gICAgXSxcbiAgICBbXG4gICAgICBcIkRpdmlkZVwiLFxuICAgICAgW1xuICAgICAgICBcIlN1YnRyYWN0XCIsXG4gICAgICAgIFtcIk5lZ2F0ZVwiLCBcIl9iXCJdLFxuICAgICAgICBbXCJTcXJ0XCIsIFtcIlN1YnRyYWN0XCIsIFtcIlNxdWFyZVwiLCBcIl9iXCJdLCBbXCJNdWx0aXBseVwiLCA0LCBcIl9hXCIsIFwiX2NcIl1dXVxuICAgICAgXSxcbiAgICAgIFtcIk11bHRpcGx5XCIsIDIsIFwiX2FcIl1cbiAgICBdXG4gICAgLy8gKF9jZSwgdmFycyk6IGJvb2xlYW4gPT4gdmFycy54LmlzUmVhbCA9PT0gdHJ1ZSxcbiAgXSxcbiAgLy8gYXheMiArIGJ4ID0gMFxuICBbXG4gICAgW1wiQWRkXCIsIFtcIk11bHRpcGx5XCIsIFtcIlBvd2VyXCIsIFwiX3hcIiwgMl0sIFwiX2FcIl0sIFtcIk11bHRpcGx5XCIsIFwiX3hcIiwgXCJfYlwiXV0sXG4gICAgMFxuICAgIC8vIChfY2UsIHZhcnMpOiBib29sZWFuID0+IHZhcnMueC5pc1JlYWwgPT09IHRydWUsXG4gIF0sXG4gIFtcbiAgICBbXCJBZGRcIiwgW1wiTXVsdGlwbHlcIiwgW1wiUG93ZXJcIiwgXCJfeFwiLCAyXSwgXCJfYVwiXSwgW1wiTXVsdGlwbHlcIiwgXCJfeFwiLCBcIl9iXCJdXSxcbiAgICBbXCJEaXZpZGVcIiwgW1wiTmVnYXRlXCIsIFwiX2JcIl0sIFwiX2FcIl1cbiAgICAvLyAoX2NlLCB2YXJzKTogYm9vbGVhbiA9PiB2YXJzLnguaXNSZWFsID09PSB0cnVlLFxuICBdLFxuICAvLyBheF4yICsgYiA9IDBcbiAgW1xuICAgIFtcIkFkZFwiLCBbXCJNdWx0aXBseVwiLCBbXCJQb3dlclwiLCBcIl94XCIsIDJdLCBcIl9hXCJdLCBcIl9iXCJdLFxuICAgIFtcIlNxcnRcIiwgW1wiRGl2aWRlXCIsIFtcIk5lZ2F0ZVwiLCBcIl9iXCJdLCBcIl9hXCJdXVxuICAgIC8vIChfY2UsIHZhcnMpOiBib29sZWFuID0+IHZhcnMueC5pc1JlYWwgPT09IHRydWUsXG4gIF0sXG4gIFtcbiAgICBbXCJBZGRcIiwgW1wiTXVsdGlwbHlcIiwgW1wiUG93ZXJcIiwgXCJfeFwiLCAyXSwgXCJfYVwiXSwgXCJfYlwiXSxcbiAgICBbXCJOZWdhdGVcIiwgW1wiU3FydFwiLCBbXCJEaXZpZGVcIiwgW1wiTmVnYXRlXCIsIFwiX2JcIl0sIFwiX2FcIl1dXVxuICAgIC8vIChfY2UsIHZhcnMpOiBib29sZWFuID0+IHZhcnMueC5pc1JlYWwgPT09IHRydWUsXG4gIF1cbiAgLy8gUXVhZHJhdGljIGZvcm11bGEgKGNvbXBsZXgpXG4gIC8vIFtcbiAgLy8gICAnJGF4XjIgKyBieCArIGMkJyxcbiAgLy8gICBbXG4gIC8vICAgICAnJC1cXFxcZnJhY3tifXsyYX0gLSBcXFxcaW1hZ2luYXJ5SSBcXFxcZnJhY3tcXFxcc3FydHs0YWMgLSBiXjJ9fXsyYX0kJyxcbiAgLy8gICAgICckLVxcXFxmcmFje2J9ezJhfSArIFxcXFxpbWFnaW5hcnlJIFxcXFxmcmFje1xcXFxzcXJ0ezRhYyAtIGJeMn19ezJhfSQnLFxuICAvLyAgIF0sXG4gIC8vICAgKF9jZSwgdmFycyk6IGJvb2xlYW4gPT4gdmFycy54LmlzSW1hZ2luYXJ5ID09PSB0cnVlLFxuICAvLyBdLFxuXTtcbmZ1bmN0aW9uIGZpbmRVbml2YXJpYXRlUm9vdHMoZXhwciwgeCkge1xuICBjb25zdCBjZSA9IGV4cHIuZW5naW5lO1xuICBpZiAoZXhwci5oZWFkID09PSBcIkVxdWFsXCIpIHtcbiAgICBleHByID0gY2UuYWRkKFtleHByLm9wMS5jYW5vbmljYWwsIGNlLm5lZyhleHByLm9wMi5jYW5vbmljYWwpXSkuc2ltcGxpZnkoKTtcbiAgfVxuICBjb25zdCBydWxlcyA9IGNlLmNhY2hlKFxuICAgIFwidW5pdmFyaWF0ZS1yb290cy1ydWxlc1wiLFxuICAgICgpID0+IGJveFJ1bGVzKGNlLCBVTklWQVJJQVRFX1JPT1RTKVxuICApO1xuICBsZXQgcmVzdWx0ID0gbWF0Y2hSdWxlcyhcbiAgICBleHByLnN1YnMoeyBbeF06IFwiX3hcIiB9LCB7IGNhbm9uaWNhbDogZmFsc2UgfSksXG4gICAgcnVsZXMsXG4gICAgeyBfeDogY2Uuc3ltYm9sKFwiX3hcIikgfVxuICApO1xuICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnN0IGV4cGFuZGVkRXhwciA9IGV4cGFuZDIoZXhwci5jYW5vbmljYWwpO1xuICAgIGlmIChleHBhbmRlZEV4cHIgPT09IG51bGwpXG4gICAgICByZXR1cm4gW107XG4gICAgcmVzdWx0ID0gbWF0Y2hSdWxlcyhcbiAgICAgIGV4cGFuZGVkRXhwci5zdWJzKHsgW3hdOiBcIl94XCIgfSwgeyBjYW5vbmljYWw6IGZhbHNlIH0pLFxuICAgICAgcnVsZXMsXG4gICAgICB7XG4gICAgICAgIF94OiBjZS5zeW1ib2woXCJfeFwiKVxuICAgICAgfVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5tYXAoKHgyKSA9PiB4Mi5jYW5vbmljYWwuZXZhbHVhdGUoKSk7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9hc3N1bWUudHNcbmZ1bmN0aW9uIGFzc3VtZShwcm9wb3NpdGlvbikge1xuICBpZiAocHJvcG9zaXRpb24uaGVhZCA9PT0gXCJFbGVtZW50XCIpXG4gICAgcmV0dXJuIGFzc3VtZUVsZW1lbnQocHJvcG9zaXRpb24pO1xuICBpZiAocHJvcG9zaXRpb24uaGVhZCA9PT0gXCJFcXVhbFwiKVxuICAgIHJldHVybiBhc3N1bWVFcXVhbGl0eShwcm9wb3NpdGlvbik7XG4gIGlmIChpc0luZXF1YWxpdHkocHJvcG9zaXRpb24pKVxuICAgIHJldHVybiBhc3N1bWVJbmVxdWFsaXR5KHByb3Bvc2l0aW9uKTtcbiAgcmV0dXJuIFwibm90LWEtcHJlZGljYXRlXCI7XG59XG5mdW5jdGlvbiBhc3N1bWVFcXVhbGl0eShwcm9wb3NpdGlvbikge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQocHJvcG9zaXRpb24uaGVhZCA9PT0gXCJFcXVhbFwiKTtcbiAgY29uc3QgZnJlZVZhcnMgPSBwcm9wb3NpdGlvbi5mcmVlVmFycztcbiAgaWYgKGZyZWVWYXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIGNvbnN0IHZhbCA9IHByb3Bvc2l0aW9uLmV2YWx1YXRlKCk7XG4gICAgaWYgKHZhbC5zeW1ib2wgPT09IFwiVHJ1ZVwiKVxuICAgICAgcmV0dXJuIFwidGF1dG9sb2d5XCI7XG4gICAgaWYgKHZhbC5zeW1ib2wgPT09IFwiRmFsc2VcIilcbiAgICAgIHJldHVybiBcImNvbnRyYWRpY3Rpb25cIjtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5sb2cocHJvcG9zaXRpb24uY2Fub25pY2FsLmV2YWx1YXRlKCkpO1xuICAgIHJldHVybiBcIm5vdC1hLXByZWRpY2F0ZVwiO1xuICB9XG4gIGNvbnN0IGNlID0gcHJvcG9zaXRpb24uZW5naW5lO1xuICBjb25zdCBsaHMgPSBwcm9wb3NpdGlvbi5vcDEuc3ltYm9sO1xuICBpZiAobGhzICYmICFoYXNWYWx1ZShjZSwgbGhzKSAmJiAhcHJvcG9zaXRpb24ub3AyLmhhcyhsaHMpKSB7XG4gICAgY29uc3QgdmFsID0gcHJvcG9zaXRpb24ub3AyLmV2YWx1YXRlKCk7XG4gICAgaWYgKCF2YWwuaXNWYWxpZClcbiAgICAgIHJldHVybiBcIm5vdC1hLXByZWRpY2F0ZVwiO1xuICAgIGNvbnN0IGRlZiA9IGNlLmxvb2t1cFN5bWJvbChsaHMpO1xuICAgIGlmICghZGVmKSB7XG4gICAgICBjZS5kZWZpbmVTeW1ib2wobGhzLCB7IHZhbHVlOiB2YWwgfSk7XG4gICAgICByZXR1cm4gXCJva1wiO1xuICAgIH1cbiAgICBpZiAoZGVmLmRvbWFpbiAmJiAhdmFsLmRvbWFpbi5pc0NvbXBhdGlibGUoZGVmLmRvbWFpbikpXG4gICAgICByZXR1cm4gXCJjb250cmFkaWN0aW9uXCI7XG4gICAgZGVmLnZhbHVlID0gdmFsO1xuICAgIHJldHVybiBcIm9rXCI7XG4gIH1cbiAgaWYgKGZyZWVWYXJzLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGxoczIgPSBmcmVlVmFyc1swXTtcbiAgICBjb25zdCBzb2xzID0gZmluZFVuaXZhcmlhdGVSb290cyhwcm9wb3NpdGlvbiwgbGhzMik7XG4gICAgaWYgKHNvbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjZS5hc3N1bXB0aW9ucy5zZXQoXG4gICAgICAgIGNlLmZuKFwiRXF1YWxcIiwgW1xuICAgICAgICAgIGNlLmFkZChbcHJvcG9zaXRpb24ub3AxLmNhbm9uaWNhbCwgY2UubmVnKHByb3Bvc2l0aW9uLm9wMi5jYW5vbmljYWwpXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgICAwXG4gICAgICAgIF0pLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB2YWwgPSBzb2xzLmxlbmd0aCA9PT0gMSA/IHNvbHNbMF0gOiBjZS5mbihcIkxpc3RcIiwgc29scyk7XG4gICAgY29uc3QgZGVmID0gY2UubG9va3VwU3ltYm9sKGxoczIpO1xuICAgIGlmICghZGVmKSB7XG4gICAgICBjZS5kZWZpbmVTeW1ib2wobGhzMiwgeyB2YWx1ZTogdmFsIH0pO1xuICAgICAgcmV0dXJuIFwib2tcIjtcbiAgICB9XG4gICAgaWYgKGRlZi5kb21haW4gJiYgIXNvbHMuZXZlcnkoKHNvbCkgPT4gdmFsLmRvbWFpbi5pc0NvbXBhdGlibGUoc29sLmRvbWFpbikpKVxuICAgICAgcmV0dXJuIFwiY29udHJhZGljdGlvblwiO1xuICAgIGRlZi52YWx1ZSA9IHZhbDtcbiAgICByZXR1cm4gXCJva1wiO1xuICB9XG4gIGNlLmFzc3VtcHRpb25zLnNldChwcm9wb3NpdGlvbiwgdHJ1ZSk7XG4gIHJldHVybiBcIm9rXCI7XG59XG5mdW5jdGlvbiBhc3N1bWVJbmVxdWFsaXR5KHByb3Bvc2l0aW9uKSB7XG4gIGNvbnN0IGNlID0gcHJvcG9zaXRpb24uZW5naW5lO1xuICBpZiAocHJvcG9zaXRpb24ub3AxLnN5bWJvbCAmJiAhaGFzRGVmKGNlLCBwcm9wb3NpdGlvbi5vcDEuc3ltYm9sKSkge1xuICAgIGlmIChwcm9wb3NpdGlvbi5vcDIuZXZhbHVhdGUoKS5pc1plcm8pIHtcbiAgICAgIGlmIChwcm9wb3NpdGlvbi5oZWFkID09PSBcIkxlc3NcIikge1xuICAgICAgICBjZS5kZWZpbmVTeW1ib2wocHJvcG9zaXRpb24ub3AxLnN5bWJvbCwge1xuICAgICAgICAgIGRvbWFpbjogY2UuZG9tYWluKFwiTmVnYXRpdmVOdW1iZXJcIilcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3Bvc2l0aW9uLmhlYWQgPT09IFwiTGVzc0VxdWFsXCIpIHtcbiAgICAgICAgY2UuZGVmaW5lU3ltYm9sKHByb3Bvc2l0aW9uLm9wMS5zeW1ib2wsIHtcbiAgICAgICAgICBkb21haW46IGNlLmRvbWFpbihcIk5vblBvc2l0aXZlTnVtYmVyXCIpXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChwcm9wb3NpdGlvbi5oZWFkID09PSBcIkdyZWF0ZXJcIikge1xuICAgICAgICBjZS5kZWZpbmVTeW1ib2wocHJvcG9zaXRpb24ub3AxLnN5bWJvbCwge1xuICAgICAgICAgIGRvbWFpbjogY2UuZG9tYWluKFwiUG9zaXRpdmVOdW1iZXJcIilcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHByb3Bvc2l0aW9uLmhlYWQgPT09IFwiR3JlYXRlckVxdWFsXCIpIHtcbiAgICAgICAgY2UuZGVmaW5lU3ltYm9sKHByb3Bvc2l0aW9uLm9wMS5zeW1ib2wsIHtcbiAgICAgICAgICBkb21haW46IGNlLmRvbWFpbihcIk5vbk5lZ2F0aXZlTnVtYmVyXCIpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjZS5kZWZpbmVTeW1ib2wocHJvcG9zaXRpb24ub3AxLnN5bWJvbCwge1xuICAgICAgICBkb21haW46IGNlLmRvbWFpbihcIkV4dGVuZGVkUmVhbE51bWJlclwiKVxuICAgICAgfSk7XG4gICAgICBjZS5hc3N1bXB0aW9ucy5zZXQocHJvcG9zaXRpb24sIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gXCJva1wiO1xuICB9XG4gIGxldCBvcDMgPSBcIlwiO1xuICBsZXQgbGhzO1xuICBsZXQgcmhzO1xuICBpZiAocHJvcG9zaXRpb24uaGVhZCA9PT0gXCJMZXNzXCIpIHtcbiAgICBsaHMgPSBwcm9wb3NpdGlvbi5vcDE7XG4gICAgcmhzID0gcHJvcG9zaXRpb24ub3AyO1xuICAgIG9wMyA9IFwiPFwiO1xuICB9IGVsc2UgaWYgKHByb3Bvc2l0aW9uLmhlYWQgPT09IFwiTGVzc0VxdWFsXCIpIHtcbiAgICBsaHMgPSBwcm9wb3NpdGlvbi5vcDE7XG4gICAgcmhzID0gcHJvcG9zaXRpb24ub3AyO1xuICAgIG9wMyA9IFwiPD1cIjtcbiAgfSBlbHNlIGlmIChwcm9wb3NpdGlvbi5oZWFkID09PSBcIkdyZWF0ZXJcIikge1xuICAgIGxocyA9IHByb3Bvc2l0aW9uLm9wMjtcbiAgICByaHMgPSBwcm9wb3NpdGlvbi5vcDE7XG4gICAgb3AzID0gXCI8XCI7XG4gIH0gZWxzZSBpZiAocHJvcG9zaXRpb24uaGVhZCA9PT0gXCJHcmVhdGVyRXF1YWxcIikge1xuICAgIGxocyA9IHByb3Bvc2l0aW9uLm9wMjtcbiAgICByaHMgPSBwcm9wb3NpdGlvbi5vcDE7XG4gICAgb3AzID0gXCI8PVwiO1xuICB9XG4gIGlmICghb3AzKVxuICAgIHJldHVybiBcImludGVybmFsLWVycm9yXCI7XG4gIGNvbnN0IHAgPSBjZS5hZGQoW2xocy5jYW5vbmljYWwsIGNlLm5lZyhyaHMuY2Fub25pY2FsKV0pLnNpbXBsaWZ5KCk7XG4gIGNvbnN0IHJlc3VsdCA9IGNlLmJveChbb3AzID09PSBcIjxcIiA/IFwiTGVzc1wiIDogXCJMZXNzRXF1YWxcIiwgcCwgMF0pLmV2YWx1YXRlKCk7XG4gIGlmIChyZXN1bHQuc3ltYm9sID09PSBcIlRydWVcIilcbiAgICByZXR1cm4gXCJ0YXV0b2xvZ3lcIjtcbiAgaWYgKHJlc3VsdC5zeW1ib2wgPT09IFwiRmFsc2VcIilcbiAgICByZXR1cm4gXCJjb250cmFkaWN0aW9uXCI7XG4gIGNvbnN0IGZyZWVWYXJzID0gcmVzdWx0LmZyZWVWYXJzO1xuICBpZiAoZnJlZVZhcnMubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBcIm5vdC1hLXByZWRpY2F0ZVwiO1xuICBpZiAoZnJlZVZhcnMubGVuZ3RoID09PSAxKSB7XG4gICAgaWYgKCFjZS5sb29rdXBTeW1ib2woZnJlZVZhcnNbMF0pKVxuICAgICAgY2UuZGVmaW5lU3ltYm9sKGZyZWVWYXJzWzBdLCB7IGRvbWFpbjogXCJFeHRlbmRlZFJlYWxOdW1iZXJcIiB9KTtcbiAgfVxuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQocmVzdWx0LmhlYWQgPT09IFwiTGVzc1wiIHx8IHJlc3VsdC5oZWFkID09PSBcIkxlc3NFcXVhbFwiKTtcbiAgY2UuYXNzdW1wdGlvbnMuc2V0KHJlc3VsdCwgdHJ1ZSk7XG4gIHJldHVybiBcIm9rXCI7XG59XG5mdW5jdGlvbiBhc3N1bWVFbGVtZW50KHByb3Bvc2l0aW9uKSB7XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChwcm9wb3NpdGlvbi5oZWFkID09PSBcIkVsZW1lbnRcIik7XG4gIGNvbnN0IGNlID0gcHJvcG9zaXRpb24uZW5naW5lO1xuICBjb25zdCB1bmRlZnMgPSB1bmRlZmluZWRJZGVudGlmaWVycyhwcm9wb3NpdGlvbi5vcDEpO1xuICBpZiAodW5kZWZzLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGRvbSA9IGNlLmRvbWFpbihwcm9wb3NpdGlvbi5vcDIuZXZhbHVhdGUoKS5qc29uKTtcbiAgICBpZiAoIWRvbS5pc1ZhbGlkKVxuICAgICAgcmV0dXJuIFwibm90LWEtcHJlZGljYXRlXCI7XG4gICAgaWYgKGRvbS5pc0NvbXBhdGlibGUoXCJGdW5jdGlvblwiKSlcbiAgICAgIGNlLmRlZmluZUZ1bmN0aW9uKHVuZGVmc1swXSwgeyBzaWduYXR1cmU6IHsgZG9tYWluOiBcIkZ1bmN0aW9uXCIgfSB9KTtcbiAgICBlbHNlXG4gICAgICBjZS5kZWZpbmVTeW1ib2wodW5kZWZzWzBdLCB7IGRvbWFpbjogZG9tIH0pO1xuICAgIHJldHVybiBcIm9rXCI7XG4gIH1cbiAgaWYgKHByb3Bvc2l0aW9uLm9wMS5zeW1ib2wgJiYgaGFzRGVmKGNlLCBwcm9wb3NpdGlvbi5vcDEuc3ltYm9sKSkge1xuICAgIGNvbnN0IGRvbSA9IGNlLmRvbWFpbihwcm9wb3NpdGlvbi5vcDIuZXZhbHVhdGUoKS5qc29uKTtcbiAgICBpZiAoIWRvbS5pc1ZhbGlkKVxuICAgICAgcmV0dXJuIFwibm90LWEtcHJlZGljYXRlXCI7XG4gICAgY29uc3QgZGVmID0gY2UubG9va3VwU3ltYm9sKHByb3Bvc2l0aW9uLm9wMS5zeW1ib2wpO1xuICAgIGlmIChkZWYpIHtcbiAgICAgIGlmIChkZWYuZG9tYWluICYmICFkb20uaXNDb21wYXRpYmxlKGRlZi5kb21haW4pKVxuICAgICAgICByZXR1cm4gXCJjb250cmFkaWN0aW9uXCI7XG4gICAgICBkZWYuZG9tYWluID0gZG9tO1xuICAgICAgcmV0dXJuIFwib2tcIjtcbiAgICB9XG4gICAgY29uc3QgZmRlZiA9IGNlLmxvb2t1cEZ1bmN0aW9uKHByb3Bvc2l0aW9uLm9wMS5zeW1ib2wpO1xuICAgIGlmIChmZGVmPy5zaWduYXR1cmU/LmRvbWFpbikge1xuICAgICAgaWYgKCFkb20uaXNDb21wYXRpYmxlKGZkZWYuc2lnbmF0dXJlLmRvbWFpbikpXG4gICAgICAgIHJldHVybiBcImNvbnRyYWRpY3Rpb25cIjtcbiAgICAgIGlmIChkb20uaXNDb21wYXRpYmxlKGZkZWYuc2lnbmF0dXJlLmRvbWFpbiwgXCJiaXZhcmlhbnRcIikpXG4gICAgICAgIHJldHVybiBcInRhdXRvbG9neVwiO1xuICAgICAgcmV0dXJuIFwibm90LWEtcHJlZGljYXRlXCI7XG4gICAgfVxuICAgIHJldHVybiBcIm9rXCI7XG4gIH1cbiAgaWYgKHVuZGVmcy5sZW5ndGggPiAwKSB7XG4gICAgY2UuYXNzdW1wdGlvbnMuc2V0KHByb3Bvc2l0aW9uLCB0cnVlKTtcbiAgICByZXR1cm4gXCJva1wiO1xuICB9XG4gIGNvbnN0IHZhbCA9IHByb3Bvc2l0aW9uLmV2YWx1YXRlKCk7XG4gIGlmICh2YWwuc3ltYm9sID09PSBcIlRydWVcIilcbiAgICByZXR1cm4gXCJ0YXV0b2xvZ3lcIjtcbiAgaWYgKHZhbC5zeW1ib2wgPT09IFwiRmFsc2VcIilcbiAgICByZXR1cm4gXCJjb250cmFkaWN0aW9uXCI7XG4gIHJldHVybiBcIm5vdC1hLXByZWRpY2F0ZVwiO1xufVxuZnVuY3Rpb24gaGFzRGVmKGNlLCBzKSB7XG4gIHJldHVybiAoY2UubG9va3VwU3ltYm9sKHMpID8/IGNlLmxvb2t1cEZ1bmN0aW9uKHMpKSAhPT0gdm9pZCAwO1xufVxuZnVuY3Rpb24gdW5kZWZpbmVkSWRlbnRpZmllcnMoZXhwcikge1xuICByZXR1cm4gZXhwci5zeW1ib2xzLmZpbHRlcigoeCkgPT4gIWhhc0RlZihleHByLmVuZ2luZSwgeCkpO1xufVxuZnVuY3Rpb24gaGFzVmFsdWUoY2UsIHMpIHtcbiAgaWYgKGNlLmxvb2t1cEZ1bmN0aW9uKHMpKVxuICAgIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIGNlLmxvb2t1cFN5bWJvbChzKT8udmFsdWUgIT09IHZvaWQgMDtcbn1cbmZ1bmN0aW9uIGlzSW5lcXVhbGl0eShleHByKSB7XG4gIGNvbnN0IGggPSBleHByLmhlYWQ7XG4gIGlmICh0eXBlb2YgaCAhPT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBbXCJMZXNzXCIsIFwiR3JlYXRlclwiLCBcIkxlc3NFcXVhbFwiLCBcIkdyZWF0ZXJFcXVhbFwiXS5pbmNsdWRlcyhoKTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2JveGVkLWV4cHJlc3Npb24vYm94LnRzXG52YXIgaW1wb3J0X2NvbXBsZXgxMyA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1kaWN0aW9uYXJ5LnRzXG52YXIgQm94ZWREaWN0aW9uYXJ5ID0gY2xhc3MgX0JveGVkRGljdGlvbmFyeSBleHRlbmRzIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uIHtcbiAgY29uc3RydWN0b3IoY2UsIGRpY3QsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID8/IChvcHRpb25zID0ge30pO1xuICAgIHN1cGVyKGNlLCBvcHRpb25zLm1ldGFkYXRhKTtcbiAgICB0aGlzLl92YWx1ZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgY29uc3QgY2Fub25pY2FsMiA9IG9wdGlvbnMuY2Fub25pY2FsID8/IHRydWU7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGljdCkpXG4gICAgICB0aGlzLl92YWx1ZS5zZXQoa2V5LCBjZS5ib3goZGljdFtrZXldLCB7IGNhbm9uaWNhbDogY2Fub25pY2FsMiB9KSk7XG4gICAgY2UuX3JlZ2lzdGVyKHRoaXMpO1xuICB9XG4gIHVuYmluZCgpIHtcbiAgICBmb3IgKGNvbnN0IFtfaywgdl0gb2YgdGhpcy5fdmFsdWUpXG4gICAgICB2LnVuYmluZCgpO1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGhhc2goKSB7XG4gICAgbGV0IGggPSBoYXNoQ29kZShcIkRpY3Rpb25hcnlcIik7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgdGhpcy5fdmFsdWUpXG4gICAgICBoIF49IGhhc2hDb2RlKGspIF4gdi5oYXNoO1xuICAgIHJldHVybiBoO1xuICB9XG4gIGdldCBjb21wbGV4aXR5KCkge1xuICAgIHJldHVybiA5NztcbiAgfVxuICBnZXQgaGVhZCgpIHtcbiAgICByZXR1cm4gXCJEaWN0aW9uYXJ5XCI7XG4gIH1cbiAgZ2V0IGlzUHVyZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0S2V5KGtleSkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZS5nZXQoa2V5KTtcbiAgfVxuICBoYXNLZXkoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmhhcyhrZXkpO1xuICB9XG4gIGdldCBrZXlzKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZS5rZXlzKCk7XG4gIH1cbiAgZ2V0IGtleXNDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUuc2l6ZTtcbiAgfVxuICBoYXMoeCkge1xuICAgIGZvciAoY29uc3QgW19rLCB2XSBvZiB0aGlzLl92YWx1ZSlcbiAgICAgIGlmICh2Lmhhcyh4KSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBkb21haW4oKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW1wiRGljdGlvbmFyeVwiXTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiB0aGlzLl92YWx1ZSlcbiAgICAgIHJlc3VsdC5wdXNoKFtcIlR1cGxlXCIsIGssIHYuZG9tYWluXSk7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lLmRvbWFpbihyZXN1bHQpO1xuICB9XG4gIGdldCBqc29uKCkge1xuICAgIGlmICh0aGlzLmVuZ2luZS5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMuc2hvcnRoYW5kcy5pbmNsdWRlcyhcImRpY3Rpb25hcnlcIikpIHtcbiAgICAgIGNvbnN0IGRpY3QgPSB7fTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMuX3ZhbHVlLmtleXMoKSlcbiAgICAgICAgZGljdFtrZXldID0gdGhpcy5fdmFsdWUuZ2V0KGtleSkuanNvbjtcbiAgICAgIHJldHVybiB7IGRpY3QgfTtcbiAgICB9XG4gICAgY29uc3Qga3ZzID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5fdmFsdWUua2V5cygpKVxuICAgICAga3ZzLnB1c2goXG4gICAgICAgIHRoaXMuZW5naW5lLl9mbihcIktleVZhbHVlUGFpclwiLCBbXG4gICAgICAgICAgdGhpcy5lbmdpbmUuc3RyaW5nKGtleSksXG4gICAgICAgICAgdGhpcy5fdmFsdWUuZ2V0KGtleSlcbiAgICAgICAgXSlcbiAgICAgICk7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbih0aGlzLmVuZ2luZSwgXCJEaWN0aW9uYXJ5XCIsIGt2cywge1xuICAgICAgbGF0ZXg6IHRoaXMuX2xhdGV4XG4gICAgfSk7XG4gIH1cbiAgLyoqIFN0cnVjdHVyYWwgZXF1YWxpdHkgKi9cbiAgaXNTYW1lKHJocykge1xuICAgIGlmICh0aGlzID09PSByaHMpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIShyaHMgaW5zdGFuY2VvZiBfQm94ZWREaWN0aW9uYXJ5KSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5fdmFsdWUuc2l6ZSAhPT0gcmhzLl92YWx1ZS5zaXplKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIHRoaXMuX3ZhbHVlKSB7XG4gICAgICBjb25zdCByaHNWID0gcmhzLmdldEtleShrKTtcbiAgICAgIGlmICghcmhzViB8fCAhdi5pc1NhbWUocmhzVikpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgbWF0Y2gocmhzLCBfb3B0aW9ucykge1xuICAgIGlmICghKHJocyBpbnN0YW5jZW9mIF9Cb3hlZERpY3Rpb25hcnkpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKHRoaXMuX3ZhbHVlLnNpemUgIT09IHJocy5fdmFsdWUuc2l6ZSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGxldCByZXN1bHQgPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiB0aGlzLl92YWx1ZSkge1xuICAgICAgY29uc3QgcmhzViA9IHJocy5nZXRLZXkoayk7XG4gICAgICBpZiAoIXJoc1YpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgY29uc3QgbSA9IHYubWF0Y2gocmhzVik7XG4gICAgICBpZiAobSA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICByZXN1bHQgPSB7IC4uLnJlc3VsdCwgLi4ubSB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKiBNYXRoZW1hdGljYWwgZXF1YWxpdHkgKi9cbiAgaXNFcXVhbChyaHMpIHtcbiAgICBpZiAodGhpcyA9PT0gcmhzKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCEocmhzIGluc3RhbmNlb2YgX0JveGVkRGljdGlvbmFyeSkpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFyaHMua2V5cyB8fCB0aGlzLl92YWx1ZS5zaXplICE9PSByaHMuX3ZhbHVlLnNpemUpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgdGhpcy5fdmFsdWUpIHtcbiAgICAgIGNvbnN0IHJoc1YgPSByaHMuZ2V0S2V5KGspO1xuICAgICAgaWYgKCFyaHNWIHx8ICF2LmlzRXF1YWwocmhzVikpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgYXBwbHkoZm4sIGhlYWQyKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKVxuICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLmVuZ2luZS5ib3goZm4odGhpcy5nZXRLZXkoa2V5KSkpO1xuICAgIGlmIChoZWFkMilcbiAgICAgIHJldHVybiB0aGlzLmVuZ2luZS5mbihoZWFkMiwgW3sgZGljdDogcmVzdWx0IH1dKTtcbiAgICByZXR1cm4gbmV3IF9Cb3hlZERpY3Rpb25hcnkodGhpcy5lbmdpbmUsIHJlc3VsdCk7XG4gIH1cbiAgZXZhbHVhdGUob3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmFwcGx5KCh4KSA9PiB4LmV2YWx1YXRlKG9wdGlvbnMpID8/IHgpO1xuICB9XG4gIGdldCBpc0Nhbm9uaWNhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNDYW5vbmljYWw7XG4gIH1cbiAgc2V0IGlzQ2Fub25pY2FsKHZhbCkge1xuICAgIHRoaXMuX2lzQ2Fub25pY2FsID0gdmFsO1xuICB9XG4gIGdldCBjYW5vbmljYWwoKSB7XG4gICAgaWYgKHRoaXMuaXNDYW5vbmljYWwpXG4gICAgICByZXR1cm4gdGhpcztcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmFwcGx5KCh4KSA9PiB4LmNhbm9uaWNhbCk7XG4gICAgcmVzdWx0LmlzQ2Fub25pY2FsID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHNpbXBsaWZ5KG9wdGlvbnMpIHtcbiAgICBpZiAoIShvcHRpb25zPy5yZWN1cnNpdmUgPz8gdHJ1ZSkpXG4gICAgICByZXR1cm4gdGhpcztcbiAgICByZXR1cm4gdGhpcy5hcHBseSgoeCkgPT4geC5zaW1wbGlmeShvcHRpb25zKSA/PyB4KTtcbiAgfVxuICBOKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5hcHBseSgoeCkgPT4geC5OKG9wdGlvbnMpKTtcbiAgfVxuICByZXBsYWNlKHJ1bGVzLCBvcHRpb25zKSB7XG4gICAgbGV0IGNoYW5nZUNvdW50ID0gMDtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmtleXMpIHtcbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMuZ2V0S2V5KGtleSk7XG4gICAgICBjb25zdCBuZXdWYWwgPSB2YWwucmVwbGFjZShydWxlcywgb3B0aW9ucyk7XG4gICAgICBpZiAobmV3VmFsICE9PSBudWxsKVxuICAgICAgICBjaGFuZ2VDb3VudCArPSAxO1xuICAgICAgcmVzdWx0W2tleV0gPSBuZXdWYWwgPz8gdmFsO1xuICAgIH1cbiAgICByZXR1cm4gY2hhbmdlQ291bnQgPT09IDAgPyBudWxsIDogbmV3IF9Cb3hlZERpY3Rpb25hcnkodGhpcy5lbmdpbmUsIHJlc3VsdCk7XG4gIH1cbiAgc3VicyhzdWIyLCBvcHRpb25zKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKVxuICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLmdldEtleShrZXkpLnN1YnMoc3ViMiwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBfQm94ZWREaWN0aW9uYXJ5KHRoaXMuZW5naW5lLCByZXN1bHQsIG9wdGlvbnMpO1xuICB9XG59O1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1mdW5jdGlvbi50c1xudmFyIGltcG9ydF9jb21wbGV4MTAgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL3NpbXBsaWZ5LXJ1bGVzLnRzXG52YXIgU0lNUExJRllfUlVMRVMgPSBbXTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2JveGVkLWV4cHJlc3Npb24vYm94ZWQtZnVuY3Rpb24udHNcbmZ1bmN0aW9uIGNoZWFwZXN0KG9sZEV4cHIsIG5ld0V4cHIpIHtcbiAgaWYgKG5ld0V4cHIgPT09IG51bGwgfHwgbmV3RXhwciA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBvbGRFeHByO1xuICBpZiAob2xkRXhwciA9PT0gbmV3RXhwcilcbiAgICByZXR1cm4gb2xkRXhwcjtcbiAgY29uc3QgY2UgPSBvbGRFeHByLmVuZ2luZTtcbiAgY29uc3QgYm94ZWROZXdFeHByID0gY2UuYm94KG5ld0V4cHIpO1xuICBpZiAoY2UuY29zdEZ1bmN0aW9uKGJveGVkTmV3RXhwcikgPD0gMS4yICogY2UuY29zdEZ1bmN0aW9uKG9sZEV4cHIpKSB7XG4gICAgcmV0dXJuIGJveGVkTmV3RXhwcjtcbiAgfVxuICByZXR1cm4gb2xkRXhwcjtcbn1cbnZhciBCb3hlZEZ1bmN0aW9uID0gY2xhc3MgX0JveGVkRnVuY3Rpb24gZXh0ZW5kcyBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKGNlLCBoZWFkMiwgb3BzMiwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPz8gKG9wdGlvbnMgPSB7fSk7XG4gICAgb3B0aW9ucy5jYW5vbmljYWwgPz8gKG9wdGlvbnMuY2Fub25pY2FsID0gZmFsc2UpO1xuICAgIHN1cGVyKGNlLCBvcHRpb25zLm1ldGFkYXRhKTtcbiAgICB0aGlzLl9zY29wZSA9IGNlLmNvbnRleHQ7XG4gICAgdGhpcy5faGVhZCA9IGhlYWQyO1xuICAgIHRoaXMuX29wcyA9IG9wczI7XG4gICAgdGhpcy5fZGVmID0gb3B0aW9ucy5kZWYgPz8gbnVsbDtcbiAgICBpZiAob3B0aW9ucy5jYW5vbmljYWwpIHtcbiAgICAgIGlmICghdGhpcy5fZGVmKVxuICAgICAgICB0aGlzLl9kZWYgPSBjZS5sb29rdXBGdW5jdGlvbihoZWFkMiwgY2UuY29udGV4dCk7XG4gICAgICB0aGlzLl9jYW5vbmljYWwgPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLl9jb2RvbWFpbiA9IG51bGw7XG4gICAgaWYgKCFvcHRpb25zLmNhbm9uaWNhbCkge1xuICAgICAgdGhpcy5fY29kb21haW4gPSBjZS5kb21haW4oXCJBbnl0aGluZ1wiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLl9oZWFkICE9PSBcInN0cmluZ1wiKVxuICAgICAgICB0aGlzLl9jb2RvbWFpbiA9IHRoaXMuX2hlYWQuZG9tYWluLmNvZG9tYWluO1xuICAgICAgZWxzZSBpZiAodGhpcy5fZGVmKSB7XG4gICAgICAgIGNvbnN0IHNpZyA9IHRoaXMuX2RlZi5zaWduYXR1cmU7XG4gICAgICAgIGlmICh0eXBlb2Ygc2lnLmNvZG9tYWluID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICB0aGlzLl9jb2RvbWFpbiA9IHNpZy5jb2RvbWFpbihjZSwgdGhpcy5fb3BzKSA/PyBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2NvZG9tYWluID0gc2lnLmNvZG9tYWluID8/IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5fY29kb21haW4pXG4gICAgICAgIHRoaXMuX2NvZG9tYWluID0gY2UuZGVmYXVsdERvbWFpbiA/PyBjZS5kb21haW4oXCJWb2lkXCIpO1xuICAgIH1cbiAgICBjZS5fcmVnaXN0ZXIodGhpcyk7XG4gIH1cbiAgLy9cbiAgLy8gTk9OLUNBTk9OSUNBTCBPUiBDQU5PTklDQUwgT1BFUkFUSU9OU1xuICAvL1xuICAvLyBUaG9zZSBvcGVyYXRpb25zL3Byb3BlcnRpZXMgY2FuIGJlIGFwcGxpZWQgdG8gYSBjYW5vbmljYWwgb3JcbiAgLy8gbm9uLWNhbm9uaWNhbCBleHByZXNzaW9uXG4gIC8vXG4gIGdldCBoYXNoKCkge1xuICAgIGlmICh0aGlzLl9oYXNoICE9PSB2b2lkIDApXG4gICAgICByZXR1cm4gdGhpcy5faGFzaDtcbiAgICBsZXQgaCA9IDA7XG4gICAgZm9yIChjb25zdCBvcDMgb2YgdGhpcy5fb3BzKVxuICAgICAgaCA9IGggPDwgMSBeIG9wMy5oYXNoIHwgMDtcbiAgICBpZiAodHlwZW9mIHRoaXMuX2hlYWQgPT09IFwic3RyaW5nXCIpXG4gICAgICBoID0gaCBeIGhhc2hDb2RlKHRoaXMuX2hlYWQpIHwgMDtcbiAgICBlbHNlXG4gICAgICBoID0gaCBeIHRoaXMuX2hlYWQuaGFzaCB8IDA7XG4gICAgdGhpcy5faGFzaCA9IGg7XG4gICAgcmV0dXJuIGg7XG4gIH1cbiAgZ2V0IGlzQ2Fub25pY2FsKCkge1xuICAgIHJldHVybiB0aGlzLl9jYW5vbmljYWwgPT09IHRoaXM7XG4gIH1cbiAgc2V0IGlzQ2Fub25pY2FsKHZhbCkge1xuICAgIHRoaXMuX2Nhbm9uaWNhbCA9IHZhbCA/IHRoaXMgOiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzUHVyZSgpIHtcbiAgICBpZiAodGhpcy5faXNQdXJlICE9PSB2b2lkIDApXG4gICAgICByZXR1cm4gdGhpcy5faXNQdXJlO1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbCkge1xuICAgICAgdGhpcy5faXNQdXJlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB2b2lkIDA7XG4gICAgaWYgKHRoaXMuZnVuY3Rpb25EZWZpbml0aW9uPy5wdXJlICE9PSB2b2lkIDApXG4gICAgICByZXN1bHQgPSB0aGlzLmZ1bmN0aW9uRGVmaW5pdGlvbi5wdXJlO1xuICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKVxuICAgICAgcmVzdWx0ID0gdGhpcy5fb3BzLmV2ZXJ5KCh4KSA9PiB4LmlzUHVyZSk7XG4gICAgdGhpcy5faXNQdXJlID0gcmVzdWx0O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZ2V0IGpzb24oKSB7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCAmJiB0aGlzLl9jYW5vbmljYWwgPT09IHRoaXMpXG4gICAgICByZXR1cm4gc2VyaWFsaXplSnNvbkNhbm9uaWNhbEZ1bmN0aW9uKFxuICAgICAgICB0aGlzLmVuZ2luZSxcbiAgICAgICAgdGhpcy5faGVhZCxcbiAgICAgICAgdGhpcy5fb3BzLFxuICAgICAgICB7IGxhdGV4OiB0aGlzLl9sYXRleCwgd2lraWRhdGE6IHRoaXMuX3dpa2lkYXRhIH1cbiAgICAgICk7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbih0aGlzLmVuZ2luZSwgdGhpcy5faGVhZCwgdGhpcy5fb3BzLCB7XG4gICAgICBsYXRleDogdGhpcy5fbGF0ZXgsXG4gICAgICB3aWtpZGF0YTogdGhpcy5fd2lraWRhdGFcbiAgICB9KTtcbiAgfVxuICBnZXQgcmF3SnNvbigpIHtcbiAgICBjb25zdCBoZWFkMiA9IHR5cGVvZiB0aGlzLl9oZWFkID09PSBcInN0cmluZ1wiID8gdGhpcy5faGVhZCA6IHRoaXMuX2hlYWQuanNvbjtcbiAgICByZXR1cm4gW2hlYWQyLCAuLi50aGlzLm9wcy5tYXAoKHgpID0+IHgucmF3SnNvbildO1xuICB9XG4gIGdldCBzY29wZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2NvcGU7XG4gIH1cbiAgZ2V0IGhlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hlYWQ7XG4gIH1cbiAgZ2V0IG9wcygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BzO1xuICB9XG4gIGdldCBub3BzKCkge1xuICAgIHJldHVybiB0aGlzLl9vcHMubGVuZ3RoO1xuICB9XG4gIGdldCBvcDEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wc1swXSA/PyB0aGlzLmVuZ2luZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICB9XG4gIGdldCBvcDIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wc1sxXSA/PyB0aGlzLmVuZ2luZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICB9XG4gIGdldCBvcDMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wc1syXSA/PyB0aGlzLmVuZ2luZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICB9XG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIGlmICh0aGlzLl9oZWFkID09PSBcIkVycm9yXCIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9oZWFkICE9PSBcInN0cmluZ1wiICYmICF0aGlzLl9oZWFkLmlzVmFsaWQpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuX29wcy5ldmVyeSgoeCkgPT4geC5pc1ZhbGlkKTtcbiAgfVxuICBnZXQgY2Fub25pY2FsKCkge1xuICAgIGlmICh0aGlzLl9jYW5vbmljYWwpXG4gICAgICByZXR1cm4gdGhpcy5fY2Fub25pY2FsO1xuICAgIHRoaXMuX2Nhbm9uaWNhbCA9IHRoaXMuaXNWYWxpZCA/IG1ha2VDYW5vbmljYWxGdW5jdGlvbih0aGlzLmVuZ2luZSwgdGhpcy5faGVhZCwgdGhpcy5fb3BzKSA6IHRoaXM7XG4gICAgcmV0dXJuIHRoaXMuX2Nhbm9uaWNhbDtcbiAgfVxuICAqbWFwKGZuKSB7XG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlIChpIDwgdGhpcy5fb3BzLmxlbmd0aClcbiAgICAgIHlpZWxkIGZuKHRoaXMuX29wc1tpKytdKTtcbiAgfVxuICBzdWJzKHN1YjIsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyA/IHsgLi4ub3B0aW9ucyB9IDoge307XG4gICAgaWYgKCEoXCJjYW5vbmljYWxcIiBpbiBvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMuY2Fub25pY2FsID0gdHJ1ZTtcbiAgICBjb25zdCBvcHMyID0gdGhpcy5fb3BzLm1hcCgoeCkgPT4geC5zdWJzKHN1YjIsIG9wdGlvbnMpKTtcbiAgICBpZiAob3B0aW9ucy5jYW5vbmljYWwgJiYgb3BzMi5ldmVyeSgoeCkgPT4geC5pc1ZhbGlkKSlcbiAgICAgIHJldHVybiBtYWtlQ2Fub25pY2FsRnVuY3Rpb24odGhpcy5lbmdpbmUsIHRoaXMuX2hlYWQsIG9wczIpO1xuICAgIHJldHVybiBuZXcgX0JveGVkRnVuY3Rpb24odGhpcy5lbmdpbmUsIHRoaXMuX2hlYWQsIG9wczIsIHtcbiAgICAgIGNhbm9uaWNhbDogZmFsc2VcbiAgICB9KTtcbiAgfVxuICByZXBsYWNlKHJ1bGVzLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHJlcGxhY2UodGhpcywgcnVsZXMsIG9wdGlvbnMpO1xuICB9XG4gIGhhcyh4KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9oZWFkID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAodHlwZW9mIHggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaWYgKHRoaXMuX2hlYWQgPT09IHgpXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHguaW5jbHVkZXModGhpcy5faGVhZCkpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGFyZyBvZiB0aGlzLl9vcHMpXG4gICAgICBpZiAoYXJnLmhhcyh4KSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIC8qKiBgaXNTYW1lYCBpcyBzdHJ1Y3R1cmFsL3N5bWJvbGljIGVxdWFsaXR5ICovXG4gIGlzU2FtZShyaHMpIHtcbiAgICBpZiAodGhpcyA9PT0gcmhzKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCEocmhzIGluc3RhbmNlb2YgX0JveGVkRnVuY3Rpb24pKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5vcHMgIT09IHJocy5ub3BzKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5oZWFkID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAodGhpcy5oZWFkICE9PSByaHMuaGVhZClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHJocy5oZWFkID09PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBlbHNlIGlmICghcmhzLmhlYWQgfHwgIXRoaXMuaGVhZC5pc1NhbWUocmhzLmhlYWQpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGxoc1RhaWwgPSB0aGlzLl9vcHM7XG4gICAgY29uc3QgcmhzVGFpbCA9IHJocy5fb3BzO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGhzVGFpbC5sZW5ndGg7IGkrKylcbiAgICAgIGlmICghbGhzVGFpbFtpXS5pc1NhbWUocmhzVGFpbFtpXSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBtYXRjaChyaHMsIG9wdGlvbnMpIHtcbiAgICBpZiAoIShyaHMgaW5zdGFuY2VvZiBfQm94ZWRGdW5jdGlvbikpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBsZXQgcmVzdWx0ID0ge307XG4gICAgaWYgKHR5cGVvZiB0aGlzLmhlYWQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGlmICh0aGlzLmhlYWQgIT09IHJocy5oZWFkKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiByaHMuaGVhZCA9PT0gXCJzdHJpbmdcIilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKCFyaHMuaGVhZClcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgbSA9IHRoaXMuaGVhZC5tYXRjaChyaHMuaGVhZCwgb3B0aW9ucyk7XG4gICAgICAgIGlmIChtID09PSBudWxsKVxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXN1bHQgPSB7IC4uLnJlc3VsdCwgLi4ubSB9O1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsaHNUYWlsID0gdGhpcy5fb3BzO1xuICAgIGNvbnN0IHJoc1RhaWwgPSByaHMuX29wcztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxoc1RhaWwubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG0gPSBsaHNUYWlsW2ldLm1hdGNoKHJoc1RhaWxbaV0sIG9wdGlvbnMpO1xuICAgICAgaWYgKG0gPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmVzdWx0ID0geyAuLi5yZXN1bHQsIC4uLm0gfTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvL1xuICAvLyBDQU5PTklDQUwgT1BFUkFUSU9OU1xuICAvL1xuICAvLyBUaGVzZSBvcGVyYXRpb25zIGFwcGx5IG9ubHkgdG8gY2Fub25pY2FsIGV4cHJlc3Npb25zXG4gIC8vXG4gIHVuYmluZCgpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZvaWQgMDtcbiAgICB0aGlzLl9udW1lcmljVmFsdWUgPSB2b2lkIDA7XG4gIH1cbiAgZ2V0IHdpa2lkYXRhKCkge1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgcmV0dXJuIHRoaXMuX3dpa2lkYXRhID8/IHRoaXMuZnVuY3Rpb25EZWZpbml0aW9uPy53aWtpZGF0YSA/PyB2b2lkIDA7XG4gIH1cbiAgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgY29uc3QgZGVmID0gdGhpcy5mdW5jdGlvbkRlZmluaXRpb247XG4gICAgaWYgKCFkZWYpXG4gICAgICByZXR1cm4gW107XG4gICAgaWYgKCFkZWYuZGVzY3JpcHRpb24pXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGlmICh0eXBlb2YgZGVmLmRlc2NyaXB0aW9uID09PSBcInN0cmluZ1wiKVxuICAgICAgcmV0dXJuIFtkZWYuZGVzY3JpcHRpb25dO1xuICAgIHJldHVybiBkZWYuZGVzY3JpcHRpb247XG4gIH1cbiAgZ2V0IHVybCgpIHtcbiAgICBpZiAoIXRoaXMuaXNDYW5vbmljYWwpXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gdGhpcy5mdW5jdGlvbkRlZmluaXRpb24/LnVybCA/PyB2b2lkIDA7XG4gIH1cbiAgZ2V0IGNvbXBsZXhpdHkoKSB7XG4gICAgaWYgKCF0aGlzLmlzQ2Fub25pY2FsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gdGhpcy5mdW5jdGlvbkRlZmluaXRpb24/LmNvbXBsZXhpdHkgPz8gREVGQVVMVF9DT01QTEVYSVRZO1xuICB9XG4gIGdldCBmdW5jdGlvbkRlZmluaXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLmlzQ2Fub25pY2FsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICBpZiAodGhpcy5fZGVmICE9PSBudWxsKVxuICAgICAgcmV0dXJuIHRoaXMuX2RlZjtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGJpbmQoX3Njb3BlKSB7XG4gIH1cbiAgZ2V0IHZhbHVlKCkge1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbCB8fCAhdGhpcy5pc1B1cmUpXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGlmICghdGhpcy5fdmFsdWUpXG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZXZhbHVhdGUoKTtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgLyoqIGBpc0VxdWFsYCBpcyBtYXRoZW1hdGljYWwgZXF1YWxpdHkgKi9cbiAgaXNFcXVhbChyaHMpIHtcbiAgICBjb25zdCBzID0gc2lnbkRpZmYodGhpcywgcmhzKTtcbiAgICBpZiAocyA9PT0gMClcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmIChzICE9PSB2b2lkIDApXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgZGlmZiA9IHRoaXMuZW5naW5lLmJveChbXCJTdWJ0cmFjdFwiLCB0aGlzLCByaHNdKS5zaW1wbGlmeSgpO1xuICAgIGlmIChkaWZmLmlzWmVybylcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiB0aGlzLmlzU2FtZShyaHMpO1xuICB9XG4gIGlzTGVzcyhyaHMpIHtcbiAgICBjb25zdCBzID0gc2lnbkRpZmYodGhpcywgcmhzKTtcbiAgICBpZiAocyA9PT0gdm9pZCAwKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA8IDA7XG4gIH1cbiAgaXNMZXNzRXF1YWwocmhzKSB7XG4gICAgY29uc3QgcyA9IHNpZ25EaWZmKHRoaXMsIHJocyk7XG4gICAgaWYgKHMgPT09IHZvaWQgMClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgcmV0dXJuIHMgPD0gMDtcbiAgfVxuICBpc0dyZWF0ZXIocmhzKSB7XG4gICAgY29uc3QgcyA9IHNpZ25EaWZmKHRoaXMsIHJocyk7XG4gICAgaWYgKHMgPT09IHZvaWQgMClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgcmV0dXJuIHMgPiAwO1xuICB9XG4gIGlzR3JlYXRlckVxdWFsKHJocykge1xuICAgIGNvbnN0IHMgPSBzaWduRGlmZih0aGlzLCByaHMpO1xuICAgIGlmIChzID09PSB2b2lkIDApXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIHJldHVybiBzID49IDA7XG4gIH1cbiAgZ2V0IGlzWmVybygpIHtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IG51bGwpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBzID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHMgPT09IDA7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNOb3RaZXJvKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzLnNnbjtcbiAgICBpZiAocyA9PT0gbnVsbClcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHMgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gcyAhPT0gMDtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBpc09uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0VxdWFsKHRoaXMuZW5naW5lLl9PTkUpO1xuICB9XG4gIGdldCBpc05lZ2F0aXZlT25lKCkge1xuICAgIHJldHVybiB0aGlzLmlzRXF1YWwodGhpcy5lbmdpbmUuX05FR0FUSVZFX09ORSk7XG4gIH1cbiAgLy8geCA+IDBcbiAgZ2V0IGlzUG9zaXRpdmUoKSB7XG4gICAgY29uc3QgcyA9IHRoaXMuc2duO1xuICAgIGlmIChzID09PSBudWxsKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgcyA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBzID4gMDtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIHggPD0gMFxuICBnZXQgaXNOb25Qb3NpdGl2ZSgpIHtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IG51bGwpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBzID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHMgPD0gMDtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8vIHggPCAwXG4gIGdldCBpc05lZ2F0aXZlKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzLnNnbjtcbiAgICBpZiAocyA9PT0gbnVsbClcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHMgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gcyA8IDA7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICAvLyB4ID49IDBcbiAgZ2V0IGlzTm9uTmVnYXRpdmUoKSB7XG4gICAgY29uc3QgcyA9IHRoaXMuc2duO1xuICAgIGlmIChzID09PSBudWxsKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgcyA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBzID49IDA7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluLmlzQ29tcGF0aWJsZShcIk51bWJlclwiKTtcbiAgfVxuICBnZXQgaXNJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbi5pc0NvbXBhdGlibGUoXCJJbnRlZ2VyXCIpO1xuICB9XG4gIGdldCBpc1JhdGlvbmFsKCkge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbi5pc0NvbXBhdGlibGUoXCJSYXRpb25hbE51bWJlclwiKTtcbiAgfVxuICBnZXQgaXNBbGdlYnJhaWMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluLmlzQ29tcGF0aWJsZShcIkFsZ2VicmFpY051bWJlclwiKTtcbiAgfVxuICBnZXQgaXNSZWFsKCkge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbi5pc0NvbXBhdGlibGUoXCJSZWFsTnVtYmVyXCIpO1xuICB9XG4gIGdldCBpc0V4dGVuZGVkUmVhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW4uaXNDb21wYXRpYmxlKFwiRXh0ZW5kZWRSZWFsTnVtYmVyXCIpO1xuICB9XG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluLmlzQ29tcGF0aWJsZShcIkNvbXBsZXhOdW1iZXJcIik7XG4gIH1cbiAgZ2V0IGlzSW1hZ2luYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbi5pc0NvbXBhdGlibGUoXCJJbWFnaW5hcnlOdW1iZXJcIik7XG4gIH1cbiAgZ2V0IHNnbigpIHtcbiAgICBpZiAoIXRoaXMuaXNDYW5vbmljYWwpXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGNvbnN0IGhlYWQyID0gdGhpcy5oZWFkO1xuICAgIGlmIChoZWFkMiA9PT0gXCJOZWdhdGVcIikge1xuICAgICAgY29uc3QgcyA9IHRoaXMuX29wc1swXT8uc2duO1xuICAgICAgaWYgKHMgPT09IHZvaWQgMClcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIGlmIChzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBzID09PSAwID8gMCA6IHMgPiAwID8gLTEgOiAxO1xuICAgIH1cbiAgICBpZiAoaGVhZDIgPT09IFwiTXVsdGlwbHlcIikge1xuICAgICAgY29uc3QgdG90YWwgPSB0aGlzLl9vcHMucmVkdWNlKChhY2MsIHgpID0+IGFjYyAqICh4LnNnbiA/PyBOYU4pLCAxKTtcbiAgICAgIGlmIChpc05hTih0b3RhbCkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgaWYgKHRvdGFsID4gMClcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICBpZiAodG90YWwgPCAwKVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgaWYgKGhlYWQyID09PSBcIkFkZFwiKSB7XG4gICAgICBsZXQgcG9zQ291bnQgPSAwO1xuICAgICAgbGV0IG5lZ0NvdW50ID0gMDtcbiAgICAgIGxldCB6ZXJvQ291bnQgPSAwO1xuICAgICAgY29uc3QgY291bnQgPSB0aGlzLl9vcHMubGVuZ3RoO1xuICAgICAgZm9yIChjb25zdCBvcDMgb2YgdGhpcy5fb3BzKSB7XG4gICAgICAgIGNvbnN0IHMgPSBvcDMuc2duO1xuICAgICAgICBpZiAocyA9PT0gbnVsbCB8fCBzID09PSB2b2lkIDApXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGlmIChzID09PSAwKVxuICAgICAgICAgIHplcm9Db3VudCArPSAxO1xuICAgICAgICBpZiAocyA+IDApXG4gICAgICAgICAgcG9zQ291bnQgKz0gMTtcbiAgICAgICAgaWYgKHMgPCAwKVxuICAgICAgICAgIG5lZ0NvdW50ICs9IDE7XG4gICAgICB9XG4gICAgICBpZiAoemVyb0NvdW50ID09PSBjb3VudClcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICBpZiAocG9zQ291bnQgPT09IGNvdW50KVxuICAgICAgICByZXR1cm4gMTtcbiAgICAgIGlmIChuZWdDb3VudCA9PT0gY291bnQpXG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoaGVhZDIgPT09IFwiRGl2aWRlXCIpIHtcbiAgICAgIGNvbnN0IG4gPSB0aGlzLl9vcHNbMF0/LnNnbjtcbiAgICAgIGNvbnN0IGQgPSB0aGlzLl9vcHNbMV0/LnNnbjtcbiAgICAgIGlmIChuID09PSBudWxsIHx8IGQgPT09IG51bGwgfHwgbiA9PT0gdm9pZCAwIHx8IGQgPT09IHZvaWQgMClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBpZiAobiA9PT0gMClcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICBpZiAobiA+IDAgJiYgZCA+IDAgfHwgbiA8IDAgJiYgZCA8IDApXG4gICAgICAgIHJldHVybiAxO1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoaGVhZDIgPT09IFwiU3F1YXJlXCIpIHtcbiAgICAgIGlmICh0aGlzLl9vcHNbMF0/LmlzSW1hZ2luYXJ5KVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgICBpZiAodGhpcy5fb3BzWzBdPy5pc1plcm8pXG4gICAgICAgIHJldHVybiAwO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmIChoZWFkMiA9PT0gXCJBYnNcIikge1xuICAgICAgaWYgKHRoaXMuX29wc1swXT8uaXNaZXJvKVxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAoaGVhZDIgPT09IFwiU3FydFwiKSB7XG4gICAgICBpZiAodGhpcy5fb3BzWzBdPy5pc1plcm8pXG4gICAgICAgIHJldHVybiAwO1xuICAgICAgaWYgKHRoaXMuX29wc1swXT8uaXNJbWFnaW5hcnkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmIChoZWFkMiA9PT0gXCJQb3dlclwiKSB7XG4gICAgfVxuICAgIGlmIChoZWFkMiA9PT0gXCJSb290XCIpIHtcbiAgICB9XG4gICAgaWYgKGhlYWQyID09PSBcIkxuXCIpIHtcbiAgICB9XG4gICAgaWYgKGhlYWQyID09PSBcIkZsb29yXCIpIHtcbiAgICB9XG4gICAgaWYgKGhlYWQyID09PSBcIkNlaWxcIikge1xuICAgIH1cbiAgICBpZiAoaGVhZDIgPT09IFwiUm91bmRcIikge1xuICAgIH1cbiAgICBjb25zdCB2ID0gYXNGbG9hdCh0aGlzLk4oKSk7XG4gICAgaWYgKHYgPT09IG51bGwpXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGlmICh2ID09PSAwKVxuICAgICAgcmV0dXJuIDA7XG4gICAgaWYgKHYgPCAwKVxuICAgICAgcmV0dXJuIC0xO1xuICAgIHJldHVybiAxO1xuICB9XG4gIC8vXG4gIC8vIEFVVE8tQ0FOT05JQ0FMIE9QRVJBVElPTlNcbiAgLy9cbiAgLy8gVGhlIG9wZXJhdGlvbnMgYXJlIGF1dG9tYXRpY2FsbHkgZG9uZSBvbiB0aGUgY2Fub25pY2FsIGZvcm0gb2YgdGhlXG4gIC8vIGV4cHJlc3Npb25cbiAgLy9cbiAgZ2V0IGRvbWFpbigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29kb21haW47XG4gIH1cbiAgLy8gc2ltcGxpZnkob3B0aW9ucz86IFNpbXBsaWZ5T3B0aW9ucyk6IEJveGVkRXhwcmVzc2lvbiB7XG4gIC8vICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zaW1wbGlmeUFsbChvcHRpb25zKTtcbiAgLy8gICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMSkgcmV0dXJuIHJlc3VsdFswXTtcbiAgLy8gICBjb25zdCBjZSA9IHRoaXMuZW5naW5lO1xuICAvLyAgIHJlc3VsdC5zb3J0KChhLCBiKSA9PiB7XG4gIC8vICAgICBpZiAoYSA9PT0gYikgcmV0dXJuIDA7XG4gIC8vICAgICByZXR1cm4gY2UuY29zdEZ1bmN0aW9uKGEpIC0gY2UuY29zdEZ1bmN0aW9uKGIpO1xuICAvLyAgIH0pO1xuICAvLyAgIHJldHVybiByZXN1bHRbMF07XG4gIC8vIH1cbiAgc2ltcGxpZnkob3B0aW9ucykge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgaWYgKCF0aGlzLmlzQ2Fub25pY2FsKSB7XG4gICAgICBjb25zdCBjYW5vbmljYWwyID0gdGhpcy5jYW5vbmljYWw7XG4gICAgICBpZiAoIWNhbm9uaWNhbDIuaXNDYW5vbmljYWwgfHwgIWNhbm9uaWNhbDIuaXNWYWxpZClcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICByZXR1cm4gY2Fub25pY2FsMi5zaW1wbGlmeShvcHRpb25zKTtcbiAgICB9XG4gICAgY29uc3QgcmVjdXJzaXZlID0gb3B0aW9ucz8ucmVjdXJzaXZlID8/IHRydWU7XG4gICAgbGV0IGV4cHI7XG4gICAgaWYgKHJlY3Vyc2l2ZSkge1xuICAgICAgZXhwciA9IGV4cGFuZDIodGhpcyk7XG4gICAgICBpZiAoZXhwciAhPT0gbnVsbCkge1xuICAgICAgICBleHByID0gZXhwci5zaW1wbGlmeSh7IC4uLm9wdGlvbnMsIHJlY3Vyc2l2ZTogZmFsc2UgfSk7XG4gICAgICAgIHJldHVybiBjaGVhcGVzdCh0aGlzLCBleHByKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZGVmID0gdGhpcy5mdW5jdGlvbkRlZmluaXRpb247XG4gICAgY29uc3QgdGFpbCA9IHJlY3Vyc2l2ZSA/IGhvbGRNYXAoXG4gICAgICB0aGlzLl9vcHMsXG4gICAgICBkZWY/LmhvbGQgPz8gXCJub25lXCIsXG4gICAgICBkZWY/LmFzc29jaWF0aXZlID8gZGVmLm5hbWUgOiBcIlwiLFxuICAgICAgKHgpID0+IHguc2ltcGxpZnkob3B0aW9ucylcbiAgICApIDogdGhpcy5fb3BzO1xuICAgIGlmICh0eXBlb2YgdGhpcy5faGVhZCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uc3QgZXhwcjIgPSBhcHBseSh0aGlzLl9oZWFkLCB0YWlsKTtcbiAgICAgIGlmICh0eXBlb2YgZXhwcjIuaGVhZCAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgcmV0dXJuIGV4cHIyO1xuICAgICAgcmV0dXJuIGV4cHIyLnNpbXBsaWZ5KG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoZGVmKSB7XG4gICAgICBpZiAoZGVmLmluZXJ0KVxuICAgICAgICBleHByID0gdGFpbFswXT8uY2Fub25pY2FsID8/IHRoaXM7XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2lnID0gZGVmLnNpZ25hdHVyZTtcbiAgICAgICAgaWYgKHNpZz8uc2ltcGxpZnkpXG4gICAgICAgICAgZXhwciA9IHNpZy5zaW1wbGlmeSh0aGlzLmVuZ2luZSwgdGFpbCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghZXhwcilcbiAgICAgIGV4cHIgPSB0aGlzLmVuZ2luZS5mbih0aGlzLl9oZWFkLCB0YWlsKTtcbiAgICBlbHNlXG4gICAgICBleHByID0gY2hlYXBlc3QodGhpcy5lbmdpbmUuZm4odGhpcy5faGVhZCwgdGFpbCksIGV4cHIpO1xuICAgIGV4cHIgPSBjaGVhcGVzdCh0aGlzLCBleHByKTtcbiAgICBjb25zdCBydWxlcyA9IG9wdGlvbnM/LnJ1bGVzID8/IHRoaXMuZW5naW5lLmNhY2hlKFxuICAgICAgXCJzdGFuZGFyZC1zaW1wbGlmaWNhdGlvbi1ydWxlc1wiLFxuICAgICAgKCkgPT4gYm94UnVsZXModGhpcy5lbmdpbmUsIFNJTVBMSUZZX1JVTEVTKSxcbiAgICAgIChydWxlczIpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBbbGhzLCByaHMsIF9wcmlvcml0eSwgX2NvbmRpdGlvbl0gb2YgcnVsZXMyKSB7XG4gICAgICAgICAgbGhzLnVuYmluZCgpO1xuICAgICAgICAgIHJocy51bmJpbmQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcnVsZXMyO1xuICAgICAgfVxuICAgICk7XG4gICAgbGV0IGl0ZXJhdGlvbkNvdW50ID0gMDtcbiAgICBsZXQgZG9uZSA9IGZhbHNlO1xuICAgIGRvIHtcbiAgICAgIGNvbnN0IG5ld0V4cHIgPSBleHByLnJlcGxhY2UocnVsZXMpO1xuICAgICAgaWYgKG5ld0V4cHIgIT09IG51bGwpIHtcbiAgICAgICAgZXhwciA9IGNoZWFwZXN0KGV4cHIsIG5ld0V4cHIpO1xuICAgICAgICBpZiAoZXhwciA9PT0gbmV3RXhwcilcbiAgICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgIH0gZWxzZVxuICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgIGl0ZXJhdGlvbkNvdW50ICs9IDE7XG4gICAgfSB3aGlsZSAoIWRvbmUgJiYgaXRlcmF0aW9uQ291bnQgPCB0aGlzLmVuZ2luZS5pdGVyYXRpb25MaW1pdCk7XG4gICAgcmV0dXJuIGNoZWFwZXN0KHRoaXMsIGV4cHIpO1xuICB9XG4gIGV2YWx1YXRlKG9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZClcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbCkge1xuICAgICAgY29uc3QgY2Fub25pY2FsMiA9IHRoaXMuY2Fub25pY2FsO1xuICAgICAgaWYgKCFjYW5vbmljYWwyLmlzQ2Fub25pY2FsIHx8ICFjYW5vbmljYWwyLmlzVmFsaWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgcmV0dXJuIGNhbm9uaWNhbDIuZXZhbHVhdGUob3B0aW9ucyk7XG4gICAgfVxuICAgIGNvbnN0IGRlZiA9IHRoaXMuZnVuY3Rpb25EZWZpbml0aW9uO1xuICAgIGNvbnN0IHRhaWwgPSBob2xkTWFwKFxuICAgICAgdGhpcy5fb3BzLFxuICAgICAgZGVmPy5ob2xkID8/IFwibm9uZVwiLFxuICAgICAgZGVmPy5hc3NvY2lhdGl2ZSA/IGRlZi5uYW1lIDogXCJcIixcbiAgICAgICh4KSA9PiB4LmV2YWx1YXRlKG9wdGlvbnMpXG4gICAgKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuX2hlYWQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGNvbnN0IGV4cHIgPSBhcHBseSh0aGlzLl9oZWFkLCB0YWlsKTtcbiAgICAgIGlmICh0eXBlb2YgZXhwci5oZWFkICE9PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4gZXhwcjtcbiAgICAgIHJldHVybiBleHByLmV2YWx1YXRlKG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoIWRlZilcbiAgICAgIHJldHVybiB0aGlzLmVuZ2luZS5mbih0aGlzLl9oZWFkLCB0YWlsKTtcbiAgICBpZiAoZGVmLmluZXJ0KVxuICAgICAgcmV0dXJuIHRhaWxbMF0gPz8gdGhpcztcbiAgICBjb25zdCBzaWcgPSBkZWYuc2lnbmF0dXJlO1xuICAgIGlmICghc2lnIHx8ICFzaWcuZXZhbHVhdGUpXG4gICAgICByZXR1cm4gdGhpcy5lbmdpbmUuZm4odGhpcy5faGVhZCwgdGFpbCk7XG4gICAgaWYgKHR5cGVvZiBzaWcuZXZhbHVhdGUgIT09IFwiZnVuY3Rpb25cIilcbiAgICAgIHJldHVybiBhcHBseShzaWcuZXZhbHVhdGUsIHRhaWwpO1xuICAgIHJldHVybiBzaWcuZXZhbHVhdGUodGhpcy5lbmdpbmUsIHRhaWwpID8/IHRoaXMuZW5naW5lLmZuKHRoaXMuX2hlYWQsIHRhaWwpO1xuICB9XG4gIE4ob3B0aW9ucykge1xuICAgIGlmICh0aGlzLl9udW1lcmljVmFsdWUpXG4gICAgICByZXR1cm4gdGhpcy5fbnVtZXJpY1ZhbHVlO1xuICAgIGlmICh0aGlzLmVuZ2luZS5zdHJpY3QgJiYgIXRoaXMuaXNWYWxpZClcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIGlmICghdGhpcy5pc0Nhbm9uaWNhbCkge1xuICAgICAgY29uc3QgY2Fub25pY2FsMiA9IHRoaXMuY2Fub25pY2FsO1xuICAgICAgaWYgKCFjYW5vbmljYWwyLmlzQ2Fub25pY2FsIHx8ICFjYW5vbmljYWwyLmlzVmFsaWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgcmV0dXJuIGNhbm9uaWNhbDIuTihvcHRpb25zKTtcbiAgICB9XG4gICAgY29uc3QgZGVmID0gdGhpcy5mdW5jdGlvbkRlZmluaXRpb247XG4gICAgY29uc3QgdGFpbCA9IGhvbGRNYXAoXG4gICAgICB0aGlzLl9vcHMsXG4gICAgICBkZWY/LmhvbGQgPz8gXCJub25lXCIsXG4gICAgICBkZWY/LmFzc29jaWF0aXZlID8gZGVmLm5hbWUgOiBcIlwiLFxuICAgICAgKHgpID0+IHguTihvcHRpb25zKVxuICAgICk7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9oZWFkICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBleHByID0gYXBwbHkodGhpcy5faGVhZCwgdGFpbCk7XG4gICAgICBpZiAodHlwZW9mIGV4cHIuaGVhZCAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgcmV0dXJuIGV4cHI7XG4gICAgICByZXR1cm4gZXhwci5OKG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoIWRlZilcbiAgICAgIHJldHVybiB0aGlzLmVuZ2luZS5mbih0aGlzLl9oZWFkLCB0YWlsKTtcbiAgICBpZiAoZGVmLmluZXJ0KVxuICAgICAgcmV0dXJuIHRhaWxbMF0gPz8gdGhpcztcbiAgICBjb25zdCBzaWcgPSBkZWYuc2lnbmF0dXJlO1xuICAgIGxldCByZXN1bHQgPSBzaWc/Lk4/Lih0aGlzLmVuZ2luZSwgdGFpbCkgPz8gdGhpcy5lbmdpbmUuZm4odGhpcy5faGVhZCwgdGFpbCkuZXZhbHVhdGUoKTtcbiAgICBjb25zdCBudW0gPSByZXN1bHQubnVtZXJpY1ZhbHVlO1xuICAgIGlmIChudW0gIT09IG51bGwpIHtcbiAgICAgIGlmICghY29tcGxleEFsbG93ZWQodGhpcy5lbmdpbmUpICYmIG51bSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTAuZGVmYXVsdClcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5lbmdpbmUuX05BTjtcbiAgICAgIGVsc2UgaWYgKCFiaWdudW1QcmVmZXJyZWQodGhpcy5lbmdpbmUpICYmIG51bSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdClcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5lbmdpbmUubnVtYmVyKG51bS50b051bWJlcigpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNQdXJlKVxuICAgICAgdGhpcy5fbnVtZXJpY1ZhbHVlID0gcmVzdWx0O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgc29sdmUodmFycykge1xuICAgIGlmICh2YXJzLmxlbmd0aCAhPT0gMSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHJvb3RzID0gZmluZFVuaXZhcmlhdGVSb290cyh0aGlzLnNpbXBsaWZ5KCksIHZhcnNbMF0pO1xuICAgIHJldHVybiByb290cztcbiAgfVxufTtcbmZ1bmN0aW9uIG1ha2VOdW1lcmljRnVuY3Rpb24oY2UsIGhlYWQyLCBzZW1pT3BzLCBtZXRhZGF0YSkge1xuICBsZXQgb3BzMiA9IFtdO1xuICBpZiAoaGVhZDIgPT09IFwiQWRkXCIgfHwgaGVhZDIgPT09IFwiTXVsdGlwbHlcIilcbiAgICBvcHMyID0gdmFsaWRhdGVOdW1lcmljQXJncyhcbiAgICAgIGNlLFxuICAgICAgZmxhdHRlbk9wcyhmbGF0dGVuU2VxdWVuY2UoY2UuY2Fub25pY2FsKHNlbWlPcHMpKSwgaGVhZDIpXG4gICAgKTtcbiAgZWxzZSBpZiAoaGVhZDIgPT09IFwiTmVnYXRlXCIgfHwgaGVhZDIgPT09IFwiU3F1YXJlXCIgfHwgaGVhZDIgPT09IFwiU3FydFwiKVxuICAgIG9wczIgPSB2YWxpZGF0ZU51bWVyaWNBcmdzKGNlLCBmbGF0dGVuU2VxdWVuY2UoY2UuY2Fub25pY2FsKHNlbWlPcHMpKSwgMSk7XG4gIGVsc2UgaWYgKGhlYWQyID09PSBcIkRpdmlkZVwiIHx8IGhlYWQyID09PSBcIlBvd2VyXCIpXG4gICAgb3BzMiA9IHZhbGlkYXRlTnVtZXJpY0FyZ3MoY2UsIGZsYXR0ZW5TZXF1ZW5jZShjZS5jYW5vbmljYWwoc2VtaU9wcykpLCAyKTtcbiAgZWxzZVxuICAgIHJldHVybiBudWxsO1xuICBpZiAoIW9wczIuZXZlcnkoKHgpID0+IHguaXNWYWxpZCkpXG4gICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKGNlLCBoZWFkMiwgb3BzMiwgeyBtZXRhZGF0YSwgY2Fub25pY2FsOiBmYWxzZSB9KTtcbiAgaWYgKGhlYWQyID09PSBcIkFkZFwiKVxuICAgIHJldHVybiBjZS5hZGQob3BzMiwgbWV0YWRhdGEpO1xuICBpZiAoaGVhZDIgPT09IFwiTmVnYXRlXCIpXG4gICAgcmV0dXJuIGNlLm5lZyhvcHMyWzBdID8/IGNlLmVycm9yKFwibWlzc2luZ1wiKSwgbWV0YWRhdGEpO1xuICBpZiAoaGVhZDIgPT09IFwiTXVsdGlwbHlcIilcbiAgICByZXR1cm4gY2UubXVsKG9wczIsIG1ldGFkYXRhKTtcbiAgaWYgKGhlYWQyID09PSBcIkRpdmlkZVwiKVxuICAgIHJldHVybiBjZS5kaXYob3BzMlswXSwgb3BzMlsxXSwgbWV0YWRhdGEpO1xuICBpZiAoaGVhZDIgPT09IFwiUG93ZXJcIilcbiAgICByZXR1cm4gY2UucG93KG9wczJbMF0sIG9wczJbMV0sIG1ldGFkYXRhKTtcbiAgaWYgKGhlYWQyID09PSBcIlNxdWFyZVwiKVxuICAgIHJldHVybiBjZS5wb3cob3BzMlswXSwgY2UubnVtYmVyKDIpLCBtZXRhZGF0YSk7XG4gIGlmIChoZWFkMiA9PT0gXCJTcXJ0XCIpIHtcbiAgICBjb25zdCBvcDMgPSBvcHMyWzBdLmNhbm9uaWNhbDtcbiAgICBpZiAoaXNSYXRpb25hbChvcDMubnVtZXJpY1ZhbHVlKSlcbiAgICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihjZSwgXCJTcXJ0XCIsIFtvcDNdLCB7IG1ldGFkYXRhLCBjYW5vbmljYWw6IHRydWUgfSk7XG4gICAgcmV0dXJuIGNlLnBvdyhvcDMsIGNlLl9IQUxGLCBtZXRhZGF0YSk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBtYWtlQ2Fub25pY2FsRnVuY3Rpb24oY2UsIGhlYWQyLCBvcHMyLCBtZXRhZGF0YSkge1xuICBpZiAodHlwZW9mIGhlYWQyICE9PSBcInN0cmluZ1wiKVxuICAgIGhlYWQyID0gaGVhZDIuZXZhbHVhdGUoKS5zeW1ib2wgPz8gaGVhZDI7XG4gIGlmICh0eXBlb2YgaGVhZDIgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCByZXN1bHQgPSBtYWtlTnVtZXJpY0Z1bmN0aW9uKGNlLCBoZWFkMiwgb3BzMiwgbWV0YWRhdGEpO1xuICAgIGlmIChyZXN1bHQpXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICB9IGVsc2Uge1xuICAgIGlmICghaGVhZDIuaXNWYWxpZClcbiAgICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihcbiAgICAgICAgY2UsXG4gICAgICAgIGhlYWQyLFxuICAgICAgICBvcHMyLm1hcCgoeCkgPT4gY2UuYm94KHgsIHsgY2Fub25pY2FsOiBmYWxzZSB9KSksXG4gICAgICAgIHsgbWV0YWRhdGEsIGNhbm9uaWNhbDogZmFsc2UgfVxuICAgICAgKTtcbiAgfVxuICBjb25zdCBkZWYgPSBjZS5sb29rdXBGdW5jdGlvbihoZWFkMiwgY2UuY29udGV4dCk7XG4gIGlmICh0eXBlb2YgaGVhZDIgIT09IFwic3RyaW5nXCIgfHwgIWRlZikge1xuICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihcbiAgICAgIGNlLFxuICAgICAgaGVhZDIsXG4gICAgICBmbGF0dGVuU2VxdWVuY2Uob3BzMi5tYXAoKHgpID0+IGNlLmJveCh4KSkpLFxuICAgICAgeyBtZXRhZGF0YSwgY2Fub25pY2FsOiB0cnVlIH1cbiAgICApO1xuICB9XG4gIGxldCB4cyA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wczIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXBwbGljYWJsZShkZWYuaG9sZCwgb3BzMi5sZW5ndGggLSAxLCBpKSkge1xuICAgICAgeHMucHVzaChjZS5ib3gob3BzMltpXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB5ID0gY2UuYm94KG9wczJbaV0sIHsgY2Fub25pY2FsOiBmYWxzZSB9KTtcbiAgICAgIGlmICh5LmhlYWQgPT09IFwiUmVsZWFzZUhvbGRcIilcbiAgICAgICAgeHMucHVzaCh5Lm9wMS5jYW5vbmljYWwpO1xuICAgICAgZWxzZVxuICAgICAgICB4cy5wdXNoKHkpO1xuICAgIH1cbiAgfVxuICBpZiAoIXhzLmV2ZXJ5KCh4KSA9PiB4LmlzVmFsaWQpKVxuICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihjZSwgaGVhZDIsIHhzLCB7IG1ldGFkYXRhLCBjYW5vbmljYWw6IGZhbHNlIH0pO1xuICBjb25zdCBzaWcgPSBkZWYuc2lnbmF0dXJlO1xuICBpZiAoc2lnLmNhbm9uaWNhbCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBzaWcuY2Fub25pY2FsKGNlLCB4cyk7XG4gICAgICBpZiAocmVzdWx0KVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihjZSwgaGVhZDIsIHhzLCB7IG1ldGFkYXRhLCBjYW5vbmljYWw6IGZhbHNlIH0pO1xuICB9XG4gIHhzID0gZmxhdHRlblNlcXVlbmNlKHhzKTtcbiAgaWYgKGRlZi5hc3NvY2lhdGl2ZSlcbiAgICB4cyA9IGZsYXR0ZW5PcHMoeHMsIGhlYWQyKTtcbiAgaWYgKCF4cy5ldmVyeSgoeCkgPT4geC5pc1ZhbGlkKSlcbiAgICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb24oY2UsIGhlYWQyLCB4cywgeyBtZXRhZGF0YSwgY2Fub25pY2FsOiBmYWxzZSB9KTtcbiAgeHMgPSB2YWxpZGF0ZVNpZ25hdHVyZShzaWcuZG9tYWluLCB4cykgPz8geHM7XG4gIGlmICgheHMuZXZlcnkoKHgpID0+IHguaXNWYWxpZCkpXG4gICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKGNlLCBoZWFkMiwgeHMsIHsgbWV0YWRhdGEsIGNhbm9uaWNhbDogZmFsc2UgfSk7XG4gIGlmICh4cy5sZW5ndGggPT09IDEgJiYgeHNbMF0uaGVhZCA9PT0gaGVhZDIpIHtcbiAgICBpZiAoZGVmLmludm9sdXRpb24pXG4gICAgICByZXR1cm4geHNbMF0ub3AxO1xuICAgIGlmIChkZWYuaWRlbXBvdGVudClcbiAgICAgIHhzID0geHNbMF0ub3BzO1xuICB9XG4gIGlmICh4cy5sZW5ndGggPiAxICYmIGRlZi5jb21tdXRhdGl2ZSA9PT0gdHJ1ZSlcbiAgICB4cyA9IHhzLnNvcnQob3JkZXIpO1xuICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb24oY2UsIGhlYWQyLCB4cywgeyBtZXRhZGF0YSwgZGVmLCBjYW5vbmljYWw6IHRydWUgfSk7XG59XG5mdW5jdGlvbiBhcHBseShmbiwgYXJncykge1xuICBjb25zdCBjZSA9IGZuLmVuZ2luZTtcbiAgaWYgKGZuLmhlYWQgIT09IFwiTGFtYmRhXCIpXG4gICAgcmV0dXJuIGNlLl9mbihmbi5ldmFsdWF0ZSgpLCBhcmdzKTtcbiAgY29uc3Qgc3ViczIgPSB7XG4gICAgXCJfX1wiOiBjZS50dXBsZShhcmdzKSxcbiAgICBcIl8jXCI6IGNlLm51bWJlcihhcmdzLmxlbmd0aClcbiAgfTtcbiAgbGV0IG4gPSAxO1xuICBmb3IgKGNvbnN0IG9wMyBvZiBhcmdzKVxuICAgIHN1YnMyW2BfJHtuKyt9YF0gPSBvcDM7XG4gIHN1YnMyW1wiX1wiXSA9IHN1YnMyW1wiXzFcIl07XG4gIGNvbnN0IHNhdmVkQ29udGV4dCA9IGNlLmNvbnRleHQ7XG4gIGNlLmNvbnRleHQgPSBmbi5zY29wZSA/PyBudWxsO1xuICBjb25zdCByZXN1bHQgPSBmbi5zdWJzKHN1YnMyKTtcbiAgY2UuY29udGV4dCA9IHNhdmVkQ29udGV4dDtcbiAgcmV0dXJuIHJlc3VsdC5vcDEuZXZhbHVhdGUoKTtcbn1cbmZ1bmN0aW9uIGhvbGRNYXAoeHMsIHNraXAsIGFzc29jaWF0aXZlSGVhZCwgZikge1xuICBpZiAoeHMubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBbXTtcbiAgeHMgPSBmbGF0dGVuT3BzKHhzLCBhc3NvY2lhdGl2ZUhlYWQpO1xuICBpZiAoc2tpcCA9PT0gXCJhbGxcIilcbiAgICByZXR1cm4geHM7XG4gIGlmIChza2lwID09PSBcIm5vbmVcIikge1xuICAgIGNvbnN0IHJlc3VsdDIgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHggb2YgeHMpIHtcbiAgICAgIGNvbnN0IGggPSB4LmhlYWQ7XG4gICAgICBpZiAoaCA9PT0gXCJIb2xkXCIpXG4gICAgICAgIHJlc3VsdDIucHVzaCh4KTtcbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBvcDMgPSBoID09PSBcIlJlbGVhc2VIb2xkXCIgPyB4Lm9wMSA6IHg7XG4gICAgICAgIGlmIChvcDMpIHtcbiAgICAgICAgICBjb25zdCB5ID0gZihvcDMpO1xuICAgICAgICAgIGlmICh5ICE9PSBudWxsKVxuICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKHkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmbGF0dGVuT3BzKHJlc3VsdDIsIGFzc29jaWF0aXZlSGVhZCk7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoeHNbaV0uaGVhZCA9PT0gXCJIb2xkXCIpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHhzW2ldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHkgPSB2b2lkIDA7XG4gICAgICBpZiAoeHNbaV0uaGVhZCA9PT0gXCJSZWxlYXNlSG9sZFwiKVxuICAgICAgICB5ID0geHNbaV0ub3AxO1xuICAgICAgZWxzZSBpZiAoYXBwbGljYWJsZShza2lwLCB4cy5sZW5ndGggLSAxLCBpKSlcbiAgICAgICAgeSA9IHhzW2ldO1xuICAgICAgZWxzZVxuICAgICAgICByZXN1bHQucHVzaCh4c1tpXSk7XG4gICAgICBpZiAoeSkge1xuICAgICAgICBjb25zdCB4ID0gZih5KTtcbiAgICAgICAgaWYgKHggIT09IG51bGwpXG4gICAgICAgICAgcmVzdWx0LnB1c2goeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBmbGF0dGVuT3BzKHJlc3VsdCwgYXNzb2NpYXRpdmVIZWFkKTtcbn1cbmZ1bmN0aW9uIGFwcGxpY2FibGUoc2tpcCwgY291bnQsIGluZGV4KSB7XG4gIGlmIChza2lwID09PSBcImFsbFwiKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKHNraXAgPT09IFwibm9uZVwiKVxuICAgIHJldHVybiB0cnVlO1xuICBpZiAoc2tpcCA9PT0gXCJmaXJzdFwiKVxuICAgIHJldHVybiBpbmRleCAhPT0gMDtcbiAgaWYgKHNraXAgPT09IFwicmVzdFwiKVxuICAgIHJldHVybiBpbmRleCA9PT0gMDtcbiAgaWYgKHNraXAgPT09IFwibGFzdFwiKVxuICAgIHJldHVybiBpbmRleCAhPT0gY291bnQ7XG4gIGlmIChza2lwID09PSBcIm1vc3RcIilcbiAgICByZXR1cm4gaW5kZXggPT09IGNvdW50O1xuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL2JveGVkLW51bWJlci50c1xudmFyIGltcG9ydF9jb21wbGV4MTIgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2RvbWFpbi11dGlscy50c1xudmFyIGltcG9ydF9jb21wbGV4MTEgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcbmZ1bmN0aW9uIGluZmVyTnVtZXJpY0RvbWFpbih2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFpc05hTih2YWx1ZSkpIHtcbiAgICBpZiAoIWlzRmluaXRlKHZhbHVlKSlcbiAgICAgIHJldHVybiBcIkV4dGVuZGVkUmVhbE51bWJlclwiO1xuICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlID4gMClcbiAgICAgICAgcmV0dXJuIFwiUG9zaXRpdmVJbnRlZ2VyXCI7XG4gICAgICBpZiAodmFsdWUgPCAwKVxuICAgICAgICByZXR1cm4gXCJOZWdhdGl2ZUludGVnZXJcIjtcbiAgICAgIHJldHVybiBcIkludGVnZXJcIjtcbiAgICB9XG4gICAgaWYgKHZhbHVlID4gMClcbiAgICAgIHJldHVybiBcIlBvc2l0aXZlTnVtYmVyXCI7XG4gICAgaWYgKHZhbHVlIDwgMClcbiAgICAgIHJldHVybiBcIk5lZ2F0aXZlTnVtYmVyXCI7XG4gICAgcmV0dXJuIFwiUmVhbE51bWJlclwiO1xuICB9XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpIHtcbiAgICBpZiAodmFsdWUuaXNOYU4oKSlcbiAgICAgIHJldHVybiBcIk51bWJlclwiO1xuICAgIGlmICghdmFsdWUuaXNGaW5pdGUoKSlcbiAgICAgIHJldHVybiBcIkV4dGVuZGVkUmVhbE51bWJlclwiO1xuICAgIGlmICh2YWx1ZS5pc0ludGVnZXIoKSkge1xuICAgICAgaWYgKHZhbHVlLmlzUG9zaXRpdmUoKSlcbiAgICAgICAgcmV0dXJuIFwiUG9zaXRpdmVJbnRlZ2VyXCI7XG4gICAgICBpZiAodmFsdWUuaXNOZWdhdGl2ZSgpKVxuICAgICAgICByZXR1cm4gXCJOZWdhdGl2ZUludGVnZXJcIjtcbiAgICAgIHJldHVybiBcIkludGVnZXJcIjtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmlzUG9zaXRpdmUoKSlcbiAgICAgIHJldHVybiBcIlBvc2l0aXZlTnVtYmVyXCI7XG4gICAgaWYgKHZhbHVlLmlzTmVnYXRpdmUoKSlcbiAgICAgIHJldHVybiBcIk5lZ2F0aXZlTnVtYmVyXCI7XG4gICAgcmV0dXJuIFwiUmVhbE51bWJlclwiO1xuICB9XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTEuQ29tcGxleCkge1xuICAgIGNvbnN0IGMgPSB2YWx1ZTtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoYy5pbSAhPT0gMCk7XG4gICAgaWYgKGMucmUgPT09IDApXG4gICAgICByZXR1cm4gXCJJbWFnaW5hcnlOdW1iZXJcIjtcbiAgICByZXR1cm4gXCJDb21wbGV4TnVtYmVyXCI7XG4gIH1cbiAgaWYgKGlzUmF0aW9uYWwodmFsdWUpKSB7XG4gICAgY29uc3QgW251bWVyLCBkZW5vbV0gPSB2YWx1ZTtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgICB0eXBlb2YgbnVtZXIgIT09IFwibnVtYmVyXCIgfHwgIU51bWJlci5pc05hTihudW1lcikgJiYgIU51bWJlci5pc05hTihkZW5vbSlcbiAgICApO1xuICAgIHJldHVybiBcIlJhdGlvbmFsTnVtYmVyXCI7XG4gIH1cbiAgcmV0dXJuIFwiTnVtYmVyXCI7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9udW1lcmljcy9wcmltZXMudHNcbnZhciBMQVJHRV9QUklNRSA9IDExMjU4OTk5MDY4NDI1OTc7XG5mdW5jdGlvbiBpc1ByaW1lKG4pIHtcbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKG4pIHx8ICFOdW1iZXIuaXNGaW5pdGUobikgfHwgTnVtYmVyLmlzTmFOKG4pIHx8IG4gPD0gMSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobiA8PSBMQVJHRVNUX1NNQUxMX1BSSU1FKVxuICAgIHJldHVybiBTTUFMTF9QUklNRVMuaGFzKG4pO1xuICBmb3IgKGNvbnN0IHNtYWxsUHJpbWUgb2YgU01BTExfUFJJTUVTKSB7XG4gICAgaWYgKG4gJSBzbWFsbFByaW1lID09PSAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChuID49IExBUkdFX1BSSU1FKSB7XG4gICAgcmV0dXJuIHByb2JhYmx5UHJpbWUobiwgMzApID8gdm9pZCAwIDogZmFsc2U7XG4gIH1cbiAgcmV0dXJuIG4gPT09IGxlYXN0RmFjdG9yKG4pO1xufVxuZnVuY3Rpb24gbGVhc3RGYWN0b3Iobikge1xuICBpZiAobiA9PT0gMSlcbiAgICByZXR1cm4gMTtcbiAgaWYgKG4gJSAyID09PSAwKVxuICAgIHJldHVybiAyO1xuICBpZiAobiAlIDMgPT09IDApXG4gICAgcmV0dXJuIDM7XG4gIGlmIChuICUgNSA9PT0gMClcbiAgICByZXR1cm4gNTtcbiAgY29uc3QgbSA9IE1hdGguZmxvb3IoTWF0aC5zcXJ0KG4pKTtcbiAgbGV0IGkgPSA3O1xuICB3aGlsZSAoaSA8PSBtKSB7XG4gICAgaWYgKG4gJSBpID09PSAwKVxuICAgICAgcmV0dXJuIGk7XG4gICAgaWYgKG4gJSAoaSArIDQpID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyA0O1xuICAgIGlmIChuICUgKGkgKyA2KSA9PT0gMClcbiAgICAgIHJldHVybiBpICsgNjtcbiAgICBpZiAobiAlIChpICsgMTApID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyAxMDtcbiAgICBpZiAobiAlIChpICsgMTIpID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyAxMjtcbiAgICBpZiAobiAlIChpICsgMTYpID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyAxNjtcbiAgICBpZiAobiAlIChpICsgMjIpID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyAyMjtcbiAgICBpZiAobiAlIChpICsgMjQpID09PSAwKVxuICAgICAgcmV0dXJuIGkgKyAyNDtcbiAgICBpICs9IDMwO1xuICB9XG4gIHJldHVybiBuO1xufVxuZnVuY3Rpb24gcHJvYmFibHlQcmltZShuLCBrKSB7XG4gIGxldCBzID0gMCwgZCA9IG4gLSAxO1xuICB3aGlsZSAoZCAlIDIgPT09IDApIHtcbiAgICBkIC89IDI7XG4gICAgKytzO1xuICB9XG4gIFdpdG5lc3NMb29wOlxuICAgIGRvIHtcbiAgICAgIGxldCB4ID0gTWF0aC5wb3coMiArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChuIC0gMykpLCBkKSAlIG47XG4gICAgICBpZiAoeCA9PT0gMSB8fCB4ID09PSBuIC0gMSlcbiAgICAgICAgY29udGludWU7XG4gICAgICBmb3IgKGxldCBpID0gcyAtIDE7IGktLTsgKSB7XG4gICAgICAgIHggPSB4ICogeCAlIG47XG4gICAgICAgIGlmICh4ID09PSAxKVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHggPT09IG4gLSAxKVxuICAgICAgICAgIGNvbnRpbnVlIFdpdG5lc3NMb29wO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gd2hpbGUgKC0tayk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1udW1iZXIudHNcbnZhciBCb3hlZE51bWJlciA9IGNsYXNzIF9Cb3hlZE51bWJlciBleHRlbmRzIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uIHtcbiAgLyoqXG4gICAqIEJ5IHRoZSB0aW1lIHRoZSBjb25zdHJ1Y3RvciBpcyBjYWxsZWQsIHRoZSBgdmFsdWVgIHNob3VsZCBoYXZlIGJlZW5cbiAgICogc2NyZWVuZWQgZm9yIGNhc2VzIHdoZXJlIGl0J3MgYSB3ZWxsLWtub3duIHZhbHVlICgwLCBOYU4sICtJbmZpbml0eSxcbiAgICogZXRjLi4uKSBvciBub24tbm9ybWFsIChjb21wbGV4IG51bWJlciB3aXRoIGltID0gMCwgcmF0aW9uYWwgd2l0aFxuICAgKiBkZW5vbSA9IDEsIGV0Yy4uLikuXG4gICAqXG4gICAqIFRoaXMgaXMgZG9uZSBpbiBgY2UubnVtYmVyKClgLiBJbiBnZW5lcmFsLCB1c2UgYGNlLm51bWJlcigpYCByYXRoZXJcbiAgICogdGhhbiBjYWxsaW5nIHRoaXMgY29uc3RydWN0b3IgZGlyZWN0bHkuXG4gICAqXG4gICAqIFdlIG1heSBzdG9yZSBhcyBhIG1hY2hpbmUgbnVtYmVyIGlmIGEgRGVjaW1hbCBpcyBwYXNzZWQgdGhhdCBpcyBpbiBtYWNoaW5lXG4gICAqIHJhbmdlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjZSwgdmFsdWUsIG9wdGlvbnMpIHtcbiAgICBzdXBlcihjZSwgb3B0aW9ucz8ubWV0YWRhdGEpO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1JhdGlvbmFsKHZhbHVlKSkge1xuICAgICAgY29uc3QgW24sIGRdID0gdmFsdWU7XG4gICAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgICAgIHR5cGVvZiBuICE9PSBcIm51bWJlclwiIHx8IE51bWJlci5pc0ludGVnZXIobikgJiYgTnVtYmVyLmlzSW50ZWdlcihkKSAmJiBkICE9PSBuICYmIGQgIT09IDFcbiAgICAgICk7XG4gICAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgICAgICEodHlwZW9mIG4gPT09IFwiYmlnaW50XCIgJiYgdHlwZW9mIGQgPT0gXCJiaWdpbnRcIikgfHwgZCAhPT0gbiAmJiBkICE9PSBCaWdJbnQoMSlcbiAgICAgICk7XG4gICAgICBpZiAob3B0aW9ucz8uY2Fub25pY2FsID8/IHRydWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBjYW5vbmljYWxOdW1iZXIoY2UsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5faXNDYW5vbmljYWwgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5faXNDYW5vbmljYWwgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KFxuICAgICAgICAhKHZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxMi5Db21wbGV4KSB8fCAhTnVtYmVyLmlzTmFOKHZhbHVlLnJlKSAmJiAhTnVtYmVyLmlzTmFOKHZhbHVlLmltKSAmJiBjZS5jaG9wKHZhbHVlLmltKSAhPT0gMFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3ZhbHVlID0gY2Fub25pY2FsTnVtYmVyKGNlLCB2YWx1ZSk7XG4gICAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGdldCBoYXNoKCkge1xuICAgIGlmICh0aGlzLl9oYXNoICE9PSB2b2lkIDApXG4gICAgICByZXR1cm4gdGhpcy5faGFzaDtcbiAgICBsZXQgaCA9IDA7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIGggPSBoYXNoQ29kZSh0aGlzLl92YWx1ZS50b1N0cmluZygpKTtcbiAgICBlbHNlIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTIuQ29tcGxleClcbiAgICAgIGggPSBoYXNoQ29kZShcbiAgICAgICAgdGhpcy5fdmFsdWUucmUudG9TdHJpbmcoKSArIFwiICtpIFwiICsgdGhpcy5fdmFsdWUuaW0udG9TdHJpbmcoKVxuICAgICAgKTtcbiAgICBlbHNlIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICBoID0gaGFzaENvZGUodGhpcy5fdmFsdWUudG9TdHJpbmcoKSk7XG4gICAgZWxzZVxuICAgICAgaCA9IGhhc2hDb2RlKFxuICAgICAgICB0aGlzLl92YWx1ZVswXS50b1N0cmluZygpICsgXCIgLyBcIiArIHRoaXMuX3ZhbHVlWzFdLnRvU3RyaW5nKClcbiAgICAgICk7XG4gICAgdGhpcy5faGFzaCA9IGg7XG4gICAgcmV0dXJuIGg7XG4gIH1cbiAgZ2V0IGhlYWQoKSB7XG4gICAgcmV0dXJuIFwiTnVtYmVyXCI7XG4gIH1cbiAgZ2V0IGlzUHVyZSgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBnZXQgaXNFeGFjdCgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIodGhpcy5fdmFsdWUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNJbnRlZ2VyKCk7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxMi5Db21wbGV4KVxuICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIodGhpcy5fdmFsdWUucmUpICYmIE51bWJlci5pc0ludGVnZXIodGhpcy5fdmFsdWUuaW0pO1xuICAgIHJldHVybiBpc1JhdGlvbmFsKHRoaXMuX3ZhbHVlKTtcbiAgfVxuICBnZXQgaXNDYW5vbmljYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ2Fub25pY2FsO1xuICB9XG4gIHNldCBpc0Nhbm9uaWNhbCh2YWwpIHtcbiAgICB0aGlzLl9pc0Nhbm9uaWNhbCA9IHZhbDtcbiAgfVxuICBnZXQgY29tcGxleGl0eSgpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgZ2V0IG51bWVyaWNWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgZ2V0IGRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5fZG9tYWluID09PSB2b2lkIDApXG4gICAgICB0aGlzLl9kb21haW4gPSB0aGlzLmVuZ2luZS5kb21haW4oaW5mZXJOdW1lcmljRG9tYWluKHRoaXMuX3ZhbHVlKSk7XG4gICAgcmV0dXJuIHRoaXMuX2RvbWFpbjtcbiAgfVxuICBnZXQganNvbigpIHtcbiAgICByZXR1cm4gc2VyaWFsaXplSnNvbk51bWJlcih0aGlzLmVuZ2luZSwgdGhpcy5fdmFsdWUsIHtcbiAgICAgIGxhdGV4OiB0aGlzLl9sYXRleFxuICAgIH0pO1xuICB9XG4gIGdldCBzZ24oKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSAwKVxuICAgICAgcmV0dXJuIDA7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlIDwgMClcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlID4gMClcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgRGVjaW1hbCkge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlLmlzWmVybygpKVxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIGlmICh0aGlzLl92YWx1ZS5pc05lZ2F0aXZlKCkpXG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIGlmICh0aGlzLl92YWx1ZS5pc1Bvc2l0aXZlKCkpXG4gICAgICAgIHJldHVybiAxO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX3ZhbHVlKSkge1xuICAgICAgY29uc3QgW251bWVyLCBkZW5vbV0gPSB0aGlzLl92YWx1ZTtcbiAgICAgIGlmIChudW1lciA9PT0gMCAmJiBkZW5vbSAhPT0gMClcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICBpZiAobnVtZXIgPCAwKVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgICBpZiAobnVtZXIgPiAwKVxuICAgICAgICByZXR1cm4gMTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpc1NhbWUocmhzKSB7XG4gICAgaWYgKHRoaXMgPT09IHJocylcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICghKHJocyBpbnN0YW5jZW9mIF9Cb3hlZE51bWJlcikpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgaWYgKHR5cGVvZiByaHMuX3ZhbHVlICE9PSBcIm51bWJlclwiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPT09IHJocy5fdmFsdWU7XG4gICAgfVxuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpIHtcbiAgICAgIGlmICghKHJocy5fdmFsdWUgaW5zdGFuY2VvZiBEZWNpbWFsKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmVxKHJocy5fdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShyaHMuX3ZhbHVlKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgW3Joc04sIHJoc0RdID0gcmhzLl92YWx1ZTtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZVswXSA9PT0gcmhzTiAmJiB0aGlzLl92YWx1ZVsxXSA9PT0gcmhzRDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxMi5Db21wbGV4KSB7XG4gICAgICBpZiAoIShyaHMuX3ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxMi5Db21wbGV4KSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlLmVxdWFscyhyaHMuX3ZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlzRXF1YWwocmhzKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTYW1lKHJocyk7XG4gIH1cbiAgbWF0Y2gocmhzLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuaXNFcXVhbFdpdGhUb2xlcmFuY2UocmhzLCBvcHRpb25zPy5udW1lcmljVG9sZXJhbmNlID8/IDApKVxuICAgICAgcmV0dXJuIHt9O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKiBDb21wYXJlIHRoaXMgd2l0aCBhbm90aGVyIEJveGVkTnVtYmVyLlxuICAgKiBgcmhzYCBtdXN0IGJlIGEgQm94ZWROdW1iZXIuIFVzZSBgaXNFcXVhbFdpdGhUb2xlcmFuY2UocmhzLk4oKSlgXG4gICAqIGlmIG5lY2Vzc2FyeS5cbiAgICovXG4gIGlzRXF1YWxXaXRoVG9sZXJhbmNlKHJocywgdG9sZXJhbmNlKSB7XG4gICAgcmV0dXJuIHJocyBpbnN0YW5jZW9mIF9Cb3hlZE51bWJlciAmJiBzaWduRGlmZih0aGlzLCByaHMsIHRvbGVyYW5jZSkgPT09IDA7XG4gIH1cbiAgaXNMZXNzKHJocykge1xuICAgIGNvbnN0IHMgPSBzaWduRGlmZih0aGlzLCByaHMpO1xuICAgIGlmIChzID09PSB2b2lkIDApXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIHJldHVybiBzIDwgMDtcbiAgfVxuICBpc0xlc3NFcXVhbChyaHMpIHtcbiAgICBjb25zdCBzID0gc2lnbkRpZmYodGhpcywgcmhzKTtcbiAgICBpZiAocyA9PT0gdm9pZCAwKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA8PSAwO1xuICB9XG4gIGlzR3JlYXRlcihyaHMpIHtcbiAgICByZXR1cm4gcmhzLmlzTGVzc0VxdWFsKHRoaXMpO1xuICB9XG4gIGlzR3JlYXRlckVxdWFsKHJocykge1xuICAgIHJldHVybiByaHMuaXNMZXNzKHRoaXMpO1xuICB9XG4gIC8qKiB4ID4gMCwgc2FtZSBhcyBgaXNHcmVhdGVyKDApYCAqL1xuICBnZXQgaXNQb3NpdGl2ZSgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlID4gMDtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IHZvaWQgMCB8fCBzID09PSBudWxsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA+IDA7XG4gIH1cbiAgLyoqIHggPj0gMCwgc2FtZSBhcyBgaXNHcmVhdGVyRXF1YWwoMClgICovXG4gIGdldCBpc05vbk5lZ2F0aXZlKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPj0gMDtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IHZvaWQgMCB8fCBzID09PSBudWxsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA+PSAwO1xuICB9XG4gIC8qKiB4IDwgMCwgc2FtZSBhcyBgaXNMZXNzKDApYCAqL1xuICBnZXQgaXNOZWdhdGl2ZSgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIDwgMDtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IHZvaWQgMCB8fCBzID09PSBudWxsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA8IDA7XG4gIH1cbiAgLyoqIHggPD0gMCwgc2FtZSBhcyBgaXNMZXNzRXF1YWwoMClgICovXG4gIGdldCBpc05vblBvc2l0aXZlKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPD0gMDtcbiAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgaWYgKHMgPT09IHZvaWQgMCB8fCBzID09PSBudWxsKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICByZXR1cm4gcyA8PSAwO1xuICB9XG4gIGdldCBpc1plcm8oKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSAwKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgRGVjaW1hbClcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5pc1plcm8oKTtcbiAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEyLkNvbXBsZXgpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNaZXJvKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBpc05vdFplcm8oKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gIXRoaXMuX3ZhbHVlLmlzWmVybygpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTIuQ29tcGxleClcbiAgICAgIHJldHVybiAhdGhpcy5fdmFsdWUuaXNaZXJvKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgZ2V0IGlzT25lKCkge1xuICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gMSlcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgRGVjaW1hbClcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5lcXVhbHModGhpcy5lbmdpbmUuX0JJR05VTV9PTkUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTIuQ29tcGxleClcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5pbSA9PT0gMCAmJiB0aGlzLl92YWx1ZS5yZSA9PT0gMTtcbiAgICByZXR1cm4gaXNSYXRpb25hbE9uZSh0aGlzLl92YWx1ZSk7XG4gIH1cbiAgZ2V0IGlzTmVnYXRpdmVPbmUoKSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSAtMSlcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgRGVjaW1hbClcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5lcXVhbHModGhpcy5lbmdpbmUuX0JJR05VTV9ORUdBVElWRV9PTkUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX3ZhbHVlKSlcbiAgICAgIHJldHVybiBpc1JhdGlvbmFsTmVnYXRpdmVPbmUodGhpcy5fdmFsdWUpO1xuICAgIHJldHVybiB0aGlzLl92YWx1ZS5lcXVhbHMoLTEpO1xuICB9XG4gIGdldCBpc09kZCgpIHtcbiAgICBpZiAodGhpcy5pc09uZSB8fCB0aGlzLmlzTmVnYXRpdmVPbmUpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5pc1plcm8pXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLmlzSW50ZWdlcilcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlICUgMiAhPT0gMDtcbiAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBEZWNpbWFsKVxuICAgICAgcmV0dXJuICF0aGlzLl92YWx1ZS5tb2QoMikuaXNaZXJvKCk7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNFdmVuKCkge1xuICAgIGlmICh0aGlzLmlzT25lIHx8IHRoaXMuaXNOZWdhdGl2ZU9uZSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5pc1plcm8pXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuaXNJbnRlZ2VyKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUgJSAyID09PSAwO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUubW9kKDIpLmlzWmVybygpO1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzUHJpbWUoKSB7XG4gICAgaWYgKCF0aGlzLmlzSW50ZWdlciB8fCAhdGhpcy5pc0Zpbml0ZSB8fCB0aGlzLmlzTm9uUG9zaXRpdmUgfHwgdGhpcy5pc09uZSB8fCB0aGlzLmlzWmVybylcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIGlzUHJpbWUodGhpcy5fdmFsdWUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gaXNQcmltZSh0aGlzLl92YWx1ZS50b051bWJlcigpKTtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBpc0NvbXBvc2l0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNJbnRlZ2VyIHx8ICF0aGlzLmlzRmluaXRlIHx8IHRoaXMuaXNOb25Qb3NpdGl2ZSB8fCB0aGlzLmlzT25lIHx8IHRoaXMuaXNaZXJvKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gIWlzUHJpbWUodGhpcy5fdmFsdWUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gIWlzUHJpbWUodGhpcy5fdmFsdWUudG9OdW1iZXIoKSk7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNJbmZpbml0eSgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuICFOdW1iZXIuaXNGaW5pdGUodGhpcy5fdmFsdWUpICYmICFOdW1iZXIuaXNOYU4odGhpcy5fdmFsdWUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gIXRoaXMuX3ZhbHVlLmlzRmluaXRlKCkgJiYgIXRoaXMuX3ZhbHVlLmlzTmFOKCk7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxMi5Db21wbGV4KVxuICAgICAgcmV0dXJuICF0aGlzLl92YWx1ZS5pc0Zpbml0ZSgpICYmICF0aGlzLl92YWx1ZS5pc05hTigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBnZXQgaXNOYU4oKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJldHVybiBOdW1iZXIuaXNOYU4odGhpcy5fdmFsdWUpO1xuICAgIGlmICh0aGlzLl92YWx1ZSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNOYU4oKTtcbiAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEyLkNvbXBsZXgpXG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWUuaXNOYU4oKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0IGlzRmluaXRlKCkge1xuICAgIHJldHVybiAhdGhpcy5pc0luZmluaXR5ICYmICF0aGlzLmlzTmFOO1xuICB9XG4gIGdldCBpc051bWJlcigpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBnZXQgaXNJbnRlZ2VyKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih0aGlzLl92YWx1ZSk7XG4gICAgaWYgKHRoaXMuX3ZhbHVlIGluc3RhbmNlb2YgRGVjaW1hbClcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5pc0ludGVnZXIoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgZ2V0IGlzUmF0aW9uYWwoKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fdmFsdWUpKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHRoaXMuaXNJbnRlZ2VyO1xuICB9XG4gIGdldCBpc0FsZ2VicmFpYygpIHtcbiAgICBpZiAodGhpcy5pc1JhdGlvbmFsKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBnZXQgaXNSZWFsKCkge1xuICAgIGlmICghdGhpcy5pc0Zpbml0ZSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEyLkNvbXBsZXgpXG4gICAgICByZXR1cm4gdGhpcy5lbmdpbmUuY2hvcCh0aGlzLl92YWx1ZS5pbSkgPT09IDA7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gUmVhbCBvciArLUluZmluaXR5XG4gIGdldCBpc0V4dGVuZGVkUmVhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0luZmluaXR5IHx8IHRoaXMuaXNSZWFsO1xuICB9XG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTmFOO1xuICB9XG4gIGdldCBpc0ltYWdpbmFyeSgpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEyLkNvbXBsZXgpIHtcbiAgICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCh0aGlzLl92YWx1ZS5pbSAhPT0gMCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGdldCBpc0V4dGVuZGVkQ29tcGxleCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0luZmluaXR5IHx8ICF0aGlzLmlzTmFOO1xuICB9XG4gIGdldCBjYW5vbmljYWwoKSB7XG4gICAgaWYgKHRoaXMuX2lzQ2Fub25pY2FsKVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lLm51bWJlcihjYW5vbmljYWxOdW1iZXIodGhpcy5lbmdpbmUsIHRoaXMuX3ZhbHVlKSk7XG4gIH1cbiAgc2ltcGxpZnkoX29wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5jYW5vbmljYWw7XG4gIH1cbiAgTihfb3B0aW9ucykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpXG4gICAgICByZXR1cm4gdGhpcztcbiAgICBjb25zdCBjZSA9IHRoaXMuZW5naW5lO1xuICAgIGNvbnN0IFtudW1lciwgZGVub21dID0gdGhpcy5fdmFsdWU7XG4gICAgaWYgKHR5cGVvZiBudW1lciA9PT0gXCJudW1iZXJcIiAmJiB0eXBlb2YgZGVub20gPT09IFwibnVtYmVyXCIgJiYgIWJpZ251bVByZWZlcnJlZChjZSkpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKG51bWVyIC8gZGVub20pO1xuICAgIHJldHVybiBjZS5udW1iZXIoY2UuYmlnbnVtKG51bWVyKS5kaXYoY2UuYmlnbnVtKGRlbm9tKSkpO1xuICB9XG59O1xuZnVuY3Rpb24gY2Fub25pY2FsTnVtYmVyKGNlLCB2YWx1ZSkge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEZWNpbWFsICYmIGlzSW5NYWNoaW5lUmFuZ2UodmFsdWUpKVxuICAgIHJldHVybiB2YWx1ZS50b051bWJlcigpO1xuICBpZiAoIWlzUmF0aW9uYWwodmFsdWUpKVxuICAgIHJldHVybiB2YWx1ZTtcbiAgdmFsdWUgPSByZWR1Y2VkUmF0aW9uYWwodmFsdWUpO1xuICBpZiAoaXNCaWdSYXRpb25hbCh2YWx1ZSkpIHtcbiAgICBsZXQgW24yLCBkMl0gPSB2YWx1ZTtcbiAgICBpZiAobjIgPiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiAmJiBuMiA8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSICYmIGQyID4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIgJiYgZDIgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUilcbiAgICAgIHZhbHVlID0gW051bWJlcihuMiksIE51bWJlcihkMildO1xuICAgIGVsc2Uge1xuICAgICAgaWYgKGQyIDwgMClcbiAgICAgICAgW24yLCBkMl0gPSBbLW4yLCAtZDJdO1xuICAgICAgaWYgKGQyID09PSBCaWdJbnQoMSkpXG4gICAgICAgIHJldHVybiBjZS5iaWdudW0objIpO1xuICAgICAgaWYgKGQyID09PSBCaWdJbnQoMCkpIHtcbiAgICAgICAgaWYgKG4yID09PSBkMilcbiAgICAgICAgICByZXR1cm4gTmFOO1xuICAgICAgICByZXR1cm4gbjIgPCAwID8gLUluZmluaXR5IDogSW5maW5pdHk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW24yLCBkMl07XG4gICAgfVxuICB9XG4gIGxldCBbbiwgZF0gPSB2YWx1ZTtcbiAgaWYgKE51bWJlci5pc05hTihuKSB8fCBOdW1iZXIuaXNOYU4oZCkpXG4gICAgcmV0dXJuIE5hTjtcbiAgaWYgKGQgPCAwKVxuICAgIFtuLCBkXSA9IFstbiwgLWRdO1xuICBpZiAoZCA9PT0gMSlcbiAgICByZXR1cm4gbjtcbiAgaWYgKGQgPT09IDApIHtcbiAgICBpZiAobiA9PT0gMCB8fCAhTnVtYmVyLmlzRmluaXRlKG4pKVxuICAgICAgcmV0dXJuIE5hTjtcbiAgICBpZiAobiA8IDApXG4gICAgICByZXR1cm4gLUluZmluaXR5O1xuICAgIHJldHVybiBJbmZpbml0eTtcbiAgfVxuICBpZiAobiA9PT0gMClcbiAgICByZXR1cm4gbjtcbiAgcmV0dXJuIFtuLCBkXTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2JveGVkLWV4cHJlc3Npb24vYm94ZWQtc3RyaW5nLnRzXG52YXIgQm94ZWRTdHJpbmcgPSBjbGFzcyBfQm94ZWRTdHJpbmcgZXh0ZW5kcyBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKGNlLCBleHByLCBtZXRhZGF0YSkge1xuICAgIHN1cGVyKGNlLCBtZXRhZGF0YSk7XG4gICAgdGhpcy5fc3RyaW5nID0gZXhwci5ub3JtYWxpemUoKTtcbiAgICBjZS5fcmVnaXN0ZXIodGhpcyk7XG4gIH1cbiAgZ2V0IGhhc2goKSB7XG4gICAgcmV0dXJuIGhhc2hDb2RlKFwiU3RyaW5nXCIgKyB0aGlzLl9zdHJpbmcpO1xuICB9XG4gIGdldCBqc29uKCkge1xuICAgIHJldHVybiBzZXJpYWxpemVKc29uU3RyaW5nKHRoaXMuZW5naW5lLCB0aGlzLl9zdHJpbmcpO1xuICB9XG4gIGdldCBoZWFkKCkge1xuICAgIHJldHVybiBcIlN0cmluZ1wiO1xuICB9XG4gIGdldCBpc1B1cmUoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgZ2V0IGlzQ2Fub25pY2FsKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHNldCBpc0Nhbm9uaWNhbChfdmEpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgZ2V0IGRvbWFpbigpIHtcbiAgICByZXR1cm4gdGhpcy5lbmdpbmUuZG9tYWluKFwiU3RyaW5nXCIpO1xuICB9XG4gIGdldCBjb21wbGV4aXR5KCkge1xuICAgIHJldHVybiAxOTtcbiAgfVxuICBnZXQgc3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9zdHJpbmc7XG4gIH1cbiAgaXNFcXVhbChyaHMpIHtcbiAgICByZXR1cm4gcmhzLnN0cmluZyA9PT0gdGhpcy5fc3RyaW5nO1xuICB9XG4gIGlzU2FtZShyaHMpIHtcbiAgICByZXR1cm4gcmhzLnN0cmluZyA9PT0gdGhpcy5fc3RyaW5nO1xuICB9XG4gIG1hdGNoKHJocywgX29wdGlvbnMpIHtcbiAgICBpZiAoIShyaHMgaW5zdGFuY2VvZiBfQm94ZWRTdHJpbmcpKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKHRoaXMuX3N0cmluZyA9PT0gcmhzLl9zdHJpbmcpXG4gICAgICByZXR1cm4ge307XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL2JveC50c1xuZnVuY3Rpb24gYm94TnVtYmVyKGNlLCBudW0sIG9wdGlvbnMpIHtcbiAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIgfHwgbnVtIGluc3RhbmNlb2YgRGVjaW1hbClcbiAgICByZXR1cm4gbmV3IEJveGVkTnVtYmVyKGNlLCBudW0sIG9wdGlvbnMpO1xuICBvcHRpb25zID0gb3B0aW9ucyA/IHsgLi4ub3B0aW9ucyB9IDoge307XG4gIGlmICghKFwiY2Fub25pY2FsXCIgaW4gb3B0aW9ucykpXG4gICAgb3B0aW9ucy5jYW5vbmljYWwgPSB0cnVlO1xuICBpZiAoQXJyYXkuaXNBcnJheShudW0pICYmIG51bS5sZW5ndGggPT09IDIgJiYgbnVtWzBdIGluc3RhbmNlb2YgRGVjaW1hbCAmJiBudW1bMV0gaW5zdGFuY2VvZiBEZWNpbWFsKSB7XG4gICAgaWYgKCFudW1bMF0uaXNJbnRlZ2VyKCkgfHwgIW51bVsxXS5pc0ludGVnZXIoKSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkFycmF5IGFyZ3VtZW50IHRvIGBib3hOdW1iZXIoKWAgc2hvdWxkIGJlIHR3byBpbnRlZ2Vyc1wiKTtcbiAgICBudW0gPSBbYmlnaW50KG51bVswXS50b1N0cmluZygpKSwgYmlnaW50KG51bVsxXS50b1N0cmluZygpKV07XG4gIH1cbiAgaWYgKGlzUmF0aW9uYWwobnVtKSkge1xuICAgIGlmIChudW0ubGVuZ3RoICE9PSAyKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkFycmF5IGFyZ3VtZW50IHRvIGBib3hOdW1iZXIoKWAgc2hvdWxkIGJlIHR3byBpbnRlZ2VycyBvciB0d28gYmlnbnVtc1wiXG4gICAgICApO1xuICAgIGNvbnN0IFtuLCBkXSA9IG51bTtcbiAgICBpZiAodHlwZW9mIG4gPT09IFwiYmlnaW50XCIgJiYgdHlwZW9mIGQgPT09IFwiYmlnaW50XCIpIHtcbiAgICAgIGlmIChuID09PSBkKVxuICAgICAgICByZXR1cm4gZCA9PT0gQmlnSW50KDApID8gY2UuX05BTiA6IGNlLl9PTkU7XG4gICAgICBpZiAobiA9PT0gQmlnSW50KDApKVxuICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICBpZiAoZCA9PT0gQmlnSW50KDEpKVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKG4sIG9wdGlvbnMpO1xuICAgICAgaWYgKGQgPT09IEJpZ0ludCgtMSkpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIoLW4sIG9wdGlvbnMpO1xuICAgICAgaWYgKG4gPT09IEJpZ0ludCgxKSAmJiBkID09PSBCaWdJbnQoMikpXG4gICAgICAgIHJldHVybiBjZS5fSEFMRjtcbiAgICAgIHJldHVybiBuZXcgQm94ZWROdW1iZXIoY2UsIFtuLCBkXSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbiAhPT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgZCAhPT0gXCJudW1iZXJcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBcnJheSBhcmd1bWVudCB0byBgYm94TnVtYmVyKClgIHNob3VsZCBiZSB0d28gaW50ZWdlcnMgb3IgdHdvIGJpZ251bXNcIlxuICAgICAgKTtcbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIobikgfHwgIU51bWJlci5pc0ludGVnZXIoZCkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBcnJheSBhcmd1bWVudCB0byBgYm94TnVtYmVyKClgIHNob3VsZCBiZSB0d28gaW50ZWdlcnNcIik7XG4gICAgaWYgKGQgPT09IG4pXG4gICAgICByZXR1cm4gZCA9PT0gMCA/IGNlLl9OQU4gOiBjZS5fT05FO1xuICAgIGlmIChuID09PSAwKVxuICAgICAgcmV0dXJuIGNlLl9aRVJPO1xuICAgIGlmIChkID09PSAxKVxuICAgICAgcmV0dXJuIGNlLm51bWJlcihuLCBvcHRpb25zKTtcbiAgICBpZiAoZCA9PT0gLTEpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKC1uLCBvcHRpb25zKTtcbiAgICBpZiAobiA9PT0gMSAmJiBkID09PSAyKVxuICAgICAgcmV0dXJuIGNlLl9IQUxGO1xuICAgIHJldHVybiBuZXcgQm94ZWROdW1iZXIoY2UsIFtuLCBkXSwgb3B0aW9ucyk7XG4gIH1cbiAgaWYgKG51bSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTMuQ29tcGxleCkge1xuICAgIGlmIChudW0uaXNOYU4oKSlcbiAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgIGlmIChudW0uaXNaZXJvKCkpXG4gICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgaWYgKG51bS5pc0luZmluaXRlKCkpXG4gICAgICByZXR1cm4gY2UuX0NPTVBMRVhfSU5GSU5JVFk7XG4gICAgaWYgKGNlLmNob3AobnVtLmltKSA9PT0gMClcbiAgICAgIHJldHVybiBjZS5udW1iZXIobnVtLnJlLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV3IEJveGVkTnVtYmVyKGNlLCBudW0sIG9wdGlvbnMpO1xuICB9XG4gIGxldCBzdHJOdW0gPSBcIlwiO1xuICBpZiAodHlwZW9mIG51bSA9PT0gXCJzdHJpbmdcIilcbiAgICBzdHJOdW0gPSBudW07XG4gIGVsc2UgaWYgKHR5cGVvZiBudW0gPT09IFwib2JqZWN0XCIgJiYgXCJudW1cIiBpbiBudW0pIHtcbiAgICBpZiAodHlwZW9mIG51bS5udW0gPT09IFwibnVtYmVyXCIpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKG51bS5udW0sIG9wdGlvbnMpO1xuICAgIGlmICh0eXBlb2YgbnVtLm51bSAhPT0gXCJzdHJpbmdcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1hdGhKU09OIGBudW1gIHByb3BlcnR5IHNob3VsZCBiZSBhIHN0cmluZyBvZiBkaWdpdHNcIik7XG4gICAgc3RyTnVtID0gbnVtLm51bTtcbiAgfVxuICBpZiAoc3RyTnVtKSB7XG4gICAgc3RyTnVtID0gc3RyTnVtLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKC9bMC05XVtuZF0kLy50ZXN0KHN0ck51bSkpXG4gICAgICBzdHJOdW0gPSBzdHJOdW0uc2xpY2UoMCwgLTEpO1xuICAgIHN0ck51bSA9IHN0ck51bS5yZXBsYWNlKC9bXFx1MDAwOS1cXHUwMDBkXFx1MDAyMFxcdTAwYTBdL2csIFwiXCIpO1xuICAgIGlmIChzdHJOdW0gPT09IFwibmFuXCIpXG4gICAgICByZXR1cm4gY2UuX05BTjtcbiAgICBpZiAoc3RyTnVtID09PSBcImluZmluaXR5XCIgfHwgc3RyTnVtID09PSBcIitpbmZpbml0eVwiKVxuICAgICAgcmV0dXJuIGNlLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICBpZiAoc3RyTnVtID09PSBcIi1pbmZpbml0eVwiKVxuICAgICAgcmV0dXJuIGNlLl9ORUdBVElWRV9JTkZJTklUWTtcbiAgICBpZiAoc3RyTnVtID09PSBcIjBcIilcbiAgICAgIHJldHVybiBjZS5fWkVSTztcbiAgICBpZiAoc3RyTnVtID09PSBcIjFcIilcbiAgICAgIHJldHVybiBjZS5fT05FO1xuICAgIGlmIChzdHJOdW0gPT09IFwiLTFcIilcbiAgICAgIHJldHVybiBjZS5fTkVHQVRJVkVfT05FO1xuICAgIGlmICgvXFwoWzAtOV0rXFwpLy50ZXN0KHN0ck51bSkpIHtcbiAgICAgIGNvbnN0IFtfLCBib2R5LCByZXBlYXQsIHRyYWlsXSA9IHN0ck51bS5tYXRjaCgvKC4rKVxcKChbMC05XSspXFwpKC4rKT8kLykgPz8gW107XG4gICAgICBzdHJOdW0gPSBib2R5ICsgcmVwZWF0LnJlcGVhdChNYXRoLmNlaWwoY2UucHJlY2lzaW9uIC8gcmVwZWF0Lmxlbmd0aCkpICsgKHRyYWlsID8/IFwiXCIpO1xuICAgIH1cbiAgICByZXR1cm4gYm94TnVtYmVyKGNlLCBjZS5iaWdudW0oc3RyTnVtKSwgb3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBib3hIb2xkKGNlLCBleHByLCBvcHRpb25zKSB7XG4gIGlmIChleHByID09PSBudWxsKVxuICAgIHJldHVybiBjZS5lcnJvcihcIm1pc3NpbmdcIik7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIiAmJiBleHByIGluc3RhbmNlb2YgQWJzdHJhY3RCb3hlZEV4cHJlc3Npb24pXG4gICAgcmV0dXJuIGV4cHI7XG4gIGV4cHIgPSBtaXNzaW5nSWZFbXB0eShleHByKTtcbiAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBib3goY2UsIGV4cHIsIG9wdGlvbnMpO1xuICBpZiAoQXJyYXkuaXNBcnJheShleHByKSkge1xuICAgIGNvbnN0IGJveGVkID0gZXhwci5tYXAoKHgpID0+IGJveEhvbGQoY2UsIHgsIG9wdGlvbnMpKTtcbiAgICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb24oY2UsIGJveGVkWzBdLCBib3hlZC5zbGljZSgxKSk7XG4gIH1cbiAgaWYgKHR5cGVvZiBleHByID09PSBcIm9iamVjdFwiKSB7XG4gICAgaWYgKFwiZGljdFwiIGluIGV4cHIpXG4gICAgICByZXR1cm4gbmV3IEJveGVkRGljdGlvbmFyeShjZSwgZXhwci5kaWN0KTtcbiAgICBpZiAoXCJmblwiIGluIGV4cHIpXG4gICAgICByZXR1cm4gYm94SG9sZChjZSwgZXhwci5mbiwgb3B0aW9ucyk7XG4gICAgaWYgKFwic3RyXCIgaW4gZXhwcilcbiAgICAgIHJldHVybiBuZXcgQm94ZWRTdHJpbmcoY2UsIGV4cHIuc3RyKTtcbiAgICBpZiAoXCJzeW1cIiBpbiBleHByKVxuICAgICAgcmV0dXJuIGJveChjZSwgZXhwci5zeW0sIG9wdGlvbnMpO1xuICAgIGlmIChcIm51bVwiIGluIGV4cHIpXG4gICAgICByZXR1cm4gYm94KGNlLCBleHByLm51bSwgb3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIGJveChjZSwgZXhwciwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBib3hGdW5jdGlvbihjZSwgaGVhZDIsIG9wczIsIG9wdGlvbnMpIHtcbiAgaWYgKGhlYWQyID09PSBcIkhvbGRcIikge1xuICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbihjZSwgXCJIb2xkXCIsIFtib3hIb2xkKGNlLCBvcHMyWzBdLCBvcHRpb25zKV0sIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjYW5vbmljYWw6IHRydWVcbiAgICB9KTtcbiAgfVxuICBpZiAoaGVhZDIgPT09IFwiRXJyb3JcIiB8fCBoZWFkMiA9PT0gXCJFcnJvckNvZGVcIikge1xuICAgIHJldHVybiBjZS5fZm4oXG4gICAgICBoZWFkMixcbiAgICAgIG9wczIubWFwKCh4KSA9PiBjZS5ib3goeCwgeyBjYW5vbmljYWw6IGZhbHNlIH0pKSxcbiAgICAgIG9wdGlvbnMubWV0YWRhdGFcbiAgICApO1xuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJEb21haW5cIilcbiAgICByZXR1cm4gY2UuZG9tYWluKG9wczJbMF0sIG9wdGlvbnMubWV0YWRhdGEpO1xuICBpZiAoaGVhZDIgPT09IFwiTnVtYmVyXCIgJiYgb3BzMi5sZW5ndGggPT09IDEpXG4gICAgcmV0dXJuIGJveChjZSwgb3BzMlswXSwgb3B0aW9ucyk7XG4gIGlmIChoZWFkMiA9PT0gXCJTdHJpbmdcIikge1xuICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICAgIHJldHVybiBuZXcgQm94ZWRTdHJpbmcoY2UsIFwiXCIsIG9wdGlvbnMubWV0YWRhdGEpO1xuICAgIHJldHVybiBuZXcgQm94ZWRTdHJpbmcoXG4gICAgICBjZSxcbiAgICAgIG9wczIubWFwKCh4KSA9PiBhc1N0cmluZyh4KSA/PyBcIlwiKS5qb2luKFwiXCIpLFxuICAgICAgb3B0aW9ucy5tZXRhZGF0YVxuICAgICk7XG4gIH1cbiAgaWYgKGhlYWQyID09PSBcIlN5bWJvbFwiICYmIG9wczIubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBjZS5zeW1ib2wob3BzMi5tYXAoKHgpID0+IGFzU3RyaW5nKHgpID8/IFwiXCIpLmpvaW4oXCJcIiksIG9wdGlvbnMpO1xuICB9XG4gIGlmICgoaGVhZDIgPT09IFwiRGl2aWRlXCIgfHwgaGVhZDIgPT09IFwiUmF0aW9uYWxcIikgJiYgb3BzMi5sZW5ndGggPT09IDIpIHtcbiAgICBpZiAob3BzMlswXSBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uICYmIG9wczJbMV0gaW5zdGFuY2VvZiBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbikge1xuICAgICAgaWYgKGNlLm51bWVyaWNNb2RlID09PSBcIm1hY2hpbmVcIikge1xuICAgICAgICBjb25zdCBbZm4sIGZkXSA9IFthc0Zsb2F0KG9wczJbMF0pLCBhc0Zsb2F0KG9wczJbMV0pXTtcbiAgICAgICAgaWYgKGZuICE9PSBudWxsICYmIE51bWJlci5pc0ludGVnZXIoZm4pICYmIGZkICE9PSBudWxsICYmIE51bWJlci5pc0ludGVnZXIoZmQpKVxuICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoW2ZuLCBmZF0sIG9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgY29uc3QgW24sIGRdID0gW2FzQmlnaW50KG9wczJbMF0pLCBhc0JpZ2ludChvcHMyWzFdKV07XG4gICAgICBpZiAobiAhPT0gbnVsbCAmJiBkICE9PSBudWxsKVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKFtuLCBkXSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtuLCBkXSA9IFtcbiAgICAgICAgYmlnaW50VmFsdWUoY2UsIG9wczJbMF0pLFxuICAgICAgICBiaWdpbnRWYWx1ZShjZSwgb3BzMlsxXSlcbiAgICAgIF07XG4gICAgICBpZiAobiAhPT0gbnVsbCAmJiBkICE9PSBudWxsKVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKFtuLCBkXSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGhlYWQyID0gXCJEaXZpZGVcIjtcbiAgfVxuICBpZiAoaGVhZDIgPT09IFwiQ29tcGxleFwiKSB7XG4gICAgaWYgKG9wczIubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBvcDEyID0gYm94KGNlLCBvcHMyWzBdLCBvcHRpb25zKTtcbiAgICAgIGNvbnN0IGltID0gYXNGbG9hdChvcDEyKTtcbiAgICAgIGlmIChpbSAhPT0gbnVsbCAmJiBpbSAhPT0gMClcbiAgICAgICAgcmV0dXJuIGNlLm51bWJlcihjZS5jb21wbGV4KDAsIGltKSwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gY2UubXVsKFtvcDEyLCBjZS5fSV0pO1xuICAgIH1cbiAgICBpZiAob3BzMi5sZW5ndGggPT09IDIpIHtcbiAgICAgIGNvbnN0IG9wMTIgPSBib3goY2UsIG9wczJbMF0sIG9wdGlvbnMpO1xuICAgICAgY29uc3Qgb3AyMiA9IGJveChjZSwgb3BzMlsxXSwgb3B0aW9ucyk7XG4gICAgICBjb25zdCByZSA9IGFzRmxvYXQob3AxMik7XG4gICAgICBjb25zdCBpbSA9IGFzRmxvYXQob3AyMik7XG4gICAgICBpZiAoaW0gIT09IG51bGwgJiYgcmUgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGltID09PSAwICYmIHJlID09PSAwKVxuICAgICAgICAgIHJldHVybiBjZS5fWkVSTztcbiAgICAgICAgaWYgKGltICE9PSBudWxsICYmIGltICE9PSAwKVxuICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoY2UuY29tcGxleChyZSwgaW0pLCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIG9wMTI7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2UuYWRkKFtvcDEyLCBjZS5tdWwoW29wMjIsIGNlLl9JXSldLCBvcHRpb25zLm1ldGFkYXRhKTtcbiAgICB9XG4gIH1cbiAgaWYgKGhlYWQyID09PSBcIk5lZ2F0ZVwiICYmIG9wczIubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3Qgb3AxMiA9IG9wczJbMF07XG4gICAgaWYgKHR5cGVvZiBvcDEyID09PSBcIm51bWJlclwiKVxuICAgICAgcmV0dXJuIGNlLm51bWJlcigtb3AxMiwgb3B0aW9ucyk7XG4gICAgaWYgKG9wMTIgaW5zdGFuY2VvZiBEZWNpbWFsKVxuICAgICAgcmV0dXJuIGNlLm51bWJlcihvcDEyLm5lZygpLCBvcHRpb25zKTtcbiAgICBjb25zdCBudW0gPSBjZS5ib3gob3AxMiwgb3B0aW9ucykubnVtZXJpY1ZhbHVlO1xuICAgIGlmIChudW0gIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgbnVtID09PSBcIm51bWJlclwiKVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKC1udW0sIG9wdGlvbnMpO1xuICAgICAgaWYgKG51bSBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIobnVtLm5lZygpLCBvcHRpb25zKTtcbiAgICAgIGlmIChudW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEzLkNvbXBsZXgpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIobnVtLm5lZygpKTtcbiAgICAgIGlmIChpc1JhdGlvbmFsKG51bSkpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIobmVnKG51bSkpO1xuICAgIH1cbiAgfVxuICBpZiAoaGVhZDIgPT09IFwiRGljdGlvbmFyeVwiKSB7XG4gICAgY29uc3QgZGljdCA9IHt9O1xuICAgIGZvciAoY29uc3Qgb3AzIG9mIG9wczIpIHtcbiAgICAgIGNvbnN0IGFyZyA9IGNlLmJveChvcDMpO1xuICAgICAgY29uc3QgaGVhZDMgPSBhcmcuaGVhZDtcbiAgICAgIGlmIChoZWFkMyA9PT0gXCJLZXlWYWx1ZVBhaXJcIiB8fCBoZWFkMyA9PT0gXCJQYWlyXCIgfHwgaGVhZDMgPT09IFwiVHVwbGVcIiAmJiBhcmcubm9wcyA9PT0gMikge1xuICAgICAgICBjb25zdCBrZXkgPSBhcmcub3AxO1xuICAgICAgICBpZiAoa2V5LmlzVmFsaWQgJiYgIWtleS5pc05vdGhpbmcpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFyZy5vcDI7XG4gICAgICAgICAgbGV0IGsgPSBrZXkuc3ltYm9sID8/IGtleS5zdHJpbmc7XG4gICAgICAgICAgaWYgKCFrICYmIChrZXkubnVtZXJpY1ZhbHVlICE9PSBudWxsIHx8IGtleS5zdHJpbmcpKSB7XG4gICAgICAgICAgICBjb25zdCBuID0gdHlwZW9mIGtleS5udW1lcmljVmFsdWUgPT09IFwibnVtYmVyXCIgPyBrZXkubnVtZXJpY1ZhbHVlIDogYXNTbWFsbEludGVnZXIoa2V5KTtcbiAgICAgICAgICAgIGlmIChuICYmIE51bWJlci5pc0Zpbml0ZShuKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKG4pKVxuICAgICAgICAgICAgICBrID0gbi50b1N0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaylcbiAgICAgICAgICAgIGRpY3Rba10gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEJveGVkRGljdGlvbmFyeShjZSwgZGljdCwgb3B0aW9ucyk7XG4gIH1cbiAgaWYgKG9wdGlvbnMuY2Fub25pY2FsKVxuICAgIHJldHVybiBtYWtlQ2Fub25pY2FsRnVuY3Rpb24oY2UsIGhlYWQyLCBvcHMyLCBvcHRpb25zLm1ldGFkYXRhKTtcbiAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKFxuICAgIGNlLFxuICAgIGhlYWQyLFxuICAgIG9wczIubWFwKCh4KSA9PiBib3goY2UsIHgsIHsgY2Fub25pY2FsOiBmYWxzZSB9KSksXG4gICAgb3B0aW9uc1xuICApO1xufVxuZnVuY3Rpb24gYm94KGNlLCBleHByLCBvcHRpb25zKSB7XG4gIGlmIChleHByID09PSBudWxsIHx8IGV4cHIgPT09IHZvaWQgMClcbiAgICByZXR1cm4gY2UuX2ZuKFwiU2VxdWVuY2VcIiwgW10pO1xuICBvcHRpb25zID0gb3B0aW9ucyA/IHsgLi4ub3B0aW9ucyB9IDoge307XG4gIGlmICghKFwiY2Fub25pY2FsXCIgaW4gb3B0aW9ucykpXG4gICAgb3B0aW9ucy5jYW5vbmljYWwgPSB0cnVlO1xuICBpZiAoZXhwciBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uKVxuICAgIHJldHVybiBvcHRpb25zLmNhbm9uaWNhbCA/IGV4cHIuY2Fub25pY2FsIDogZXhwcjtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZXhwcikpIHtcbiAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwoZXhwcikpIHtcbiAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKGV4cHJbMF0pICYmIE51bWJlci5pc0ludGVnZXIoZXhwclsxXSkpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIoZXhwcik7XG4gICAgICByZXR1cm4gYm94RnVuY3Rpb24oY2UsIFwiRGl2aWRlXCIsIGV4cHIsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoaXNCaWdSYXRpb25hbChleHByKSlcbiAgICAgIHJldHVybiBjZS5udW1iZXIoZXhwcik7XG4gICAgaWYgKHR5cGVvZiBleHByWzBdID09PSBcInN0cmluZ1wiKVxuICAgICAgcmV0dXJuIGJveEZ1bmN0aW9uKGNlLCBleHByWzBdLCBleHByLnNsaWNlKDEpLCBvcHRpb25zKTtcbiAgICBjb25zdCBvcHMyID0gZXhwci5zbGljZSgxKS5tYXAoKHgpID0+IGJveChjZSwgeCwgb3B0aW9ucykpO1xuICAgIGNvbnN0IGhlYWQyID0gYm94KGNlLCBleHByWzBdLCBvcHRpb25zKTtcbiAgICBpZiAoaGVhZDIuc3ltYm9sKVxuICAgICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKGNlLCBoZWFkMi5zeW1ib2wsIG9wczIpO1xuICAgIHJldHVybiBhcHBseShoZWFkMiwgb3BzMik7XG4gIH1cbiAgaWYgKHR5cGVvZiBleHByID09PSBcIm51bWJlclwiIHx8IGV4cHIgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDEzLkNvbXBsZXggfHwgZXhwciBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgcmV0dXJuIGNlLm51bWJlcihleHByKTtcbiAgaWYgKHR5cGVvZiBleHByID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGV4cHIuc3RhcnRzV2l0aChcIidcIikgJiYgZXhwci5lbmRzV2l0aChcIidcIikpXG4gICAgICByZXR1cm4gbmV3IEJveGVkU3RyaW5nKGNlLCBleHByLnNsaWNlKDEsIC0xKSk7XG4gICAgaWYgKC9eWystXT9bMC05XS8udGVzdChleHByKSlcbiAgICAgIHJldHVybiBjZS5udW1iZXIoZXhwcik7XG4gICAgaWYgKCFpc1ZhbGlkSWRlbnRpZmllcihleHByKSlcbiAgICAgIHJldHVybiBjZS5lcnJvcihcImludmFsaWQtaWRlbnRpZmllclwiLCB7IHN0cjogZXhwciB9KTtcbiAgICByZXR1cm4gY2Uuc3ltYm9sKGV4cHIsIG9wdGlvbnMpO1xuICB9XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IG1ldGFkYXRhID0ge1xuICAgICAgbGF0ZXg6IGV4cHIubGF0ZXgsXG4gICAgICB3aWtpZGF0YTogZXhwci53aWtpZGF0YVxuICAgIH07XG4gICAgaWYgKFwiZGljdFwiIGluIGV4cHIpXG4gICAgICByZXR1cm4gbmV3IEJveGVkRGljdGlvbmFyeShjZSwgZXhwci5kaWN0LCB7IGNhbm9uaWNhbDogdHJ1ZSwgbWV0YWRhdGEgfSk7XG4gICAgaWYgKFwiZm5cIiBpbiBleHByKSB7XG4gICAgICBpZiAodHlwZW9mIGV4cHIuZm5bMF0gPT09IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiBib3hGdW5jdGlvbihjZSwgZXhwci5mblswXSwgZXhwci5mbi5zbGljZSgxKSwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb24oXG4gICAgICAgIGNlLFxuICAgICAgICBib3goY2UsIGV4cHIuZm5bMF0sIG9wdGlvbnMpLFxuICAgICAgICBleHByLmZuLnNsaWNlKDEpLm1hcCgoeCkgPT4gYm94KGNlLCB4LCBvcHRpb25zKSksXG4gICAgICAgIHsgbWV0YWRhdGEgfVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKFwic3RyXCIgaW4gZXhwcilcbiAgICAgIHJldHVybiBuZXcgQm94ZWRTdHJpbmcoY2UsIGV4cHIuc3RyLCBtZXRhZGF0YSk7XG4gICAgaWYgKFwic3ltXCIgaW4gZXhwcilcbiAgICAgIHJldHVybiBjZS5zeW1ib2woZXhwci5zeW0sIG9wdGlvbnMpO1xuICAgIGlmIChcIm51bVwiIGluIGV4cHIpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKGV4cHIsIG9wdGlvbnMpO1xuICB9XG4gIHJldHVybiBjZS5zeW1ib2woXCJVbmRlZmluZWRcIik7XG59XG5mdW5jdGlvbiBhc1N0cmluZyhleHByKSB7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gZXhwcjtcbiAgaWYgKGV4cHIgaW5zdGFuY2VvZiBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbikge1xuICAgIHJldHVybiBleHByLnN0cmluZyA/PyBleHByLnN5bWJvbCA/PyBleHByLnRvU3RyaW5nKCk7XG4gIH1cbiAgaWYgKHR5cGVvZiBleHByID09PSBcIm9iamVjdFwiKSB7XG4gICAgaWYgKFwic3RyXCIgaW4gZXhwcilcbiAgICAgIHJldHVybiBleHByLnN0cjtcbiAgICBpZiAoXCJmblwiIGluIGV4cHIgJiYgZXhwci5mblswXSA9PT0gXCJTdHJpbmdcIiAmJiB0eXBlb2YgZXhwci5mblsxXSA9PT0gXCJzdHJpbmdcIilcbiAgICAgIHJldHVybiBleHByLmZuWzFdO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KGV4cHIpKSB7XG4gICAgaWYgKGV4cHJbMF0gPT09IFwiU3RyaW5nXCIgJiYgdHlwZW9mIGV4cHJbMV0gPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gZXhwclsxXTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL251bWVyaWNzL251bWVyaWMtY29tcGxleC50c1xuZnVuY3Rpb24gZ2FtbWEzKGMpIHtcbiAgcmV0dXJuIGM7XG59XG5mdW5jdGlvbiBsbmdhbW1hMyhjKSB7XG4gIHJldHVybiBjO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9hcml0aG1ldGljLXBvd2VyLnRzXG52YXIgaW1wb3J0X2NvbXBsZXgxNSA9IF9fdG9FU00ocmVxdWlyZV9jb21wbGV4KCkpO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvc3ltYm9saWMvdXRpbHMudHNcbnZhciBpbXBvcnRfY29tcGxleDE0ID0gX190b0VTTShyZXF1aXJlX2NvbXBsZXgoKSk7XG5mdW5jdGlvbiBtYWtlUG9zaXRpdmUoZXhwcikge1xuICBpZiAoZXhwci5oZWFkID09PSBcIk5lZ2F0ZVwiKVxuICAgIHJldHVybiBbLTEsIGV4cHIub3AxXTtcbiAgY29uc3QgbiA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBpZiAobiA9PT0gbnVsbClcbiAgICByZXR1cm4gWzEsIGV4cHJdO1xuICBjb25zdCBjZSA9IGV4cHIuZW5naW5lO1xuICBpZiAodHlwZW9mIG4gPT09IFwibnVtYmVyXCIgJiYgbiA8IDApXG4gICAgcmV0dXJuIFstMSwgY2UubnVtYmVyKC1uKV07XG4gIGlmIChuIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0ICYmIG4uaXNOZWdhdGl2ZSgpKVxuICAgIHJldHVybiBbLTEsIGNlLm51bWJlcihuLm5lZygpKV07XG4gIGlmIChuIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxNC5kZWZhdWx0ICYmIG4ucmUgPCAwKVxuICAgIHJldHVybiBbLTEsIGNlLm51bWJlcihjZS5jb21wbGV4KC1uLnJlLCAtbi5pbSkpXTtcbiAgaWYgKGlzTWFjaGluZVJhdGlvbmFsKG4pICYmIG5bMF0gPCAwKVxuICAgIHJldHVybiBbLTEsIGNlLm51bWJlcihbLW5bMF0sIG5bMV1dKV07XG4gIGlmIChpc0JpZ1JhdGlvbmFsKG4pICYmIG5bMF0gPCAwKVxuICAgIHJldHVybiBbLTEsIGNlLm51bWJlcihbLW5bMF0sIG5bMV1dKV07XG4gIHJldHVybiBbMSwgZXhwcl07XG59XG5mdW5jdGlvbiBhcHBseTIoZXhwciwgZm4sIGJpZ0ZuLCBjb21wbGV4Rm4pIHtcbiAgY29uc3QgbiA9IGV4cHIubnVtZXJpY1ZhbHVlO1xuICBjb25zdCBjZSA9IGV4cHIuZW5naW5lO1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQobiAhPT0gbnVsbCk7XG4gIGlmICh0eXBlb2YgbiA9PT0gXCJudW1iZXJcIikge1xuICAgIGlmIChiaWdudW1QcmVmZXJyZWQoY2UpICYmIGJpZ0ZuKVxuICAgICAgcmV0dXJuIGNlLmNob3AoYmlnRm4oY2UuYmlnbnVtKG4pKSk7XG4gICAgcmV0dXJuIGNlLmNob3AoZm4obikpO1xuICB9XG4gIGlmIChuIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgIHJldHVybiBjZS5jaG9wKGJpZ0ZuPy4obikgPz8gZm4obi50b051bWJlcigpKSk7XG4gIGlmIChpc01hY2hpbmVSYXRpb25hbChuKSkge1xuICAgIGlmICghYmlnbnVtUHJlZmVycmVkKGNlKSB8fCAhYmlnRm4pXG4gICAgICByZXR1cm4gY2UuY2hvcChmbihuWzBdIC8gblsxXSkpO1xuICAgIHJldHVybiBjZS5jaG9wKGJpZ0ZuKGNlLmJpZ251bShuWzBdKS5kaXYoblsxXSkpKTtcbiAgfVxuICBpZiAoaXNCaWdSYXRpb25hbChuKSkge1xuICAgIGlmIChiaWdGbilcbiAgICAgIHJldHVybiBjZS5jaG9wKGJpZ0ZuKGNlLmJpZ251bShuWzBdKS5kaXYoY2UuYmlnbnVtKG5bMV0pKSkpO1xuICAgIHJldHVybiBjZS5jaG9wKGZuKE51bWJlcihuWzBdKSAvIE51bWJlcihuWzFdKSkpO1xuICB9XG4gIGlmIChuIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxNC5kZWZhdWx0KSB7XG4gICAgaWYgKCFjb21wbGV4Rm4gfHwgIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgIHJldHVybiBOYU47XG4gICAgcmV0dXJuIGNlLmNob3AoY29tcGxleEZuKG4pKTtcbiAgfVxuICByZXR1cm4gTmFOO1xufVxuZnVuY3Rpb24gYXBwbHlOKGV4cHIsIGZuLCBiaWdGbiwgY29tcGxleEZuKSB7XG4gIGlmICgoZXhwcj8ubnVtZXJpY1ZhbHVlID8/IG51bGwpID09PSBudWxsKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIHJldHVybiBleHByLmVuZ2luZS5udW1iZXIoYXBwbHkyKGV4cHIsIGZuLCBiaWdGbiwgY29tcGxleEZuKSk7XG59XG5mdW5jdGlvbiBhcHBseTIyKGV4cHIxLCBleHByMiwgZm4sIGJpZ0ZuLCBjb21wbGV4Rm4pIHtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGV4cHIxLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCAmJiBleHByMi5udW1lcmljVmFsdWUgIT09IG51bGwpO1xuICBjb25zdCBjZSA9IGV4cHIxLmVuZ2luZTtcbiAgbGV0IG0xID0gZXhwcjEubnVtZXJpY1ZhbHVlO1xuICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobTEpKVxuICAgIG0xID0gbTFbMF0gLyBtMVsxXTtcbiAgbGV0IG0yID0gZXhwcjIubnVtZXJpY1ZhbHVlO1xuICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobTIpKVxuICAgIG0yID0gbTJbMF0gLyBtMlsxXTtcbiAgaWYgKCFiaWdudW1QcmVmZXJyZWQoY2UpICYmIHR5cGVvZiBtMSA9PT0gXCJudW1iZXJcIiAmJiB0eXBlb2YgbTIgPT09IFwibnVtYmVyXCIpXG4gICAgcmV0dXJuIGZuKG0xLCBtMik7XG4gIGxldCBiMSA9IHZvaWQgMDtcbiAgaWYgKG0xIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgIGIxID0gbTE7XG4gIGVsc2UgaWYgKGlzQmlnUmF0aW9uYWwobTEpKVxuICAgIGIxID0gY2UuYmlnbnVtKG0xWzBdKS5kaXYoY2UuYmlnbnVtKG0xWzFdKSk7XG4gIGVsc2UgaWYgKG0xICE9PSBudWxsICYmIHR5cGVvZiBtMSA9PT0gXCJudW1iZXJcIilcbiAgICBiMSA9IGNlLmJpZ251bShtMSk7XG4gIGxldCBiMiA9IHZvaWQgMDtcbiAgaWYgKG0yIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgIGIyID0gbTI7XG4gIGVsc2UgaWYgKGlzQmlnUmF0aW9uYWwobTIpKVxuICAgIGIxID0gY2UuYmlnbnVtKG0yWzBdKS5kaXYoY2UuYmlnbnVtKG0yWzFdKSk7XG4gIGVsc2UgaWYgKG0yICE9PSBudWxsICYmIHR5cGVvZiBtMiA9PT0gXCJudW1iZXJcIilcbiAgICBiMiA9IGNlLmJpZ251bShtMik7XG4gIGlmIChiMSAmJiBiMilcbiAgICByZXR1cm4gYmlnRm4/LihiMSwgYjIpID8/IGZuKGIxLnRvTnVtYmVyKCksIGIyLnRvTnVtYmVyKCkpO1xuICBpZiAobTEgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDE0LmRlZmF1bHQgfHwgbTIgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDE0LmRlZmF1bHQpIHtcbiAgICBpZiAoIWNvbXBsZXhGbiB8fCAhY29tcGxleEFsbG93ZWQoY2UpKVxuICAgICAgcmV0dXJuIE5hTjtcbiAgICByZXR1cm4gY29tcGxleEZuKFxuICAgICAgY2UuY29tcGxleChtMSA/PyBiMT8udG9OdW1iZXIoKSA/PyBOYU4pLFxuICAgICAgY2UuY29tcGxleChtMiA/PyBiMj8udG9OdW1iZXIoKSA/PyBOYU4pXG4gICAgKTtcbiAgfVxuICByZXR1cm4gTmFOO1xufVxuZnVuY3Rpb24gYXBwbHkyTihleHByMSwgZXhwcjIsIGZuLCBiaWdGbiwgY29tcGxleEZuKSB7XG4gIGlmIChleHByMS5udW1lcmljVmFsdWUgPT09IG51bGwgfHwgZXhwcjIubnVtZXJpY1ZhbHVlID09PSBudWxsKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIHJldHVybiBleHByMS5lbmdpbmUubnVtYmVyKGFwcGx5MjIoZXhwcjEsIGV4cHIyLCBmbiwgYmlnRm4sIGNvbXBsZXhGbikpO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9hcml0aG1ldGljLXBvd2VyLnRzXG5mdW5jdGlvbiBjYW5vbmljYWxQb3dlcihjZSwgYmFzZSwgZXhwb25lbnQsIG1ldGFkYXRhKSB7XG4gIGlmIChleHBvbmVudC5zeW1ib2wgPT09IFwiQ29tcGxleEluZmluaXR5XCIpXG4gICAgcmV0dXJuIGNlLl9OQU47XG4gIGlmIChleHBvbmVudC5pc1plcm8pXG4gICAgcmV0dXJuIGNlLl9PTkU7XG4gIGlmIChleHBvbmVudC5pc09uZSlcbiAgICByZXR1cm4gYmFzZTtcbiAgaWYgKGV4cG9uZW50LmlzTmVnYXRpdmVPbmUpXG4gICAgcmV0dXJuIGNlLmludihiYXNlKTtcbiAgaWYgKGV4cG9uZW50Lm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgIGlmIChiYXNlLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbnVtQmFzZSA9IGFzRmxvYXQoYmFzZSk7XG4gICAgICBpZiAobnVtQmFzZSA9PT0gMSlcbiAgICAgICAgcmV0dXJuIGNlLl9PTkU7XG4gICAgICBpZiAobnVtQmFzZSA9PT0gMCkge1xuICAgICAgICBpZiAoZXhwb25lbnQuaXNQb3NpdGl2ZSlcbiAgICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICAgIGlmIChleHBvbmVudC5pc05lZ2F0aXZlKVxuICAgICAgICAgIHJldHVybiBjZS5fQ09NUExFWF9JTkZJTklUWTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBvbmVudC5pc05lZ2F0aXZlT25lKVxuICAgICAgICByZXR1cm4gY2UuaW52KGJhc2UpO1xuICAgICAgY29uc3QgZSA9IGFzRmxvYXQoZXhwb25lbnQpO1xuICAgICAgaWYgKGUgPT09IDAuNSB8fCBlID09PSAtMC41KSB7XG4gICAgICAgIGNvbnN0IGIgPSBhc1NtYWxsSW50ZWdlcihiYXNlKTtcbiAgICAgICAgaWYgKGIgIT09IG51bGwgJiYgYiA+IDApIHtcbiAgICAgICAgICBjb25zdCBbY29lZiwgcmFkaWNhbmRdID0gZmFjdG9yUG93ZXIoYiwgMik7XG4gICAgICAgICAgaWYgKHJhZGljYW5kID09PSAxICYmIGNvZWYgPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX09ORTtcbiAgICAgICAgICBpZiAoY29lZiAhPT0gMSkge1xuICAgICAgICAgICAgaWYgKHJhZGljYW5kID09PSAxKVxuICAgICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKGUgPj0gMCA/IGNvZWYgOiBbMSwgY29lZl0pO1xuICAgICAgICAgICAgcmV0dXJuIGNlLm11bChbXG4gICAgICAgICAgICAgIGNlLm51bWJlcihjb2VmKSxcbiAgICAgICAgICAgICAgY2UuX2ZuKFwiU3FydFwiLCBbY2UubnVtYmVyKHJhZGljYW5kKV0pXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgPiAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIlNxcnRcIiwgW2Jhc2VdLCBtZXRhZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIGNlLmludihjZS5fZm4oXCJTcXJ0XCIsIFtiYXNlXSksIG1ldGFkYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZSA+IDApXG4gICAgICAgICAgcmV0dXJuIGNlLl9mbihcIlBvd2VyXCIsIFtiYXNlLCBjZS5fSEFMRl0sIG1ldGFkYXRhKTtcbiAgICAgICAgcmV0dXJuIGNlLl9mbihcIlBvd2VyXCIsIFtiYXNlLCBjZS5udW1iZXIoWy0xLCAyXSldLCBtZXRhZGF0YSk7XG4gICAgICB9XG4gICAgICBpZiAoYmFzZS5pc0luZmluaXR5KSB7XG4gICAgICAgIGlmIChleHBvbmVudC5udW1lcmljVmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDE1LmRlZmF1bHQpIHtcbiAgICAgICAgICBjb25zdCByZSA9IGV4cG9uZW50Lm51bWVyaWNWYWx1ZS5yZTtcbiAgICAgICAgICBpZiAocmUgPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICAgICAgICBpZiAocmUgPCAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9aRVJPO1xuICAgICAgICAgIGlmIChyZSA+IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX0NPTVBMRVhfSU5GSU5JVFk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJhc2UuaXNOZWdhdGl2ZSkge1xuICAgICAgICAgIGlmIChleHBvbmVudC5pc0luZmluaXR5KVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICAgIH0gZWxzZSBpZiAoYmFzZS5pc1Bvc2l0aXZlKSB7XG4gICAgICAgICAgaWYgKGV4cG9uZW50LmlzTmVnYXRpdmVPbmUpXG4gICAgICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICAgICAgaWYgKGV4cG9uZW50LmlzSW5maW5pdHkpXG4gICAgICAgICAgICByZXR1cm4gZXhwb25lbnQuaXNOZWdhdGl2ZSA/IGNlLl9aRVJPIDogY2UuX1BPU0lUSVZFX0lORklOSVRZO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZXhwb25lbnQuaXNJbmZpbml0eSAmJiAoYmFzZS5pc09uZSB8fCBiYXNlLmlzTmVnYXRpdmVPbmUpKVxuICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICB9XG4gIH1cbiAgaWYgKGJhc2UuaGVhZCA9PT0gXCJQb3dlclwiICYmIGJhc2Uub3AxLmlzUmVhbCkge1xuICAgIGNvbnN0IGEgPSBhc1NtYWxsSW50ZWdlcihleHBvbmVudCk7XG4gICAgaWYgKGEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGIgPSBhc1NtYWxsSW50ZWdlcihiYXNlLm9wMik7XG4gICAgICBpZiAoYiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gY2UucG93KGJhc2Uub3AxLCBjZS5udW1iZXIoYSAqIGIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGJhc2Uub3AxLmlzTm9uTmVnYXRpdmUpIHtcbiAgICAgIGNvbnN0IGFyID0gYXNSYXRpb25hbChleHBvbmVudCk7XG4gICAgICBpZiAoYXIpIHtcbiAgICAgICAgY29uc3QgYnIgPSBhc1JhdGlvbmFsKGJhc2Uub3AyKTtcbiAgICAgICAgaWYgKGJyKVxuICAgICAgICAgIHJldHVybiBjZS5wb3coYmFzZS5vcDEsIGNlLm51bWJlcihtdWwyKGFyLCBicikpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKGJhc2UuaGVhZCA9PT0gXCJNdWx0aXBseVwiKSB7XG4gICAgY29uc3QgZSA9IGFzU21hbGxJbnRlZ2VyKGV4cG9uZW50KTtcbiAgICBpZiAoZSAhPT0gbnVsbClcbiAgICAgIHJldHVybiBjZS5fZm4oXG4gICAgICAgIFwiTXVsdGlwbHlcIixcbiAgICAgICAgYmFzZS5vcHMubWFwKCh4KSA9PiBjZS5wb3coeCwgZXhwb25lbnQpKVxuICAgICAgKTtcbiAgfVxuICByZXR1cm4gY2UuX2ZuKFwiUG93ZXJcIiwgW2Jhc2UsIGV4cG9uZW50XSwgbWV0YWRhdGEpO1xufVxuZnVuY3Rpb24gc3F1YXJlKGNlLCBiYXNlKSB7XG4gIGNvbnN0IG51bSA9IGJhc2UubnVtZXJpY1ZhbHVlO1xuICBpZiAodHlwZW9mIG51bSA9PT0gXCJudW1iZXJcIilcbiAgICByZXR1cm4gY2UubnVtYmVyKG51bSAqIG51bSk7XG4gIGlmIChudW0gaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQpXG4gICAgcmV0dXJuIGNlLm51bWJlcihudW0ucG93KDIpKTtcbiAgaWYgKG51bSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTUuZGVmYXVsdClcbiAgICByZXR1cm4gY2UubnVtYmVyKG51bS5wb3coMikpO1xuICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobnVtKSlcbiAgICByZXR1cm4gY2UubnVtYmVyKFtudW1bMV0gKiBudW1bMV0sIG51bVswXSAqIG51bVswXV0pO1xuICBpZiAoaXNCaWdSYXRpb25hbChudW0pKVxuICAgIHJldHVybiBjZS5udW1iZXIoW251bVsxXSAqIG51bVsxXSwgbnVtWzBdICogbnVtWzBdXSk7XG4gIGlmIChiYXNlLmhlYWQgPT09IFwiTXVsdGlwbHlcIilcbiAgICByZXR1cm4gY2UuX2ZuKFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgYmFzZS5vcHMubWFwKCh4KSA9PiBzcXVhcmUoY2UsIHgpKVxuICAgICk7XG4gIGlmIChiYXNlLmhlYWQgPT09IFwiUG93ZXJcIikge1xuICAgIGNvbnN0IGV4cDIgPSBhc1NtYWxsSW50ZWdlcihiYXNlLm9wMik7XG4gICAgaWYgKGV4cDIgIT09IG51bGwpXG4gICAgICByZXR1cm4gY2UucG93KGJhc2Uub3AxLCBjZS5udW1iZXIoZXhwMiAqIDIpKTtcbiAgICByZXR1cm4gY2UucG93KGJhc2Uub3AxLCBjZS5tdWwoW2NlLm51bWJlcigyKSwgYmFzZS5vcDJdKSk7XG4gIH1cbiAgcmV0dXJuIGNlLnBvdyhiYXNlLCBjZS5udW1iZXIoMikpO1xufVxuZnVuY3Rpb24gbnVtRXZhbFBvd2VyKGNlLCBiYXNlLCBleHBvbmVudCkge1xuICBpZiAoYmFzZS5udW1lcmljVmFsdWUgPT09IG51bGwgfHwgZXhwb25lbnQubnVtZXJpY1ZhbHVlID09PSBudWxsKVxuICAgIHJldHVybiB2b2lkIDA7XG4gIGlmIChiYXNlLm51bWVyaWNWYWx1ZSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MTUuZGVmYXVsdCkge1xuICAgIGlmIChleHBvbmVudC5udW1lcmljVmFsdWUgaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDE1LmRlZmF1bHQpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKGJhc2UubnVtZXJpY1ZhbHVlLnBvdyhleHBvbmVudC5udW1lcmljVmFsdWUpKTtcbiAgICByZXR1cm4gY2UubnVtYmVyKGJhc2UubnVtZXJpY1ZhbHVlLnBvdyhhc0Zsb2F0KGV4cG9uZW50KSA/PyBOYU4pKTtcbiAgfVxuICBpZiAoZXhwb25lbnQubnVtZXJpY1ZhbHVlIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxNS5kZWZhdWx0KSB7XG4gICAgY29uc3QgYiA9IGFzRmxvYXQoYmFzZSkgPz8gbnVsbDtcbiAgICBpZiAoYiAhPT0gbnVsbClcbiAgICAgIHJldHVybiBjZS5udW1iZXIoY2UuY29tcGxleChiKS5wb3coZXhwb25lbnQubnVtZXJpY1ZhbHVlKSk7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBjb25zdCBpbnZFeHAgPSByb290RXhwKGV4cG9uZW50KTtcbiAgaWYgKGJpZ251bVByZWZlcnJlZChjZSkgfHwgYmFzZS5udW1lcmljVmFsdWUgaW5zdGFuY2VvZiBkZWNpbWFsX2RlZmF1bHQgfHwgZXhwb25lbnQubnVtZXJpY1ZhbHVlIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KSB7XG4gICAgY29uc3QgYmlnQmFzZSA9IGFzQmlnbnVtKGJhc2UpO1xuICAgIGNvbnN0IGJpZ0V4cCA9IGFzQmlnbnVtKGV4cG9uZW50KTtcbiAgICBpZiAoIWJpZ0Jhc2UgfHwgIWJpZ0V4cClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgaWYgKGludkV4cCA9PT0gMikge1xuICAgICAgaWYgKGJpZ0Jhc2UuaXNOZWcoKSlcbiAgICAgICAgcmV0dXJuIGNvbXBsZXhBbGxvd2VkKGNlKSA/IGNlLm51bWJlcihjZS5jb21wbGV4KDAsIGJpZ0Jhc2UubmVnKCkuc3FydCgpLnRvTnVtYmVyKCkpKSA6IGNlLl9OQU47XG4gICAgICByZXR1cm4gY2UubnVtYmVyKGJpZ0Jhc2Uuc3FydCgpKTtcbiAgICB9XG4gICAgaWYgKCFiaWdFeHAuaXNJbnRlZ2VyKCkgJiYgYmlnQmFzZS5pc05lZygpKSB7XG4gICAgICBpZiAoIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICBjb25zdCB6QmFzZSA9IGNlLmNvbXBsZXgoYmlnQmFzZS50b051bWJlcigpKTtcbiAgICAgIGNvbnN0IHpFeHAgPSBjZS5jb21wbGV4KGJpZ0V4cC50b051bWJlcigpKTtcbiAgICAgIHJldHVybiBjZS5udW1iZXIoekJhc2UucG93KHpFeHApKTtcbiAgICB9XG4gICAgcmV0dXJuIGNlLm51bWJlcihiaWdCYXNlLnBvdyhiaWdFeHApKTtcbiAgfVxuICBjb25zdCBmbG9hdEV4cCA9IGFzRmxvYXQoZXhwb25lbnQpID8/IE5hTjtcbiAgY29uc3QgZmxvYXRCYXNlID0gYXNGbG9hdChiYXNlKSA/PyBOYU47XG4gIGlmIChpbnZFeHAgPT09IDIpIHtcbiAgICBpZiAoZmxvYXRCYXNlIDwgMCkge1xuICAgICAgcmV0dXJuIGNvbXBsZXhBbGxvd2VkKGNlKSA/IGNlLm11bChbY2UuX0ksIGNlLm51bWJlcihNYXRoLnNxcnQoLWZsb2F0QmFzZSkpXSkgOiBjZS5fTkFOO1xuICAgIH1cbiAgICByZXR1cm4gY2UubnVtYmVyKE1hdGguc3FydChmbG9hdEJhc2UpKTtcbiAgfVxuICBpZiAoIU51bWJlci5pc0ludGVnZXIoZmxvYXRFeHApICYmIGZsb2F0QmFzZSA8IDApIHtcbiAgICBpZiAoIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgIGNvbnN0IHpCYXNlID0gY2UuY29tcGxleChmbG9hdEJhc2UpO1xuICAgIGNvbnN0IHpFeHAgPSBjZS5jb21wbGV4KGZsb2F0RXhwKTtcbiAgICByZXR1cm4gY2UubnVtYmVyKHpCYXNlLnBvdyh6RXhwKSk7XG4gIH1cbiAgcmV0dXJuIGNlLm51bWJlcihNYXRoLnBvdyhmbG9hdEJhc2UsIGZsb2F0RXhwKSk7XG59XG5mdW5jdGlvbiBwcm9jZXNzUG93ZXIoY2UsIGJhc2UsIGV4cG9uZW50LCBtb2RlKSB7XG4gIGlmIChiYXNlLmhlYWQgPT09IFwiTXVsdGlwbHlcIikge1xuICAgIGxldCBjID0gYmlnbnVtUHJlZmVycmVkKGNlKSA/IFtCaWdJbnQoMSksIEJpZ0ludCgxKV0gOiBbMSwgMV07XG4gICAgY29uc3QgeHMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IG9wMyBvZiBiYXNlLm9wcykge1xuICAgICAgY29uc3QgciA9IGFzUmF0aW9uYWwob3AzKTtcbiAgICAgIGlmIChyKVxuICAgICAgICBjID0gbXVsMihjLCByKTtcbiAgICAgIGVsc2VcbiAgICAgICAgeHMucHVzaChvcDMpO1xuICAgIH1cbiAgICBpZiAoIWlzUmF0aW9uYWxPbmUoYykpXG4gICAgICByZXR1cm4gY2UubXVsKFtcbiAgICAgICAgcHJvY2Vzc1NxcnQoY2UsIGNlLm51bWJlcihjKSwgbW9kZSkgPz8gY2UuX09ORSxcbiAgICAgICAgY2UucG93KFxuICAgICAgICAgIHByb2Nlc3NQb3dlcihjZSwgY2UubXVsKHhzKSwgZXhwb25lbnQsIG1vZGUpID8/IGNlLm11bCh4cyksXG4gICAgICAgICAgZXhwb25lbnRcbiAgICAgICAgKVxuICAgICAgXSk7XG4gIH1cbiAgaWYgKGJhc2UuaGVhZCA9PT0gXCJQb3dlclwiKSB7XG4gICAgaWYgKGFzU21hbGxJbnRlZ2VyKGJhc2Uub3AyKSA9PT0gLTEgJiYgYXNTbWFsbEludGVnZXIoZXhwb25lbnQpID09PSAtMSlcbiAgICAgIHJldHVybiBiYXNlLm9wMTtcbiAgICBjb25zdCBlMSA9IGFzUmF0aW9uYWwoYmFzZS5vcDIpO1xuICAgIGNvbnN0IGUyID0gYXNSYXRpb25hbChleHBvbmVudCk7XG4gICAgaWYgKGUxICYmIGUyKSB7XG4gICAgICBjb25zdCBlID0gbXVsMihlMSwgZTIpO1xuICAgICAgaWYgKGlzUmF0aW9uYWxaZXJvKGUpKVxuICAgICAgICByZXR1cm4gY2UuX09ORTtcbiAgICAgIGlmIChpc1JhdGlvbmFsT25lKGUpKVxuICAgICAgICByZXR1cm4gYmFzZS5vcDE7XG4gICAgICByZXR1cm4gY2UucG93KGJhc2Uub3AxLCBlKTtcbiAgICB9XG4gICAgaWYgKG1vZGUgPT09IFwiTlwiKSB7XG4gICAgICBjb25zdCBlZjEgPSBhc0Zsb2F0KGJhc2Uub3AyKTtcbiAgICAgIGNvbnN0IGVmMiA9IGFzRmxvYXQoZXhwb25lbnQpO1xuICAgICAgaWYgKGVmMSAhPT0gbnVsbCAmJiBlZjIgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZWYgPSBlZjEgKiBlZjI7XG4gICAgICAgIGlmIChlZiA9PT0gMClcbiAgICAgICAgICByZXR1cm4gY2UuX09ORTtcbiAgICAgICAgaWYgKGVmID09PSAxKVxuICAgICAgICAgIHJldHVybiBiYXNlLm9wMTtcbiAgICAgICAgcmV0dXJuIGNlLnBvdyhiYXNlLm9wMSwgZWYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAobW9kZSAhPT0gXCJOXCIgJiYgYmFzZS5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgYmFzZS5pc0ludGVnZXIpIHtcbiAgICBjb25zdCBzbWFsbEV4cHIgPSBhc1NtYWxsSW50ZWdlcihleHBvbmVudCk7XG4gICAgaWYgKHNtYWxsRXhwcilcbiAgICAgIHJldHVybiBudW1FdmFsUG93ZXIoY2UsIGJhc2UsIGV4cG9uZW50KTtcbiAgICBjb25zdCByID0gYXNSYXRpb25hbChleHBvbmVudCk7XG4gICAgaWYgKHIpIHtcbiAgICAgIGNvbnN0IFtuLCBkXSA9IFttYWNoaW5lTnVtZXJhdG9yKHIpLCBtYWNoaW5lRGVub21pbmF0b3IocildO1xuICAgICAgaWYgKChuID09PSAxIHx8IG4gPT09IC0xKSAmJiAoZCA9PT0gMiB8fCBkID09PSAzKSkge1xuICAgICAgICBpZiAoYmlnbnVtUHJlZmVycmVkKGNlKSB8fCBiYXNlLm51bWVyaWNWYWx1ZSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdCkge1xuICAgICAgICAgIGNvbnN0IGJpZ0Jhc2UgPSBhc0JpZ2ludChiYXNlKTtcbiAgICAgICAgICBpZiAoZCAlIDIgPT09IDAgJiYgYmlnQmFzZSA8IDAgJiYgIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgICAgICAgIGNvbnN0IHNpZ24yID0gYmlnQmFzZSA8IDAgPyBkICUgMiA9PT0gMCA/IGNlLl9JIDogY2UuX05FR0FUSVZFX09ORSA6IGNlLl9PTkU7XG4gICAgICAgICAgY29uc3QgW2ZhY3Rvciwgcm9vdF0gPSBmYWN0b3JQb3dlcjIoXG4gICAgICAgICAgICBiaWdCYXNlID4gMCA/IGJpZ0Jhc2UgOiAtYmlnQmFzZSxcbiAgICAgICAgICAgIGRcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChyb290ID09PSBCaWdJbnQoMSkgJiYgZmFjdG9yID09PSBCaWdJbnQoMSkpXG4gICAgICAgICAgICByZXR1cm4gc2lnbjI7XG4gICAgICAgICAgaWYgKGZhY3RvciAhPT0gQmlnSW50KDEpKSB7XG4gICAgICAgICAgICBpZiAocm9vdCA9PT0gQmlnSW50KDEpKVxuICAgICAgICAgICAgICByZXR1cm4gY2UubXVsKFtcbiAgICAgICAgICAgICAgICBzaWduMixcbiAgICAgICAgICAgICAgICBjZS5udW1iZXIobiA+PSAwID8gZmFjdG9yIDogW0JpZ0ludCgxKSwgZmFjdG9yXSlcbiAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICByZXR1cm4gY2UubXVsKFtcbiAgICAgICAgICAgICAgc2lnbjIsXG4gICAgICAgICAgICAgIGNlLm51bWJlcihmYWN0b3IpLFxuICAgICAgICAgICAgICBjZS5wb3coY2UubnVtYmVyKHJvb3QpLCBleHBvbmVudClcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYmFzZS5udW1lcmljVmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICBpZiAoYmFzZS5udW1lcmljVmFsdWUgPCAwICYmIGQgJSAyID09PSAwICYmICFjb21wbGV4QWxsb3dlZChjZSkpXG4gICAgICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICAgICAgICBjb25zdCBbZmFjdG9yLCByb290XSA9IGZhY3RvclBvd2VyKE1hdGguYWJzKGJhc2UubnVtZXJpY1ZhbHVlKSwgZCk7XG4gICAgICAgICAgY29uc3Qgc2lnbjIgPSBiYXNlLm51bWVyaWNWYWx1ZSA8IDAgPyBkICUgMiA9PT0gMCA/IGNlLl9JIDogY2UuX05FR0FUSVZFX09ORSA6IGNlLl9PTkU7XG4gICAgICAgICAgaWYgKHJvb3QgPT09IDEgJiYgZmFjdG9yID09PSAxKVxuICAgICAgICAgICAgcmV0dXJuIHNpZ24yO1xuICAgICAgICAgIGlmIChmYWN0b3IgIT09IDEpIHtcbiAgICAgICAgICAgIGlmIChyb290ID09PSAxKVxuICAgICAgICAgICAgICByZXR1cm4gY2UubXVsKFtzaWduMiwgY2UubnVtYmVyKG4gPj0gMCA/IGZhY3RvciA6IFsxLCBmYWN0b3JdKV0pO1xuICAgICAgICAgICAgcmV0dXJuIGNlLm11bChbXG4gICAgICAgICAgICAgIHNpZ24yLFxuICAgICAgICAgICAgICBjZS5udW1iZXIoZmFjdG9yKSxcbiAgICAgICAgICAgICAgY2UucG93KGNlLm51bWJlcihyb290KSwgZXhwb25lbnQpXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChiYXNlLmlzTmVnYXRpdmUpIHtcbiAgICAgICAgaWYgKCFjb21wbGV4QWxsb3dlZClcbiAgICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICAgICAgcmV0dXJuIGNlLm11bChbY2UuX0ksIGNlLmZuKFwiU3FydFwiLCBbY2UubmVnKGJhc2UpXSldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICB9XG4gIGlmIChtb2RlICE9PSBcInNpbXBsaWZ5XCIgJiYgYmFzZS5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgZXhwb25lbnQubnVtZXJpY1ZhbHVlICE9PSBudWxsKVxuICAgIHJldHVybiBudW1FdmFsUG93ZXIoY2UsIGJhc2UsIGV4cG9uZW50KTtcbiAgcmV0dXJuIHZvaWQgMDtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NTcXJ0KGNlLCBiYXNlLCBtb2RlKSB7XG4gIGlmIChiYXNlLmlzT25lKVxuICAgIHJldHVybiBjZS5fT05FO1xuICBpZiAoYmFzZS5pc1plcm8pXG4gICAgcmV0dXJuIGNlLl9aRVJPO1xuICBpZiAoYmFzZS5pc05lZ2F0aXZlT25lKVxuICAgIHJldHVybiBjb21wbGV4QWxsb3dlZChjZSkgPyBjZS5fSSA6IGNlLl9OQU47XG4gIGlmIChiYXNlLmlzTmVnYXRpdmUgJiYgIWNvbXBsZXhBbGxvd2VkKGNlKSlcbiAgICByZXR1cm4gY2UuX05BTjtcbiAgY29uc3QgciA9IGFzUmF0aW9uYWwoYmFzZSk7XG4gIGlmIChtb2RlID09PSBcIk5cIiB8fCBtb2RlID09PSBcImV2YWx1YXRlXCIgJiYgIXIpXG4gICAgcmV0dXJuIGFwcGx5TihcbiAgICAgIGJhc2UsXG4gICAgICAoeCkgPT4geCA8IDAgPyBjZS5jb21wbGV4KHgpLnNxcnQoKSA6IE1hdGguc3FydCh4KSxcbiAgICAgICh4KSA9PiB4LmlzTmVnKCkgPyBjZS5jb21wbGV4KHgudG9OdW1iZXIoKSkuc3FydCgpIDogeC5zcXJ0KCksXG4gICAgICAoeCkgPT4geC5zcXJ0KClcbiAgICApO1xuICBjb25zdCBuID0gYXNTbWFsbEludGVnZXIoYmFzZSk7XG4gIGlmIChuICE9PSBudWxsKSB7XG4gICAgY29uc3QgW2ZhY3Rvciwgcm9vdF0gPSBmYWN0b3JQb3dlcihNYXRoLmFicyhuKSwgMik7XG4gICAgaWYgKG4gPCAwKSB7XG4gICAgICBpZiAocm9vdCA9PT0gMSlcbiAgICAgICAgY2UubXVsKFtjZS5udW1iZXIoY2UuY29tcGxleCgwLCBmYWN0b3IpKV0pO1xuICAgICAgcmV0dXJuIGNlLm11bChbXG4gICAgICAgIGNlLm51bWJlcihjZS5jb21wbGV4KDAsIGZhY3RvcikpLFxuICAgICAgICBjZS5zcXJ0KGNlLm51bWJlcihyb290KSlcbiAgICAgIF0pO1xuICAgIH1cbiAgICBpZiAocm9vdCA9PT0gMSlcbiAgICAgIHJldHVybiBjZS5udW1iZXIoZmFjdG9yKTtcbiAgICByZXR1cm4gY2UubXVsKFtjZS5udW1iZXIoZmFjdG9yKSwgY2Uuc3FydChjZS5udW1iZXIocm9vdCkpXSk7XG4gIH1cbiAgaWYgKHIpIHtcbiAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwocikgJiYgIWJpZ251bVByZWZlcnJlZChjZSkpIHtcbiAgICAgIGNvbnN0IFtuMiwgZF0gPSByO1xuICAgICAgaWYgKE1hdGguYWJzKG4yKSA8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSICYmIGQgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICBjb25zdCBbbkZhY3RvciwgblJvb3RdID0gZmFjdG9yUG93ZXIoTWF0aC5hYnMobjIpLCAyKTtcbiAgICAgICAgY29uc3QgW2RGYWN0b3IsIGRSb290XSA9IGZhY3RvclBvd2VyKGQsIDIpO1xuICAgICAgICBpZiAobjIgPCAwKVxuICAgICAgICAgIHJldHVybiBjZS5tdWwoW1xuICAgICAgICAgICAgY2UubnVtYmVyKFtuRmFjdG9yLCBkRmFjdG9yXSksXG4gICAgICAgICAgICBjZS5zcXJ0KGNlLm51bWJlcihbblJvb3QsIGRSb290XSkpLFxuICAgICAgICAgICAgY2UuX0lcbiAgICAgICAgICBdKTtcbiAgICAgICAgcmV0dXJuIGNlLm11bChbXG4gICAgICAgICAgY2UubnVtYmVyKFtuRmFjdG9yLCBkRmFjdG9yXSksXG4gICAgICAgICAgY2Uuc3FydChjZS5udW1iZXIoW25Sb290LCBkUm9vdF0pKVxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzQmlnUmF0aW9uYWwocikgfHwgYmlnbnVtUHJlZmVycmVkKGNlKSkge1xuICAgICAgY29uc3QgbjIgPSBiaWdpbnQoclswXSk7XG4gICAgICBjb25zdCBbbkZhY3RvciwgblJvb3RdID0gZmFjdG9yUG93ZXIyKG4yID4gMCA/IG4yIDogLW4yLCAyKTtcbiAgICAgIGNvbnN0IFtkRmFjdG9yLCBkUm9vdF0gPSBmYWN0b3JQb3dlcjIoYmlnaW50KHJbMV0pLCAyKTtcbiAgICAgIGlmIChuMiA8IDApXG4gICAgICAgIHJldHVybiBjZS5tdWwoW1xuICAgICAgICAgIGNlLm51bWJlcihbbkZhY3RvciwgZEZhY3Rvcl0pLFxuICAgICAgICAgIGNlLnNxcnQoY2UubnVtYmVyKFtuUm9vdCwgZFJvb3RdKSksXG4gICAgICAgICAgY2UuX0lcbiAgICAgICAgXSk7XG4gICAgICByZXR1cm4gY2UubXVsKFtcbiAgICAgICAgY2UubnVtYmVyKFtuRmFjdG9yLCBkRmFjdG9yXSksXG4gICAgICAgIGNlLnNxcnQoY2UubnVtYmVyKFtuUm9vdCwgZFJvb3RdKSlcbiAgICAgIF0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdm9pZCAwO1xufVxuZnVuY3Rpb24gcm9vdEV4cChleHBvbmVudCkge1xuICBpZiAodHlwZW9mIGV4cG9uZW50Lm51bWVyaWNWYWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgIGNvbnN0IGludiA9IDEgLyBleHBvbmVudC5udW1lcmljVmFsdWU7XG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIoaW52KSlcbiAgICAgIHJldHVybiBpbnY7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKGV4cG9uZW50Lm51bWVyaWNWYWx1ZSBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdCkge1xuICAgIGNvbnN0IGludiA9IGV4cG9uZW50LmVuZ2luZS5fQklHTlVNX09ORS5kaXYoZXhwb25lbnQubnVtZXJpY1ZhbHVlKTtcbiAgICBpZiAoaW52LmlzSW50KCkpXG4gICAgICByZXR1cm4gaW52LnRvTnVtYmVyKCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKCFpc1JhdGlvbmFsKGV4cG9uZW50Lm51bWVyaWNWYWx1ZSkpXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IFtuLCBkXSA9IFtcbiAgICBtYWNoaW5lTnVtZXJhdG9yKGV4cG9uZW50Lm51bWVyaWNWYWx1ZSksXG4gICAgbWFjaGluZURlbm9taW5hdG9yKGV4cG9uZW50Lm51bWVyaWNWYWx1ZSlcbiAgXTtcbiAgaWYgKG4gIT09IDEgJiYgbiAhPT0gLTEpXG4gICAgcmV0dXJuIG51bGw7XG4gIHJldHVybiBuICogZDtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvYXJpdGhtZXRpYy1tdWx0aXBseS50c1xuZnVuY3Rpb24gY2Fub25pY2FsTXVsdGlwbHkoY2UsIG9wczIpIHtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KG9wczIuZXZlcnkoKHgpID0+IHguaXNDYW5vbmljYWwpKTtcbiAgaWYgKG9wczIubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBjZS5udW1iZXIoMSk7XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gb3BzMlswXTtcbiAgaWYgKG9wczIubGVuZ3RoID09PSAyKVxuICAgIHJldHVybiBtdWx0aXBseTIob3BzMlswXSwgb3BzMlsxXSk7XG4gIGNvbnN0IHByb2R1Y3QgPSBuZXcgUHJvZHVjdChjZSk7XG4gIGZvciAoY29uc3Qgb3AzIG9mIG9wczIpIHtcbiAgICBpZiAob3AzLmlzTmFOIHx8IG9wMy5zeW1ib2wgPT09IFwiVW5kZWZpbmVkXCIpXG4gICAgICByZXR1cm4gY2UuX05BTjtcbiAgICBwcm9kdWN0LmFkZFRlcm0ob3AzKTtcbiAgfVxuICByZXR1cm4gcHJvZHVjdC5hc0V4cHJlc3Npb24oKTtcbn1cbmZ1bmN0aW9uIHNpbXBsaWZ5TXVsdGlwbHkoY2UsIG9wczIpIHtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KG9wczIuZXZlcnkoKHgpID0+IHguaGVhZCAhPT0gXCJNdWx0aXBseVwiKSk7XG4gIGNvbnN0IHByb2R1Y3QgPSBuZXcgUHJvZHVjdChjZSk7XG4gIGZvciAobGV0IG9wMyBvZiBvcHMyKSB7XG4gICAgb3AzID0gb3AzLnNpbXBsaWZ5KCk7XG4gICAgaWYgKG9wMy5pc05hTiB8fCBvcDMuc3ltYm9sID09PSBcIlVuZGVmaW5lZFwiKVxuICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgcHJvZHVjdC5hZGRUZXJtKG9wMyk7XG4gIH1cbiAgcmV0dXJuIHByb2R1Y3QuYXNFeHByZXNzaW9uKCk7XG59XG5mdW5jdGlvbiBldmFsTXVsdGlwbHkoY2UsIG9wczIsIG1vZGUgPSBcImV2YWx1YXRlXCIpIHtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KG9wczIubGVuZ3RoID4gMSwgXCJldmFsTXVsdGlwbHkoKTogbm8gYXJndW1lbnRzXCIpO1xuICBpZiAobW9kZSA9PT0gXCJOXCIpIHtcbiAgICBvcHMyID0gb3BzMi5tYXAoKHgpID0+IHguTigpKTtcbiAgICBpZiAoKGNlLm51bWVyaWNNb2RlID09PSBcIm1hY2hpbmVcIiB8fCBjZS5udW1lcmljTW9kZSA9PT0gXCJhdXRvXCIpICYmIG9wczIuZXZlcnkoKHgpID0+IHR5cGVvZiB4Lm51bWVyaWNWYWx1ZSA9PT0gXCJudW1iZXJcIikpIHtcbiAgICAgIGxldCBwcm9kID0gMTtcbiAgICAgIGZvciAoY29uc3Qgb3AzIG9mIG9wczIpXG4gICAgICAgIHByb2QgKj0gb3AzLm51bWVyaWNWYWx1ZTtcbiAgICAgIHJldHVybiBjZS5udW1iZXIocHJvZCk7XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3Qgb3AzIG9mIG9wczIpIHtcbiAgICBpZiAob3AzLmlzTmFOIHx8IG9wMy5zeW1ib2wgPT09IFwiVW5kZWZpbmVkXCIpXG4gICAgICByZXR1cm4gY2UuX05BTjtcbiAgICBpZiAoIW9wMy5pc0V4YWN0KVxuICAgICAgbW9kZSA9IFwiTlwiO1xuICB9XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChvcHMyLmV2ZXJ5KCh4KSA9PiB4LmhlYWQgIT09IFwiTXVsdGlwbHlcIikpO1xuICBpZiAobW9kZSA9PT0gXCJOXCIpXG4gICAgb3BzMiA9IG9wczIubWFwKCh4KSA9PiB4Lk4oKSk7XG4gIGVsc2VcbiAgICBvcHMyID0gb3BzMi5tYXAoKHgpID0+IHguZXZhbHVhdGUoKSk7XG4gIHJldHVybiBuZXcgUHJvZHVjdChjZSwgb3BzMikuYXNFeHByZXNzaW9uKG1vZGUpO1xufVxuZnVuY3Rpb24gbXVsdGlwbHkyKG9wMTIsIG9wMjIsIG1ldGFkYXRhKSB7XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChvcDEyLmlzQ2Fub25pY2FsKTtcbiAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KG9wMjIuaXNDYW5vbmljYWwpO1xuICBjb25zdCBjZSA9IG9wMTIuZW5naW5lO1xuICBpZiAob3AxMi5zeW1ib2wgPT09IFwiSW1hZ2luYXJ5VW5pdFwiKSB7XG4gICAgY29uc3QgZiA9IGFzRmxvYXQob3AyMik7XG4gICAgaWYgKGYgIT09IG51bGwpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKGNlLmNvbXBsZXgoMCwgZikpO1xuICB9XG4gIGlmIChvcDIyLnN5bWJvbCA9PT0gXCJJbWFnaW5hcnlVbml0XCIpIHtcbiAgICBjb25zdCBmID0gYXNGbG9hdChvcDEyKTtcbiAgICBpZiAoZiAhPT0gbnVsbClcbiAgICAgIHJldHVybiBjZS5udW1iZXIoY2UuY29tcGxleCgwLCBmKSk7XG4gIH1cbiAgaWYgKG9wMTIubnVtZXJpY1ZhbHVlICE9PSBudWxsICYmIG9wMjIubnVtZXJpY1ZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgZjEgPSBhc0Zsb2F0KG9wMTIpO1xuICAgIGNvbnN0IGYyID0gYXNGbG9hdChvcDIyKTtcbiAgICBpZiAoZjEgIT09IG51bGwgJiYgY2UuaXNDb21wbGV4KG9wMjIpKVxuICAgICAgcmV0dXJuIGNlLm51bWJlcihjZS5jb21wbGV4KGYxICogb3AyMi5yZSwgZjEgKiBvcDIyLmltKSk7XG4gICAgaWYgKGYyICE9PSBudWxsICYmIGNlLmlzQ29tcGxleChvcDEyKSlcbiAgICAgIHJldHVybiBjZS5udW1iZXIoY2UuY29tcGxleChmMiAqIG9wMTIucmUsIGYyICogb3AxMi5pbSkpO1xuICB9XG4gIGlmIChvcDEyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCAmJiBvcDIyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCAmJiBvcDEyLmlzSW50ZWdlciAmJiBvcDIyLmlzSW50ZWdlcikge1xuICAgIHJldHVybiBhcHBseTJOKFxuICAgICAgb3AxMixcbiAgICAgIG9wMjIsXG4gICAgICAoYSwgYikgPT4gYSAqIGIsXG4gICAgICAoYSwgYikgPT4gYS5tdWwoYilcbiAgICApID8/IGNlLl9OQU47XG4gIH1cbiAgaWYgKG9wMTIuaXNOYU4gfHwgb3AyMi5pc05hTiB8fCBvcDEyLnN5bWJvbCA9PT0gXCJVbmRlZmluZWRcIiB8fCBvcDIyLnN5bWJvbCA9PT0gXCJVbmRlZmluZWRcIilcbiAgICByZXR1cm4gY2UuX05BTjtcbiAgaWYgKG9wMTIuaXNOb3RoaW5nKVxuICAgIHJldHVybiBvcDIyO1xuICBpZiAob3AyMi5pc05vdGhpbmcpXG4gICAgcmV0dXJuIG9wMTI7XG4gIGlmIChvcDEyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgIGlmIChvcDEyLmlzT25lKVxuICAgICAgcmV0dXJuIG9wMjI7XG4gICAgaWYgKG9wMTIuaXNOZWdhdGl2ZU9uZSlcbiAgICAgIHJldHVybiBjYW5vbmljYWxOZWdhdGUob3AyMik7XG4gIH1cbiAgaWYgKG9wMjIubnVtZXJpY1ZhbHVlICE9PSBudWxsKSB7XG4gICAgaWYgKG9wMjIuaXNPbmUpXG4gICAgICByZXR1cm4gb3AxMjtcbiAgICBpZiAob3AyMi5pc05lZ2F0aXZlT25lKVxuICAgICAgcmV0dXJuIGNhbm9uaWNhbE5lZ2F0ZShvcDEyKTtcbiAgfVxuICBsZXQgc2lnbjIgPSAxO1xuICBsZXQgW3QsIGNdID0gb3AxMi5udW1lcmljVmFsdWUgIT09IG51bGwgPyBbb3AxMiwgb3AyMl0gOiBbb3AyMiwgb3AxMl07XG4gIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCh0LmhlYWQgIT09IFwiU3VidHJhY3RcIik7XG4gIGlmICh0LmhlYWQgPT09IFwiTmVnYXRlXCIpIHtcbiAgICB0ID0gdC5vcDE7XG4gICAgc2lnbjIgPSAtc2lnbjI7XG4gIH1cbiAgaWYgKGMubnVtZXJpY1ZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgciA9IGFzUmF0aW9uYWwoYyk7XG4gICAgaWYgKHIpIHtcbiAgICAgIGlmIChpc1JhdGlvbmFsT25lKHIpKVxuICAgICAgICByZXR1cm4gdDtcbiAgICAgIGlmIChpc1JhdGlvbmFsWmVybyhyKSlcbiAgICAgICAgcmV0dXJuIGNlLl9aRVJPO1xuICAgICAgaWYgKHQuaGVhZCA9PT0gXCJBZGRcIikge1xuICAgICAgICBpZiAoc2lnbjIgPCAwKVxuICAgICAgICAgIGMgPSBjYW5vbmljYWxOZWdhdGUoYyk7XG4gICAgICAgIHJldHVybiBjZS5hZGQoXG4gICAgICAgICAgdC5vcHMubWFwKCh4KSA9PiBtdWx0aXBseTIoYywgeCkpLFxuICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCB0ciA9IGFzUmF0aW9uYWwodCk7XG4gICAgICBpZiAodHIpIHtcbiAgICAgICAgY29uc3QgcCA9IG11bDIociwgdHIpO1xuICAgICAgICByZXR1cm4gY2UubnVtYmVyKHNpZ24yIDwgMCA/IG5lZyhwKSA6IHAsIHsgbWV0YWRhdGEgfSk7XG4gICAgICB9XG4gICAgICBpZiAoc2lnbjIgPCAwKVxuICAgICAgICByZXR1cm4gY2UuX2ZuKFwiTXVsdGlwbHlcIiwgW2Nhbm9uaWNhbE5lZ2F0ZShjKSwgdF0sIG1ldGFkYXRhKTtcbiAgICAgIHJldHVybiBjZS5fZm4oXCJNdWx0aXBseVwiLCBbYywgdF0sIG1ldGFkYXRhKTtcbiAgICB9XG4gIH1cbiAgaWYgKGMuaGFzaCA9PT0gdC5oYXNoICYmIGMuaXNTYW1lKHQpKVxuICAgIHJldHVybiBzcXVhcmUoY2UsIGMpO1xuICBjb25zdCBwcm9kdWN0ID0gbmV3IFByb2R1Y3QoY2UsIFtjLCB0XSk7XG4gIGlmIChzaWduMiA+IDApXG4gICAgcmV0dXJuIHByb2R1Y3QuYXNFeHByZXNzaW9uKCk7XG4gIHJldHVybiBjYW5vbmljYWxOZWdhdGUocHJvZHVjdC5hc0V4cHJlc3Npb24oKSwgbWV0YWRhdGEpO1xufVxuZnVuY3Rpb24gY2Fub25pY2FsUHJvZHVjdChjZSwgYm9keSwgcmFuZ2UpIHtcbiAgYm9keSA/PyAoYm9keSA9IGNlLmVycm9yKFwibWlzc2luZ1wiKSk7XG4gIGxldCBpbmRleCA9IG51bGw7XG4gIGxldCBsb3dlciA9IG51bGw7XG4gIGxldCB1cHBlciA9IG51bGw7XG4gIGlmIChyYW5nZSAmJiByYW5nZS5oZWFkICE9PSBcIlR1cGxlXCIgJiYgcmFuZ2UuaGVhZCAhPT0gXCJUcmlwbGVcIiAmJiByYW5nZS5oZWFkICE9PSBcIlBhaXJcIiAmJiByYW5nZS5oZWFkICE9PSBcIlNpbmdsZVwiKSB7XG4gICAgaW5kZXggPSByYW5nZTtcbiAgfSBlbHNlIGlmIChyYW5nZSkge1xuICAgIGluZGV4ID0gcmFuZ2Uub3BzPy5bMF0gPz8gbnVsbDtcbiAgICBsb3dlciA9IHJhbmdlLm9wcz8uWzFdPy5jYW5vbmljYWwgPz8gbnVsbDtcbiAgICB1cHBlciA9IHJhbmdlLm9wcz8uWzJdPy5jYW5vbmljYWwgPz8gbnVsbDtcbiAgfVxuICBpZiAoaW5kZXggJiYgaW5kZXguaGVhZCA9PT0gXCJIb2xkXCIpXG4gICAgaW5kZXggPSBpbmRleC5vcDE7XG4gIGlmIChpbmRleCAmJiBpbmRleC5oZWFkID09PSBcIlJlbGVhc2VIb2xkXCIpXG4gICAgaW5kZXggPSBpbmRleC5vcDEuZXZhbHVhdGUoKTtcbiAgaW5kZXggPz8gKGluZGV4ID0gY2Uuc3ltYm9sKFwiTm90aGluZ1wiKSk7XG4gIGlmICghaW5kZXguc3ltYm9sKVxuICAgIGluZGV4ID0gY2UuZXJyb3IoW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBcIlN5bWJvbFwiLCBpbmRleC5kb21haW5dKTtcbiAgZWxzZVxuICAgIGluZGV4ID0gY2UuaG9sZChpbmRleCk7XG4gIGlmIChsb3dlciAmJiBsb3dlci5pc0Zpbml0ZSlcbiAgICBsb3dlciA9IHZhbGlkYXRlQXJndW1lbnQoY2UsIGxvd2VyLCBcIkludGVnZXJcIik7XG4gIGlmICh1cHBlciAmJiB1cHBlci5pc0Zpbml0ZSlcbiAgICB1cHBlciA9IHZhbGlkYXRlQXJndW1lbnQoY2UsIHVwcGVyLCBcIkludGVnZXJcIik7XG4gIGlmIChsb3dlciAmJiB1cHBlcilcbiAgICByYW5nZSA9IGNlLnR1cGxlKFtpbmRleCwgbG93ZXIsIHVwcGVyXSk7XG4gIGVsc2UgaWYgKHVwcGVyKVxuICAgIHJhbmdlID0gY2UudHVwbGUoW2luZGV4LCBjZS5udW1iZXIoMSksIHVwcGVyXSk7XG4gIGVsc2UgaWYgKGxvd2VyKVxuICAgIHJhbmdlID0gY2UudHVwbGUoW2luZGV4LCBsb3dlcl0pO1xuICBlbHNlXG4gICAgcmFuZ2UgPSBpbmRleDtcbiAgcmV0dXJuIGNlLl9mbihcIlByb2R1Y3RcIiwgW2JvZHkuY2Fub25pY2FsLCByYW5nZV0pO1xufVxuZnVuY3Rpb24gZXZhbE11bHRpcGxpY2F0aW9uKGNlLCBleHByLCByYW5nZSwgbW9kZSkge1xuICBjb25zdCBbaW5kZXgsIGxvd2VyLCB1cHBlciwgaXNGaW5pdGUyXSA9IG5vcm1hbGl6ZUxpbWl0cyhyYW5nZSk7XG4gIGNvbnN0IGZuID0gZXhwcjtcbiAgaWYgKG1vZGUgIT09IFwiTlwiICYmIChsb3dlciA+PSB1cHBlciB8fCB1cHBlciAtIGxvd2VyID49IE1BWF9TWU1CT0xJQ19URVJNUykpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgbGV0IHJlc3VsdCA9IG51bGw7XG4gIGNvbnN0IHNhdmVkQ29udGV4dCA9IGNlLmNvbnRleHQ7XG4gIGNlLmNvbnRleHQgPSBmbi5zY29wZSA/PyBjZS5jb250ZXh0O1xuICBpZiAobW9kZSA9PT0gXCJzaW1wbGlmeVwiKSB7XG4gICAgY29uc3QgdGVybXMgPSBbXTtcbiAgICBpZiAoIWZuLnNjb3BlKVxuICAgICAgZm9yIChsZXQgaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpKyspXG4gICAgICAgIHRlcm1zLnB1c2goZm4uc2ltcGxpZnkoKSk7XG4gICAgZWxzZVxuICAgICAgZm9yIChsZXQgaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpKyspIHtcbiAgICAgICAgY2Uuc2V0KHsgW2luZGV4XTogaSB9KTtcbiAgICAgICAgdGVybXMucHVzaChmbi5zaW1wbGlmeSgpKTtcbiAgICAgIH1cbiAgICByZXN1bHQgPSBjZS5tdWwodGVybXMpLnNpbXBsaWZ5KCk7XG4gIH1cbiAgaWYgKG1vZGUgPT09IFwiZXZhbHVhdGVcIikge1xuICAgIGNvbnN0IHRlcm1zID0gW107XG4gICAgaWYgKCFmbi5zY29wZSlcbiAgICAgIGZvciAobGV0IGkgPSBsb3dlcjsgaSA8PSB1cHBlcjsgaSsrKVxuICAgICAgICB0ZXJtcy5wdXNoKGZuLmV2YWx1YXRlKCkpO1xuICAgIGVsc2VcbiAgICAgIGZvciAobGV0IGkgPSBsb3dlcjsgaSA8PSB1cHBlcjsgaSsrKSB7XG4gICAgICAgIGNlLnNldCh7IFtpbmRleF06IGkgfSk7XG4gICAgICAgIHRlcm1zLnB1c2goZm4uZXZhbHVhdGUoKSk7XG4gICAgICB9XG4gICAgcmVzdWx0ID0gY2UubXVsKHRlcm1zKS5ldmFsdWF0ZSgpO1xuICB9XG4gIGlmIChtb2RlID09PSBcIk5cIikge1xuICAgIGlmIChyZXN1bHQgPT09IG51bGwgJiYgIWZuLnNjb3BlKSB7XG4gICAgICBjb25zdCBuID0gZm4uTigpO1xuICAgICAgaWYgKCFpc0Zpbml0ZTIpIHtcbiAgICAgICAgaWYgKG4uaXNaZXJvKVxuICAgICAgICAgIHJlc3VsdCA9IGNlLl9aRVJPO1xuICAgICAgICBlbHNlIGlmIChuLmlzUG9zaXRpdmUpXG4gICAgICAgICAgcmVzdWx0ID0gY2UuX1BPU0lUSVZFX0lORklOSVRZO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgcmVzdWx0ID0gY2UuX05FR0FUSVZFX0lORklOSVRZO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCAmJiBmbi5pc1B1cmUpXG4gICAgICAgIHJlc3VsdCA9IGNlLnBvdyhuLCBjZS5udW1iZXIodXBwZXIgLSBsb3dlciArIDEpKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCAmJiBpc0Zpbml0ZTIpIHtcbiAgICAgIGlmIChiaWdudW1QcmVmZXJyZWQoY2UpKSB7XG4gICAgICAgIGxldCBwcm9kdWN0MiA9IGNlLmJpZ251bSgxKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpKyspIHtcbiAgICAgICAgICBjZS5zZXQoeyBbaW5kZXhdOiBpIH0pO1xuICAgICAgICAgIGNvbnN0IHRlcm0gPSBhc0JpZ251bShmbi5OKCkpO1xuICAgICAgICAgIGlmICh0ZXJtID09PSBudWxsIHx8ICF0ZXJtLmlzRmluaXRlKCkpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRlcm0gIT09IG51bGwgPyBjZS5udW1iZXIodGVybSkgOiB2b2lkIDA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJvZHVjdDIgPSBwcm9kdWN0Mi5tdWwodGVybSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbClcbiAgICAgICAgICByZXN1bHQgPSBjZS5udW1iZXIocHJvZHVjdDIpO1xuICAgICAgfVxuICAgICAgbGV0IHByb2R1Y3QgPSAxO1xuICAgICAgY29uc3QgbnVtZXJpY01vZGUgPSBjZS5udW1lcmljTW9kZTtcbiAgICAgIGNlLm51bWVyaWNNb2RlID0gXCJtYWNoaW5lXCI7XG4gICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykge1xuICAgICAgICBjZS5zZXQoeyBbaW5kZXhdOiBpIH0pO1xuICAgICAgICBjb25zdCB0ZXJtID0gYXNGbG9hdChmbi5OKCkpO1xuICAgICAgICBpZiAodGVybSA9PT0gbnVsbCB8fCAhTnVtYmVyLmlzRmluaXRlKHRlcm0pKSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGVybSAhPT0gbnVsbCA/IGNlLm51bWJlcih0ZXJtKSA6IHZvaWQgMDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBwcm9kdWN0ICo9IHRlcm07XG4gICAgICB9XG4gICAgICBjZS5udW1lcmljTW9kZSA9IG51bWVyaWNNb2RlO1xuICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbClcbiAgICAgICAgcmVzdWx0ID0gY2UubnVtYmVyKHByb2R1Y3QpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICBjZS5zZXQoeyBbaW5kZXhdOiAxZTMgfSk7XG4gICAgICBjb25zdCBuTWF4ID0gZm4uTigpO1xuICAgICAgY2Uuc2V0KHsgW2luZGV4XTogOTk5IH0pO1xuICAgICAgY29uc3Qgbk1heE1pbnVzT25lID0gZm4uTigpO1xuICAgICAgY29uc3QgcmF0aW8gPSBhc0Zsb2F0KGNlLmRpdihuTWF4LCBuTWF4TWludXNPbmUpLk4oKSk7XG4gICAgICBpZiAocmF0aW8gIT09IG51bGwgJiYgTnVtYmVyLmlzRmluaXRlKHJhdGlvKSAmJiBNYXRoLmFicyhyYXRpbykgPiAxKSB7XG4gICAgICAgIHJlc3VsdCA9IGNlLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcm9kdWN0ID0gMTtcbiAgICAgICAgY29uc3QgbnVtZXJpY01vZGUgPSBjZS5udW1lcmljTW9kZTtcbiAgICAgICAgY2UubnVtZXJpY01vZGUgPSBcIm1hY2hpbmVcIjtcbiAgICAgICAgZm9yIChsZXQgaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpKyspIHtcbiAgICAgICAgICBjZS5zZXQoeyBbaW5kZXhdOiBpIH0pO1xuICAgICAgICAgIGNvbnN0IHRlcm0gPSBhc0Zsb2F0KGZuLk4oKSk7XG4gICAgICAgICAgaWYgKHRlcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHZvaWQgMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoTWF0aC5hYnMoMSAtIHRlcm0pIDwgTnVtYmVyLkVQU0lMT04gfHwgIU51bWJlci5pc0Zpbml0ZSh0ZXJtKSlcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIHByb2R1Y3QgKj0gdGVybTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsKVxuICAgICAgICAgIHJlc3VsdCA9IGNlLm51bWJlcihwcm9kdWN0KTtcbiAgICAgICAgY2UubnVtZXJpY01vZGUgPSBudW1lcmljTW9kZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2UuY29udGV4dCA9IHNhdmVkQ29udGV4dDtcbiAgcmV0dXJuIHJlc3VsdCA/PyB2b2lkIDA7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9saWJyYXJ5L2FyaXRobWV0aWMtZGl2aWRlLnRzXG5mdW5jdGlvbiBjYW5vbmljYWxEaXZpZGUoY2UsIG9wMTIsIG9wMjIpIHtcbiAgaWYgKCFvcDEyLmlzVmFsaWQgfHwgIW9wMjIuaXNWYWxpZClcbiAgICByZXR1cm4gY2UuX2ZuKFwiRGl2aWRlXCIsIFtvcDEyLCBvcDIyXSk7XG4gIGlmIChvcDEyLmhlYWQgPT09IFwiTmVnYXRlXCIgJiYgb3AyMi5oZWFkID09PSBcIk5lZ2F0ZVwiKSB7XG4gICAgb3AxMiA9IG9wMTIub3AxO1xuICAgIG9wMjIgPSBvcDIyLm9wMTtcbiAgfVxuICBpZiAob3AxMi5udW1lcmljVmFsdWUgIT09IG51bGwgJiYgb3AyMi5udW1lcmljVmFsdWUgIT09IG51bGwpIHtcbiAgICBpZiAob3AyMi5pc09uZSlcbiAgICAgIHJldHVybiBvcDEyO1xuICAgIGlmIChvcDIyLmlzTmVnYXRpdmVPbmUpXG4gICAgICByZXR1cm4gY2UubmVnKG9wMTIpO1xuICAgIGlmIChvcDEyLmlzT25lKVxuICAgICAgcmV0dXJuIGNlLmludihvcDIyKTtcbiAgICBpZiAob3AxMi5pc05lZ2F0aXZlT25lKVxuICAgICAgcmV0dXJuIGNlLm5lZyhjZS5pbnYob3AyMikpO1xuICAgIGNvbnN0IHIxID0gYXNSYXRpb25hbChvcDEyKTtcbiAgICBjb25zdCByMiA9IGFzUmF0aW9uYWwob3AyMik7XG4gICAgaWYgKHIxICYmIHIyICYmICFpc1JhdGlvbmFsWmVybyhyMikpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKG11bDIocjEsIGludmVyc2UocjIpKSk7XG4gIH1cbiAgaWYgKG9wMTIuaGVhZCA9PT0gXCJEaXZpZGVcIiAmJiBvcDIyLmhlYWQgPT09IFwiRGl2aWRlXCIpIHtcbiAgICByZXR1cm4gY2Fub25pY2FsRGl2aWRlKFxuICAgICAgY2UsXG4gICAgICBjZS5tdWwoW29wMTIub3AxLCBvcDIyLm9wMl0pLFxuICAgICAgY2UubXVsKFtvcDEyLm9wMiwgb3AyMi5vcDFdKVxuICAgICk7XG4gIH1cbiAgaWYgKG9wMTIuaGVhZCA9PT0gXCJEaXZpZGVcIilcbiAgICByZXR1cm4gY2Fub25pY2FsRGl2aWRlKGNlLCBjZS5tdWwoW29wMTIub3AxLCBvcDIyXSksIG9wMTIub3AyKTtcbiAgaWYgKG9wMjIuaGVhZCA9PT0gXCJEaXZpZGVcIilcbiAgICByZXR1cm4gY2Fub25pY2FsRGl2aWRlKGNlLCBjZS5tdWwoW29wMTIsIG9wMjIub3AyXSksIG9wMjIub3AxKTtcbiAgY29uc3QgbnVtMSA9IG9wMTIubnVtZXJpY1ZhbHVlO1xuICBpZiAobnVtMSAhPT0gbnVsbCkge1xuICAgIGlmIChpc01hY2hpbmVSYXRpb25hbChudW0xKSkge1xuICAgICAgY29uc3QgW2EsIGJdID0gbnVtMTtcbiAgICAgIHJldHVybiBjYW5vbmljYWxEaXZpZGUoY2UsIGNlLm51bWJlcihhKSwgY2UubXVsKFtjZS5udW1iZXIoYiksIG9wMjJdKSk7XG4gICAgfVxuICAgIGlmIChpc0JpZ1JhdGlvbmFsKG51bTEpKSB7XG4gICAgICBjb25zdCBbYSwgYl0gPSBudW0xO1xuICAgICAgcmV0dXJuIGNhbm9uaWNhbERpdmlkZShjZSwgY2UubnVtYmVyKGEpLCBjZS5tdWwoW2NlLm51bWJlcihiKSwgb3AyMl0pKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbnVtMiA9IG9wMjIubnVtZXJpY1ZhbHVlO1xuICBpZiAobnVtMiAhPT0gbnVsbCkge1xuICAgIGlmIChpc01hY2hpbmVSYXRpb25hbChudW0yKSkge1xuICAgICAgY29uc3QgW2EsIGJdID0gbnVtMjtcbiAgICAgIHJldHVybiBjYW5vbmljYWxEaXZpZGUoY2UsIGNlLm11bChbb3AxMiwgY2UubnVtYmVyKGIpXSksIGNlLm51bWJlcihhKSk7XG4gICAgfVxuICAgIGlmIChpc0JpZ1JhdGlvbmFsKG51bTIpKSB7XG4gICAgICBjb25zdCBbYSwgYl0gPSBudW0yO1xuICAgICAgcmV0dXJuIGNhbm9uaWNhbERpdmlkZShjZSwgY2UubXVsKFtvcDEyLCBjZS5udW1iZXIoYildKSwgY2UubnVtYmVyKGEpKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgW2MxLCB0MV0gPSBhc0NvZWZmaWNpZW50KG9wMTIpO1xuICBjb25zdCBbYzIsIHQyXSA9IGFzQ29lZmZpY2llbnQob3AyMik7XG4gIGlmICghaXNSYXRpb25hbE9uZShjMSkgfHwgIWlzUmF0aW9uYWxPbmUoYzIpKSB7XG4gICAgY29uc3QgW2NuLCBjZF0gPSBtdWwyKGMxLCBpbnZlcnNlKGMyKSk7XG4gICAgY29uc3QgZW4gPSBjZS5tdWwoW2NlLm51bWJlcihjbiksIHQxXSk7XG4gICAgaWYgKGVuLmlzWmVybylcbiAgICAgIHJldHVybiBjZS5fWkVSTztcbiAgICBjb25zdCBlZCA9IGNlLm11bChbY2UubnVtYmVyKGNkKSwgdDJdKTtcbiAgICBpZiAoZWQuaXNPbmUpXG4gICAgICByZXR1cm4gZW47XG4gICAgcmV0dXJuIGNlLl9mbihcIkRpdmlkZVwiLCBbZW4sIGVkXSk7XG4gIH1cbiAgbGV0IFtuU2lnbiwgbl0gPSBtYWtlUG9zaXRpdmUob3AxMik7XG4gIGxldCBbZFNpZ24sIGRdID0gbWFrZVBvc2l0aXZlKG9wMjIpO1xuICBuID0gbi5jYW5vbmljYWw7XG4gIGQgPSBkLmNhbm9uaWNhbDtcbiAgaWYgKGQubnVtZXJpY1ZhbHVlICE9PSBudWxsICYmIGQuaXNPbmUpXG4gICAgcmV0dXJuIG5TaWduICogZFNpZ24gPCAwID8gY2Fub25pY2FsTmVnYXRlKG4pIDogbjtcbiAgaWYgKG5TaWduICogZFNpZ24gPiAwKVxuICAgIHJldHVybiBjZS5fZm4oXCJEaXZpZGVcIiwgW24sIGRdKTtcbiAgaWYgKG4ubnVtZXJpY1ZhbHVlKVxuICAgIHJldHVybiBjZS5fZm4oXCJEaXZpZGVcIiwgW2Nhbm9uaWNhbE5lZ2F0ZShuKSwgZF0pO1xuICByZXR1cm4gY2Fub25pY2FsTmVnYXRlKGNlLl9mbihcIkRpdmlkZVwiLCBbbiwgZF0pKTtcbn1cbmZ1bmN0aW9uIHNpbXBsaWZ5RGl2aWRlKGNlLCBvcDEyLCBvcDIyKSB7XG4gIGlmIChvcDEyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCAmJiBvcDIyLm51bWVyaWNWYWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHIxID0gYXNSYXRpb25hbChvcDEyKTtcbiAgICBjb25zdCByMiA9IGFzUmF0aW9uYWwob3AyMik7XG4gICAgaWYgKHIxICYmIHIyICYmICFpc1JhdGlvbmFsWmVybyhyMikpXG4gICAgICByZXR1cm4gY2UubnVtYmVyKG11bDIocjEsIGludmVyc2UocjIpKSk7XG4gIH1cbiAgcmV0dXJuIG5ldyBQcm9kdWN0KGNlLCBbb3AxMiwgY2UuaW52KG9wMjIpXSkuYXNSYXRpb25hbEV4cHJlc3Npb24oKTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvYXJpdGhtZXRpYy50c1xudmFyIGltcG9ydF9jb21wbGV4MTYgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcbnZhciBBUklUSE1FVElDX0xJQlJBUlkgPSBbXG4gIHtcbiAgICAvL1xuICAgIC8vIEZ1bmN0aW9uc1xuICAgIC8vXG4gICAgQWJzOiB7XG4gICAgICB3aWtpZGF0YTogXCJRMzMxNzk4MlwiLFxuICAgICAgLy8gbWFnbml0dWRlICdRMTIwODEyIChmb3IgcmVhbHMpXG4gICAgICB0aHJlYWRhYmxlOiB0cnVlLFxuICAgICAgaWRlbXBvdGVudDogdHJ1ZSxcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk5vbk5lZ2F0aXZlTnVtYmVyXCJdLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBwcm9jZXNzQWJzKGNlLCBvcHMyWzBdLCBcInNpbXBsaWZ5XCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBwcm9jZXNzQWJzKGNlLCBvcHMyWzBdLCBcImV2YWx1YXRlXCIpLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IHByb2Nlc3NBYnMoY2UsIG9wczJbMF0sIFwiTlwiKVxuICAgICAgfVxuICAgIH0sXG4gICAgQWRkOiB7XG4gICAgICB3aWtpZGF0YTogXCJRMzIwNDNcIixcbiAgICAgIGFzc29jaWF0aXZlOiB0cnVlLFxuICAgICAgY29tbXV0YXRpdmU6IHRydWUsXG4gICAgICB0aHJlYWRhYmxlOiB0cnVlLFxuICAgICAgaWRlbXBvdGVudDogdHJ1ZSxcbiAgICAgIGNvbXBsZXhpdHk6IDEzMDAsXG4gICAgICBob2xkOiBcImFsbFwiLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogXCJOdW1lcmljRnVuY3Rpb25cIixcbiAgICAgICAgY29kb21haW46IChjZSwgYXJncykgPT4gZG9tYWluQWRkKFxuICAgICAgICAgIGNlLFxuICAgICAgICAgIGFyZ3MubWFwKCh4KSA9PiB4LmRvbWFpbilcbiAgICAgICAgKSxcbiAgICAgICAgLy8gY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNhbm9uaWNhbEFkZChjZSwgYXJncyksIC8vIG5ldmVyIGNhbGxlZDogc2hvcnRwYXRoXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IHNpbXBsaWZ5QWRkKGNlLCBvcHMyKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbEFkZChjZSwgb3BzMiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbEFkZChjZSwgb3BzMiwgXCJOXCIpXG4gICAgICB9XG4gICAgfSxcbiAgICBDZWlsOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJSb3VuZHMgYSBudW1iZXIgdXAgdG8gdGhlIG5leHQgbGFyZ2VzdCBpbnRlZ2VyXCIsXG4gICAgICBjb21wbGV4aXR5OiAxMjUwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJJbnRlZ2VyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKF9jZSwgb3BzMikgPT4gYXBwbHlOKFxuICAgICAgICAgIG9wczJbMF0sXG4gICAgICAgICAgTWF0aC5jZWlsLFxuICAgICAgICAgICh4KSA9PiB4LmNlaWwoKSxcbiAgICAgICAgICAoeikgPT4gei5jZWlsKDApXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LFxuICAgIENob3A6IHtcbiAgICAgIGFzc29jaWF0aXZlOiB0cnVlLFxuICAgICAgdGhyZWFkYWJsZTogdHJ1ZSxcbiAgICAgIGlkZW1wb3RlbnQ6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGFwcGx5TihcbiAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgICh4KSA9PiBjZS5jaG9wKHgpLFxuICAgICAgICAgICh4KSA9PiBjZS5jaG9wKHgpLFxuICAgICAgICAgICh4KSA9PiBjZS5jaG9wKHgpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LFxuICAgIENvbXBsZXg6IHtcbiAgICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgY29udmVydGVkIGR1cmluZyBib3hpbmcsIHNvIHVubGlrZWx5IHRvIGVuY291bnRlclxuICAgICAgd2lraWRhdGE6IFwiUTExNTY3XCIsXG4gICAgICBjb21wbGV4aXR5OiA1MDBcbiAgICB9LFxuICAgIERpdmlkZToge1xuICAgICAgd2lraWRhdGE6IFwiUTEyMjY5MzlcIixcbiAgICAgIGNvbXBsZXhpdHk6IDI1MDAsXG4gICAgICAvLyAtIGlmIG51bWVyIHByb2R1Y3Qgb2YgbnVtYmVycywgb3IgZGVub20gcHJvZHVjdCBvZiBudW1iZXJzLFxuICAgICAgLy8gaS5lLiBcdTIyMUEyeC8yIC0+IDAuNzA3eCwgMi9cdTIyMUEyeCAtPiAxLjQxNDJ4XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiXSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBhcmdzID0gdmFsaWRhdGVBcmd1bWVudHMoY2UsIGNhbm9uaWNhbChmbGF0dGVuU2VxdWVuY2UoYXJncykpLCBbXG4gICAgICAgICAgICBcIk51bWJlclwiLFxuICAgICAgICAgICAgXCJOdW1iZXJcIlxuICAgICAgICAgIF0pO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCAhPT0gMilcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJEaXZpZGVcIiwgYXJncyk7XG4gICAgICAgICAgcmV0dXJuIGNlLmRpdihhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgYXJncykgPT4gc2ltcGxpZnlEaXZpZGUoY2UsIGFyZ3NbMF0sIGFyZ3NbMV0pLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBhcHBseTJOKFxuICAgICAgICAgIG9wczJbMF0sXG4gICAgICAgICAgb3BzMlsxXSxcbiAgICAgICAgICAobiwgZCkgPT4gbiAvIGQsXG4gICAgICAgICAgKG4sIGQpID0+IG4uZGl2KGQpLFxuICAgICAgICAgIChuLCBkKSA9PiBuLmRpdihkKVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSxcbiAgICBFeHA6IHtcbiAgICAgIHdpa2lkYXRhOiBcIlExNjg2OThcIixcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAzNTAwLFxuICAgICAgLy8gRXhwKHgpIC0+IGVeeFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgICAgYXJncyA9IHZhbGlkYXRlQXJndW1lbnRzKGNlLCBjYW5vbmljYWwoZmxhdHRlblNlcXVlbmNlKGFyZ3MpKSwgW1xuICAgICAgICAgICAgXCJOdW1iZXJcIlxuICAgICAgICAgIF0pO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJQb3dlclwiLCBhcmdzKTtcbiAgICAgICAgICByZXR1cm4gY2UucG93KGNlLnN5bWJvbChcIkV4cG9uZW50aWFsRVwiKSwgYXJnc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIEZhY3RvcmlhbDoge1xuICAgICAgZGVzY3JpcHRpb246IFwiRmFjdG9yaWFsIEZ1bmN0aW9uXCIsXG4gICAgICB3aWtpZGF0YTogXCJRMTIwOTc2XCIsXG4gICAgICBjb21wbGV4aXR5OiA5ZTMsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IG4gPSBhc1NtYWxsSW50ZWdlcihvcHMyWzBdKTtcbiAgICAgICAgICBpZiAobiAhPT0gbnVsbCAmJiBuID49IDApIHtcbiAgICAgICAgICAgIGlmICghYmlnbnVtUHJlZmVycmVkKGNlKSlcbiAgICAgICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihmYWN0b3JpYWwobikpO1xuICAgICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihmYWN0b3JpYWwyKGNlLCBjZS5iaWdudW0obikpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbnVtID0gb3BzMlswXS5udW1lcmljVmFsdWU7XG4gICAgICAgICAgaWYgKG51bSAhPT0gbnVsbCAmJiBudW0gaW5zdGFuY2VvZiBpbXBvcnRfY29tcGxleDE2LmRlZmF1bHQpXG4gICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKGdhbW1hMyhudW0uYWRkKDEpKSk7XG4gICAgICAgICAgY29uc3QgZiA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgICAgICAgaWYgKGYgIT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKGdhbW1hKDEgKyBmKSk7XG4gICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgRmxvb3I6IHtcbiAgICAgIHdpa2lkYXRhOiBcIlE1Njg2MDc4M1wiLFxuICAgICAgY29tcGxleGl0eTogMTI1MCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiRXh0ZW5kZWRSZWFsTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBhcHBseU4oXG4gICAgICAgICAgb3BzMlswXSxcbiAgICAgICAgICBNYXRoLmZsb29yLFxuICAgICAgICAgICh4KSA9PiB4LmZsb29yKCksXG4gICAgICAgICAgKHopID0+IHouZmxvb3IoMClcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sXG4gICAgR2FtbWE6IHtcbiAgICAgIHdpa2lkYXRhOiBcIlExOTA1NzNcIixcbiAgICAgIGNvbXBsZXhpdHk6IDhlMyxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGFwcGx5TihcbiAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgICh4KSA9PiBnYW1tYSh4KSxcbiAgICAgICAgICAoeCkgPT4gZ2FtbWEyKGNlLCB4KSxcbiAgICAgICAgICAoeCkgPT4gZ2FtbWEzKHgpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LFxuICAgIExvZ0dhbW1hOiB7XG4gICAgICBjb21wbGV4aXR5OiA4ZTMsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiXSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBhcHBseU4oXG4gICAgICAgICAgb3BzMlswXSxcbiAgICAgICAgICAoeCkgPT4gbG5nYW1tYSh4KSxcbiAgICAgICAgICAoeCkgPT4gbG5nYW1tYTIoY2UsIHgpLFxuICAgICAgICAgICh4KSA9PiBsbmdhbW1hMyh4KVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSxcbiAgICBMbjoge1xuICAgICAgZGVzY3JpcHRpb246IFwiTmF0dXJhbCBMb2dhcml0aG1cIixcbiAgICAgIHdpa2lkYXRhOiBcIlEyMDQwMzdcIixcbiAgICAgIGNvbXBsZXhpdHk6IDRlMyxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGFwcGx5TihcbiAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgICh4KSA9PiB4ID49IDAgPyBNYXRoLmxvZyh4KSA6IGNlLmNvbXBsZXgoeCkubG9nKCksXG4gICAgICAgICAgKHgpID0+ICF4LmlzTmVnKCkgPyB4LmxuKCkgOiBjZS5jb21wbGV4KHgudG9OdW1iZXIoKSkubG9nKCksXG4gICAgICAgICAgKHopID0+IHoubG9nKClcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sXG4gICAgTG9nOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJMb2coeiwgYiA9IDEwKSA9IExvZ2FyaXRobSBvZiBiYXNlIGJcIixcbiAgICAgIHdpa2lkYXRhOiBcIlExMTE5N1wiLFxuICAgICAgY29tcGxleGl0eTogNDEwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFtcIk1heWJlXCIsIFwiTnVtYmVyXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBvcHMyID0gY2Fub25pY2FsKGZsYXR0ZW5TZXF1ZW5jZShvcHMyKSk7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoID09PSAxKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkxvZ1wiLCBbdmFsaWRhdGVBcmd1bWVudChjZSwgb3BzMlswXSwgXCJOdW1iZXJcIildKTtcbiAgICAgICAgICBpZiAob3BzMi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFyZyA9IHZhbGlkYXRlQXJndW1lbnQoY2UsIG9wczJbMF0sIFwiTnVtYmVyXCIpO1xuICAgICAgICAgICAgY29uc3QgYmFzZSA9IHZhbGlkYXRlQXJndW1lbnQoY2UsIG9wczJbMV0sIFwiTnVtYmVyXCIpO1xuICAgICAgICAgICAgaWYgKGJhc2UubnVtZXJpY1ZhbHVlID09PSAxMClcbiAgICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkxvZ1wiLCBbYXJnXSk7XG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiTG9nXCIsIFthcmcsIGJhc2VdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkxvZ1wiLCB2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIG9wczIsIDIpKTtcbiAgICAgICAgfSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczJbMV0gPT09IHZvaWQgMClcbiAgICAgICAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgICAgICAgIG9wczJbMF0sXG4gICAgICAgICAgICAgICh4KSA9PiB4ID49IDAgPyBNYXRoLmxvZzEwKHgpIDogY2UuY29tcGxleCh4KS5sb2coKS5kaXYoTWF0aC5MTjEwKSxcbiAgICAgICAgICAgICAgKHgpID0+ICF4LmlzTmVnKCkgPyBkZWNpbWFsX2RlZmF1bHQubG9nMTAoeCkgOiBjZS5jb21wbGV4KHgudG9OdW1iZXIoKSkubG9nKCkuZGl2KE1hdGguTE4xMCksXG4gICAgICAgICAgICAgICh6KSA9PiB6LmxvZygpLmRpdihNYXRoLkxOMTApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBhcHBseTJOKFxuICAgICAgICAgICAgb3BzMlswXSxcbiAgICAgICAgICAgIG9wczJbMV0sXG4gICAgICAgICAgICAoYSwgYikgPT4gTWF0aC5sb2coYSkgLyBNYXRoLmxvZyhiKSxcbiAgICAgICAgICAgIChhLCBiKSA9PiBhLmxvZyhiKSxcbiAgICAgICAgICAgIChhLCBiKSA9PiBhLmxvZygpLmRpdih0eXBlb2YgYiA9PT0gXCJudW1iZXJcIiA/IE1hdGgubG9nKGIpIDogYi5sb2coKSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBMYjoge1xuICAgICAgZGVzY3JpcHRpb246IFwiQmFzZS0yIExvZ2FyaXRobVwiLFxuICAgICAgd2lraWRhdGE6IFwiUTU4MTE2OFwiLFxuICAgICAgY29tcGxleGl0eTogNDEwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGFwcGx5TihcbiAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgICh4KSA9PiB4ID49IDAgPyBNYXRoLmxvZzIoeCkgOiBjZS5jb21wbGV4KHgpLmxvZygpLmRpdihNYXRoLkxOMiksXG4gICAgICAgICAgKHgpID0+IHguaXNOZWcoKSA/IGRlY2ltYWxfZGVmYXVsdC5sb2cxMCh4KSA6IGNlLmNvbXBsZXgoeC50b051bWJlcigpKS5sb2coKS5kaXYoTWF0aC5MTjIpLFxuICAgICAgICAgICh6KSA9PiB6LmxvZygpLmRpdihNYXRoLkxOMilcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sXG4gICAgTGc6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkJhc2UtMTAgTG9nYXJpdGhtXCIsXG4gICAgICB3aWtpZGF0YTogXCJROTY2NTgyXCIsXG4gICAgICBjb21wbGV4aXR5OiA0MTAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gYXBwbHlOKFxuICAgICAgICAgIG9wczJbMF0sXG4gICAgICAgICAgKHgpID0+IHggPj0gMCA/IE1hdGgubG9nMTAoeCkgOiBjZS5jb21wbGV4KHgpLmxvZygpLmRpdihNYXRoLkxOMTApLFxuICAgICAgICAgICh4KSA9PiAheC5pc05lZygpID8gZGVjaW1hbF9kZWZhdWx0LmxvZzEwKHgpIDogY2UuY29tcGxleCh4LnRvTnVtYmVyKCkpLmxvZygpLmRpdihNYXRoLkxOMTApLFxuICAgICAgICAgICh6KSA9PiB6LmxvZygpLmRpdihNYXRoLkxOMTApXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LFxuICAgIE1heDoge1xuICAgICAgZGVzY3JpcHRpb246IFwiTWF4aW11bSBvZiB0d28gb3IgbW9yZSBudW1iZXJzXCIsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJWYWx1ZVwiXSwgXCJOdW1iZXJcIl0sXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBpZiAob3BzMi5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX05FR0FUSVZFX0lORklOSVRZO1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiBvcHMyWzBdO1xuICAgICAgICAgIHJldHVybiBjZS5mbihcIk1heFwiLCBvcHMyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkVHQVRJVkVfSU5GSU5JVFk7XG4gICAgICAgICAgbGV0IHJlc3VsdCA9IHZvaWQgMDtcbiAgICAgICAgICBjb25zdCByZXN0ID0gW107XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2Ygb3BzMikge1xuICAgICAgICAgICAgaWYgKCFvcDMuaXNOdW1iZXIgfHwgb3AzLm51bWVyaWNWYWx1ZSA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgICByZXN0LnB1c2gob3AzKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFyZXN1bHQgfHwgb3AzLmlzR3JlYXRlcihyZXN1bHQpKVxuICAgICAgICAgICAgICByZXN1bHQgPSBvcDM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN0Lmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuYm94KHJlc3VsdCA/IFtcIk1heFwiLCByZXN1bHQsIC4uLnJlc3RdIDogW1wiTWF4XCIsIC4uLnJlc3RdKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0ID8/IGNlLl9OQU47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIE1pbjoge1xuICAgICAgZGVzY3JpcHRpb246IFwiTWluaW11bSBvZiB0d28gb3IgbW9yZSBudW1iZXJzXCIsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJWYWx1ZVwiXSwgXCJOdW1iZXJcIl0sXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBpZiAob3BzMi5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX05FR0FUSVZFX0lORklOSVRZO1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiBvcHMyWzBdO1xuICAgICAgICAgIHJldHVybiBjZS5mbihcIk1pblwiLCBvcHMyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkVHQVRJVkVfSU5GSU5JVFk7XG4gICAgICAgICAgbGV0IHJlc3VsdCA9IHZvaWQgMDtcbiAgICAgICAgICBjb25zdCByZXN0ID0gW107XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2Ygb3BzMikge1xuICAgICAgICAgICAgaWYgKCFvcDMuaXNOdW1iZXIgfHwgb3AzLm51bWVyaWNWYWx1ZSA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgICByZXN0LnB1c2gob3AzKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFyZXN1bHQgfHwgb3AzLmlzTGVzcyhyZXN1bHQpKVxuICAgICAgICAgICAgICByZXN1bHQgPSBvcDM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN0Lmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuYm94KHJlc3VsdCA/IFtcIk1pblwiLCByZXN1bHQsIC4uLnJlc3RdIDogW1wiTWluXCIsIC4uLnJlc3RdKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0ID8/IGNlLl9OQU47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIE11bHRpcGx5OiB7XG4gICAgICB3aWtpZGF0YTogXCJRNDAyNzZcIixcbiAgICAgIGFzc29jaWF0aXZlOiB0cnVlLFxuICAgICAgY29tbXV0YXRpdmU6IHRydWUsXG4gICAgICBpZGVtcG90ZW50OiB0cnVlLFxuICAgICAgY29tcGxleGl0eTogMjEwMCxcbiAgICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBcIk51bWVyaWNGdW5jdGlvblwiLFxuICAgICAgICAvLyBOZXZlciBjYWxsZWQ6IGZhc3RwYXRoXG4gICAgICAgIC8vIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgIC8vICAgcmV0dXJuIGNhbm9uaWNhbE11bHRpcGx5KGNlLCBhcmdzKTtcbiAgICAgICAgLy8gfSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gc2ltcGxpZnlNdWx0aXBseShjZSwgb3BzMiksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxNdWx0aXBseShjZSwgb3BzMiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbE11bHRpcGx5KGNlLCBvcHMyLCBcIk5cIilcbiAgICAgIH1cbiAgICB9LFxuICAgIE5lZ2F0ZToge1xuICAgICAgZGVzY3JpcHRpb246IFwiQWRkaXRpdmUgSW52ZXJzZVwiLFxuICAgICAgd2lraWRhdGE6IFwiUTcxNTM1OFwiLFxuICAgICAgY29tcGxleGl0eTogMmUzLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGNvZG9tYWluOiAoY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBjb25zdCBhcmcgPSBhcmdzWzBdLmRvbWFpbjtcbiAgICAgICAgICBpZiAoIWFyZy5saXRlcmFsKVxuICAgICAgICAgICAgcmV0dXJuIGFyZztcbiAgICAgICAgICBjb25zdCBuZWdEb21haW4gPSB7XG4gICAgICAgICAgICBQb3NpdGl2ZU51bWJlcjogXCJOZWdhdGl2ZU51bWJlclwiLFxuICAgICAgICAgICAgTm9uTmVnYXRpdmVOdW1iZXI6IFwiTm9uUG9zaXRpdmVOdW1iZXJcIixcbiAgICAgICAgICAgIE5vblBvc2l0aXZlTnVtYmVyOiBcIk5vbk5lZ2F0aXZlTnVtYmVyXCIsXG4gICAgICAgICAgICBOZWdhdGl2ZU51bWJlcjogXCJQb3NpdGl2ZU51bWJlclwiLFxuICAgICAgICAgICAgUG9zaXRpdmVJbnRlZ2VyOiBcIk5lZ2F0aXZlSW50ZWdlclwiLFxuICAgICAgICAgICAgTm9uTmVnYXRpdmVJbnRlZ2VyOiBcIk5vblBvc2l0aXZlSW50ZWdlclwiLFxuICAgICAgICAgICAgTm9uUG9zaXRpdmVJbnRlZ2VyOiBcIk5vbk5lZ2F0aXZlSW50ZWdlclwiLFxuICAgICAgICAgICAgTmVnYXRpdmVJbnRlZ2VyOiBcIlBvc2l0aXZlSW50ZWdlclwiXG4gICAgICAgICAgfVthcmcubGl0ZXJhbF07XG4gICAgICAgICAgaWYgKG5lZ0RvbWFpbilcbiAgICAgICAgICAgIHJldHVybiBjZS5kb21haW4obmVnRG9tYWluKTtcbiAgICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgICB9LFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4ge1xuICAgICAgICAgIGFyZ3MgPSB2YWxpZGF0ZUFyZ3VtZW50cyhjZSwgY2Fub25pY2FsKGZsYXR0ZW5TZXF1ZW5jZShhcmdzKSksIFtcbiAgICAgICAgICAgIFwiTnVtYmVyXCJcbiAgICAgICAgICBdKTtcbiAgICAgICAgICBpZiAoYXJncy5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiTmVnYXRlXCIsIGFyZ3MpO1xuICAgICAgICAgIHJldHVybiBjYW5vbmljYWxOZWdhdGUoYXJnc1swXSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IHByb2Nlc3NOZWdhdGUoY2UsIG9wczJbMF0sIFwic2ltcGxpZnlcIiksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHByb2Nlc3NOZWdhdGUoY2UsIG9wczJbMF0sIFwiZXZhbHVhdGVcIiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gcHJvY2Vzc05lZ2F0ZShjZSwgb3BzMlswXSwgXCJOXCIpLFxuICAgICAgICBzZ246IChfY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBjb25zdCBzID0gYXJnc1swXS5zZ247XG4gICAgICAgICAgaWYgKHMgPT09IHZvaWQgMCB8fCBzID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICBpZiAocyA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIGlmIChzID4gMClcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICBpZiAocyA8IDApXG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBQb3dlcjoge1xuICAgICAgd2lraWRhdGE6IFwiUTMzNDU2XCIsXG4gICAgICBjb21tdXRhdGl2ZTogZmFsc2UsXG4gICAgICBjb21wbGV4aXR5OiAzNTAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgICAgYXJncyA9IHZhbGlkYXRlQXJndW1lbnRzKGNlLCBjYW5vbmljYWwoZmxhdHRlblNlcXVlbmNlKGFyZ3MpKSwgW1xuICAgICAgICAgICAgXCJOdW1iZXJcIixcbiAgICAgICAgICAgIFwiTnVtYmVyXCJcbiAgICAgICAgICBdKTtcbiAgICAgICAgICBpZiAoYXJncy5sZW5ndGggIT09IDIpXG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiUG93ZXJcIiwgYXJncyk7XG4gICAgICAgICAgcmV0dXJuIGNlLnBvdyhhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gcHJvY2Vzc1Bvd2VyKGNlLCBvcHMyWzBdLCBvcHMyWzFdLCBcInNpbXBsaWZ5XCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBwcm9jZXNzUG93ZXIoY2UsIG9wczJbMF0sIG9wczJbMV0sIFwiZXZhbHVhdGVcIiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChjZS5udW1lcmljTW9kZSA9PT0gXCJtYWNoaW5lXCIgJiYgdHlwZW9mIG9wczJbMF0ubnVtZXJpY1ZhbHVlID09PSBcIm51bWJlclwiICYmIHR5cGVvZiBvcHMyWzFdLm51bWVyaWNWYWx1ZSA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoXG4gICAgICAgICAgICAgIE1hdGgucG93KG9wczJbMF0ubnVtZXJpY1ZhbHVlLCBvcHMyWzFdLm51bWVyaWNWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3NQb3dlcihjZSwgb3BzMlswXSwgb3BzMlsxXSwgXCJOXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIERlZmluZWQgYXMgUmVhbE51bWJlciBmb3IgYWxsIHBvd2VyIGluIFJlYWxOdW1iZXIgd2hlbiBiYXNlID4gMDtcbiAgICAgICAgLy8gd2hlbiB4IDwgMCwgb25seSBkZWZpbmVkIGlmIG4gaXMgYW4gaW50ZWdlclxuICAgICAgICAvLyBpZiB4IGlzIGEgbm9uLXplcm8gY29tcGxleCwgZGVmaW5lZCBhcyBDb21wbGV4TnVtYmVyXG4gICAgICAgIC8vIFNxdWFyZSByb290IG9mIGEgcHJpbWUgaXMgaXJyYXRpb25hbCAoQWxnZWJyYWljTnVtYmVyKVxuICAgICAgICAvLyBodHRwczovL3Byb29md2lraS5vcmcvd2lraS9TcXVhcmVfUm9vdF9vZl9QcmltZV9pc19JcnJhdGlvbmFsXG4gICAgICAgIC8vIGV2YWxEb21haW46IChjZSwgYmFzZTogQm94ZWRFeHByZXNzaW9uLCBwb3dlcjogQm94ZWRFeHByZXNzaW9uKSA7XG4gICAgICB9XG4gICAgfSxcbiAgICBQcm9kdWN0OiB7XG4gICAgICB3aWtpZGF0YTogXCJROTAxNzE4XCIsXG4gICAgICBjb21wbGV4aXR5OiAxZTMsXG4gICAgICBob2xkOiBcImZpcnN0XCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXG4gICAgICAgICAgXCJGdW5jdGlvblwiLFxuICAgICAgICAgIFwiQW55dGhpbmdcIixcbiAgICAgICAgICAvLyBbXG4gICAgICAgICAgLy8gICAnTWF5YmUnLFxuICAgICAgICAgIFwiVHVwbGVcIixcbiAgICAgICAgICAvLyBbJ1R1cGxlJywgJ1N5bWJvbCcsIFsnTWF5YmUnLCAnSW50ZWdlciddLCBbJ01heWJlJywgJ0ludGVnZXInXV0sXG4gICAgICAgICAgLy8gXSxcbiAgICAgICAgICBcIk51bWJlclwiXG4gICAgICAgIF0sXG4gICAgICAgIC8vIGNvZG9tYWluOiAoY2UsIGFyZ3MpID0+IGRvbWFpbkFkZChjZSwgYXJncyksXG4gICAgICAgIC8vIFRoZSAnYm9keScgYW5kICdyYW5nZScgbmVlZCB0byBiZSBpbnRlcnByZXRlZCBieSBjYW5vbmljYWxNdWx0aXBsaWNhdGlvbigpLiBEb24ndCBjYW5vbmljYWxpemUgdGhlbSB5ZXQuXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiBjYW5vbmljYWxQcm9kdWN0KGNlLCBvcHMyWzBdLCBvcHMyWzFdKSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gZXZhbE11bHRpcGxpY2F0aW9uKGNlLCBvcHMyWzBdLCBvcHMyWzFdLCBcInNpbXBsaWZ5XCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsTXVsdGlwbGljYXRpb24oY2UsIG9wczJbMF0sIG9wczJbMV0sIFwiZXZhbHVhdGVcIiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbE11bHRpcGxpY2F0aW9uKGNlLCBvcHMyWzBdLCBvcHMyWzFdLCBcIk5cIilcbiAgICAgIH1cbiAgICB9LFxuICAgIFJhdGlvbmFsOiB7XG4gICAgICBjb21wbGV4aXR5OiAyNDAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgW1wiTWF5YmVcIiwgXCJOdW1iZXJcIl0sIFwiUmF0aW9uYWxOdW1iZXJcIl0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgICAgYXJncyA9IGNhbm9uaWNhbChmbGF0dGVuU2VxdWVuY2UoYXJncykpO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJSYXRpb25hbFwiLCBbY2UuZXJyb3IoXCJtaXNzaW5nXCIpXSk7XG4gICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIlJhdGlvbmFsXCIsIFtcbiAgICAgICAgICAgICAgdmFsaWRhdGVBcmd1bWVudChjZSwgYXJnc1swXSwgXCJFeHRlbmRlZFJlYWxOdW1iZXJcIilcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIGFyZ3MgPSB2YWxpZGF0ZUFyZ3VtZW50cyhjZSwgYXJncywgW1wiSW50ZWdlclwiLCBcIkludGVnZXJcIl0pO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCAhPT0gMilcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJSYXRpb25hbFwiLCBhcmdzKTtcbiAgICAgICAgICByZXR1cm4gY2UuZGl2KGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICB9LFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoICE9PSAyKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICByZXR1cm4gc2ltcGxpZnlEaXZpZGUoY2UsIG9wczJbMF0sIG9wczJbMV0pO1xuICAgICAgICB9LFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBbbiwgZF0gPSBbYXNTbWFsbEludGVnZXIob3BzMlswXSksIGFzU21hbGxJbnRlZ2VyKG9wczJbMV0pXTtcbiAgICAgICAgICAgIGlmIChuICE9PSBudWxsICYmIGQgIT09IG51bGwpXG4gICAgICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoW24sIGRdKTtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGYgPSBhc0Zsb2F0KG9wczJbMF0uTigpKTtcbiAgICAgICAgICBpZiAoZiA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihyYXRpb25hbGl6ZShmKSk7XG4gICAgICAgIH0sXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiBvcHMyWzBdO1xuICAgICAgICAgIHJldHVybiBhcHBseTJOKFxuICAgICAgICAgICAgb3BzMlswXSxcbiAgICAgICAgICAgIG9wczJbMV0sXG4gICAgICAgICAgICAoYSwgYikgPT4gYSAvIGIsXG4gICAgICAgICAgICAoYSwgYikgPT4gYS5kaXYoYiksXG4gICAgICAgICAgICAoYSwgYikgPT4gYS5kaXYoYilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBSb290OiB7XG4gICAgICBjb21wbGV4aXR5OiAzMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgICAgYXJncyA9IGNhbm9uaWNhbChmbGF0dGVuU2VxdWVuY2UoYXJncykpO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCA+IDIpXG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiUm9vdFwiLCB2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGFyZ3MsIDIpKTtcbiAgICAgICAgICBjb25zdCBbYmFzZSwgZXhwMl0gPSBbXG4gICAgICAgICAgICB2YWxpZGF0ZUFyZ3VtZW50KGNlLCBhcmdzWzBdLCBcIk51bWJlclwiKSxcbiAgICAgICAgICAgIHZhbGlkYXRlQXJndW1lbnQoY2UsIGFyZ3NbMV0sIFwiTnVtYmVyXCIpXG4gICAgICAgICAgXTtcbiAgICAgICAgICBpZiAoIWV4cDIuaXNWYWxpZCB8fCAhYmFzZS5pc1ZhbGlkKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIlJvb3RcIiwgW2Jhc2UsIGV4cDJdKTtcbiAgICAgICAgICByZXR1cm4gY2UucG93KGJhc2UsIGNlLmludihleHAyKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFJvdW5kOiB7XG4gICAgICBjb21wbGV4aXR5OiAxMjUwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGFwcGx5TihcbiAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgIE1hdGgucm91bmQsXG4gICAgICAgICAgKHgpID0+IHgucm91bmQoKSxcbiAgICAgICAgICAoeCkgPT4geC5yb3VuZCgwKVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSxcbiAgICBTaWduOiB7XG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgW1wiUmFuZ2VcIiwgLTEsIDFdXSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IHMgPSBvcHMyWzBdLnNnbjtcbiAgICAgICAgICBpZiAocyA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fWkVSTztcbiAgICAgICAgICBpZiAocyA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiBjZS5fT05FO1xuICAgICAgICAgIGlmIChzID09PSAtMSlcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkVHQVRJVkVfT05FO1xuICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgIH0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCBzID0gb3BzMlswXS5zZ247XG4gICAgICAgICAgaWYgKHMgPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICAgICAgaWYgKHMgPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX09ORTtcbiAgICAgICAgICBpZiAocyA9PT0gLTEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX05FR0FUSVZFX09ORTtcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9LFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCBzID0gb3BzMlswXS5zZ247XG4gICAgICAgICAgaWYgKHMgPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICAgICAgaWYgKHMgPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX09ORTtcbiAgICAgICAgICBpZiAocyA9PT0gLTEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX05FR0FUSVZFX09ORTtcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBTaWduR2FtbWE6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzaWduIG9mIHRoZSBnYW1tYSBmdW5jdGlvbjogLTEgb3IgKzFcIixcbiAgICAgIGNvbXBsZXhpdHk6IDc5MDBcbiAgICAgIC8vIEB0b2RvXG4gICAgfSxcbiAgICBTcXJ0OiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJTcXVhcmUgUm9vdFwiLFxuICAgICAgd2lraWRhdGE6IFwiUTEzNDIzN1wiLFxuICAgICAgY29tcGxleGl0eTogM2UzLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgICAgYXJncyA9IGNhbm9uaWNhbChmbGF0dGVuU2VxdWVuY2UoYXJncykpO1xuICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJTcXJ0XCIsIGFyZ3MpO1xuICAgICAgICAgIHJldHVybiBjZS5wb3coYXJnc1swXSwgY2UuX0hBTEYpO1xuICAgICAgICB9LFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBwcm9jZXNzU3FydChjZSwgb3BzMlswXSwgXCJzaW1wbGlmeVwiKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gcHJvY2Vzc1NxcnQoY2UsIG9wczJbMF0sIFwiZXZhbHVhdGVcIiksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gcHJvY2Vzc1NxcnQoY2UsIG9wczJbMF0sIFwiTlwiKVxuICAgICAgICAvLyBldmFsRG9tYWluOiBTcXVhcmUgcm9vdCBvZiBhIHByaW1lIGlzIGlycmF0aW9uYWxcbiAgICAgICAgLy8gaHR0cHM6Ly9wcm9vZndpa2kub3JnL3dpa2kvU3F1YXJlX1Jvb3Rfb2ZfUHJpbWVfaXNfSXJyYXRpb25hbFxuICAgICAgfVxuICAgIH0sXG4gICAgU3F1YXJlOiB7XG4gICAgICB3aWtpZGF0YTogXCJRMzA3NTE3NVwiLFxuICAgICAgY29tcGxleGl0eTogMzEwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4ge1xuICAgICAgICAgIGFyZ3MgPSBjYW5vbmljYWwoZmxhdHRlblNlcXVlbmNlKGFyZ3MpKTtcbiAgICAgICAgICBpZiAoYXJncy5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiU3F1YXJlXCIsIGFyZ3MpO1xuICAgICAgICAgIHJldHVybiBjZS5wb3coYXJnc1swXSwgY2UubnVtYmVyKDIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgU3VidHJhY3Q6IHtcbiAgICAgIHdpa2lkYXRhOiBcIlE0MDc1NFwiLFxuICAgICAgY29tcGxleGl0eTogMTM1MCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFtcIk1heWJlXCIsIFwiTnVtYmVyXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBhcmdzID0gY2Fub25pY2FsKGZsYXR0ZW5TZXF1ZW5jZShhcmdzKSk7XG4gICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKVxuICAgICAgICAgICAgcmV0dXJuIGNhbm9uaWNhbE5lZ2F0ZShhcmdzWzBdKTtcbiAgICAgICAgICBhcmdzID0gdmFsaWRhdGVBcmd1bWVudENvdW50KGNlLCBhcmdzLCAyKTtcbiAgICAgICAgICBpZiAoYXJncy5sZW5ndGggIT09IDIpXG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiU3VidHJhY3RcIiwgYXJncyk7XG4gICAgICAgICAgaWYgKCFhcmdzLmV2ZXJ5KCh4KSA9PiB4LmlzVmFsaWQpKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIlN1YnRyYWN0XCIsIGFyZ3MpO1xuICAgICAgICAgIHJldHVybiBjZS5hZGQoW2FyZ3NbMF0sIGNhbm9uaWNhbE5lZ2F0ZShhcmdzWzFdKV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBTdW06IHtcbiAgICAgIHdpa2lkYXRhOiBcIlEyMTgwMDVcIixcbiAgICAgIGNvbXBsZXhpdHk6IDFlMyxcbiAgICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXG4gICAgICAgICAgXCJGdW5jdGlvblwiLFxuICAgICAgICAgIFwiQW55dGhpbmdcIixcbiAgICAgICAgICAvLyBbXG4gICAgICAgICAgLy8gICAnTWF5YmUnLFxuICAgICAgICAgIFwiVHVwbGVcIixcbiAgICAgICAgICAvLyBbJ1R1cGxlJywgJ1N5bWJvbCcsIFsnTWF5YmUnLCAnSW50ZWdlciddLCBbJ01heWJlJywgJ0ludGVnZXInXV0sXG4gICAgICAgICAgLy8gXSxcbiAgICAgICAgICBcIk51bWJlclwiXG4gICAgICAgIF0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiBjYW5vbmljYWxTdW1tYXRpb24oY2UsIG9wczJbMF0sIG9wczJbMV0pLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBldmFsU3VtbWF0aW9uKGNlLCBvcHMyWzBdLCBvcHMyWzFdLCBcInNpbXBsaWZ5XCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsU3VtbWF0aW9uKGNlLCBvcHMyWzBdLCBvcHMyWzFdLCBcImV2YWx1YXRlXCIpLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxTdW1tYXRpb24oY2UsIG9wczJbMF0sIG9wczJbMV0sIFwiTlwiKVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAge1xuICAgIC8vXG4gICAgLy8gQ29uc3RhbnRzXG4gICAgLy8gTm90ZTogY29uc3RhbnRzIGFyZSBwdXQgaW4gYSBzZXBhcmF0ZSwgc3Vic2VxdWVudCwgZGljdGlvbmFyeSBiZWNhdXNlXG4gICAgLy8gc29tZSBvZiB0aGUgdmFsdWVzIChDYXRhbGFuQ29uc3RhbnQpIHJlZmVyZW5jZSBzb21lIGZ1bmN0aW9uIG5hbWVzIChBZGQuLi4pXG4gICAgLy8gdGhhdCBhcmUgZGVmaW5lZCBhYm92ZS4gVGhpcyBhdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzLlxuICAgIC8vXG4gICAgZToge1xuICAgICAgZG9tYWluOiBcIlRyYW5zY2VuZGVudGFsTnVtYmVyXCIsXG4gICAgICBjb25zdGFudDogdHJ1ZSxcbiAgICAgIGhvbGRVbnRpbDogXCJuZXZlclwiLFxuICAgICAgdmFsdWU6IFwiRXhwb25lbnRpYWxFXCJcbiAgICB9LFxuICAgIGk6IHtcbiAgICAgIGRvbWFpbjogXCJJbWFnaW5hcnlOdW1iZXJcIixcbiAgICAgIGNvbnN0YW50OiB0cnVlLFxuICAgICAgaG9sZFVudGlsOiBcIm5ldmVyXCIsXG4gICAgICBmbGFnczogeyBpbWFnaW5hcnk6IHRydWUgfSxcbiAgICAgIHZhbHVlOiBcIkltYWdpbmFyeVVuaXRcIlxuICAgIH0sXG4gICAgTWFjaGluZUVwc2lsb246IHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAxIGFuZCB0aGUgbmV4dCBsYXJnZXIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyXG4gICAgICAgKlxuICAgICAgICogICAgMl57XHUyMjEyNTJ9XG4gICAgICAgKlxuICAgICAgICogU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01hY2hpbmVfZXBzaWxvblxuICAgICAgICovXG4gICAgICBkb21haW46IFwiUmVhbE51bWJlclwiLFxuICAgICAgaG9sZFVudGlsOiBcIk5cIixcbiAgICAgIGNvbnN0YW50OiB0cnVlLFxuICAgICAgZmxhZ3M6IHsgcmVhbDogdHJ1ZSB9LFxuICAgICAgdmFsdWU6IHsgbnVtOiBOdW1iZXIuRVBTSUxPTi50b1N0cmluZygpIH1cbiAgICB9LFxuICAgIEhhbGY6IHtcbiAgICAgIGNvbnN0YW50OiB0cnVlLFxuICAgICAgaG9sZFVudGlsOiBcImV2YWx1YXRlXCIsXG4gICAgICB2YWx1ZTogW1wiUmF0aW9uYWxcIiwgMSwgMl1cbiAgICB9LFxuICAgIEltYWdpbmFyeVVuaXQ6IHtcbiAgICAgIGRvbWFpbjogXCJJbWFnaW5hcnlOdW1iZXJcIixcbiAgICAgIGNvbnN0YW50OiB0cnVlLFxuICAgICAgaG9sZFVudGlsOiBcImV2YWx1YXRlXCIsXG4gICAgICB3aWtpZGF0YTogXCJRMTkzNzk2XCIsXG4gICAgICBmbGFnczogeyBpbWFnaW5hcnk6IHRydWUgfSxcbiAgICAgIHZhbHVlOiBbXCJDb21wbGV4XCIsIDAsIDFdXG4gICAgfSxcbiAgICBFeHBvbmVudGlhbEU6IHtcbiAgICAgIGRvbWFpbjogXCJUcmFuc2NlbmRlbnRhbE51bWJlclwiLFxuICAgICAgZmxhZ3M6IHsgYWxnZWJyYWljOiBmYWxzZSwgcmVhbDogdHJ1ZSB9LFxuICAgICAgd2lraWRhdGE6IFwiUTgyNDM1XCIsXG4gICAgICBjb25zdGFudDogdHJ1ZSxcbiAgICAgIGhvbGRVbnRpbDogXCJOXCIsXG4gICAgICB2YWx1ZTogKGVuZ2luZSkgPT4gYmlnbnVtUHJlZmVycmVkKGVuZ2luZSkgPyBlbmdpbmUuX0JJR05VTV9PTkUuZXhwKCkgOiBNYXRoLmV4cCgxKVxuICAgIH0sXG4gICAgR29sZGVuUmF0aW86IHtcbiAgICAgIGRvbWFpbjogXCJBbGdlYnJhaWNOdW1iZXJcIixcbiAgICAgIHdpa2lkYXRhOiBcIlE0MTY5MFwiLFxuICAgICAgY29uc3RhbnQ6IHRydWUsXG4gICAgICBmbGFnczogeyBhbGdlYnJhaWM6IHRydWUgfSxcbiAgICAgIGhvbGRVbnRpbDogXCJzaW1wbGlmeVwiLFxuICAgICAgdmFsdWU6IFtcIkRpdmlkZVwiLCBbXCJBZGRcIiwgMSwgW1wiU3FydFwiLCA1XV0sIDJdXG4gICAgfSxcbiAgICBDYXRhbGFuQ29uc3RhbnQ6IHtcbiAgICAgIGRvbWFpbjogXCJSZWFsTnVtYmVyXCIsXG4gICAgICBmbGFnczogeyBhbGdlYnJhaWM6IHZvaWQgMCB9LFxuICAgICAgLy8gTm90IHByb3ZlbiBpcnJhdGlvbmFsIG9yIHRyYW5zY2VuZGVudGFsXG4gICAgICB3aWtpZGF0YTogXCJRODU1MjgyXCIsXG4gICAgICBjb25zdGFudDogdHJ1ZSxcbiAgICAgIGhvbGRVbnRpbDogXCJOXCIsXG4gICAgICB2YWx1ZToge1xuICAgICAgICAvLyBGcm9tIGh0dHA6Ly93d3cuZnVsbGJvb2tzLmNvbS9NaXNjZWxsYW5lb3VzLU1hdGhlbWF0aWNhbC1Db25zdGFudHMxLmh0bWxcbiAgICAgICAgbnVtOiBgMC45MTU5NjU1OTQxNzcyMTkwMTUwNTQ2MDM1MTQ5MzIzODQxMTA3NzQxNDkzNzQyODE2N1xuICAgICAgICAgICAgICAgICAgMjEzNDI2NjQ5ODExOTYyMTc2MzAxOTc3NjI1NDc2OTQ3OTM1NjUxMjkyNjExNTEwNjJcbiAgICAgICAgICAgICAgICAgIDQ4NTc0NDIyNjE5MTk2MTk5NTc5MDM1ODk4ODAzMzI1ODU5MDU5NDMxNTk0NzM3NDgxXG4gICAgICAgICAgICAgICAgICAxNTg0MDY5OTUzMzIwMjg3NzMzMTk0NjA1MTkwMzg3Mjc0NzgxNjQwODc4NjU5MDkwMlxuICAgICAgICAgICAgICAgICAgNDcwNjQ4NDE1MjE2MzAwMDIyODcyNzY0MDk0MjM4ODI1OTk1Nzc0MTUwODgxNjM5NzRcbiAgICAgICAgICAgICAgICAgIDcwMjUyNDgyMDExNTYwNzA3NjQ0ODgzODA3ODczMzcwNDg5OTAwODY0Nzc1MTEzMjI1XG4gICAgICAgICAgICAgICAgICA5OTcxMzQzNDA3NDg1NDA3NTUzMjMwNzY4NTY1MzM1NzY4MDk1ODM1MjYwMjE5MzgyM1xuICAgICAgICAgICAgICAgICAgMjM5NTA4MDA3MjA2ODAzNTU3NjEwNDgyMzU3MzM5NDIzMTkxNDk4Mjk4MzYxODk5NzdcbiAgICAgICAgICAgICAgICAgIDA2OTAzNjQwNDE4MDg2MjE3OTQxMTAxOTE3NTMyNzQzMTQ5OTc4MjMzOTc2MTA1NTEyXG4gICAgICAgICAgICAgICAgICAyNDc3OTUzMDMyNDg3NTM3MTg3ODY2NTgyODA4MjM2MDU3MDIyNTU5NDE5NDgxODA5N1xuICAgICAgICAgICAgICAgICAgNTM1MDk3MTEzMTU3MTI2MTU4MDQyNDI3MjM2MzY0Mzk4NTAwMTczODI4NzU5Nzc5NzZcbiAgICAgICAgICAgICAgICAgIDUzMDY4MzcwMDkyOTgwODczODg3NDk1NjEwODkzNjU5NzcxOTQwOTY4NzI2ODQ0NDQxXG4gICAgICAgICAgICAgICAgICA2NjgwNDYyMTYyNDMzOTg2NDgzODkxNjI4MDQ0ODI4MTUwNjI3MzAyMjc0MjA3Mzg4NFxuICAgICAgICAgICAgICAgICAgMzExNzIyMTgyNzIxOTA0NzIyNTU4NzA1MzE5MDg2ODU3MzU0MjM0OTg1Mzk0OTgzMDlcbiAgICAgICAgICAgICAgICAgIDkxOTExNTk2NzM4ODQ2NDUwODYxNTE1MjQ5OTYyNDIzNzA0Mzc0NTE3NzczNzIzNTE3XG4gICAgICAgICAgICAgICAgICA3NTQ0MDcwODUzODQ2NDQwMTMyMTc0ODM5Mjk5OTk0NzU3MjQ0NjE5OTc1NDk2MTk3NVxuICAgICAgICAgICAgICAgICAgODcwNjQwMDc0NzQ4NzA3MDE0OTA5Mzc2Nzg4NzMwNDU4Njk5Nzk4NjA2NDQ4NzQ5NzRcbiAgICAgICAgICAgICAgICAgIDY0Mzg3MjA2MjM4NTEzNzEyMzkyNzM2MzA0OTk4NTAzNTM5MjIzOTI4Nzg3OTc5MDYzXG4gICAgICAgICAgICAgICAgICAzNjQ0MDMyMzU0Nzg0NTM1ODUxOTI3Nzc3Nzg3MjcwOTA2MDgzMDMxOTk0MzAxMzMyM1xuICAgICAgICAgICAgICAgICAgMTY3MTI0NzYxNTg3MDk3OTI0NTU0NzkxMTkwOTIxMjYyMDE4NTQ4MDM5NjM5MzQyNDNcbiAgICAgICAgICAgICAgICAgIGBcbiAgICAgIH1cbiAgICB9LFxuICAgIEV1bGVyR2FtbWE6IHtcbiAgICAgIC8vIEZyb20gaHR0cDovL3d3dy5mdWxsYm9va3MuY29tL01pc2NlbGxhbmVvdXMtTWF0aGVtYXRpY2FsLUNvbnN0YW50czIuaHRtbFxuICAgICAgZG9tYWluOiBcIlJlYWxOdW1iZXJcIixcbiAgICAgIGZsYWdzOiB7IGFsZ2VicmFpYzogdm9pZCAwIH0sXG4gICAgICAvLyBOb3QgcHJvdmVuIGlycmF0aW9uYWwgb3IgdHJhbnNjZW5kZW50YWxcbiAgICAgIHdpa2lkYXRhOiBcIlEyNzMwMjNcIixcbiAgICAgIGhvbGRVbnRpbDogXCJOXCIsXG4gICAgICBjb25zdGFudDogdHJ1ZSxcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIG51bTogYDAuNTc3MjE1NjY0OTAxNTMyODYwNjA2NTEyMDkwMDgyNDAyNDMxMDQyMTU5MzM1OTM5OTIzNTk4ODA1NzY3MjM0ODg0ODY3NzI2Nzc3NjZcbiAgICAgICAgICA0NjcwOTM2OTQ3MDYzMjkxNzQ2NzQ5NTE0NjMxNDQ3MjQ5ODA3MDgyNDgwOTYwNTA0MDE0NDg2NTQyODM2MjI0MTczOTk3NjQ0OTIzNTNcbiAgICAgICAgICA2MjUzNTAwMzMzNzQyOTM3MzM3NzM3NjczOTQyNzkyNTk1MjU4MjQ3MDk0OTE2MDA4NzM1MjAzOTQ4MTY1NjcwODUzMjMzMTUxNzc2NjFcbiAgICAgICAgICAxNTI4NjIxMTk5NTAxNTA3OTg0NzkzNzQ1MDg1NzA1NzQwMDI5OTIxMzU0Nzg2MTQ2Njk0MDI5NjA0MzI1NDIxNTE5MDU4Nzc1NTM1MjZcbiAgICAgICAgICA3MzMxMzk5MjU0MDEyOTY3NDIwNTEzNzU0MTM5NTQ5MTExNjg1MTAyODA3OTg0MjM0ODc3NTg3MjA1MDM4NDMxMDkzOTk3MzYxMzcyNTVcbiAgICAgICAgICAzMDYwODg5MzMxMjY3NjAwMTcyNDc5NTM3ODM2NzU5MjcxMzUxNTc3MjI2MTAyNzM0OTI5MTM5NDA3OTg0MzAxMDM0MTc3NzE3NzgwODhcbiAgICAgICAgICAxNTQ5NTcwNjYxMDc1MDEwMTYxOTE2NjMzNDAxNTIyNzg5MzU4Njc5NjU0OTcyNTIwMzYyMTI4NzkyMjY1NTU5NTM2Njk2MjgxNzYzODhcbiAgICAgICAgICA3OTI3MjY4MDEzMjQzMTAxMDQ3NjUwNTk2MzcwMzk0NzM5NDk1NzYzODkwNjU3Mjk2NzkyOTYwMTAwOTAxNTEyNTE5NTk1MDkyMjI0MzVcbiAgICAgICAgICAwMTQwOTM0OTg3MTIyODI0Nzk0OTc0NzE5NTY0Njk3NjMxODUwNjY3NjEyOTA2MzgxMTA1MTgyNDE5NzQ0NDg2NzgzNjM4MDg2MTc0OTRcbiAgICAgICAgICA1NTE2OTg5Mjc5MjMwMTg3NzM5MTA3Mjk0NTc4MTU1NDMxNjAwNTAwMjE4Mjg0NDA5NjA1Mzc3MjQzNDIwMzI4NTQ3ODM2NzAxNTE3NzNcbiAgICAgICAgICA5NDM5ODcwMDMwMjM3MDMzOTUxODMyODY5MDAwMTU1ODE5Mzk4ODA0MjcwNzQxMTU0MjIyNzgxOTcxNjUyMzAxMTA3MzU2NTgzMzk2NzNgXG4gICAgICB9XG4gICAgfVxuICB9LFxuICB7XG4gICAgUHJlSW5jcmVtZW50OiB7XG4gICAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiXSB9XG4gICAgfSxcbiAgICBQcmVEZWNyZW1lbnQ6IHtcbiAgICAgIHNpZ25hdHVyZTogeyBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdIH1cbiAgICB9XG4gIH1cbl07XG5mdW5jdGlvbiBwcm9jZXNzQWJzKGNlLCBhcmcsIG1vZGUpIHtcbiAgaWYgKG1vZGUgIT09IFwic2ltcGxpZnlcIikge1xuICAgIGNvbnN0IG51bSA9IGFyZy5udW1lcmljVmFsdWU7XG4gICAgaWYgKG51bSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIpXG4gICAgICAgIHJldHVybiBjZS5udW1iZXIoTWF0aC5hYnMobnVtKSk7XG4gICAgICBpZiAobnVtIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKG51bS5hYnMoKSk7XG4gICAgICBpZiAobnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxNi5kZWZhdWx0KVxuICAgICAgICByZXR1cm4gY2UubnVtYmVyKG51bS5hYnMoKSk7XG4gICAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwobnVtKSlcbiAgICAgICAgcmV0dXJuIGNlLm51bWJlcihcbiAgICAgICAgICBtb2RlID09PSBcIk5cIiA/IE1hdGguYWJzKG51bVswXSAvIG51bVsxXSkgOiBbTWF0aC5hYnMobnVtWzBdKSwgbnVtWzFdXVxuICAgICAgICApO1xuICAgICAgaWYgKGlzQmlnUmF0aW9uYWwobnVtKSkge1xuICAgICAgICBjb25zdCBbbiwgZF0gPSBudW07XG4gICAgICAgIHJldHVybiBjZS5udW1iZXIoXG4gICAgICAgICAgbW9kZSA9PT0gXCJOXCIgPyBjZS5iaWdudW0obikuZGl2KGNlLmJpZ251bShkKSkuYWJzKCkgOiBbbiA+IDAgPyBuIDogLW4sIGRdXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChhcmcuaXNOb25OZWdhdGl2ZSlcbiAgICByZXR1cm4gYXJnO1xuICBpZiAoYXJnLmlzTmVnYXRpdmUpXG4gICAgcmV0dXJuIGNlLm5lZyhhcmcpO1xuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9jYWxjdWx1cy50c1xudmFyIENBTENVTFVTX0xJQlJBUlkgPSBbXG4gIHtcbiAgICAvL1xuICAgIC8vIEZ1bmN0aW9uc1xuICAgIC8vXG4gICAgSW50ZWdyYXRlOiB7XG4gICAgICB3aWtpZGF0YTogXCJRODAwOTFcIixcbiAgICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXG4gICAgICAgICAgXCJGdW5jdGlvblwiLFxuICAgICAgICAgIFwiQW55dGhpbmdcIixcbiAgICAgICAgICBbXCJVbmlvblwiLCBcIk5vdGhpbmdcIiwgXCJUdXBsZVwiLCBcIlN5bWJvbFwiXSxcbiAgICAgICAgICAvLyBbJ1R1cGxlJywgJ1N5bWJvbCcsIFsnTWF5YmUnLCAnSW50ZWdlciddLCBbJ01heWJlJywgJ0ludGVnZXInXV0sXG4gICAgICAgICAgXCJOdW1iZXJcIlxuICAgICAgICBdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSBvcHMyWzBdID8/IGNlLmVycm9yKFwibWlzc2luZ1wiKTtcbiAgICAgICAgICBsZXQgcmFuZ2UgPSBvcHMyWzFdO1xuICAgICAgICAgIGxldCBpbmRleCA9IG51bGw7XG4gICAgICAgICAgbGV0IGxvd2VyID0gbnVsbDtcbiAgICAgICAgICBsZXQgdXBwZXIgPSBudWxsO1xuICAgICAgICAgIGlmIChyYW5nZSAmJiByYW5nZS5oZWFkICE9PSBcIlR1cGxlXCIgJiYgcmFuZ2UuaGVhZCAhPT0gXCJUcmlwbGVcIiAmJiByYW5nZS5oZWFkICE9PSBcIlBhaXJcIiAmJiByYW5nZS5oZWFkICE9PSBcIlNpbmdsZVwiKSB7XG4gICAgICAgICAgICBpbmRleCA9IHJhbmdlO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmFuZ2UpIHtcbiAgICAgICAgICAgIGluZGV4ID0gcmFuZ2Uub3BzPy5bMF0gPz8gbnVsbDtcbiAgICAgICAgICAgIGxvd2VyID0gcmFuZ2Uub3BzPy5bMV0/LmNhbm9uaWNhbCA/PyBudWxsO1xuICAgICAgICAgICAgdXBwZXIgPSByYW5nZS5vcHM/LlsyXT8uY2Fub25pY2FsID8/IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbmRleCAmJiBpbmRleC5oZWFkID09PSBcIkhvbGRcIilcbiAgICAgICAgICAgIGluZGV4ID0gaW5kZXgub3AxO1xuICAgICAgICAgIGlmIChpbmRleCAmJiBpbmRleC5oZWFkID09PSBcIlJlbGVhc2VIb2xkXCIpXG4gICAgICAgICAgICBpbmRleCA9IGluZGV4Lm9wMS5ldmFsdWF0ZSgpO1xuICAgICAgICAgIGluZGV4ID8/IChpbmRleCA9IGNlLnN5bWJvbChcIk5vdGhpbmdcIikpO1xuICAgICAgICAgIGlmICghaW5kZXguc3ltYm9sKVxuICAgICAgICAgICAgaW5kZXggPSBjZS5lcnJvcihbXCJpbmNvbXBhdGlibGUtZG9tYWluXCIsIFwiU3ltYm9sXCIsIGluZGV4LmRvbWFpbl0pO1xuICAgICAgICAgIGlmIChsb3dlcilcbiAgICAgICAgICAgIGxvd2VyID0gdmFsaWRhdGVBcmd1bWVudChjZSwgbG93ZXIsIFwiTnVtYmVyXCIpO1xuICAgICAgICAgIGlmICh1cHBlcilcbiAgICAgICAgICAgIHVwcGVyID0gdmFsaWRhdGVBcmd1bWVudChjZSwgdXBwZXIsIFwiTnVtYmVyXCIpO1xuICAgICAgICAgIGlmIChsb3dlciAmJiB1cHBlcilcbiAgICAgICAgICAgIHJhbmdlID0gY2UudHVwbGUoW2luZGV4LCBsb3dlciwgdXBwZXJdKTtcbiAgICAgICAgICBlbHNlIGlmICh1cHBlcilcbiAgICAgICAgICAgIHJhbmdlID0gY2UudHVwbGUoW2luZGV4LCBjZS5fTkVHQVRJVkVfSU5GSU5JVFksIHVwcGVyXSk7XG4gICAgICAgICAgZWxzZSBpZiAobG93ZXIpXG4gICAgICAgICAgICByYW5nZSA9IGNlLnR1cGxlKFtpbmRleCwgbG93ZXJdKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICByYW5nZSA9IGluZGV4O1xuICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJJbnRlZ3JhdGVcIiwgW2JvZHkuY2Fub25pY2FsLCByYW5nZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5dO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9jb2xsZWN0aW9ucy50c1xudmFyIENPTExFQ1RJT05TX0xJQlJBUlkgPSB7XG4gIFNlcXVlbmNlOiB7XG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiRnVuY3Rpb25cIlxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvY29tcGxleC50c1xudmFyIENPTVBMRVhfTElCUkFSWSA9IFtcbiAge1xuICAgIFJlYWw6IHtcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCBvcDMgPSBvcHMyWzBdLm51bWVyaWNWYWx1ZTtcbiAgICAgICAgICBpZiAob3AzID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICBpZiAoY2UuaXNDb21wbGV4KG9wMykpXG4gICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKG9wMy5yZSk7XG4gICAgICAgICAgcmV0dXJuIG9wczJbMF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIEltYWdpbmFyeToge1xuICAgICAgdGhyZWFkYWJsZTogdHJ1ZSxcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wMyA9IG9wczJbMF0ubnVtZXJpY1ZhbHVlO1xuICAgICAgICAgIGlmIChvcDMgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIGlmIChjZS5pc0NvbXBsZXgob3AzKSlcbiAgICAgICAgICAgIHJldHVybiBjZS5udW1iZXIob3AzLmltKTtcbiAgICAgICAgICByZXR1cm4gY2UuX1pFUk87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIEFyZ3VtZW50OiB7XG4gICAgICB0aHJlYWRhYmxlOiB0cnVlLFxuICAgICAgY29tcGxleGl0eTogMTIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3AzID0gb3BzMlswXS5udW1lcmljVmFsdWU7XG4gICAgICAgICAgaWYgKG9wMyA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgaWYgKGNlLmlzQ29tcGxleChvcDMpKVxuICAgICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihvcDMuYXJnKCkpO1xuICAgICAgICAgIGNvbnN0IGYgPSBhc0Zsb2F0KG9wczJbMF0pO1xuICAgICAgICAgIGlmIChmID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICBpZiAoZiA+PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLm51bWJlcigwKTtcbiAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKE1hdGguUEkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBBYnNBcmc6IHtcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJUdXBsZVwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wMyA9IG9wczJbMF0ubnVtZXJpY1ZhbHVlO1xuICAgICAgICAgIGlmIChvcDMgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIGlmIChjZS5pc0NvbXBsZXgob3AzKSlcbiAgICAgICAgICAgIHJldHVybiBjZS50dXBsZShbY2UubnVtYmVyKG9wMy5hYnMoKSksIGNlLm51bWJlcihvcDMuYXJnKCkpXSk7XG4gICAgICAgICAgY29uc3QgZiA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgICAgICAgaWYgKGYgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIHJldHVybiBjZS50dXBsZShbXG4gICAgICAgICAgICBjZS5udW1iZXIoTWF0aC5hYnMoZikpLFxuICAgICAgICAgICAgY2UubnVtYmVyKGYgPj0gMCA/IDAgOiBNYXRoLlBJKVxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBDb25qdWdhdGU6IHtcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCBvcDMgPSBvcHMyWzBdLm51bWVyaWNWYWx1ZTtcbiAgICAgICAgICBpZiAob3AzID09PSBudWxsIHx8ICFjZS5pc0NvbXBsZXgob3AzKSlcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihvcDMuY29uanVnYXRlKCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBDb21wbGV4Um9vdHM6IHtcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIiwgXCJMaXN0XCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgICAgICAgY29uc3QgbiA9IGFzRmxvYXQob3BzMlsxXSk7XG4gICAgICAgICAgaWYgKHggPT09IG51bGwgfHwgbiA9PT0gbnVsbCB8fCAhTnVtYmVyLmlzSW50ZWdlcihuKSB8fCBuIDw9IDApXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIGNvbnN0IHJvb3RzID0gW107XG4gICAgICAgICAgY29uc3QgW3JlLCBpbV0gPSBjZS5pc0NvbXBsZXgoeCkgPyBbeC5yZSwgeC5pbV0gOiBbeCwgMF07XG4gICAgICAgICAgY29uc3QgYXJnID0gTWF0aC5hdGFuMihpbSwgcmUpO1xuICAgICAgICAgIGNvbnN0IG1vZDIgPSBNYXRoLnNxcnQocmUgKiByZSArIGltICogaW0pO1xuICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgbjsgaysrKSB7XG4gICAgICAgICAgICBjb25zdCB0aGV0YSA9IChhcmcgKyAyICogTWF0aC5QSSAqIGspIC8gbjtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBNYXRoLnBvdyhtb2QyLCAxIC8gbik7XG4gICAgICAgICAgICByb290cy5wdXNoKFtyICogTWF0aC5jb3ModGhldGEpLCByICogTWF0aC5zaW4odGhldGEpXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjZS5ib3goW1xuICAgICAgICAgICAgXCJMaXN0XCIsXG4gICAgICAgICAgICAuLi5yb290cy5tYXAoXG4gICAgICAgICAgICAgIChyKSA9PiBjZS5udW1iZXIoclsxXSAhPT0gMCA/IGNlLmNvbXBsZXgoclswXSwgclsxXSkgOiByWzBdKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEZvciBBYnMgKG1hZ25pdHVkZSkgc2VlIHNyYy9jb21wdXRlLWVuZ2luZS9saWJyYXJ5L3Byb2Nlc3NBYnNcbiAgfVxuXTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvcmFuZG9tLWV4cHJlc3Npb24udHNcbmZ1bmN0aW9uIG9uZU9mKHhzKSB7XG4gIHJldHVybiB4c1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB4cy5sZW5ndGgpXTtcbn1cbmZ1bmN0aW9uIHJhbmRvbUV4cHJlc3Npb25XaXRoSGVhZChoZWFkMiwgbGV2ZWwpIHtcbiAgaWYgKGhlYWQyID09PSBcIkFkZFwiIHx8IGhlYWQyID09PSBcIk11bHRpcGx5XCIpIHtcbiAgICBjb25zdCBvcHMyID0gW107XG4gICAgbGV0IGNvdW50ID0gMSArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEyKTtcbiAgICB3aGlsZSAoY291bnQgPiAwKSB7XG4gICAgICBvcHMyLnB1c2gocmFuZG9tRXhwcmVzc2lvbihsZXZlbCArIDEpKTtcbiAgICAgIGNvdW50IC09IDE7XG4gICAgfVxuICAgIHJldHVybiBbaGVhZDIsIC4uLm9wczJdO1xuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJEaXZpZGVcIiB8fCBoZWFkMiA9PT0gXCJQb3dlclwiKSB7XG4gICAgcmV0dXJuIFtoZWFkMiwgcmFuZG9tRXhwcmVzc2lvbihsZXZlbCArIDEpLCByYW5kb21FeHByZXNzaW9uKGxldmVsICsgMSldO1xuICB9XG4gIGlmIChoZWFkMiA9PT0gXCJSb290XCIpIHtcbiAgICByZXR1cm4gW2hlYWQyLCByYW5kb21FeHByZXNzaW9uKGxldmVsICsgMSksIHJhbmRvbUV4cHJlc3Npb24oMTApXTtcbiAgfVxuICBpZiAoaGVhZDIgPT09IFwidHJpZ1wiKVxuICAgIHJldHVybiByYW5kb21UcmlnKCk7XG4gIHJldHVybiBbaGVhZDIsIHJhbmRvbUV4cHJlc3Npb24obGV2ZWwgKyAxKV07XG59XG5mdW5jdGlvbiByYW5kb21UcmlnKCkge1xuICByZXR1cm4gW1xuICAgIG9uZU9mKFtcbiAgICAgIFwiQ29zXCIsXG4gICAgICBcIlNpblwiLFxuICAgICAgXCJUYW5cIixcbiAgICAgIFwiU2luaFwiLFxuICAgICAgXCJBcmNjb3NcIixcbiAgICAgIFwiQXJzaW5oXCIsXG4gICAgICBbXCJJbnZlcnNlRnVuY3Rpb25cIiwgXCJDb3NcIl1cbiAgICBdKSxcbiAgICBvbmVPZihbXG4gICAgICBcIlBpXCIsXG4gICAgICBcIi0xXCIsXG4gICAgICBcIjBcIixcbiAgICAgIFwiMVwiLFxuICAgICAgW1wiRGl2aWRlXCIsIFwiUGlcIiwgLTVdLFxuICAgICAgW1wiTXVsdGlwbHlcIiwgLTIsIFtcIkRpdmlkZVwiLCBcIlBpXCIsIDExXV0sXG4gICAgICBbXCJNdWx0aXBseVwiLCBcIkhhbGZcIiwgXCJQaVwiXSxcbiAgICAgIFtcIk11bHRpcGx5XCIsIDUsIFwiUGlcIl0sXG4gICAgICBbXCJNdWx0aXBseVwiLCAxMiwgXCJQaVwiXSxcbiAgICAgIFtcIkRpdmlkZVwiLCBcIlBpXCIsIDVdLFxuICAgICAgW1wiRGl2aWRlXCIsIFwiUGlcIiwgOV0sXG4gICAgICBbXCJNdWx0aXBseVwiLCA1LCBbXCJEaXZpZGVcIiwgXCJQaVwiLCA5XV0sXG4gICAgICBbXCJNdWx0aXBseVwiLCAyLCBbXCJEaXZpZGVcIiwgXCJQaVwiLCAxMV1dLFxuICAgICAgW1wiTXVsdGlwbHlcIiwgMiwgW1wiRGl2aWRlXCIsIFwiUGlcIiwgM11dXG4gICAgXSlcbiAgXTtcbn1cbmZ1bmN0aW9uIHJhbmRvbUV4cHJlc3Npb24obGV2ZWwpIHtcbiAgbGV2ZWwgPz8gKGxldmVsID0gMSk7XG4gIGlmIChsZXZlbCA9PT0gMSkge1xuICAgIGNvbnN0IGggPSBvbmVPZihbXG4gICAgICBbXG4gICAgICAgIFwiU3FydFwiLFxuICAgICAgICBbXG4gICAgICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgICAgIDYsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgXCJTdW1cIixcbiAgICAgICAgICAgIFtcIkRpdmlkZVwiLCAxLCBbXCJQb3dlclwiLCBcIm5cIiwgMl1dLFxuICAgICAgICAgICAgW1wiVHJpcGxlXCIsIFtcIkhvbGRcIiwgXCJuXCJdLCAxLCB7IG51bTogXCIrSW5maW5pdHlcIiB9XVxuICAgICAgICAgIF1cbiAgICAgICAgXVxuICAgICAgXSxcbiAgICAgIFwiQWRkXCIsXG4gICAgICBcIkFkZFwiLFxuICAgICAgXCJBZGRcIixcbiAgICAgIFwiQWRkXCIsXG4gICAgICBcIkFkZFwiLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJEaXZpZGVcIixcbiAgICAgIFwiRGl2aWRlXCIsXG4gICAgICBcIkRpdmlkZVwiLFxuICAgICAgXCJSb290XCIsXG4gICAgICBcIlNxcnRcIixcbiAgICAgIFwiU3VidHJhY3RcIixcbiAgICAgIFwiTmVnYXRlXCIsXG4gICAgICBcInRyaWdcIlxuICAgIF0pO1xuICAgIGlmICh0eXBlb2YgaCA9PT0gXCJzdHJpbmdcIilcbiAgICAgIHJldHVybiByYW5kb21FeHByZXNzaW9uV2l0aEhlYWQoaCwgMSk7XG4gICAgcmV0dXJuIGg7XG4gIH1cbiAgaWYgKGxldmVsID09PSAyKSB7XG4gICAgY29uc3QgciA9IE1hdGgucmFuZG9tKCk7XG4gICAgaWYgKHIgPiAwLjc1KVxuICAgICAgcmV0dXJuIHJhbmRvbUV4cHJlc3Npb24oMSk7XG4gICAgaWYgKHIgPiAwLjUpXG4gICAgICByZXR1cm4gcmFuZG9tRXhwcmVzc2lvbigzKTtcbiAgICBjb25zdCBoID0gb25lT2YoW1xuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgXCJBZGRcIixcbiAgICAgIFwiUG93ZXJcIixcbiAgICAgIFwidHJpZ1wiLFxuICAgICAgXCJMblwiLFxuICAgICAgXCJFeHBcIlxuICAgIF0pO1xuICAgIHJldHVybiByYW5kb21FeHByZXNzaW9uV2l0aEhlYWQoaCwgMik7XG4gIH1cbiAgcmV0dXJuIG9uZU9mKFtcbiAgICAtMTIzNDVlLTksXG4gICAgLTIsXG4gICAgLTIsXG4gICAgLTIsXG4gICAgLTMsXG4gICAgLTUsXG4gICAgLTYsXG4gICAgLTEyLFxuICAgIC0xNjU0ZS02MCxcbiAgICAwLFxuICAgIDAsXG4gICAgMTIzNDVlLTgsXG4gICAgMTY1NGUtNjAsXG4gICAgMSxcbiAgICAyLFxuICAgIDIsXG4gICAgMixcbiAgICAyLFxuICAgIDMsXG4gICAgMyxcbiAgICA1LFxuICAgIDUsXG4gICAgNixcbiAgICA2LFxuICAgIDEyMzQuNTY3OCxcbiAgICA1Njc4LjEyMzQsXG4gICAgMTAsXG4gICAgMTUsXG4gICAgMTgsXG4gICAgMzAsXG4gICAgNjAsXG4gICAgMTIzNGU1NCxcbiAgICBcIjEyMzQ1Njc4OS4xMjM0NTY3ODkxMjM0NWUyMDBcIixcbiAgICBcIjk4NzY1NDMyMS4xMjM0NTY3ODkxMjM0NVwiLFxuICAgIFtcIlJhdGlvbmFsXCIsIC02LCAxMF0sXG4gICAgW1wiUmF0aW9uYWxcIiwgLTEyLCAxNV0sXG4gICAgW1wiUmF0aW9uYWxcIiwgLTE1LCAxMl0sXG4gICAgW1wiUmF0aW9uYWxcIiwgMywgNV0sXG4gICAgW1wiUmF0aW9uYWxcIiwgMTIsIDE1XSxcbiAgICBbXCJSYXRpb25hbFwiLCAxNSwgMTJdLFxuICAgIFwiRXhwb25lbnRpYWxFXCIsXG4gICAgLy8gJ0ltYWdpbmFyeVVuaXQnLFxuICAgIFtcIlNxcnRcIiwgM10sXG4gICAgW1wiU3FydFwiLCA1XSxcbiAgICBbXCJTcXJ0XCIsIDE1XSxcbiAgICBbXCJTcXJ0XCIsIDI1XSxcbiAgICBbXCJDb21wbGV4XCIsIC0xLjEsIDEuMV0sXG4gICAgW1wiQ29tcGxleFwiLCA0LCA1XSxcbiAgICBcInhcIixcbiAgICBcInhcIixcbiAgICBcInhcIixcbiAgICBcInhcIixcbiAgICBbXCJBZGRcIiwgXCJ4XCIsIDFdLFxuICAgIFtcIkRpdmlkZVwiLCBcInhcIiwgM10sXG4gICAgW1wiU3F1YXJlXCIsIFwieFwiXSxcbiAgICBbXCJQb3dlclwiLCBcInhcIiwgM10sXG4gICAgW1wiUG93ZXJcIiwgXCJ4XCIsIDRdLFxuICAgIFtcIlN1YnRyYWN0XCIsIFwieFwiLCAxXSxcbiAgICBbXCJBZGRcIiwgXCJ4XCIsIDFdLFxuICAgIC8vICdhJyxcbiAgICAvLyAnYicsXG4gICAgXCJQaVwiXG4gIF0pO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9jb3JlLnRzXG52YXIgQ09SRV9MSUJSQVJZID0gW1xuICB7XG4gICAgTm90aGluZzogeyBkb21haW46IFwiTm90aGluZ1wiIH1cbiAgfSxcbiAgLy9cbiAgLy8gRGF0YSBTdHJ1Y3R1cmVzXG4gIC8vXG4gIHtcbiAgICBMaXN0OiB7XG4gICAgICBjb21wbGV4aXR5OiA4MjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiTWF5YmVcIiwgW1wiU2VxdWVuY2VcIiwgXCJBbnl0aGluZ1wiXV0sIFwiTGlzdFwiXVxuICAgICAgfVxuICAgIH0sXG4gICAgS2V5VmFsdWVQYWlyOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJBIGtleS92YWx1ZSBwYWlyXCIsXG4gICAgICBjb21wbGV4aXR5OiA4MjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1xuICAgICAgICAgIFwiRnVuY3Rpb25cIixcbiAgICAgICAgICBcIlN0cmluZ1wiLFxuICAgICAgICAgIFwiQW55dGhpbmdcIixcbiAgICAgICAgICBbXCJUdXBsZVwiLCBcIlN0cmluZ1wiLCBcIkFueXRoaW5nXCJdXG4gICAgICAgIF0sXG4gICAgICAgIGNvZG9tYWluOiAoY2UsIGFyZ3MpID0+IGNlLmRvbWFpbihbXCJUdXBsZVwiLCBcIlN0cmluZ1wiLCBhcmdzWzFdLmRvbWFpbl0pLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4ge1xuICAgICAgICAgIGNvbnN0IGtleSA9IHZhbGlkYXRlQXJndW1lbnQoY2UsIGFyZ3NbMF0/LmNhbm9uaWNhbCwgXCJTdHJpbmdcIik7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWxpZGF0ZUFyZ3VtZW50KGNlLCBhcmdzWzFdPy5jYW5vbmljYWwsIFwiVmFsdWVcIik7XG4gICAgICAgICAgcmV0dXJuIGNlLnR1cGxlKFtrZXksIHZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFNpbmdsZToge1xuICAgICAgZGVzY3JpcHRpb246IFwiQSB0dXBsZSB3aXRoIGEgc2luZ2xlIGVsZW1lbnRcIixcbiAgICAgIGNvbXBsZXhpdHk6IDgyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIkFueXRoaW5nXCIsIFtcIlR1cGxlXCIsIFwiQW55dGhpbmdcIl1dLFxuICAgICAgICBjb2RvbWFpbjogKGNlLCBhcmdzKSA9PiBjZS5kb21haW4oW1wiVHVwbGVcIiwgYXJnc1swXS5kb21haW5dKSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIG9wczIpID0+IGNlLnR1cGxlKHZhbGlkYXRlQXJndW1lbnRDb3VudChjZSwgY2Fub25pY2FsKG9wczIpLCAxKSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFBhaXI6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkEgdHVwbGUgb2YgdHdvIGVsZW1lbnRzXCIsXG4gICAgICBjb21wbGV4aXR5OiA4MjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1xuICAgICAgICAgIFwiRnVuY3Rpb25cIixcbiAgICAgICAgICBcIkFueXRoaW5nXCIsXG4gICAgICAgICAgXCJBbnl0aGluZ1wiLFxuICAgICAgICAgIFtcIlR1cGxlXCIsIFwiQW55dGhpbmdcIiwgXCJBbnl0aGluZ1wiXVxuICAgICAgICBdLFxuICAgICAgICBjb2RvbWFpbjogKGNlLCBhcmdzKSA9PiBjZS5kb21haW4oW1wiVHVwbGVcIiwgYXJnc1swXS5kb21haW4sIGFyZ3NbMV0uZG9tYWluXSksXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiBjZS50dXBsZSh2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGNhbm9uaWNhbChvcHMyKSwgMikpXG4gICAgICB9XG4gICAgfSxcbiAgICBUcmlwbGU6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkEgdHVwbGUgb2YgdGhyZWUgZWxlbWVudHNcIixcbiAgICAgIGNvbXBsZXhpdHk6IDgyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXG4gICAgICAgICAgXCJGdW5jdGlvblwiLFxuICAgICAgICAgIFwiQW55dGhpbmdcIixcbiAgICAgICAgICBcIkFueXRoaW5nXCIsXG4gICAgICAgICAgXCJBbnl0aGluZ1wiLFxuICAgICAgICAgIFtcIlR1cGxlXCIsIFwiQW55dGhpbmdcIiwgXCJBbnl0aGluZ1wiLCBcIkFueXRoaW5nXCJdXG4gICAgICAgIF0sXG4gICAgICAgIGNvZG9tYWluOiAoY2UsIGFyZ3MpID0+IGNlLmRvbWFpbihbXCJUdXBsZVwiLCBhcmdzWzBdLmRvbWFpbiwgYXJnc1sxXS5kb21haW4sIGFyZ3NbMl0uZG9tYWluXSksXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiBjZS50dXBsZSh2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGNhbm9uaWNhbChvcHMyKSwgMykpXG4gICAgICB9XG4gICAgfSxcbiAgICBUdXBsZToge1xuICAgICAgZGVzY3JpcHRpb246IFwiQSBmaXhlZCBudW1iZXIgb2YgaGV0ZXJvZ2VuZW91cyBlbGVtZW50c1wiLFxuICAgICAgY29tcGxleGl0eTogODIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcbiAgICAgICAgICBcIkZ1bmN0aW9uXCIsXG4gICAgICAgICAgW1wiU2VxdWVuY2VcIiwgXCJBbnl0aGluZ1wiXSxcbiAgICAgICAgICBbXCJUdXBsZVwiLCBbXCJTZXF1ZW5jZVwiLCBcIkFueXRoaW5nXCJdXVxuICAgICAgICBdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4gY2UudHVwbGUoY2Fub25pY2FsKG9wczIpKSxcbiAgICAgICAgY29kb21haW46IChjZSwgYXJncykgPT4gY2UuZG9tYWluKFtcIlR1cGxlXCIsIC4uLmFyZ3MubWFwKCh4KSA9PiB4LmRvbWFpbildKVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy9cbiAgLy8gSW5lcnQgZnVuY3Rpb25zXG4gIC8vXG4gIHtcbiAgICBCYXNlRm9ybToge1xuICAgICAgZGVzY3JpcHRpb246IFwiYEJhc2VGb3JtKGV4cHIsIGJhc2U9MTApYFwiLFxuICAgICAgY29tcGxleGl0eTogOWUzLFxuICAgICAgaW5lcnQ6IHRydWUsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlZhbHVlXCIsIFtcIk1heWJlXCIsIFwiSW50ZWdlclwiXSwgXCJWYWx1ZVwiXSxcbiAgICAgICAgY29kb21haW46IChfY2UsIGFyZ3MpID0+IGFyZ3NbMF0uZG9tYWluXG4gICAgICB9XG4gICAgfSxcbiAgICBEZWxpbWl0ZXI6IHtcbiAgICAgIC8vIFVzZSB0byByZXByZXNlbnQgZ3JvdXBzIG9mIGV4cHJlc3Npb25zLiBOYW1lZCBhZnRlciBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9EZWxpbWl0ZXJcbiAgICAgIGNvbXBsZXhpdHk6IDllMyxcbiAgICAgIGhvbGQ6IFwiZmlyc3RcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcbiAgICAgICAgICBcIkZ1bmN0aW9uXCIsXG4gICAgICAgICAgXCJBbnl0aGluZ1wiLFxuICAgICAgICAgIFtcIk1heWJlXCIsIFwiU3RyaW5nXCJdLFxuICAgICAgICAgIFtcIk1heWJlXCIsIFwiU3RyaW5nXCJdLFxuICAgICAgICAgIFwiQW55dGhpbmdcIlxuICAgICAgICBdLFxuICAgICAgICBjb2RvbWFpbjogKF9jZSwgYXJncykgPT4gYXJnc1swXS5kb21haW4sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBhcmdzWzBdPy5jYW5vbmljYWwgPz8gY2UuYm94KFtcIlNlcXVlbmNlXCJdKVxuICAgICAgfVxuICAgIH0sXG4gICAgRXJyb3I6IHtcbiAgICAgIC8qKlxuICAgICAgICogLSBUaGUgZmlyc3QgYXJndW1lbnQgaXMgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIGBbXCJFcnJvckNvZGVcIl1gXG4gICAgICAgKiBleHByZXNzaW9uIGluZGljYXRpbmcgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuXG4gICAgICAgKiAtIFRoZSBzZWNvbmQgYXJndW1lbnQsIGlmIHByZXNlbnQsIGluZGljYXRlcyB0aGUgY29udGV4dC9sb2NhdGlvblxuICAgICAgICogb2YgdGhlIGVycm9yLiBJZiB0aGUgZXJyb3Igb2NjdXIgd2hpbGUgcGFyc2luZyBhIExhVGVYIHN0cmluZyxcbiAgICAgICAqIGZvciBleGFtcGxlLCB0aGUgYXJndW1lbnQgd2lsbCBiZSBhIGBMYXRleGAgZXhwcmVzc2lvbi5cbiAgICAgICAqL1xuICAgICAgY29tcGxleGl0eTogNTAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJBbnl0aGluZ1wiLCBbXCJNYXliZVwiLCBcIkFueXRoaW5nXCJdLCBcIlZvaWRcIl0sXG4gICAgICAgIC8vIFRvIG1ha2UgYSBjYW5vbmljYWwgZXhwcmVzc2lvbiwgZG9uJ3QgY2Fub25pY2FsaXplIHRoZSBhcmdzXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5fZm4oXCJFcnJvclwiLCBhcmdzKVxuICAgICAgfVxuICAgIH0sXG4gICAgRXJyb3JDb2RlOiB7XG4gICAgICBjb21wbGV4aXR5OiA1MDAsXG4gICAgICBob2xkOiBcImFsbFwiLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1xuICAgICAgICAgIFwiRnVuY3Rpb25cIixcbiAgICAgICAgICBcIlN0cmluZ1wiLFxuICAgICAgICAgIFtcIk1heWJlXCIsIFtcIlNlcXVlbmNlXCIsIFwiQW55dGhpbmdcIl1dLFxuICAgICAgICAgIFwiQW55dGhpbmdcIlxuICAgICAgICBdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvZGUgPSB2YWxpZGF0ZUFyZ3VtZW50KGNlLCBhcmdzWzBdLCBcIlN0cmluZ1wiKS5zdHJpbmc7XG4gICAgICAgICAgaWYgKGNvZGUgPT09IFwiaW5jb21wYXRpYmxlLWRvbWFpblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiRXJyb3JDb2RlXCIsIFtcbiAgICAgICAgICAgICAgY2Uuc3RyaW5nKGNvZGUpLFxuICAgICAgICAgICAgICBjZS5kb21haW4oYXJnc1sxXSA/PyBcIkFueXRoaW5nXCIpLFxuICAgICAgICAgICAgICBjZS5kb21haW4oYXJnc1syXSA/PyBcIkFueXRoaW5nXCIpXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkVycm9yQ29kZVwiLCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgSG9sZDoge1xuICAgICAgaG9sZDogXCJhbGxcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFwiRnVuY3Rpb25cIixcbiAgICAgICAgY29kb21haW46IChjZSwgYXJncykgPT4gYXJnc1swXS5zeW1ib2wgPyBjZS5kb21haW4oXCJTeW1ib2xcIikgOiBjZS5kb21haW4oXCJBbnl0aGluZ1wiKSxcbiAgICAgICAgLy8gVG8gbWFrZSBhIGNhbm9uaWNhbCBleHByZXNzaW9uLCBkb24ndCBjYW5vbmljYWxpemUgdGhlIGFyZ3NcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGFyZ3MubGVuZ3RoICE9PSAxID8gY2UuX2ZuKFwiSG9sZFwiLCB2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGFyZ3MsIDEpKSA6IGNlLl9mbihcIkhvbGRcIiwgW3ZhbGlkYXRlQXJndW1lbnQoY2UsIGFyZ3NbMF0sIFwiQW55dGhpbmdcIildKVxuICAgICAgfVxuICAgIH0sXG4gICAgSG9yaXpvbnRhbFNwYWNpbmc6IHtcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFwiRnVuY3Rpb25cIixcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpXG4gICAgICAgICAgICByZXR1cm4gYXJnc1swXS5jYW5vbmljYWw7XG4gICAgICAgICAgcmV0dXJuIGNlLmJveChbXCJTZXF1ZW5jZVwiXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFN0eWxlOiB7XG4gICAgICBjb21wbGV4aXR5OiA5ZTMsXG4gICAgICBpbmVydDogdHJ1ZSxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcbiAgICAgICAgICBcIkZ1bmN0aW9uXCIsXG4gICAgICAgICAgXCJBbnl0aGluZ1wiLFxuICAgICAgICAgIFtcIk1heWJlXCIsIFwiRGljdGlvbmFyeVwiXSxcbiAgICAgICAgICAvLyBAdG9kb1xuICAgICAgICAgIFwiQW55dGhpbmdcIlxuICAgICAgICBdXG4gICAgICB9XG4gICAgICAvLyBAdG9kbzogc2ltcGxpZnk6IG1lcmdlIFN0eWxlKFN0eWxlKHgsIHMxKSwgczIpLCAgU3R5bGUoeCkgLT4geFxuICAgIH1cbiAgfSxcbiAge1xuICAgIEFwcGx5OiB7XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBcIkZ1bmN0aW9uXCIsXG4gICAgICAgIGV2YWx1YXRlOiAoX2NlLCBvcHMyKSA9PiBhcHBseShvcHMyWzBdLCBvcHMyLnNsaWNlKDEpKVxuICAgICAgfVxuICAgIH0sXG4gICAgQWJvdXQ6IHsgc2lnbmF0dXJlOiB7IGRvbWFpbjogXCJGdW5jdGlvblwiIH0gfSxcbiAgICBCbG9jazoge1xuICAgICAgLyoqIENyZWF0ZSBhIGxvY2FsIHNjb3BlLiBGaXJzdCBhcmd1bWVudCBpcyBhIGRpY3Rpb25hcnkgb2YgbG9jYWwgdmFyaWFibGVzLlxuICAgICAgICogVGhleSBhcmUgZXZhbHVhdGVkIGluIHRoZSBjb250ZXh0IG9mIHRoZSBwYXJlbnQgc2NvcGUuIFRoZSBzZWNvbmQgYXJndW1lbnRcbiAgICAgICAqIGlzIGFuIGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkIGluIHRoZSBjb250ZXh0IG9mIHRoZSBuZXcgc2NvcGUuXG4gICAgICAgKiBbXCJCbG9ja1wiLCBbXCJMaXN0XCIsIFtcIkVxdWFsXCIsIFwieFwiLCAxXV0sIFsuLi5dXVxuICAgICAgICovXG4gICAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIkZ1bmN0aW9uXCIgfVxuICAgIH0sXG4gICAgRGVyaXZhdGl2ZToge1xuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJGdW5jdGlvblwiLCBbXCJNYXliZVwiLCBcIk51bWJlclwiXSwgXCJGdW5jdGlvblwiXVxuICAgICAgfVxuICAgIH0sXG4gICAgRG9tYWluOiB7XG4gICAgICAvKiogUmV0dXJuIHRoZSBkb21haW4gb2YgYW4gZXhwcmVzc2lvbiAqL1xuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJBbnl0aGluZ1wiLCBcIkRvbWFpblwiXSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIG9wczIpID0+IGNlLmRvbWFpbih2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGNhbm9uaWNhbChvcHMyKSwgMSlbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBFdmFsdWF0ZToge1xuICAgICAgaG9sZDogXCJhbGxcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiQW55dGhpbmdcIiwgXCJBbnl0aGluZ1wiXSxcbiAgICAgICAgY29kb21haW46IChfY2UsIGFyZ3MpID0+IGFyZ3NbMF0uZG9tYWluLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4gY2UuX2ZuKFwiRXZhbHVhdGVcIiwgdmFsaWRhdGVBcmd1bWVudENvdW50KGNlLCBjYW5vbmljYWwob3BzMiksIDEpKSxcbiAgICAgICAgZXZhbHVhdGU6IChfY2UsIG9wczIpID0+IG9wczJbMF0uZXZhbHVhdGUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgSGVhZDoge1xuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogXCJGdW5jdGlvblwiLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3AxMiA9IG9wczJbMF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBvcDEyPy5oZWFkID09PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChvcDEyLmhlYWQpO1xuICAgICAgICAgIHJldHVybiBvcDEyPy5oZWFkID8/IGNlLnN5bWJvbChcIk5vdGhpbmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIEh0bWw6IHtcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiVmFsdWVcIiwgXCJTdHJpbmdcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBpZiAob3BzMi5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2Uuc3RyaW5nKFwiXCIpO1xuICAgICAgICAgIHJldHVybiBjZS5zdHJpbmcoXCJcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIExhbWJkYToge1xuICAgICAgd2lraWRhdGE6IFwiUTU2NzYxMlwiLFxuICAgICAgaG9sZDogXCJhbGxcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiQW55dGhpbmdcIiwgXCJGdW5jdGlvblwiXSxcbiAgICAgICAgY29kb21haW46IChfY2UsIG9wczIpID0+IG9wczJbMF0uZG9tYWluLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4gY2UuX2ZuKFwiTGFtYmRhXCIsIHZhbGlkYXRlQXJndW1lbnRDb3VudChjZSwgb3BzMiwgMSkpXG4gICAgICB9XG4gICAgfSxcbiAgICBTaWduYXR1cmVzOiB7XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlN5bWJvbFwiLCBbXCJNYXliZVwiLCBbXCJMaXN0XCIsIFwiRG9tYWluXCJdXV0sXG4gICAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgb3BzMiA9IHZhbGlkYXRlQXJndW1lbnRDb3VudChjZSwgb3BzMiwgMSk7XG4gICAgICAgICAgaWYgKCFvcHMyWzBdLnN5bWJvbClcbiAgICAgICAgICAgIHJldHVybiBjZS5fZm4oXCJTaWduYXR1cmVzXCIsIFtcbiAgICAgICAgICAgICAgY2UuZXJyb3IoXG4gICAgICAgICAgICAgICAgW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBcIlN5bWJvbFwiLCBvcHMyWzBdLmRvbWFpbl0sXG4gICAgICAgICAgICAgICAgb3BzMlswXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiU2lnbmF0dXJlc1wiLCBvcHMyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWUgPSBvcHMyWzBdLnN5bWJvbDtcbiAgICAgICAgICBpZiAoIW5hbWUpXG4gICAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiTm90aGluZ1wiKTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBjZS5sb29rdXBGdW5jdGlvbihuYW1lKTtcbiAgICAgICAgICBpZiAoIXJlc3VsdClcbiAgICAgICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICAgICAgICAgIHJldHVybiBjZS5mbihcIkxpc3RcIiwgW3Jlc3VsdC5zaWduYXR1cmUuZG9tYWluXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFN1YnNjcmlwdDoge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgYFN1YnNjcmlwdGAgZnVuY3Rpb24gY2FuIHRha2Ugc2V2ZXJhbCBmb3JtczpcbiAgICAgICAqXG4gICAgICAgKiBJZiBgb3AxYCBpcyBhIHN0cmluZywgdGhlIHN0cmluZyBpcyBpbnRlcnByZXRlZCBhcyBhIG51bWJlciBpblxuICAgICAgICogYmFzZSBgb3AyYCAoMiB0byAzNikuXG4gICAgICAgKlxuICAgICAgICogSWYgYG9wMWAgaXMgYW4gaW5kZXhhYmxlIGNvbGxlY3Rpb24sIGB4YDpcbiAgICAgICAqIC0gYHhfKmAgLT4gYEF0KHgsICopYFxuICAgICAgICpcbiAgICAgICAqIE90aGVyd2lzZTpcbiAgICAgICAqIC0gYHhfMGAgLT4gU3ltYm9sIFwieF8wXCJcbiAgICAgICAqIC0gYHhfbmAgLT4gU3ltYm9sIFwieF9uXCJcbiAgICAgICAqIC0gYHhfe1xcdGV4dHttYXh9fWAgLT4gU3ltYm9sIGB4X21heGBcbiAgICAgICAqIC0gYHhfeyhuKzEpfWAgLT4gYEF0KHgsIG4rMSlgXG4gICAgICAgKiAtIGB4X3tuKzF9YCAtPiAgYFN1YnNjcmlwdCh4LCBuKzEpYFxuICAgICAgICovXG4gICAgICAvLyBUaGUgbGFzdCAoc3Vic2NyaXB0KSBhcmd1bWVudCBjYW4gaW5jbHVkZSBhIGRlbGltaXRlciB0aGF0XG4gICAgICAvLyBuZWVkcyB0byBiZSBpbnRlcnByZXRlZC4gV2l0aG91dCB0aGUgaG9sZCwgaXQgd291bGQgZ2V0XG4gICAgICAvLyByZW1vdmVkIGR1cmluZyBjYW5vbmljYWxpemF0aW9uLlxuICAgICAgaG9sZDogXCJsYXN0XCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIkFueXRoaW5nXCIsIFwiQW55dGhpbmdcIiwgXCJBbnl0aGluZ1wiXSxcbiAgICAgICAgY29kb21haW46IChfY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAoYXJnc1swXS5pc0Z1bmN0aW9uKVxuICAgICAgICAgICAgcmV0dXJuIGFyZ3NbMF0uZG9tYWluO1xuICAgICAgICAgIHJldHVybiBhcmdzWzBdLmRvbWFpbjtcbiAgICAgICAgfSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IHtcbiAgICAgICAgICBjb25zdCBvcDEyID0gYXJnc1swXTtcbiAgICAgICAgICBjb25zdCBvcDIyID0gYXJnc1sxXTtcbiAgICAgICAgICBpZiAob3AxMi5zdHJpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2UgPSBhc1NtYWxsSW50ZWdlcihvcDIyKTtcbiAgICAgICAgICAgIGlmIChiYXNlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChiYXNlID4gMSAmJiBiYXNlIDw9IDM2KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW3ZhbHVlLCByZXN0XSA9IGZyb21EaWdpdHMob3AxMi5zdHJpbmcsIGJhc2UpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN0KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gY2UuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIFtcInVuZXhwZWN0ZWQtZGlnaXRcIiwgeyBzdHI6IHJlc3RbMF0gfV0sXG4gICAgICAgICAgICAgICAgICAgIFtcIkxhdGV4XCIsIGNlLnN0cmluZyhvcDEyLnN0cmluZyldXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3AxMi5zeW1ib2wpIHtcbiAgICAgICAgICAgIGlmIChvcDEyLnN5bWJvbERlZmluaXRpb24/LmF0KVxuICAgICAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiQXRcIiwgW29wMTIsIG9wMjIuY2Fub25pY2FsXSk7XG4gICAgICAgICAgICBjb25zdCBzdWIyID0gb3AyMi5zdHJpbmcgPz8gb3AyMi5zeW1ib2wgPz8gYXNTbWFsbEludGVnZXIob3AyMik/LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoc3ViMilcbiAgICAgICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChvcDEyLnN5bWJvbCArIFwiX1wiICsgc3ViMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcDIyLmhlYWQgPT09IFwiU2VxdWVuY2VcIilcbiAgICAgICAgICAgIGNlLl9mbihcIlN1YnNjcmlwdFwiLCBbb3AxMiwgY2UuX2ZuKFwiTGlzdFwiLCBvcDIyLm9wcyldKTtcbiAgICAgICAgICByZXR1cm4gY2UuX2ZuKFwiU3Vic2NyaXB0XCIsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBTeW1ib2w6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDUwMCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbnN0cnVjdCBhIG5ldyBzeW1ib2wgd2l0aCBhIG5hbWUgZm9ybWVkIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIGFyZ3VtZW50c1wiLFxuICAgICAgdGhyZWFkYWJsZTogdHJ1ZSxcbiAgICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIkFueXRoaW5nXCJdLCBcIkFueXRoaW5nXCJdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICAgICAgICAgIGNvbnN0IGFyZyA9IG9wczIubWFwKFxuICAgICAgICAgICAgKHgpID0+IHguc3ltYm9sID8/IHguc3RyaW5nID8/IGFzU21hbGxJbnRlZ2VyKHgpPy50b1N0cmluZygpID8/IFwiXCJcbiAgICAgICAgICApLmpvaW4oXCJcIik7XG4gICAgICAgICAgaWYgKGFyZy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChhcmcpO1xuICAgICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJOb3RoaW5nXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vdGU6IGEgYFtcIlN5bWJvbFwiXWAgZXhwcmVzc2lvbiBpcyBuZXZlciBldmFsdWF0ZWQsIGl0IGdldHNcbiAgICAgICAgLy8gdHJhbnNmb3JtZWQgaW50byBzb21ldGhpbmcgZWxzZSAoYSBzeW1ib2wpIGR1cmluZyBjYW5vbmljYWxpemF0aW9uXG4gICAgICB9XG4gICAgfSxcbiAgICBUYWlsOiB7XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlZhbHVlXCIsIFtcIkxpc3RcIiwgXCJWYWx1ZVwiXV0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IG9wczJbMF0gPyBjZS5fZm4oXCJMaXN0XCIsIG9wczJbMF0ub3BzID8/IFtdKSA6IGNlLl9mbihcIkxpc3RcIiwgW10pXG4gICAgICB9XG4gICAgfSxcbiAgICBUaW1pbmc6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcImBUaW1pbmcoZXhwcilgIGV2YWx1YXRlcyBgZXhwcmAgYW5kIHJldHVybiBhIGBQYWlyYCBvZiB0aGUgbnVtYmVyIG9mIHNlY29uZCBlbGFwc2VkIGZvciB0aGUgZXZhbHVhdGlvbiwgYW5kIHRoZSB2YWx1ZSBvZiB0aGUgZXZhbHVhdGlvblwiLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1xuICAgICAgICAgIFwiRnVuY3Rpb25cIixcbiAgICAgICAgICBcIlZhbHVlXCIsXG4gICAgICAgICAgW1wiTWF5YmVcIiwgXCJJbnRlZ2VyXCJdLFxuICAgICAgICAgIFtcIlR1cGxlXCIsIFwiVmFsdWVcIiwgXCJOdW1iZXJcIl1cbiAgICAgICAgXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyWzFdLnN5bWJvbCA9PT0gXCJOb3RoaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDIgPSBvcHMyWzBdLmV2YWx1YXRlKCk7XG4gICAgICAgICAgICBjb25zdCB0aW1pbmcgPSAxZTMgKiAoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0KTtcbiAgICAgICAgICAgIHJldHVybiBjZS5wYWlyKGNlLm51bWJlcih0aW1pbmcpLCByZXN1bHQyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IG4gPSBNYXRoLm1heCgzLCBNYXRoLnJvdW5kKGFzU21hbGxJbnRlZ2VyKG9wczJbMV0pID8/IDMpKTtcbiAgICAgICAgICBsZXQgdGltaW5ncyA9IFtdO1xuICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgd2hpbGUgKG4gPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IGdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgICAgICByZXN1bHQgPSBvcHMyWzBdLmV2YWx1YXRlKCk7XG4gICAgICAgICAgICB0aW1pbmdzLnB1c2goMWUzICogKGdsb2JhbFRoaXMucGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydCkpO1xuICAgICAgICAgICAgbiAtPSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBtYXgyID0gTWF0aC5tYXgoLi4udGltaW5ncyk7XG4gICAgICAgICAgY29uc3QgbWluMiA9IE1hdGgubWluKC4uLnRpbWluZ3MpO1xuICAgICAgICAgIHRpbWluZ3MgPSB0aW1pbmdzLmZpbHRlcigoeCkgPT4geCA+IG1pbjIgJiYgeCA8IG1heDIpO1xuICAgICAgICAgIGNvbnN0IHN1bTIgPSB0aW1pbmdzLnJlZHVjZSgoYWNjLCB2KSA9PiBhY2MgKyB2LCAwKTtcbiAgICAgICAgICBpZiAoc3VtMiA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5wYWlyKGNlLm51bWJlcihtYXgyKSwgcmVzdWx0KTtcbiAgICAgICAgICByZXR1cm4gY2UucGFpcihjZS5udW1iZXIoc3VtMiAvIHRpbWluZ3MubGVuZ3RoKSwgcmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB7bmFtZTogJ1BhdHRlcm4nLH0sXG4gIH0sXG4gIC8vXG4gIC8vIFN0cmluZy1yZWxhdGVkXG4gIC8vXG4gIHtcbiAgICBGcm9tRGlnaXRzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogYFxcYEZyb21EaWdpdHMocywgYmFzZT0xMClcXGAgICAgICAgcmV0dXJuIGFuIGludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgdGhlIHN0cmluZyBcXGBzXFxgIGluIGJhc2UgXFxgYmFzZVxcYC5gLFxuICAgICAgLy8gQHRvZG8gY291bGQgYWNjZXB0IGAweGNhZmVgLCBgMGIwMTAxMGAgb3IgYChkZWFkYmVlZilfMTZgIGFzIHN0cmluZyBmb3JtYXRzXG4gICAgICAvLyBAdG9kbyBjb3VsZCBhY2NlcHQgXCJyb21hblwiLi4uIGFzIGJhc2VcbiAgICAgIC8vIEB0b2RvIGNvdWxkIGFjY2VwdCBvcHRpb25hbCB0aGlyZCBwYXJhbWV0ZXIgYXMgdGhlIChwYWRkZWQpIGxlbmd0aCBvZiB0aGUgb3V0cHV0XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlN0cmluZ1wiLCBbXCJNYXliZVwiLCBbXCJSYW5nZVwiLCAxLCAzNl1dLCBcIkludGVnZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCBvcDEyID0gb3BzMlswXTtcbiAgICAgICAgICBpZiAoIW9wMTIuc3RyaW5nKVxuICAgICAgICAgICAgcmV0dXJuIGNlLmVycm9yKFtcImluY29tcGF0aWJsZS1kb21haW5cIiwgXCJTdHJpbmdcIiwgb3AxMi5kb21haW5dLCBvcDEyKTtcbiAgICAgICAgICBjb25zdCBvcDIyID0gb3BzMlsxXTtcbiAgICAgICAgICBpZiAob3AyMi5pc05vdGhpbmcpXG4gICAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKE51bWJlci5wYXJzZUludChvcDEyLnN0cmluZywgMTApKTtcbiAgICAgICAgICBpZiAob3AyMi5udW1lcmljVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBjZS5lcnJvcihbXCJ1bmV4cGVjdGVkLWJhc2VcIiwgb3AyMi5sYXRleF0sIG9wMjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBiYXNlID0gYXNGbG9hdChvcDIyKTtcbiAgICAgICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoYmFzZSkgfHwgYmFzZSA8IDIgfHwgYmFzZSA+IDM2KVxuICAgICAgICAgICAgcmV0dXJuIGNlLmVycm9yKFtcInVuZXhwZWN0ZWQtYmFzZVwiLCBiYXNlXSwgb3AyMik7XG4gICAgICAgICAgY29uc3QgW3ZhbHVlLCByZXN0XSA9IGZyb21EaWdpdHMob3AxMi5zdHJpbmcsIGJhc2UpO1xuICAgICAgICAgIGlmIChyZXN0KVxuICAgICAgICAgICAgcmV0dXJuIGNlLmVycm9yKFtcInVuZXhwZWN0ZWQtZGlnaXRcIiwgeyBzdHI6IHJlc3RbMF0gfV0sIHtcbiAgICAgICAgICAgICAgc3RyOiByZXN0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgSW50ZWdlclN0cmluZzoge1xuICAgICAgZGVzY3JpcHRpb246IGBcXGBJbnRlZ2VyU3RyaW5nKG4sIGJhc2U9MTApXFxgICAgICAgIHJldHVybiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgaW50ZWdlciBcXGBuXFxgIGluIGJhc2UgXFxgYmFzZVxcYC5gLFxuICAgICAgLy8gQHRvZG8gY291bGQgYWNjZXB0IGAweGNhZmVgLCBgMGIwMTAxMGAgb3IgYChkZWFkYmVlZilfMTZgIGFzIHN0cmluZyBmb3JtYXRzXG4gICAgICAvLyBAdG9kbyBjb3VsZCBhY2NlcHQgXCJyb21hblwiLi4uIGFzIGJhc2VcbiAgICAgIC8vIEB0b2RvIGNvdWxkIGFjY2VwdCBvcHRpb25hbCB0aGlyZCBwYXJhbWV0ZXIgYXMgdGhlIChwYWRkZWQpIGxlbmd0aCBvZiB0aGUgb3V0cHV0XG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIkludGVnZXJcIiwgW1wiTWF5YmVcIiwgXCJJbnRlZ2VyXCJdLCBcIlN0cmluZ1wiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IG9wMTIgPSBvcHMyWzBdO1xuICAgICAgICAgIGNvbnN0IHZhbCA9IGFzRmxvYXQob3AxMikgPz8gTmFOO1xuICAgICAgICAgIGlmIChOdW1iZXIuaXNOYU4odmFsKSB8fCAhTnVtYmVyLmlzSW50ZWdlcih2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gY2UuZXJyb3IoXG4gICAgICAgICAgICAgIFtcImluY29tcGF0aWJsZS1kb21haW5cIiwgXCJJbnRlZ2VyXCIsIG9wMTIuZG9tYWluXSxcbiAgICAgICAgICAgICAgb3AxMlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3Qgb3AyMiA9IG9wczJbMV07XG4gICAgICAgICAgaWYgKG9wMjIuaXNOb3RoaW5nKSB7XG4gICAgICAgICAgICBjb25zdCBvcDFOdW0gPSBvcDEyLm51bWVyaWNWYWx1ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3AxTnVtID09PSBcIm51bWJlclwiKVxuICAgICAgICAgICAgICByZXR1cm4gY2Uuc3RyaW5nKE1hdGguYWJzKG9wMU51bSkudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBpZiAob3AxTnVtIGluc3RhbmNlb2YgZGVjaW1hbF9kZWZhdWx0KVxuICAgICAgICAgICAgICByZXR1cm4gY2Uuc3RyaW5nKG9wMU51bS5hYnMoKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHJldHVybiBjZS5zdHJpbmcoXG4gICAgICAgICAgICAgIE1hdGguYWJzKE1hdGgucm91bmQoYXNGbG9hdChvcDEyKSA/PyBOYU4pKS50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYXNTbWFsbEludGVnZXIob3AyMikgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBjZS5lcnJvcihcbiAgICAgICAgICAgICAgW1wiaW5jb21wYXRpYmxlLWRvbWFpblwiLCBcIkludGVnZXJcIiwgb3AyMi5kb21haW5dLFxuICAgICAgICAgICAgICBvcDIyXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBiYXNlID0gYXNTbWFsbEludGVnZXIob3AyMik7XG4gICAgICAgICAgaWYgKGJhc2UgPCAyIHx8IGJhc2UgPiAzNilcbiAgICAgICAgICAgIHJldHVybiBjZS5lcnJvcihbXCJvdXQtb2YtcmFuZ2VcIiwgMiwgMzYsIGJhc2VdLCBvcDIyKTtcbiAgICAgICAgICByZXR1cm4gY2Uuc3RyaW5nKE1hdGguYWJzKHZhbCkudG9TdHJpbmcoYmFzZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBTdHJpbmc6IHtcbiAgICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJNYXliZVwiLCBcIkFueXRoaW5nXCJdLCBcIlN0cmluZ1wiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5zdHJpbmcoXCJcIik7XG4gICAgICAgICAgcmV0dXJuIGNlLnN0cmluZyhvcHMyLm1hcCgoeCkgPT4geC5zdHJpbmcgPz8geC50b1N0cmluZygpKS5qb2luKFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy9cbiAgLy8gTGFUZVgtcmVsYXRlZFxuICAvL1xuICB7XG4gICAgLy8gSm9pbiBvciBtb3JlIExhdGV4VG9rZW5zIGludG8gYSBMYVRlWCBzdHJpbmdcbiAgICBKb2luTGF0ZXhUb2tlbnM6IHtcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIk1heWJlXCIsIFtcIlNlcXVlbmNlXCIsIFwiQW55dGhpbmdcIl1dLCBcIlN0cmluZ1wiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIHJldHVybiBjZS5mbihcIkxhdGV4XCIsIFtcbiAgICAgICAgICAgIGNlLnN0cmluZyh0b2tlbnNUb1N0cmluZyhvcHMyLm1hcCgoeCkgPT4geC5zdHJpbmcgPz8geC5sYXRleCkpKVxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBWYWx1ZSBwcmVzZXJ2aW5nIHR5cGUgY29udmVyc2lvbi90YWcgaW5kaWNhdGluZyB0aGUgc3RyaW5nXG4gICAgLy8gaXMgYSBMYVRlWCBzdHJpbmdcbiAgICBMYXRleDoge1xuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiTWF5YmVcIiwgW1wiU2VxdWVuY2VcIiwgXCJBbnl0aGluZ1wiXV0sIFwiU3RyaW5nXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLnN0cmluZyhcIlwiKTtcbiAgICAgICAgICByZXR1cm4gY2Uuc3RyaW5nKGpvaW5MYXRleChvcHMyLm1hcCgoeCkgPT4geC5zdHJpbmcgPz8geC50b1N0cmluZygpKSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBTZXJpYWxpemUgb25lIG9yIG1vcmUgZXhwcmVzc2lvbnMgdG8gTGFUZVhcbiAgICBTZXJpYWxpemVMYXRleDoge1xuICAgICAgaG9sZDogXCJhbGxcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIk1heWJlXCIsIFtcIlNlcXVlbmNlXCIsIFwiQW55dGhpbmdcIl1dLCBcIlN0cmluZ1wiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gY2UuZm4oXCJMYXRleFwiLCBbY2Uuc3RyaW5nKGpvaW5MYXRleChvcHMyLm1hcCgoeCkgPT4geC5sYXRleCkpKV0pXG4gICAgICB9XG4gICAgfSxcbiAgICBTcGxpdEFzTGF0ZXhUb2tlbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNwbGl0IGEgTGFUZVggc3RyaW5nIGludG8gYSBsaXN0IG9mIExhVGVYIHRva2Vuc1wiLFxuICAgICAgaG9sZDogXCJhbGxcIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIk1heWJlXCIsIFwiQW55dGhpbmdcIl0sIFtcIkxpc3RcIiwgXCJTdHJpbmdcIl1dLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkxpc3RcIiwgW10pO1xuICAgICAgICAgIGxldCBsYXRleCA9IFwiXCI7XG4gICAgICAgICAgaWYgKG9wczJbMF0uaGVhZCA9PT0gXCJMYXRleFwiKVxuICAgICAgICAgICAgbGF0ZXggPSBvcHMyWzBdLm9wMS5zdHJpbmcgPz8gXCJcIjtcbiAgICAgICAgICBlbHNlIGlmIChvcHMyWzBdLmhlYWQgPT09IFwiTGF0ZXhTdHJpbmdcIilcbiAgICAgICAgICAgIGxhdGV4ID0gam9pbkxhdGV4KG9wczJbMF0ub3BzLm1hcCgob3AzKSA9PiBvcDMubGF0ZXgpKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBsYXRleCA9IG9wczJbMF0ubGF0ZXg7XG4gICAgICAgICAgcmV0dXJuIGNlLl9mbihcbiAgICAgICAgICAgIFwiTGlzdFwiLFxuICAgICAgICAgICAgdG9rZW5pemUobGF0ZXgsIFtdKS5tYXAoKHgpID0+IGNlLnN0cmluZyh4KSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBQYXJzZUxhdGV4OiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQYXJzZSBhIExhVGVYIHN0cmluZyBhbmQgZXZhbHVhdGUgdG8gYSBjb3JyZXNwb25kaW5nIGV4cHJlc3Npb25cIixcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIk1heWJlXCIsIFwiU3RyaW5nXCJdLCBcIkFueXRoaW5nXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgaWYgKG9wczIubGVuZ3RoID09PSAwIHx8ICFvcHMyWzBdLnN0cmluZylcbiAgICAgICAgICAgIHJldHVybiBjZS5ib3goW1wiU2VxdWVuY2VcIl0pO1xuICAgICAgICAgIHJldHVybiBjZS5wYXJzZShvcHMyWzBdLnN0cmluZykgPz8gY2UuYm94KFtcIlNlcXVlbmNlXCJdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAge1xuICAgIFJhbmRvbUV4cHJlc3Npb246IHtcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFwiRnVuY3Rpb25cIixcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgX29wcykgPT4gY2UuYm94KHJhbmRvbUV4cHJlc3Npb24oKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbl07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9saWJyYXJ5L2xvZ2ljLnRzXG52YXIgTE9HSUNfTElCUkFSWSA9IHtcbiAgVHJ1ZTogeyB3aWtpZGF0YTogXCJRMTY3NTE3OTNcIiwgZG9tYWluOiBcIkJvb2xlYW5cIiwgY29uc3RhbnQ6IHRydWUgfSxcbiAgRmFsc2U6IHtcbiAgICB3aWtpZGF0YTogXCJRNTQzMjYxOVwiLFxuICAgIGRvbWFpbjogXCJCb29sZWFuXCIsXG4gICAgY29uc3RhbnQ6IHRydWVcbiAgfSxcbiAgTWF5YmU6IHtcbiAgICB3aWtpZGF0YTogXCJRNzgxNTQ2XCIsXG4gICAgZG9tYWluOiBcIk1heWJlQm9vbGVhblwiLFxuICAgIGNvbnN0YW50OiB0cnVlXG4gIH0sXG4gIC8vIEB0b2RvOiBzcGVjaWZ5IGEgYGNhbm9uaWNhbGAgZnVuY3Rpb24gdGhhdCBjb252ZXJ0cyBib29sZWFuXG4gIC8vIGV4cHJlc3Npb25zIGludG8gQ05GIChDb25qdW5jdGl2ZSBOb3JtYWwgRm9ybSlcbiAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29uanVuY3RpdmVfbm9ybWFsX2Zvcm1cbiAgLy8gdXNpbmcgcnVsZXMgKHdpdGggYSBydWxlIHNldCB0aGF0J3Mga2luZGEgdGhlIGludmVyc2Ugb2YgdGhlXG4gIC8vIGxvZ2ljIHJ1bGVzIGZvciBzaW1wbGlmeSlcbiAgQW5kOiB7XG4gICAgd2lraWRhdGE6IFwiUTE5MTA4MVwiLFxuICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgYXNzb2NpYXRpdmU6IHRydWUsXG4gICAgY29tbXV0YXRpdmU6IHRydWUsXG4gICAgaWRlbXBvdGVudDogdHJ1ZSxcbiAgICBjb21wbGV4aXR5OiAxZTQsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiTG9naWNPcGVyYXRvclwiLFxuICAgICAgc2ltcGxpZnk6IHByb2Nlc3NBbmQsXG4gICAgICBldmFsdWF0ZTogcHJvY2Vzc0FuZFxuICAgIH1cbiAgfSxcbiAgT3I6IHtcbiAgICB3aWtpZGF0YTogXCJRMTY1MTcwNFwiLFxuICAgIHRocmVhZGFibGU6IHRydWUsXG4gICAgYXNzb2NpYXRpdmU6IHRydWUsXG4gICAgY29tbXV0YXRpdmU6IHRydWUsXG4gICAgaWRlbXBvdGVudDogdHJ1ZSxcbiAgICBjb21wbGV4aXR5OiAxZTQsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiTG9naWNPcGVyYXRvclwiLFxuICAgICAgc2ltcGxpZnk6IHByb2Nlc3NPcixcbiAgICAgIGV2YWx1YXRlOiBwcm9jZXNzT3JcbiAgICB9XG4gIH0sXG4gIE5vdDoge1xuICAgIHdpa2lkYXRhOiBcIlExOTA1NThcIixcbiAgICBpbnZvbHV0aW9uOiB0cnVlLFxuICAgIGNvbXBsZXhpdHk6IDEwMTAwLFxuICAgIC8vIEB0b2RvOiB0aGlzIG1heSBub3QgYmUgbmVlZGVkLCBzaW5jZSB3ZSBhbHNvIGhhdmUgcnVsZXMuXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiTG9naWNPcGVyYXRvclwiLFxuICAgICAgc2ltcGxpZnk6IHByb2Nlc3NOb3QsXG4gICAgICBldmFsdWF0ZTogcHJvY2Vzc05vdFxuICAgIH1cbiAgfSxcbiAgRXF1aXZhbGVudDoge1xuICAgIHdpa2lkYXRhOiBcIlEyMjA0MzNcIixcbiAgICBjb21wbGV4aXR5OiAxMDIwMCxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJMb2dpY09wZXJhdG9yXCIsXG4gICAgICBzaW1wbGlmeTogcHJvY2Vzc0VxdWl2YWxlbnQsXG4gICAgICBldmFsdWF0ZTogcHJvY2Vzc0VxdWl2YWxlbnRcbiAgICB9XG4gIH0sXG4gIEltcGxpZXM6IHtcbiAgICB3aWtpZGF0YTogXCJRNzg4MTIyOVwiLFxuICAgIGNvbXBsZXhpdHk6IDEwMjAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIkxvZ2ljT3BlcmF0b3JcIixcbiAgICAgIHNpbXBsaWZ5OiBwcm9jZXNzSW1wbGllcyxcbiAgICAgIGV2YWx1YXRlOiBwcm9jZXNzSW1wbGllc1xuICAgIH1cbiAgfSxcbiAgRXhpc3RzOiB7IHNpZ25hdHVyZTogeyBkb21haW46IFwiTWF5YmVCb29sZWFuXCIgfSB9LFxuICBJZjoge1xuICAgIGhvbGQ6IFwicmVzdFwiLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIkZ1bmN0aW9uXCIsXG4gICAgICBjb2RvbWFpbjogKGNlLCBvcHMyKSA9PiBjZS5kb21haW4oW1wiVW5pb25cIiwgb3BzMlswXSwgb3BzMlsxXV0pLFxuICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICBjb25zdCBjb25kID0gb3BzMlswXTtcbiAgICAgICAgaWYgKGNvbmQgJiYgY29uZC5zeW1ib2wgPT09IFwiVHJ1ZVwiKVxuICAgICAgICAgIHJldHVybiBvcHMyWzFdID8gb3BzMlsxXS5zaW1wbGlmeSgpIDogY2UuYm94KFwiTm90aGluZ1wiKTtcbiAgICAgICAgcmV0dXJuIG9wczJbMl0gPyBvcHMyWzJdLnNpbXBsaWZ5KCkgOiBjZS5ib3goXCJOb3RoaW5nXCIpO1xuICAgICAgfSxcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgY29uc3QgY29uZCA9IG9wczJbMF07XG4gICAgICAgIGlmIChjb25kICYmIGNvbmQuc3ltYm9sID09PSBcIlRydWVcIilcbiAgICAgICAgICByZXR1cm4gb3BzMlsxXSA/IG9wczJbMV0uZXZhbHVhdGUoKSA6IGNlLmJveChcIk5vdGhpbmdcIik7XG4gICAgICAgIHJldHVybiBvcHMyWzJdID8gb3BzMlsyXS5ldmFsdWF0ZSgpIDogY2UuYm94KFwiTm90aGluZ1wiKTtcbiAgICAgIH0sXG4gICAgICAvLyBAdG9kbzogcHJvYmFibHkgZG9uJ3QgbmVlZCBhIE4oKSBoYW5kbGVyLiBEb2Vzbid0IG1ha2UgYSBkaWZmZXJlbmNlXG4gICAgICAvLyBmb3IgdGhlIGV2YWx1YXRpb24gb2YgYm9vbGVhbnMuIEFsc28sIGRvbid0IG5lZWQgdG8gY2FsbCBOKCkgb24gdGhlXG4gICAgICAvLyBhcmd1bWVudHMsIHRoZSBjYWxsZXIgc2hvdWxkIGhhdmUgZG9uZSB0aGF0LiBTYW1lIGZvciBldmFsdWF0ZSgpXG4gICAgICAvLyBhbmQgc2ltcGxpZnkoKSBhYm92ZVxuICAgICAgTjogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmQgPSBvcHMyWzBdO1xuICAgICAgICBpZiAoY29uZCAmJiBjb25kLnN5bWJvbCA9PT0gXCJUcnVlXCIpXG4gICAgICAgICAgcmV0dXJuIG9wczJbMV0gPyBvcHMyWzFdLk4oKSA6IGNlLmJveChcIk5vdGhpbmdcIik7XG4gICAgICAgIHJldHVybiBvcHMyWzJdID8gb3BzMlsyXS5OKCkgOiBjZS5ib3goXCJOb3RoaW5nXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgTG9vcDoge1xuICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiRnVuY3Rpb25cIixcbiAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IG9wczJbMF0/LnNpbXBsaWZ5KCkgPz8gY2UuYm94KFwiTm90aGluZ1wiKSxcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IG9wczJbMF0gPz8gY2UuYm94KFwiTm90aGluZ1wiKTtcbiAgICAgICAgaWYgKGJvZHkuaXNOb3RoaW5nKVxuICAgICAgICAgIHJldHVybiBib2R5O1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICByZXN1bHQgPSBib2R5LmV2YWx1YXRlKCk7XG4gICAgICAgICAgaSArPSAxO1xuICAgICAgICB9IHdoaWxlIChyZXN1bHQuaGVhZCAhPT0gXCJSZXR1cm5cIiAmJiBpIDwgY2UuaXRlcmF0aW9uTGltaXQpO1xuICAgICAgICBpZiAocmVzdWx0LmhlYWQgPT09IFwiUmV0dXJuXCIpXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5vcDE7XG4gICAgICAgIHJldHVybiBjZS5lcnJvcihcIml0ZXJhdGlvbi1saW1pdC1leGNlZWRlZFwiKTtcbiAgICAgIH0sXG4gICAgICBOOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgY29uc3QgY29uZCA9IG9wczJbMF07XG4gICAgICAgIGlmIChjb25kICYmIGNvbmQuc3ltYm9sID09PSBcIlRydWVcIilcbiAgICAgICAgICByZXR1cm4gb3BzMlsxXSA/IG9wczJbMV0uTigpIDogY2UuYm94KFwiTm90aGluZ1wiKTtcbiAgICAgICAgcmV0dXJuIG9wczJbMl0gPyBvcHMyWzJdLk4oKSA6IGNlLmJveChcIk5vdGhpbmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBXaGljaDoge1xuICAgIGhvbGQ6IFwiYWxsXCIsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiRnVuY3Rpb25cIixcbiAgICAgIGNvZG9tYWluOiAoY2UsIG9wczIpID0+IGRvbWFpbldoaWNoKGNlLCBvcHMyKSxcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHdoaWNoRXZhbHVhdGUoY2UsIG9wczIsIFwiZXZhbHVhdGVcIiksXG4gICAgICBOOiAoY2UsIG9wczIpID0+IHdoaWNoRXZhbHVhdGUoY2UsIG9wczIsIFwiTlwiKVxuICAgIH1cbiAgfVxufTtcbmZ1bmN0aW9uIHByb2Nlc3NBbmQoY2UsIGFyZ3MpIHtcbiAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICBjb25zdCBvcHMyID0gW107XG4gIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcbiAgICBpZiAoYXJnLnN5bWJvbCA9PT0gXCJGYWxzZVwiKVxuICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICAgIGlmIChhcmcuc3ltYm9sICE9PSBcIlRydWVcIikge1xuICAgICAgbGV0IGR1cGxpY2F0ZSA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCB4IG9mIG9wczIpIHtcbiAgICAgICAgaWYgKHguaXNTYW1lKGFyZykpIHtcbiAgICAgICAgICBkdXBsaWNhdGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGFyZy5oZWFkID09PSBcIk5vdFwiICYmIGFyZy5vcDEuaXNTYW1lKHgpIHx8IHguaGVhZCA9PT0gXCJOb3RcIiAmJiB4Lm9wMS5pc1NhbWUoYXJnKSkge1xuICAgICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJGYWxzZVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFkdXBsaWNhdGUpXG4gICAgICAgIG9wczIucHVzaChhcmcpO1xuICAgIH1cbiAgfVxuICBpZiAob3BzMi5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gb3BzMlswXTtcbiAgcmV0dXJuIGNlLl9mbihcIkFuZFwiLCBvcHMyKTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NPcihjZSwgYXJncykge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gIGNvbnN0IG9wczIgPSBbXTtcbiAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xuICAgIGlmIChhcmcuc3ltYm9sID09PSBcIlRydWVcIilcbiAgICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICAgIGlmIChhcmcuc3ltYm9sICE9PSBcIkZhbHNlXCIpIHtcbiAgICAgIGxldCBkdXBsaWNhdGUgPSBmYWxzZTtcbiAgICAgIGZvciAoY29uc3QgeCBvZiBvcHMyKSB7XG4gICAgICAgIGlmICh4LmlzU2FtZShhcmcpKSB7XG4gICAgICAgICAgZHVwbGljYXRlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChhcmcuaGVhZCA9PT0gXCJOb3RcIiAmJiBhcmcub3AxLmlzU2FtZSh4KSB8fCB4LmhlYWQgPT09IFwiTm90XCIgJiYgeC5vcDEuaXNTYW1lKGFyZykpIHtcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFkdXBsaWNhdGUpXG4gICAgICAgIG9wczIucHVzaChhcmcpO1xuICAgIH1cbiAgfVxuICBpZiAob3BzMi5sZW5ndGggPT09IDApXG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gb3BzMlswXTtcbiAgcmV0dXJuIGNlLl9mbihcIk9yXCIsIG9wczIpO1xufVxuZnVuY3Rpb24gcHJvY2Vzc05vdChjZSwgYXJncykge1xuICBjb25zdCBvcDEyID0gYXJnc1swXS5zeW1ib2w7XG4gIGlmIChvcDEyID09PSBcIlRydWVcIilcbiAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gIGlmIChvcDEyID09PSBcIkZhbHNlXCIpXG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gIGlmIChvcDEyID09PSBcIk1heWJlXCIpXG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIk1heWJlXCIpO1xuICByZXR1cm4gdm9pZCAwO1xufVxuZnVuY3Rpb24gcHJvY2Vzc0VxdWl2YWxlbnQoY2UsIGFyZ3MpIHtcbiAgY29uc3QgbGhzID0gYXJnc1swXS5zeW1ib2w7XG4gIGNvbnN0IHJocyA9IGFyZ3NbMV0uc3ltYm9sO1xuICBpZiAobGhzID09PSBcIlRydWVcIiAmJiByaHMgPT09IFwiVHJ1ZVwiIHx8IGxocyA9PT0gXCJGYWxzZVwiICYmIHJocyA9PT0gXCJGYWxzZVwiKVxuICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICBpZiAobGhzID09PSBcIlRydWVcIiAmJiByaHMgPT09IFwiRmFsc2VcIiB8fCBsaHMgPT09IFwiRmFsc2VcIiAmJiByaHMgPT09IFwiVHJ1ZVwiKVxuICAgIHJldHVybiBjZS5zeW1ib2woXCJGYWxzZVwiKTtcbiAgaWYgKGxocyA9PT0gXCJNYXliZVwiIHx8IHJocyA9PT0gXCJNYXliZVwiKVxuICAgIHJldHVybiBjZS5zeW1ib2woXCJNYXliZVwiKTtcbiAgcmV0dXJuIHZvaWQgMDtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NJbXBsaWVzKGNlLCBhcmdzKSB7XG4gIGNvbnN0IGxocyA9IGFyZ3NbMF0uc3ltYm9sO1xuICBjb25zdCByaHMgPSBhcmdzWzFdLnN5bWJvbDtcbiAgaWYgKGxocyA9PT0gXCJUcnVlXCIgJiYgcmhzID09PSBcIlRydWVcIiB8fCBsaHMgPT09IFwiRmFsc2VcIiAmJiByaHMgPT09IFwiRmFsc2VcIiB8fCBsaHMgPT09IFwiRmFsc2VcIiAmJiByaHMgPT09IFwiVHJ1ZVwiKVxuICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICBpZiAobGhzID09PSBcIlRydWVcIiAmJiByaHMgPT09IFwiRmFsc2VcIilcbiAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gIGlmIChsaHMgPT09IFwiTWF5YmVcIiB8fCByaHMgPT09IFwiTWF5YmVcIilcbiAgICByZXR1cm4gY2Uuc3ltYm9sKFwiTWF5YmVcIik7XG4gIHJldHVybiB2b2lkIDA7XG59XG5mdW5jdGlvbiBkb21haW5XaGljaChjZSwgYXJncykge1xuICBsZXQgZG9tID0gbnVsbDtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gYXJncy5sZW5ndGggLSAxOyBpICs9IDIpIHtcbiAgICBpZiAoIWRvbSlcbiAgICAgIGRvbSA9IGFyZ3NbaV0uZG9tYWluO1xuICAgIGVsc2VcbiAgICAgIGRvbSA9IHNoYXJlZEFuY2VzdG9yRG9tYWluKGRvbSwgYXJnc1tpXS5kb21haW4pO1xuICB9XG4gIHJldHVybiBkb20gPz8gY2UuZG9tYWluKFwiTm90aGluZ1wiKTtcbn1cbmZ1bmN0aW9uIHdoaWNoRXZhbHVhdGUoY2UsIGFyZ3MsIG1vZGUpIHtcbiAgbGV0IGkgPSAwO1xuICB3aGlsZSAoaSA8IGFyZ3MubGVuZ3RoIC0gMSkge1xuICAgIGlmIChhcmdzW2ldLmV2YWx1YXRlKCkuc3ltYm9sID09PSBcIlRydWVcIikge1xuICAgICAgaWYgKCFhcmdzW2kgKyAxXSlcbiAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlVuZGVmaW5lZFwiKTtcbiAgICAgIHJldHVybiBtb2RlID09PSBcIk5cIiA/IGFyZ3NbaSArIDFdLk4oKSA6IGFyZ3NbaSArIDFdLmV2YWx1YXRlKCk7XG4gICAgfVxuICAgIGkgKz0gMjtcbiAgfVxuICByZXR1cm4gY2Uuc3ltYm9sKFwiVW5kZWZpbmVkXCIpO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9wb2x5bm9taWFscy50c1xudmFyIFBPTFlOT01JQUxTX0xJQlJBUlkgPSBbXG4gIHtcbiAgICBFeHBhbmQ6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkV4cGFuZCBvdXQgcHJvZHVjdHMgYW5kIHBvc2l0aXZlIGludGVnZXIgcG93ZXJzXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlZhbHVlXCIsIFwiVmFsdWVcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoX2NlLCBvcHMyKSA9PiBleHBhbmQyKG9wczJbMF0pID8/IG9wczJbMF1cbiAgICAgIH1cbiAgICB9LFxuICAgIERpc3RyaWJ1dGU6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkRpc3RyaWJ1dGUgbXVsdGlwbGljYXRpb24gb3ZlciBhZGRpdGlvblwiLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJWYWx1ZVwiLCBcIlZhbHVlXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3QgaCA9IG9wczJbMF0uaGVhZDtcbiAgICAgICAgICBpZiAoaCA9PT0gXCJNdWx0aXBseVwiKVxuICAgICAgICAgICAgcmV0dXJuIGRpc3RyaWJ1dGUob3BzMlswXS5vcHMpID8/IG9wczJbMF07XG4gICAgICAgICAgaWYgKGggPT09IFwiTmVnYXRlXCIpXG4gICAgICAgICAgICByZXR1cm4gZGlzdHJpYnV0ZShbY2UuX05FR0FUSVZFX09ORSwgLi4ub3BzMlswXS5vcHNdKSA/PyBvcHMyWzBdO1xuICAgICAgICAgIGlmIChoID09PSBcIkRpdmlkZVwiICYmIG9wczJbMF0ub3BzWzBdLmhlYWQgPT09IFwiTXVsdGlwbHlcIikge1xuICAgICAgICAgICAgY29uc3QgbnVtZXJhdG9yID0gZGlzdHJpYnV0ZShvcHMyWzBdLm9wcyk7XG4gICAgICAgICAgICBjb25zdCBkZW5vbWluYXRvciA9IG9wczJbMF0ub3BzWzFdO1xuICAgICAgICAgICAgaWYgKG51bWVyYXRvcikge1xuICAgICAgICAgICAgICBpZiAobnVtZXJhdG9yLmhlYWQgPT09IFwiQWRkXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlLmFkZChcbiAgICAgICAgICAgICAgICAgIG51bWVyYXRvci5vcHMubWFwKCh4KSA9PiBjZS5kaXYoeCwgZGVub21pbmF0b3IpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBjZS5kaXYobnVtZXJhdG9yLCBkZW5vbWluYXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvcHMyWzBdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5dO1xuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9yZWxhdGlvbmFsLW9wZXJhdG9yLnRzXG52YXIgUkVMT1BfTElCUkFSWSA9IHtcbiAgRXF1YWw6IHtcbiAgICBjb21tdXRhdGl2ZTogdHJ1ZSxcbiAgICBjb21wbGV4aXR5OiAxMWUzLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgcmV0dXJuIGNlLl9mbihcbiAgICAgICAgICBcIkVxdWFsXCIsXG4gICAgICAgICAgZmxhdHRlbk9wcyhjYW5vbmljYWwoZmxhdHRlblNlcXVlbmNlKG9wczIpKSwgXCJFcXVhbFwiKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgaWYgKG9wczIubGVuZ3RoIDwgMilcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgICAgbGV0IGxocyA9IHZvaWQgMDtcbiAgICAgICAgZm9yIChjb25zdCBhcmcgb2Ygb3BzMikge1xuICAgICAgICAgIGlmICghbGhzKVxuICAgICAgICAgICAgbGhzID0gYXJnO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGVzdCA9IGxocy5pc0VxdWFsKGFyZyk7XG4gICAgICAgICAgICBpZiAodGVzdCAhPT0gdHJ1ZSlcbiAgICAgICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIE5vdEVxdWFsOiB7XG4gICAgd2lraWRhdGE6IFwiUTI4MTEzMzUxXCIsXG4gICAgY29tbXV0YXRpdmU6IHRydWUsXG4gICAgY29tcGxleGl0eTogMTFlMyxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgaWYgKG9wczIubGVuZ3RoIDwgMilcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gICAgICAgIGxldCBsaHMgPSB2b2lkIDA7XG4gICAgICAgIGZvciAoY29uc3QgYXJnIG9mIG9wczIpIHtcbiAgICAgICAgICBpZiAoIWxocylcbiAgICAgICAgICAgIGxocyA9IGFyZztcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3QgPSBsaHMuaXNFcXVhbChhcmcpO1xuICAgICAgICAgICAgaWYgKHRlc3QgPT09IHRydWUpXG4gICAgICAgICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJGYWxzZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBMZXNzOiB7XG4gICAgY29tcGxleGl0eTogMTFlMyxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBvcHMyKSA9PiBjZS5fZm4oXCJMZXNzXCIsIGZsYXR0ZW5PcHMoY2Fub25pY2FsKGZsYXR0ZW5TZXF1ZW5jZShvcHMyKSksIFwiTGVzc1wiKSksXG4gICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgIGlmIChvcHMyLmxlbmd0aCA8IDIpXG4gICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgICAgIGxldCBsaHMgPSB2b2lkIDA7XG4gICAgICAgIGZvciAoY29uc3QgYXJnIG9mIG9wczIpIHtcbiAgICAgICAgICBpZiAoIWFyZy5pc051bWJlcilcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgaWYgKCFsaHMpXG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0ID0gY2UuZm4oXCJTdWJ0cmFjdFwiLCBbYXJnLCBsaHNdKS5OKCkuc2duO1xuICAgICAgICAgICAgaWYgKHRlc3QgPT09IG51bGwgfHwgdGVzdCA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRlc3QgPD0gMClcbiAgICAgICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICAgICAgICAgICAgbGhzID0gYXJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIE5vdExlc3M6IHtcbiAgICBjb21wbGV4aXR5OiAxMWUzLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiTGVzc1wiLCBhcmdzKV0pXG4gICAgfVxuICB9LFxuICBHcmVhdGVyOiB7XG4gICAgY29tcGxleGl0eTogMTFlMyxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5fZm4oXCJMZXNzXCIsIGFyZ3MucmV2ZXJzZSgpKSxcbiAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgaWYgKG9wczIubGVuZ3RoIDwgMilcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgICAgbGV0IGxocyA9IHZvaWQgMDtcbiAgICAgICAgZm9yIChjb25zdCBhcmcgb2Ygb3BzMikge1xuICAgICAgICAgIGlmICghYXJnLmlzTnVtYmVyKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICBpZiAoIWxocylcbiAgICAgICAgICAgIGxocyA9IGFyZztcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3QgPSBjZS5mbihcIlN1YnRyYWN0XCIsIFthcmcsIGxoc10pLk4oKS5zZ247XG4gICAgICAgICAgICBpZiAodGVzdCA9PT0gbnVsbCB8fCB0ZXN0ID09PSB2b2lkIDApXG4gICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICBpZiAodGVzdCA+PSAwKVxuICAgICAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgTm90R3JlYXRlcjoge1xuICAgIGNvbXBsZXhpdHk6IDExZTMsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiUmVsYXRpb25hbE9wZXJhdG9yXCIsXG4gICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4gY2UuX2ZuKFwiTm90XCIsIFtjZS5fZm4oXCJHcmVhdGVyXCIsIGFyZ3MpXSlcbiAgICB9XG4gIH0sXG4gIExlc3NFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExZTMsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiUmVsYXRpb25hbE9wZXJhdG9yXCIsXG4gICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgIGlmIChvcHMyLmxlbmd0aCA8IDIpXG4gICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgICAgIGxldCBsaHMgPSB2b2lkIDA7XG4gICAgICAgIGZvciAoY29uc3QgYXJnIG9mIG9wczIpIHtcbiAgICAgICAgICBpZiAoIWFyZy5pc051bWJlcilcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgaWYgKCFsaHMpXG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0ID0gY2UuZm4oXCJTdWJ0cmFjdFwiLCBbYXJnLCBsaHNdKS5OKCkuc2duO1xuICAgICAgICAgICAgaWYgKHRlc3QgPT09IG51bGwgfHwgdGVzdCA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRlc3QgPCAwKVxuICAgICAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgTm90TGVzc05vdEVxdWFsOiB7XG4gICAgY29tcGxleGl0eTogMTFlMyxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5fZm4oXCJOb3RcIiwgW2NlLl9mbihcIkxlc3NFcXVhbFwiLCBhcmdzKV0pXG4gICAgfVxuICB9LFxuICBHcmVhdGVyRXF1YWw6IHtcbiAgICBjb21wbGV4aXR5OiAxMWUzLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIkxlc3NFcXVhbFwiLCBhcmdzLnJldmVyc2UoKSksXG4gICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgIGlmIChvcHMyLmxlbmd0aCA8IDIpXG4gICAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgICAgIGxldCBsaHMgPSB2b2lkIDA7XG4gICAgICAgIGZvciAoY29uc3QgYXJnIG9mIG9wczIpIHtcbiAgICAgICAgICBpZiAoIWFyZy5pc051bWJlcilcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgaWYgKCFsaHMpXG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0ID0gY2UuZm4oXCJTdWJ0cmFjdFwiLCBbYXJnLCBsaHNdKS5OKCkuc2duO1xuICAgICAgICAgICAgaWYgKHRlc3QgPT09IG51bGwgfHwgdGVzdCA9PT0gdm9pZCAwKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRlc3QgPiAwKVxuICAgICAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiRmFsc2VcIik7XG4gICAgICAgICAgICBsaHMgPSBhcmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjZS5zeW1ib2woXCJUcnVlXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgTm90R3JlYXRlck5vdEVxdWFsOiB7XG4gICAgY29tcGxleGl0eTogMTFlMyxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5fZm4oXCJOb3RcIiwgW2NlLl9mbihcIkdyZWF0ZXJFcXVhbFwiLCBhcmdzKV0pXG4gICAgfVxuICB9LFxuICBUaWxkZUZ1bGxFcXVhbDoge1xuICAgIGRlc2NyaXB0aW9uOiBcIkluZGljYXRlIGlzb21vcnBoaXNtLCBjb25ncnVlbmNlIGFuZCBob21vdG9waWMgZXF1aXZhbGVuY2VcIixcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiIH1cbiAgICAvLyBAdG9kbyBldmFsdWF0ZTogKGNlLCAuLi5hcmdzOiBCb3hlZEV4cHJlc3Npb25bXSkgPT4gU2VtaUJveGVkRXhwcmVzc2lvbiB7fVxuICB9LFxuICBOb3RUaWxkZUZ1bGxFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExMTAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiVGlsZGVGdWxsRXF1YWxcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgVGlsZGVFcXVhbDoge1xuICAgIGRlc2NyaXB0aW9uOiBcIkFwcHJveGltYXRlbHkgb3IgYXN5bXB0b3RpY2FsbHkgZXF1YWxcIixcbiAgICBjb21wbGV4aXR5OiAxMWUzLFxuICAgIHNpZ25hdHVyZTogeyBkb21haW46IFwiUmVsYXRpb25hbE9wZXJhdG9yXCIgfVxuICAgIC8vIEB0b2RvIGV2YWx1YXRlOiAoY2UsIC4uLmFyZ3M6IEJveGVkRXhwcmVzc2lvbltdKSA9PiBTZW1pQm94ZWRFeHByZXNzaW9uIHt9XG4gIH0sXG4gIE5vdFRpbGRlRXF1YWw6IHtcbiAgICBjb21wbGV4aXR5OiAxMTEwMCxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5fZm4oXCJOb3RcIiwgW2NlLl9mbihcIlRpbGRlRXF1YWxcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgQXBwcm94OiB7XG4gICAgY29tcGxleGl0eTogMTExMDAsXG4gICAgc2lnbmF0dXJlOiB7IGRvbWFpbjogXCJSZWxhdGlvbmFsT3BlcmF0b3JcIiB9XG4gICAgLy8gQHRvZG8gZXZhbHVhdGU6IChjZSwgLi4uYXJnczogQm94ZWRFeHByZXNzaW9uW10pID0+IFNlbWlCb3hlZEV4cHJlc3Npb24ge31cbiAgfSxcbiAgTm90QXBwcm94OiB7XG4gICAgY29tcGxleGl0eTogMTExMDAsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFwiUmVsYXRpb25hbE9wZXJhdG9yXCIsXG4gICAgICBjYW5vbmljYWw6IChjZSwgYXJncykgPT4gY2UuX2ZuKFwiTm90XCIsIFtjZS5fZm4oXCJBcHByb3hcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgQXBwcm94RXF1YWw6IHtcbiAgICBjb21wbGV4aXR5OiAxMTEwMCxcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiIH1cbiAgICAvLyBAdG9kbyBldmFsdWF0ZTogKGNlLCAuLi5hcmdzOiBCb3hlZEV4cHJlc3Npb25bXSkgPT4gU2VtaUJveGVkRXhwcmVzc2lvbiB7fVxuICB9LFxuICBOb3RBcHByb3hFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExMTAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiQXBwcm94RXF1YWxcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgQXBwcm94Tm90RXF1YWw6IHtcbiAgICBjb21wbGV4aXR5OiAxMTEwMCxcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiIH1cbiAgICAvLyBAdG9kbyBldmFsdWF0ZTogKGNlLCAuLi5hcmdzOiBCb3hlZEV4cHJlc3Npb25bXSkgPT4gU2VtaUJveGVkRXhwcmVzc2lvbiB7fVxuICB9LFxuICBOb3RBcHByb3hOb3RFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExMTAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiQXBwcm94Tm90RXF1YWxcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgUHJlY2VkZXM6IHtcbiAgICBjb21wbGV4aXR5OiAxMTEwMCxcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiIH1cbiAgICAvLyBAdG9kbyBldmFsdWF0ZTogKGNlLCAuLi5hcmdzOiBCb3hlZEV4cHJlc3Npb25bXSkgPT4gU2VtaUJveGVkRXhwcmVzc2lvbiB7fVxuICB9LFxuICBOb3RQcmVjZWRlczoge1xuICAgIGNvbXBsZXhpdHk6IDExMTAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiUHJlY2VkZXNcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgU3VjY2VlZHM6IHtcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiIH1cbiAgICAvLyBAdG9kbyBldmFsdWF0ZTogKGNlLCAuLi5hcmdzOiBCb3hlZEV4cHJlc3Npb25bXSkgPT4gU2VtaUJveGVkRXhwcmVzc2lvbiB7fVxuICB9LFxuICBOb3RTdWNjZWVkczoge1xuICAgIGNvbXBsZXhpdHk6IDExMTAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlJlbGF0aW9uYWxPcGVyYXRvclwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLl9mbihcIk5vdFwiLCBbY2UuX2ZuKFwiU3VjY2VlZHNcIiwgYXJncyldKVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvc2V0cy50c1xudmFyIFNFVFNfTElCUkFSWSA9IHtcbiAgLy9cbiAgLy8gQ29uc3RhbnRzXG4gIC8vXG4gIEVtcHR5U2V0OiB7XG4gICAgZG9tYWluOiBcIlNldFwiLFxuICAgIGNvbnN0YW50OiB0cnVlLFxuICAgIHdpa2lkYXRhOiBcIlEyMjYxODNcIlxuICAgIC8vIGNvbnRhaW5zOiAoKSA9PiBmYWxzZSwgLy8gQHRvZG8gbm90IHF1aXRlIHRydWUuLi5cbiAgICAvLyBpbmNsdWRlczogKCkgPT4gdHJ1ZSwgLy8gVGhlIGVtcHR5IHNldCBpcyBhIHN1YnNldCBvZiBldmVyeSBzZXRcbiAgfSxcbiAgLy9cbiAgLy8gUHJlZGljYXRlc1xuICAvL1xuICBFbGVtZW50OiB7XG4gICAgY29tcGxleGl0eTogMTEyMDAsXG4gICAgaG9sZDogXCJhbGxcIixcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJQcmVkaWNhdGVcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiB7XG4gICAgICAgIGFyZ3MgPSB2YWxpZGF0ZUFyZ3VtZW50Q291bnQoY2UsIGZsYXR0ZW5TZXF1ZW5jZShjYW5vbmljYWwoYXJncykpLCAyKTtcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyICYmIGlzVmFsaWREb21haW4oYXJnc1sxXSkpXG4gICAgICAgICAgcmV0dXJuIGNlLl9mbihcIkVsZW1lbnRcIiwgW2FyZ3NbMF0sIGNlLmRvbWFpbihhcmdzWzFdKV0pO1xuICAgICAgICByZXR1cm4gY2UuX2ZuKFwiRWxlbWVudFwiLCBhcmdzKTtcbiAgICAgIH0sXG4gICAgICBldmFsdWF0ZTogKGNlLCBhcmdzKSA9PiBldmFsdWF0ZUVsZW1lbnQoY2UsIGFyZ3MpXG4gICAgfVxuICB9LFxuICBOb3RFbGVtZW50OiB7XG4gICAgY29tcGxleGl0eTogMTEyMDAsXG4gICAgaG9sZDogXCJhbGxcIixcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJQcmVkaWNhdGVcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5mbihcIk5vdFwiLCBbY2UuZm4oXCJFbGVtZW50XCIsIGFyZ3MpXSlcbiAgICB9XG4gIH0sXG4gIFN1YnNldDoge1xuICAgIGNvbXBsZXhpdHk6IDExMjAwLFxuICAgIHNpZ25hdHVyZTogeyBkb21haW46IFwiUHJlZGljYXRlXCIgfVxuICB9LFxuICBOb3RTdWJzZXQ6IHtcbiAgICBjb21wbGV4aXR5OiAxMTIwMCxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJQcmVkaWNhdGVcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5mbihcIk5vdFwiLCBbY2UuZm4oXCJTdWJzZXRcIiwgYXJncyldKVxuICAgIH1cbiAgfSxcbiAgU3VwZXJzZXQ6IHtcbiAgICBjb21wbGV4aXR5OiAxMTIwMCxcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBcIlByZWRpY2F0ZVwiIH1cbiAgfSxcbiAgU3VwZXJzZXRFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExMjAwLFxuICAgIHNpZ25hdHVyZTogeyBkb21haW46IFwiUHJlZGljYXRlXCIgfVxuICB9LFxuICBOb3RTdXBlcnNldDoge1xuICAgIGNvbXBsZXhpdHk6IDExMjAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlByZWRpY2F0ZVwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLmZuKFwiTm90XCIsIFtjZS5mbihcIlN1cGVyc2V0XCIsIGFyZ3MpXSlcbiAgICB9XG4gIH0sXG4gIE5vdFN1cGVyc2V0RXF1YWw6IHtcbiAgICBjb21wbGV4aXR5OiAxMTIwMCxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogXCJQcmVkaWNhdGVcIixcbiAgICAgIGNhbm9uaWNhbDogKGNlLCBhcmdzKSA9PiBjZS5mbihcIk5vdFwiLCBbY2UuZm4oXCJTdXBlcnNldEVxdWFsXCIsIGFyZ3MpXSlcbiAgICB9XG4gIH0sXG4gIFN1YnNldEVxdWFsOiB7XG4gICAgY29tcGxleGl0eTogMTEyMDAsXG4gICAgc2lnbmF0dXJlOiB7IGRvbWFpbjogXCJQcmVkaWNhdGVcIiB9XG4gICAgLy8gZXZhbHVhdGU6IHN1YnNldEVxdWFsLFxuICB9LFxuICBOb3RTdWJzZXROb3RFcXVhbDoge1xuICAgIGNvbXBsZXhpdHk6IDExMjAwLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgZG9tYWluOiBcIlByZWRpY2F0ZVwiLFxuICAgICAgY2Fub25pY2FsOiAoY2UsIGFyZ3MpID0+IGNlLmZuKFwiTm90XCIsIFtjZS5mbihcIlN1YnNldEVxdWFsXCIsIGFyZ3MpXSlcbiAgICB9XG4gIH0sXG4gIC8vXG4gIC8vIEZ1bmN0aW9uc1xuICAvL1xuICBDYXJ0ZXNpYW5Qcm9kdWN0OiB7XG4gICAgLy8gQWthIHRoZSBwcm9kdWN0IHNldCwgdGhlIHNldCBkaXJlY3QgcHJvZHVjdCBvciBjcm9zcyBwcm9kdWN0XG4gICAgLy8gTm90YXRpb246IFxcdGltZXNcbiAgICB3aWtpZGF0YTogXCJRMTczNzQwXCIsXG4gICAgc2lnbmF0dXJlOiB7IGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJTZXRcIiwgW1wiU2VxdWVuY2VcIiwgXCJTZXRcIl0sIFwiU2V0XCJdIH1cbiAgICAvLyBldmFsdWF0ZTogY2FydGVzaWFuUHJvZHVjdCxcbiAgfSxcbiAgQ29tcGxlbWVudDoge1xuICAgIC8vIFJldHVybiB0aGUgZWxlbWVudHMgb2YgdGhlIGZpcnN0IGFyZ3VtZW50IHRoYXQgYXJlIG5vdCBpbiBhbnkgb2ZcbiAgICAvLyB0aGUgc3Vic2VxdWVudCBsaXN0c1xuICAgIHdpa2lkYXRhOiBcIlEyNDI3NjdcIixcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlNldFwiLCBcIlNldFwiXSB9XG4gIH0sXG4gIEludGVyc2VjdGlvbjoge1xuICAgIC8vIG5vdGF0aW9uOiBcXGNhcFxuICAgIHdpa2lkYXRhOiBcIlExODU4MzdcIixcbiAgICB0aHJlYWRhYmxlOiB0cnVlLFxuICAgIGFzc29jaWF0aXZlOiB0cnVlLFxuICAgIGNvbW11dGF0aXZlOiB0cnVlLFxuICAgIGludm9sdXRpb246IHRydWUsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiU2V0XCIsIFtcIlNlcXVlbmNlXCIsIFwiU2V0XCJdLCBcIlNldFwiXSxcbiAgICAgIGV2YWx1YXRlOiBpbnRlcnNlY3Rpb25cbiAgICB9XG4gIH0sXG4gIFVuaW9uOiB7XG4gICAgLy8gV29ya3Mgb24gc2V0LCBidXQgY2FuIGFsc28gd29yayBvbiBsaXN0c1xuICAgIHdpa2lkYXRhOiBcIlExODUzNTlcIixcbiAgICB0aHJlYWRhYmxlOiB0cnVlLFxuICAgIGFzc29jaWF0aXZlOiB0cnVlLFxuICAgIGNvbW11dGF0aXZlOiB0cnVlLFxuICAgIGludm9sdXRpb246IHRydWUsXG4gICAgc2lnbmF0dXJlOiB7XG4gICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiU2V0XCIsIFtcIlNlcXVlbmNlXCIsIFwiU2V0XCJdLCBcIlNldFwiXSxcbiAgICAgIGV2YWx1YXRlOiB1bmlvblxuICAgIH1cbiAgfSxcbiAgLy8ge1xuICAvLyAgIG5hbWU6ICdTZXQnLFxuICAvLyAgIGRvbWFpbjogWydGdW5jdGlvbicsIFsnU2VxdWVuY2UnLCAnQW55dGhpbmcnXSwgJ1NldCddLFxuICAvLyAgIC8vIEB0b2RvISBzZXQgaGFzIG11bHRpcGxlIGZvcm1zXG4gIC8vICAgLy8gU2V0KFNlcXVlbmNlKVxuICAvLyAgIC8vIFNldChTZXF1ZW5jZSwgQ29uZGl0aW9uKVxuICAvLyAgIC8vIFNldChTZXQsIENvbmRpdGlvbilcbiAgLy8gfSwgLy8gZGlzam9pbnQgdW5pb24gUTg0MjYyMCBcdTIyOTRcbiAgU2V0TWludXM6IHtcbiAgICB3aWtpZGF0YTogXCJRMTgxOTI0NDJcIixcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJTZXRcIiwgXCJWYWx1ZVwiLCBcIlNldFwiXSxcbiAgICAgIGV2YWx1YXRlOiBzZXRNaW51c1xuICAgIH1cbiAgfSxcbiAgU3ltbWV0cmljRGlmZmVyZW5jZToge1xuICAgIC8vIHN5bW1ldHJpYyBkaWZmZXJlbmNlID0gZGlzanVuY3RpdmUgdW5pb24gIChjaXJjbGVkIG1pbnVzKVxuICAgIC8qID0gVW5pb24oQ29tcGxlbWVudChhLCBiKSwgQ29tcGxlbWVudChiLCBhKSAqL1xuICAgIC8qIENvcnJlc3BvbmRzIHRvIFhPUiBpbiBib29sZWFuIGxvZ2ljICovXG4gICAgd2lraWRhdGE6IFwiUTExNDcyNDJcIixcbiAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIlNldFwiLCBbXCJTZXF1ZW5jZVwiLCBcIlNldFwiXSwgXCJTZXRcIl0gfVxuICB9XG59O1xuZnVuY3Rpb24gdW5pb24oY2UsIF9vcHMpIHtcbiAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xufVxuZnVuY3Rpb24gaW50ZXJzZWN0aW9uKGNlLCBfb3BzKSB7XG4gIHJldHVybiBjZS5zeW1ib2woXCJFbXB0eVNldFwiKTtcbn1cbmZ1bmN0aW9uIHNldE1pbnVzKGNlLCBfb3BzKSB7XG4gIHJldHVybiBjZS5zeW1ib2woXCJFbXB0eVNldFwiKTtcbn1cbmZ1bmN0aW9uIGV2YWx1YXRlRWxlbWVudChjZSwgb3BzMikge1xuICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQob3BzMi5sZW5ndGggPT09IDIpO1xuICBjb25zdCBbbGhzLCByaHNdID0gb3BzMjtcbiAgaWYgKHJocy5zdHJpbmcpIHtcbiAgICBpZiAobGhzLnN0cmluZyAmJiByaHMuc3RyaW5nLmluY2x1ZGVzKGxocy5zdHJpbmcpKVxuICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICB9XG4gIGlmIChyaHMua2V5cykge1xuICAgIGlmIChsaHMuc3RyaW5nKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiByaHMua2V5cylcbiAgICAgICAgaWYgKGtleSA9PT0gbGhzLnN0cmluZylcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICB9XG4gIGlmIChyaHMuaGVhZCA9PT0gXCJMaXN0XCIpIHtcbiAgICBpZiAobGhzLmhlYWQgPT09IFwiTGlzdFwiKSB7XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMSArIChyaHMubm9wcyAtIGxocy5ub3BzKTsgKytpKSB7XG4gICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaHMubm9wczsgKytqKSB7XG4gICAgICAgICAgaWYgKCFyaHMub3BzW2kgKyBqXS5pc0VxdWFsKGxocy5vcHNbal0pKSB7XG4gICAgICAgICAgICBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICByZXR1cm4gY2Uuc3ltYm9sKFwiVHJ1ZVwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjZS5zeW1ib2woXCJGYWxzZVwiKTtcbiAgICB9XG4gICAgY29uc3QgdmFsID0gbGhzLmhlYWQgPT09IFwiSG9sZFwiID8gbGhzLm9wMSA6IGxocztcbiAgICBmb3IgKGNvbnN0IGVsZW0gb2YgcmhzLm9wcylcbiAgICAgIGlmICh2YWwuaXNFcXVhbChlbGVtKSlcbiAgICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICB9XG4gIGlmIChpc1ZhbGlkRG9tYWluKHJocykpIHtcbiAgICBpZiAobGhzLmRvbWFpbi5pc0NvbXBhdGlibGUoY2UuZG9tYWluKHJocykpKVxuICAgICAgcmV0dXJuIGNlLnN5bWJvbChcIlRydWVcIik7XG4gICAgcmV0dXJuIGNlLnN5bWJvbChcIkZhbHNlXCIpO1xuICB9XG4gIHJldHVybiBjZS5fZm4oXCJFbGVtZW50XCIsIFtsaHMsIHJoc10pO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvbGlicmFyeS9zdGF0aXN0aWNzLnRzXG52YXIgU1RBVElTVElDU19MSUJSQVJZID0gW1xuICB7XG4gICAgTWVhbjoge1xuICAgICAgY29tcGxleGl0eTogMTIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIlNlcXVlbmNlXCIsIFwiVmFsdWVcIl0sIFwiTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgbGV0IHN1bTIgPSAwO1xuICAgICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2YgZWFjaChvcHMyKSkge1xuICAgICAgICAgICAgY29uc3QgdiA9IGFzRmxvYXQob3AzKTtcbiAgICAgICAgICAgIGlmICh2ID09PSBudWxsKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgc3VtMiArPSB2O1xuICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvdW50ID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihzdW0yIC8gY291bnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBNZWRpYW46IHtcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIlZhbHVlXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3AzIG9mIGVhY2gob3BzMikpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBhc0Zsb2F0KG9wMyk7XG4gICAgICAgICAgICBpZiAodiA9PT0gbnVsbClcbiAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgICAgICAgIHZhbHVlcy5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICAgICAgY29uc3QgbWlkID0gTWF0aC5mbG9vcih2YWx1ZXMubGVuZ3RoIC8gMik7XG4gICAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggJSAyID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLm51bWJlcigodmFsdWVzW21pZCAtIDFdICsgdmFsdWVzW21pZF0pIC8gMik7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcih2YWx1ZXNbbWlkXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFZhcmlhbmNlOiB7XG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJWYWx1ZVwiXSwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBsZXQgc3VtMiA9IDA7XG4gICAgICAgICAgbGV0IHN1bTIyID0gMDtcbiAgICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3AzIG9mIGVhY2gob3BzMikpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBhc0Zsb2F0KG9wMyk7XG4gICAgICAgICAgICBpZiAodiA9PT0gbnVsbClcbiAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICAgIHN1bTIgKz0gdjtcbiAgICAgICAgICAgIHN1bTIyICs9IHYgKiB2O1xuICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvdW50ID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcigoc3VtMjIgLSBzdW0yICogc3VtMiAvIGNvdW50KSAvIChjb3VudCAtIDEpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgU3RhbmRhcmREZXZpYXRpb246IHtcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIlZhbHVlXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGxldCBzdW0yID0gMDtcbiAgICAgICAgICBsZXQgc3VtMjIgPSAwO1xuICAgICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2YgZWFjaChvcHMyKSkge1xuICAgICAgICAgICAgY29uc3QgdiA9IGFzRmxvYXQob3AzKTtcbiAgICAgICAgICAgIGlmICh2ID09PSBudWxsKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgc3VtMiArPSB2O1xuICAgICAgICAgICAgc3VtMjIgKz0gdiAqIHY7XG4gICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY291bnQgPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICAgICAgICByZXR1cm4gY2UubnVtYmVyKFxuICAgICAgICAgICAgTWF0aC5zcXJ0KChzdW0yMiAtIHN1bTIgKiBzdW0yIC8gY291bnQpIC8gKGNvdW50IC0gMSkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgS3VydG9zaXM6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIlZhbHVlXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGxldCBzdW0yID0gMDtcbiAgICAgICAgICBsZXQgc3VtMjIgPSAwO1xuICAgICAgICAgIGxldCBzdW00ID0gMDtcbiAgICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3AzIG9mIGVhY2gob3BzMikpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBhc0Zsb2F0KG9wMyk7XG4gICAgICAgICAgICBpZiAodiA9PT0gbnVsbClcbiAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICAgIHN1bTIgKz0gdjtcbiAgICAgICAgICAgIHN1bTIyICs9IHYgKiB2O1xuICAgICAgICAgICAgc3VtNCArPSB2ICogdiAqIHYgKiB2O1xuICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNvdW50ID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICAgICAgY29uc3QgczIgPSAoc3VtMjIgLSBzdW0yICogc3VtMiAvIGNvdW50KSAvIChjb3VudCAtIDEpO1xuICAgICAgICAgIGNvbnN0IHM0ID0gKHN1bTQgLSBzdW0yMiAqIHN1bTIyIC8gY291bnQpIC8gKGNvdW50IC0gMSk7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcigoczQgLyAoczIgKiBzMikgLSAzKSAqIChjb3VudCAqIChjb3VudCArIDEpKSAvIDYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBTa2V3bmVzczoge1xuICAgICAgY29tcGxleGl0eTogMTIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFtcIlNlcXVlbmNlXCIsIFwiVmFsdWVcIl0sIFwiTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgbGV0IHN1bTIgPSAwO1xuICAgICAgICAgIGxldCBzdW0yMiA9IDA7XG4gICAgICAgICAgbGV0IHN1bTMgPSAwO1xuICAgICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2YgZWFjaChvcHMyKSkge1xuICAgICAgICAgICAgY29uc3QgdiA9IGFzRmxvYXQob3AzKTtcbiAgICAgICAgICAgIGlmICh2ID09PSBudWxsKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgc3VtMiArPSB2O1xuICAgICAgICAgICAgc3VtMjIgKz0gdiAqIHY7XG4gICAgICAgICAgICBzdW0zICs9IHYgKiB2ICogdjtcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjb3VudCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgICAgICAgIGNvbnN0IHMyID0gKHN1bTIyIC0gc3VtMiAqIHN1bTIgLyBjb3VudCkgLyAoY291bnQgLSAxKTtcbiAgICAgICAgICBjb25zdCBzMyA9IChzdW0zIC0gc3VtMjIgKiBzdW0yIC8gY291bnQpIC8gKGNvdW50IC0gMSk7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihzMyAvIE1hdGgucG93KHMyLCAzIC8gMikgKiBNYXRoLnNxcnQoY291bnQgKiAxKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIE1vZGU6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIlZhbHVlXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3AzIG9mIGVhY2gob3BzMikpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBhc0Zsb2F0KG9wMyk7XG4gICAgICAgICAgICBpZiAodiA9PT0gbnVsbClcbiAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjZS5fTkFOO1xuICAgICAgICAgIHZhbHVlcy5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICAgICAgY29uc3QgY291bnRzID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xuICAgICAgICAgICAgY291bnRzW3ZdID0gKGNvdW50c1t2XSA/PyAwKSArIDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCBtYXgyID0gMDtcbiAgICAgICAgICBsZXQgbW9kZSA9IHZhbHVlc1swXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBjID0gY291bnRzW3ZdO1xuICAgICAgICAgICAgaWYgKGMgPiBtYXgyKSB7XG4gICAgICAgICAgICAgIG1heDIgPSBjO1xuICAgICAgICAgICAgICBtb2RlID0gdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihtb2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgUXVhcnRpbGVzOiB7XG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJWYWx1ZVwiXSwgXCJMaXN0XCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWVzID0gW107XG4gICAgICAgICAgZm9yIChjb25zdCBvcDMgb2YgZWFjaChvcHMyKSkge1xuICAgICAgICAgICAgY29uc3QgdiA9IGFzRmxvYXQob3AzKTtcbiAgICAgICAgICAgIGlmICh2ID09PSBudWxsKVxuICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgICAgdmFsdWVzLnB1c2godik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGNlLl9OQU47XG4gICAgICAgICAgdmFsdWVzLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgICAgICBjb25zdCBtaWQgPSBNYXRoLmZsb29yKHZhbHVlcy5sZW5ndGggLyAyKTtcbiAgICAgICAgICBjb25zdCBsb3dlciA9IHZhbHVlcy5zbGljZSgwLCBtaWQpO1xuICAgICAgICAgIGNvbnN0IHVwcGVyID0gdmFsdWVzLnNsaWNlKG1pZCArIDEpO1xuICAgICAgICAgIHJldHVybiBjZS5ib3goW1xuICAgICAgICAgICAgXCJMaXN0XCIsXG4gICAgICAgICAgICBjZS5udW1iZXIodmFsdWVzW21pZF0pLFxuICAgICAgICAgICAgY2UubnVtYmVyKGxvd2VyW01hdGguZmxvb3IobG93ZXIubGVuZ3RoIC8gMildKSxcbiAgICAgICAgICAgIGNlLm51bWJlcih1cHBlcltNYXRoLmZsb29yKHVwcGVyLmxlbmd0aCAvIDIpXSlcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgSW50ZXJxdWFydGlsZVJhbmdlOiB7XG4gICAgICBjb21wbGV4aXR5OiAxMjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgW1wiU2VxdWVuY2VcIiwgXCJWYWx1ZVwiXSwgXCJOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBbXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG9wMyBvZiBlYWNoKG9wczIpKSB7XG4gICAgICAgICAgICBjb25zdCB2ID0gYXNGbG9hdChvcDMpO1xuICAgICAgICAgICAgaWYgKHYgPT09IG51bGwpXG4gICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY2UuX05BTjtcbiAgICAgICAgICB2YWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgICAgICAgIGNvbnN0IG1pZCA9IE1hdGguZmxvb3IodmFsdWVzLmxlbmd0aCAvIDIpO1xuICAgICAgICAgIGNvbnN0IGxvd2VyID0gdmFsdWVzLnNsaWNlKDAsIG1pZCk7XG4gICAgICAgICAgY29uc3QgdXBwZXIgPSB2YWx1ZXMuc2xpY2UobWlkICsgMSk7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihcbiAgICAgICAgICAgIHVwcGVyW01hdGguZmxvb3IodXBwZXIubGVuZ3RoIC8gMildIC0gbG93ZXJbTWF0aC5mbG9vcihsb3dlci5sZW5ndGggLyAyKV1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBDb3VudDoge1xuICAgICAgdGhyZWFkYWJsZTogdHJ1ZSxcbiAgICAgIGNvbXBsZXhpdHk6IDEyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBbXCJTZXF1ZW5jZVwiLCBcIlZhbHVlXCJdLCBcIk51bWJlclwiXSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgICAgZm9yIChjb25zdCBfb3Agb2YgZWFjaChvcHMyKSlcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgcmV0dXJuIGNlLm51bWJlcihjb3VudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIEVyZjoge1xuICAgICAgY29tcGxleGl0eTogNzUwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgICAgICAgaWYgKHggPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoZXJmKHgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgRXJmYzoge1xuICAgICAgY29tcGxleGl0eTogNzUwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IGFzRmxvYXQob3BzMlswXSk7XG4gICAgICAgICAgaWYgKHggPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICAgIHJldHVybiBjZS5udW1iZXIoMSAtIGVyZih4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbl07XG5mdW5jdGlvbiogZWFjaChvcHMyKSB7XG4gIGlmIChvcHMyLmxlbmd0aCA9PT0gMClcbiAgICByZXR1cm47XG4gIGNvbnN0IGNlID0gb3BzMlswXS5lbmdpbmU7XG4gIGZvciAoY29uc3Qgb3AzIG9mIG9wczIpIHtcbiAgICBjb25zdCBoID0gb3AzLmhlYWQ7XG4gICAgaWYgKGggPT09IFwiUmFuZ2VcIikge1xuICAgICAgbGV0IGxvd2VyID0gYXNGbG9hdChvcDNbMV0pO1xuICAgICAgaWYgKGxvd2VyID09PSBudWxsKVxuICAgICAgICByZXR1cm47XG4gICAgICBsZXQgdXBwZXIgPSBhc0Zsb2F0KG9wM1syXSk7XG4gICAgICBpZiAodXBwZXIgPT09IG51bGwpIHtcbiAgICAgICAgdXBwZXIgPSBsb3dlcjtcbiAgICAgICAgbG93ZXIgPSAxO1xuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID4gdXBwZXIpIHtcbiAgICAgICAgY29uc3Qgc3RlcDIgPSBhc0Zsb2F0KG9wM1szXSA/PyAtMSkgPz8gLTE7XG4gICAgICAgIGlmIChzdGVwMiA+PSAwKVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZm9yIChsZXQgaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpICs9IHN0ZXAyKVxuICAgICAgICAgIHlpZWxkIGNlLm51bWJlcihpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgc3RlcCA9IGFzRmxvYXQob3AzWzNdID8/IDEpID8/IDE7XG4gICAgICBpZiAoc3RlcCA8PSAwKVxuICAgICAgICByZXR1cm47XG4gICAgICBmb3IgKGxldCBpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkgKz0gc3RlcClcbiAgICAgICAgeWllbGQgY2UubnVtYmVyKGkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaCA9PT0gXCJMaW5zcGFjZVwiKSB7XG4gICAgICBsZXQgc3RhcnQgPSBhc0Zsb2F0KG9wM1sxXSk7XG4gICAgICBpZiAoc3RhcnQgPT09IG51bGwpXG4gICAgICAgIHJldHVybjtcbiAgICAgIGxldCBzdG9wID0gYXNGbG9hdChvcDNbMl0pO1xuICAgICAgaWYgKHN0b3AgPT09IG51bGwpIHtcbiAgICAgICAgc3RvcCA9IHN0YXJ0O1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICB9XG4gICAgICBjb25zdCBudW0gPSBhc0Zsb2F0KG9wM1szXSkgPz8gNTA7XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIobnVtKSlcbiAgICAgICAgcmV0dXJuO1xuICAgICAgaWYgKG51bSA8PSAwKVxuICAgICAgICByZXR1cm47XG4gICAgICBjb25zdCBzdGVwID0gKHN0b3AgLSBzdGFydCkgLyAobnVtIC0gMSk7XG4gICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gc3RvcDsgaSArPSBzdGVwKVxuICAgICAgICB5aWVsZCBjZS5udW1iZXIoaSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgaCA9PT0gXCJzdHJpbmdcIiAmJiAvXihMaXN0fFNlcXVlbmNlfFR1cGxlfFNpbmdsZXxQYWlyfFRyaXBsZSkkLy50ZXN0KGgpKSB7XG4gICAgICB5aWVsZCogZWFjaChvcDMub3BzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgeWllbGQgb3AzO1xuICB9XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9saWJyYXJ5L3RyaWdvbm9tZXRyeS50c1xudmFyIGRvbWFpbk51bWJlclRvUmVhbE51bWJlciA9IChfaGVhZCkgPT4ge1xuICByZXR1cm4gW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJFeHRlbmRlZFJlYWxOdW1iZXJcIl07XG59O1xudmFyIHRyaWdGdW5jdGlvbiA9IChfaGVhZCkgPT4ge1xuICByZXR1cm4gW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl07XG59O1xudmFyIGh5cGVyYm9saWNGdW5jdGlvbiA9IChfaGVhZCkgPT4ge1xuICByZXR1cm4gW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl07XG59O1xudmFyIFRSSUdPTk9NRVRSWV9MSUJSQVJZID0gW1xuICB7XG4gICAgLy9cbiAgICAvLyBDb25zdGFudHNcbiAgICAvL1xuICAgIFBpOiB7XG4gICAgICBkb21haW46IFwiVHJhbnNjZW5kZW50YWxOdW1iZXJcIixcbiAgICAgIGZsYWdzOiB7IGFsZ2VicmFpYzogZmFsc2UgfSxcbiAgICAgIGNvbnN0YW50OiB0cnVlLFxuICAgICAgaG9sZFVudGlsOiBcIk5cIixcbiAgICAgIHdpa2lkYXRhOiBcIlExNjdcIixcbiAgICAgIHZhbHVlOiAoZW5naW5lKSA9PiBiaWdudW1QcmVmZXJyZWQoZW5naW5lKSA/IGVuZ2luZS5fQklHTlVNX1BJIDogTWF0aC5QSVxuICAgIH1cbiAgfSxcbiAge1xuICAgIC8vIHNxcnQoeCp4ICsgeSp5KVxuICAgIERlZ3JlZXM6IHtcbiAgICAgIC8qID0gUGkgLyAxODAgKi9cbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFwiTnVtYmVyXCJdLFxuICAgICAgICBjYW5vbmljYWw6IChjZSwgb3BzMikgPT4ge1xuICAgICAgICAgIG9wczIgPSB2YWxpZGF0ZUFyZ3VtZW50cyhjZSwgZmxhdHRlblNlcXVlbmNlKGNhbm9uaWNhbChvcHMyKSksIFtcbiAgICAgICAgICAgIFwiTnVtYmVyXCJcbiAgICAgICAgICBdKTtcbiAgICAgICAgICBpZiAob3BzMi5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICByZXR1cm4gY2UuZm4oXCJEZWdyZWVzXCIsIG9wczIsIHsgY2Fub25pY2FsOiBmYWxzZSB9KTtcbiAgICAgICAgICBjb25zdCBhcmcgPSBvcHMyWzBdO1xuICAgICAgICAgIGlmIChhcmcubnVtZXJpY1ZhbHVlID09PSBudWxsIHx8ICFhcmcuaXNWYWxpZClcbiAgICAgICAgICAgIHJldHVybiBjZS5mbihcIkRlZ3JlZXNcIiwgb3BzMiwgeyBjYW5vbmljYWw6IGZhbHNlIH0pO1xuICAgICAgICAgIHJldHVybiBjZS5kaXYoY2UubXVsKFthcmcsIGNlLnN5bWJvbChcIlBpXCIpXSksIGNlLm51bWJlcigxODApKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gY2UubXVsKFtvcHMyWzBdLCBjZS5kaXYoY2Uuc3ltYm9sKFwiUGlcIiksIGNlLm51bWJlcigxODApKV0pXG4gICAgICB9XG4gICAgfSxcbiAgICBIeXBvdDoge1xuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIiwgXCJOb25OZWdhdGl2ZU51bWJlclwiXSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gY2UuYm94KFtcIlNxcnRcIiwgW1wiQWRkXCIsIFtcIlNxdWFyZVwiLCBvcHMyWzBdXSwgW1wiU3F1YXJlXCIsIG9wczJbMV1dXV0pLnNpbXBsaWZ5KCksXG4gICAgICAgIGV2YWx1YXRlOiBbXG4gICAgICAgICAgXCJMYW1iZGFcIixcbiAgICAgICAgICBbXCJTcXJ0XCIsIFtcIkFkZFwiLCBbXCJTcXVhcmVcIiwgXCJfMVwiXSwgW1wiU3F1YXJlXCIsIFwiXzJcIl1dXVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICBTaW46IHtcbiAgICAgIGNvbXBsZXhpdHk6IDVlMyxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiTnVtYmVyXCIsIFtcIkludGVydmFsXCIsIC0xLCAxXV0sXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiU2luXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpID8/IChjb21wbGV4QWxsb3dlZChjZSkgPyBjZS5ib3goW1xuICAgICAgICAgIFwiRGl2aWRlXCIsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgXCJTdWJ0cmFjdFwiLFxuICAgICAgICAgICAgW1wiRXhwXCIsIFtcIk11bHRpcGx5XCIsIFwiSW1hZ2luYXJ5VW5pdFwiLCBvcHMyWzBdXV0sXG4gICAgICAgICAgICBbXCJFeHBcIiwgW1wiTXVsdGlwbHlcIiwgXCJJbWFnaW5hcnlVbml0XCIsIFtcIk5lZ2F0ZVwiLCBvcHMyWzBdXV1dXG4gICAgICAgICAgXSxcbiAgICAgICAgICBbXCJDb21wbGV4XCIsIDAsIDJdXG4gICAgICAgIF0pLnNpbXBsaWZ5KCkgOiB2b2lkIDApLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIlNpblwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiU2luXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfVxuICB9LFxuICB7XG4gICAgLy9cbiAgICAvLyBCYXNpYyB0cmlnb25vbWV0cmljIGZ1bmN0aW9uXG4gICAgLy8gKG1heSBiZSB1c2VkIGluIHRoZSBkZWZpbml0aW9uIG9mIG90aGVyIGZ1bmN0aW9ucyBiZWxvdylcbiAgICAvL1xuICAgIEFyY3Rhbjoge1xuICAgICAgd2lraWRhdGE6IFwiUTIyNTcyNDJcIixcbiAgICAgIGNvbXBsZXhpdHk6IDUyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBkb21haW5OdW1iZXJUb1JlYWxOdW1iZXIoXCJBcmN0YW5cIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQXJjdGFuXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkFyY3RhblwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQXJjdGFuXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBBcmN0YW4yOiB7XG4gICAgICB3aWtpZGF0YTogXCJRNzc2NTk4XCIsXG4gICAgICBjb21wbGV4aXR5OiA1MjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogW1wiRnVuY3Rpb25cIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIiwgXCJOdW1iZXJcIl0sXG4gICAgICAgIE46IChfY2UsIG9wczIpID0+IGFwcGx5Mk4ob3BzMlswXSwgb3BzMlsxXSwgTWF0aC5hdGFuMiwgKGEsIGIpID0+IERlY2ltYWwuYXRhbjIoYSwgYikpXG4gICAgICB9XG4gICAgfSxcbiAgICBDb3M6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDUwNTAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBbXCJJbnRlcnZhbFwiLCAtMSwgMV1dLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIkNvc1wiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiU2luXCIsIFtcIkFkZFwiLCBvcHMyWzBdLCBbXCJNdWx0aXBseVwiLCBcIkhhbGZcIiwgXCJQaVwiXV1dKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkNvc1wiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQ29zXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBUYW46IHtcbiAgICAgIC8vIFJhbmdlOiAnUmVhbE51bWJlcicsXG4gICAgICBjb21wbGV4aXR5OiA1MTAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogdHJpZ0Z1bmN0aW9uKFwiVGFuXCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIlRhblwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIFtcIlNpblwiLCBvcHMyWzBdXSwgW1wiQ29zXCIsIG9wczJbMF1dXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJUYW5cIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIlRhblwiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH1cbiAgICAvKiBjb252ZXJ0cyAoeCwgeSkgLT4gKHJhZGl1cywgYW5nbGUpICovXG4gICAgLy8gVG9Qb2xhckNvb3JkaW5hdGVzOiB7XG4gICAgLy8gICBkb21haW46ICdGdW5jdGlvbicsXG4gICAgLy8gICBvdXRwdXREb21haW46IFsnVHVwbGVPZicsICdSZWFsTnVtYmVyJywgJ1JlYWxOdW1iZXInXSxcbiAgICAvLyB9XG4gIH0sXG4gIC8vXG4gIC8vIEZ1bmN0aW9ucyBkZWZpbmVkIHVzaW5nIGFyaXRobWV0aWMgZnVuY3Rpb25zIG9yIGJhc2ljXG4gIC8vIHRyaWdvbm9tZXRyaWMgZnVuY3Rpb25zIGFib3ZlXG4gIC8vXG4gIHtcbiAgICBBcmNvc2g6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDYyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBoeXBlcmJvbGljRnVuY3Rpb24oXCJBcmNvc2hcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQXJjb3NoXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpID8/IGNlLmJveChbXG4gICAgICAgICAgXCJMblwiLFxuICAgICAgICAgIFtcIkFkZFwiLCBvcHMyWzBdLCBbXCJTcXJ0XCIsIFtcIlN1YnRyYWN0XCIsIFtcIlNxdWFyZVwiLCBvcHMyWzBdXSwgMV1dXVxuICAgICAgICBdKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkFyY29zaFwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQXJjb3NoXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBBcmNzaW46IHtcbiAgICAgIGNvbXBsZXhpdHk6IDU1MDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBoeXBlcmJvbGljRnVuY3Rpb24oXCJBcmNzaW5cIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQXJjc2luXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpID8/IGNlLmJveChbXG4gICAgICAgICAgXCJNdWx0aXBseVwiLFxuICAgICAgICAgIDIsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgXCJBcmN0YW4yXCIsXG4gICAgICAgICAgICBvcHMyWzBdLFxuICAgICAgICAgICAgW1wiQWRkXCIsIDEsIFtcIlNxcnRcIiwgW1wiU3VidHJhY3RcIiwgMSwgW1wiU3F1YXJlXCIsIG9wczJbMF1dXV1dXG4gICAgICAgICAgXVxuICAgICAgICBdKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkFyY3NpblwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQXJjc2luXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICAvL05vdGU6IEFyc2luaCwgbm90IEFyQ3NpbmhcbiAgICBBcnNpbmg6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDYxMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBoeXBlcmJvbGljRnVuY3Rpb24oXCJBcnNpbmhcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQXJzaW5oXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpID8/IGNlLmJveChbXG4gICAgICAgICAgXCJMblwiLFxuICAgICAgICAgIFtcIkFkZFwiLCBvcHMyWzBdLCBbXCJTcXJ0XCIsIFtcIkFkZFwiLCBbXCJTcXVhcmVcIiwgb3BzMlswXV0sIDFdXV1cbiAgICAgICAgXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJBcnNpbmhcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkFyc2luaFwiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQXJ0YW5oOiB7XG4gICAgICBjb21wbGV4aXR5OiA2MzAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogaHlwZXJib2xpY0Z1bmN0aW9uKFwiQXJ0YW5oXCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIkFydGFuaFwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1xuICAgICAgICAgIFwiTXVsdGlwbHlcIixcbiAgICAgICAgICBcIkhhbGZcIixcbiAgICAgICAgICBbXCJMblwiLCBbXCJEaXZpZGVcIiwgW1wiQWRkXCIsIDEsIG9wczJbMF1dLCBbXCJTdWJ0cmFjdFwiLCAxLCBvcHMyWzBdXV1dXG4gICAgICAgIF0pLnNpbXBsaWZ5KCksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcImV2YWx1YXRlXCIsIFwiQXJ0YW5oXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJBcnRhbmhcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIENvc2g6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDYwNTAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBoeXBlcmJvbGljRnVuY3Rpb24oXCJDb3NoXCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIkNvc2hcIiwgb3BzMlswXSk/LnNpbXBsaWZ5KCkgPz8gY2UuYm94KFtcbiAgICAgICAgICBcIk11bHRpcGx5XCIsXG4gICAgICAgICAgXCJIYWxmXCIsXG4gICAgICAgICAgW1wiQWRkXCIsIFtcIkV4cFwiLCBvcHMyWzBdXSwgW1wiRXhwXCIsIFtcIk5lZ2F0ZVwiLCBvcHMyWzBdXV1dXG4gICAgICAgIF0pLnNpbXBsaWZ5KCksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcImV2YWx1YXRlXCIsIFwiQ29zaFwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQ29zaFwiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQ290OiB7XG4gICAgICBjb21wbGV4aXR5OiA1NjAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogdHJpZ0Z1bmN0aW9uKFwiQ290XCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIkNvdFwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIFtcIkNvc1wiLCBvcHMyWzBdXSwgW1wiU2luXCIsIG9wczJbMF1dXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJDb3RcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkNvdFwiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQ3NjOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJDb3NlY2FudFwiLFxuICAgICAgY29tcGxleGl0eTogNTYwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IHRyaWdGdW5jdGlvbihcIkNzY1wiKSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gY29uc3RydWN0aWJsZVZhbHVlcyhjZSwgXCJDc2NcIiwgb3BzMlswXSk/LnNpbXBsaWZ5KCkgPz8gY2UuYm94KFtcIkRpdmlkZVwiLCAxLCBbXCJTaW5cIiwgb3BzMlswXV1dKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkNzY1wiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQ3NjXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICAvKiogPSBzaW4oei8yKV4yID0gKDEgLSBjb3MgeikgLyAyKi9cbiAgICBIYXZlcnNpbmU6IHtcbiAgICAgIHdpa2lkYXRhOiBcIlEyNTI4MzgwXCIsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIkV4dGVuZGVkUmVhbE51bWJlclwiLCBbXCJJbnRlcnZhbFwiLCAwLCAxXV0sXG4gICAgICAgIGV2YWx1YXRlOiBbXCJMYW1iZGFcIiwgW1wiRGl2aWRlXCIsIFtcIlN1YnRyYWN0XCIsIDEsIFtcIkNvc1wiLCBcIl8xXCJdXSwgMl1dXG4gICAgICB9XG4gICAgfSxcbiAgICAvKiogPSAyICogQXJjc2luKFNxcnQoeikpICovXG4gICAgSW52ZXJzZUhhdmVyc2luZToge1xuICAgICAgLy8gIFJhbmdlIFsnSW50ZXJ2YWwnLCBbWydOZWdhdGUnLCAnUGknXSwgJ1BpJ10sXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIkV4dGVuZGVkUmVhbE51bWJlclwiLCBcIlJlYWxOdW1iZXJcIl0sXG4gICAgICAgIGV2YWx1YXRlOiBbXCJMYW1iZGFcIiwgW1wiTXVsdGlwbHlcIiwgMiwgW1wiQXJjc2luXCIsIFtcIlNxcnRcIiwgXCJfMVwiXV1dXVxuICAgICAgfVxuICAgIH0sXG4gICAgU2VjOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJTZWNhbnQsIGludmVyc2Ugb2YgY29zaW5lXCIsXG4gICAgICBjb21wbGV4aXR5OiA1NTAwLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogdHJpZ0Z1bmN0aW9uKFwiU2VjXCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIlNlY1wiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIDEsIFtcIkNvc1wiLCBvcHMyWzBdXV0pLnNpbXBsaWZ5KCksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcImV2YWx1YXRlXCIsIFwiU2VjXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJTZWNcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFNpbmg6IHtcbiAgICAgIC8vIFJhbmdlOiBbJ0ludGVydmFsJywgLUluZmluaXR5LCBJbmZpbml0eV0sXG4gICAgICBjb21wbGV4aXR5OiA2ZTMsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBoeXBlcmJvbGljRnVuY3Rpb24oXCJTaW5oXCIpLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIlNpbmhcIiwgb3BzMlswXSk/LnNpbXBsaWZ5KCkgPz8gY2UuYm94KFtcbiAgICAgICAgICBcIk11bHRpcGx5XCIsXG4gICAgICAgICAgXCJIYWxmXCIsXG4gICAgICAgICAgW1wiU3VidHJhY3RcIiwgW1wiRXhwXCIsIG9wczJbMF1dLCBbXCJFeHBcIiwgW1wiTmVnYXRlXCIsIG9wczJbMF1dXV1cbiAgICAgICAgXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJTaW5oXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJTaW5oXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfVxuICB9LFxuICB7XG4gICAgQ3NjaDoge1xuICAgICAgY29tcGxleGl0eTogNjIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IGRvbWFpbk51bWJlclRvUmVhbE51bWJlcihcIkNzY2hcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQ3NjaFwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIDEsIFtcIlNpbmhcIiwgb3BzMlswXV1dKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkNzY2hcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkNzY2hcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFNlY2g6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDYyMDAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBbXCJGdW5jdGlvblwiLCBcIk51bWJlclwiLCBbXCJJbnRlcnZhbFwiLCAtMSwgMV1dLFxuICAgICAgICBzaW1wbGlmeTogKGNlLCBvcHMyKSA9PiBjb25zdHJ1Y3RpYmxlVmFsdWVzKGNlLCBcIlNlY2hcIiwgb3BzMlswXSk/LnNpbXBsaWZ5KCkgPz8gY2UuYm94KFtcIkRpdmlkZVwiLCAxLCBbXCJDb3NoXCIsIG9wczJbMF1dXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJTZWNoXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJTZWNoXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBUYW5oOiB7XG4gICAgICAvLyBSYW5nZTogWydJbnRlcnZhbCcsIC1JbmZpbml0eSwgSW5maW5pdHldLFxuICAgICAgY29tcGxleGl0eTogNjIwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IGh5cGVyYm9saWNGdW5jdGlvbihcIlRhbmhcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiVGFuaFwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIFtcIlNpbmhcIiwgb3BzMlswXV0sIFtcIkNvc2hcIiwgb3BzMlswXV1dKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIlRhbmhcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIlRhbmhcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHtcbiAgICBBcmNjb3M6IHtcbiAgICAgIGNvbXBsZXhpdHk6IDU1NTAsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBkb21haW5OdW1iZXJUb1JlYWxOdW1iZXIoXCJBcmNjb3NcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQXJjY29zXCIsIG9wczJbMF0pPy5zaW1wbGlmeSgpID8/IGNlLmJveChbXCJTdWJ0cmFjdFwiLCBbXCJEaXZpZGVcIiwgXCJQaVwiLCAyXSwgW1wiQXJjc2luXCIsIG9wczJbMF1dXSkuc2ltcGxpZnkoKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJBcmNjb3NcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkFyY2Nvc1wiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQXJjY290OiB7XG4gICAgICBudW1lcmljOiB0cnVlLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogZG9tYWluTnVtYmVyVG9SZWFsTnVtYmVyKFwiQXJjY290XCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkFyY2NvdFwiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQXJjY290XCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBBcmNvdGg6IHtcbiAgICAgIG51bWVyaWM6IHRydWUsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBkb21haW5OdW1iZXJUb1JlYWxOdW1iZXIoXCJBcmNvdGhcIiksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcImV2YWx1YXRlXCIsIFwiQXJjb3RoXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJBcmNvdGhcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIEFyY3NjaDoge1xuICAgICAgbnVtZXJpYzogdHJ1ZSxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IGRvbWFpbk51bWJlclRvUmVhbE51bWJlcihcIkFyY3NjaFwiKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJBcmNzY2hcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkFyY3NjaFwiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQXJjc2VjOiB7XG4gICAgICBudW1lcmljOiB0cnVlLFxuICAgICAgc2lnbmF0dXJlOiB7XG4gICAgICAgIGRvbWFpbjogZG9tYWluTnVtYmVyVG9SZWFsTnVtYmVyKFwiQXJjc2VjXCIpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkFyY3NlY1wiLCBvcHMyWzBdKSxcbiAgICAgICAgTjogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJOXCIsIFwiQXJjc2VjXCIsIG9wczJbMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBBcnNlY2g6IHtcbiAgICAgIG51bWVyaWM6IHRydWUsXG4gICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgZG9tYWluOiBkb21haW5OdW1iZXJUb1JlYWxOdW1iZXIoXCJBcnNlY2hcIiksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcImV2YWx1YXRlXCIsIFwiQXJzZWNoXCIsIG9wczJbMF0pLFxuICAgICAgICBOOiAoY2UsIG9wczIpID0+IGV2YWxUcmlnKGNlLCBcIk5cIiwgXCJBcnNlY2hcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIEFyY2NzYzoge1xuICAgICAgbnVtZXJpYzogdHJ1ZSxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IGRvbWFpbk51bWJlclRvUmVhbE51bWJlcihcIkFyY2NzY1wiKSxcbiAgICAgICAgZXZhbHVhdGU6IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiZXZhbHVhdGVcIiwgXCJBcmNjc2NcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkFyY2NzY1wiLCBvcHMyWzBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgQ290aDoge1xuICAgICAgY29tcGxleGl0eTogNjMwMCxcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IGh5cGVyYm9saWNGdW5jdGlvbihcIkNvdGhcIiksXG4gICAgICAgIHNpbXBsaWZ5OiAoY2UsIG9wczIpID0+IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIFwiQ290aFwiLCBvcHMyWzBdKT8uc2ltcGxpZnkoKSA/PyBjZS5ib3goW1wiRGl2aWRlXCIsIDEsIFtcIlRhbmhcIiwgb3BzMlswXV1dKS5zaW1wbGlmeSgpLFxuICAgICAgICBldmFsdWF0ZTogKGNlLCBvcHMyKSA9PiBldmFsVHJpZyhjZSwgXCJldmFsdWF0ZVwiLCBcIkNvdGhcIiwgb3BzMlswXSksXG4gICAgICAgIE46IChjZSwgb3BzMikgPT4gZXZhbFRyaWcoY2UsIFwiTlwiLCBcIkNvdGhcIiwgb3BzMlswXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8qIGNvbnZlcnRzIChyYWRpdXMsIGFuZ2xlKSAtPiAoeCwgeSkgKi9cbiAgICAvLyBGcm9tUG9sYXJDb29yZGluYXRlczoge1xuICAgIC8vICAgZG9tYWluOiAnRnVuY3Rpb24nLFxuICAgIC8vICAgb3V0cHV0RG9tYWluOiBbJ1R1cGxlT2YnLCAnUmVhbE51bWJlcicsICdSZWFsTnVtYmVyJ10sXG4gICAgLy8gfSxcbiAgICBJbnZlcnNlRnVuY3Rpb246IHtcbiAgICAgIHNpZ25hdHVyZToge1xuICAgICAgICBkb21haW46IFtcIkZ1bmN0aW9uXCIsIFwiRnVuY3Rpb25cIiwgXCJGdW5jdGlvblwiXSxcbiAgICAgICAgY2Fub25pY2FsOiAoY2UsIG9wczIpID0+IHtcbiAgICAgICAgICBvcHMyID0gdmFsaWRhdGVBcmd1bWVudENvdW50KGNlLCBmbGF0dGVuU2VxdWVuY2UoY2Fub25pY2FsKG9wczIpKSwgMSk7XG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3NJbnZlcnNlRnVuY3Rpb24oY2UsIG9wczIpID8/IGNlLl9mbihcIkludmVyc2VGdW5jdGlvblwiLCBvcHMyKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2ltcGxpZnk6IChjZSwgb3BzMikgPT4gcHJvY2Vzc0ludmVyc2VGdW5jdGlvbihjZSwgb3BzMiksXG4gICAgICAgIGV2YWx1YXRlOiAoY2UsIG9wczIpID0+IHByb2Nlc3NJbnZlcnNlRnVuY3Rpb24oY2UsIG9wczIpXG4gICAgICB9XG4gICAgfVxuICB9XG5dO1xudmFyIFMyID0gW1wiU3FydFwiLCAyXTtcbnZhciBTMyA9IFtcIlNxcnRcIiwgM107XG52YXIgUzUgPSBbXCJTcXJ0XCIsIDVdO1xudmFyIFM2ID0gW1wiU3FydFwiLCA2XTtcbnZhciBDT05TVFJVQ1RJQkxFX1ZBTFVFUyA9IFtcbiAgW1xuICAgIFswLCAxXSxcbiAgICB7XG4gICAgICBTaW46IDAsXG4gICAgICBDb3M6IDEsXG4gICAgICBUYW46IDAsXG4gICAgICBDb3Q6IE5hTixcbiAgICAgIFNlYzogMSxcbiAgICAgIENzYzogTmFOXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzEsIDEyXSxcbiAgICB7XG4gICAgICBTaW46IFtcIkRpdmlkZVwiLCBbXCJTdWJ0cmFjdFwiLCBTNiwgUzJdLCA0XSxcbiAgICAgIENvczogW1wiRGl2aWRlXCIsIFtcIkFkZFwiLCBTNiwgUzJdLCA0XSxcbiAgICAgIFRhbjogW1wiU3VidHJhY3RcIiwgMiwgUzNdLFxuICAgICAgQ290OiBbXCJBZGRcIiwgMiwgUzNdLFxuICAgICAgU2VjOiBbXCJTdWJ0cmFjdFwiLCBTNiwgUzJdLFxuICAgICAgQ3NjOiBbXCJBZGRcIiwgUzYsIFMyXVxuICAgIH1cbiAgXSxcbiAgW1xuICAgIFsxLCAxMF0sXG4gICAge1xuICAgICAgU2luOiBbXCJEaXZpZGVcIiwgW1wiU3VidHJhY3RcIiwgUzUsIDFdLCA0XSxcbiAgICAgIENvczogW1wiRGl2aWRlXCIsIFtcIlNxcnRcIiwgW1wiQWRkXCIsIDEwLCBbXCJNdWx0aXBseVwiLCAyLCBTNV1dXSwgNF0sXG4gICAgICBUYW46IFtcIkRpdmlkZVwiLCBbXCJTcXJ0XCIsIFtcIlN1YnRyYWN0XCIsIDI1LCBbXCJNdWx0aXBseVwiLCAxMCwgUzVdXV0sIDRdLFxuICAgICAgQ290OiBbXCJTcXJ0XCIsIFtcIkFkZFwiLCA1LCBbXCJNdWx0aXBseVwiLCAyLCBTNV1dXSxcbiAgICAgIFNlYzogW1wiRGl2aWRlXCIsIFtcIlNxcnRcIiwgW1wiU3VidHJhY3RcIiwgNTAsIFtcIk11bHRpcGx5XCIsIDEwLCBTNV1dXSwgNV0sXG4gICAgICBDc2M6IFtcIkFkZFwiLCAxLCBTNV1cbiAgICB9XG4gIF0sXG4gIFtcbiAgICBbMSwgOF0sXG4gICAge1xuICAgICAgU2luOiBcIiRcXFxcZnJhY3tcXFxcc3FydHsyLVxcXFxzcXJ0Mn19ezJ9JFwiLFxuICAgICAgQ29zOiBcIiRcXFxcZnJhY3tcXFxcc3FydCB7Mit7XFxcXHNxcnQgezJ9fX19ezJ9JFwiLFxuICAgICAgVGFuOiBcIiRcXFxcc3FydHsyfSAtIDEkXCIsXG4gICAgICBDb3Q6IFwiJFxcXFxzcXJ0ezJ9ICsgMSRcIixcbiAgICAgIFNlYzogXCIkXFxcXHNxcnR7IDQgLSAyXFxcXHNxcnR7Mn19JFwiLFxuICAgICAgQ3NjOiBcIiRcXFxcc3FydHsgNCArIDJcXFxcc3FydHsyfX0kXCJcbiAgICB9XG4gIF0sXG4gIFtcbiAgICBbMSwgNl0sXG4gICAge1xuICAgICAgU2luOiBcIiRcXFxcZnJhY3sxfXsyfSRcIixcbiAgICAgIENvczogXCIkXFxcXGZyYWN7XFxcXHNxcnR7M319ezJ9JFwiLFxuICAgICAgVGFuOiBcIiRcXFxcZnJhY3tcXFxcc3FydHszfX17M30kXCIsXG4gICAgICBDb3Q6IFwiJFxcXFxmcmFjezJcXFxcc3FydHszfX17M30kXCIsXG4gICAgICBTZWM6IFwiJFxcXFxzcXJ0ezN9JFwiLFxuICAgICAgQ3NjOiAyXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzEsIDVdLFxuICAgIHtcbiAgICAgIFNpbjogXCIkXFxcXGZyYWN7XFxcXHNxcnR7MTAtIDJcXFxcc3FydHs1fX19IHs0fSRcIixcbiAgICAgIENvczogXCIkXFxcXGZyYWN7MSsgXFxcXHNxcnR7NX19IHs0fSRcIixcbiAgICAgIFRhbjogXCIkXFxcXHNxcnR7NS0yXFxcXHNxcnQ1fSRcIixcbiAgICAgIENvdDogXCIkXFxcXGZyYWN7XFxcXHNxcnR7MjUrMTBcXFxcc3FydDV9fSB7NX0kXCIsXG4gICAgICBTZWM6IFwiJFxcXFxzcXJ0ezV9IC0gMSRcIixcbiAgICAgIENzYzogXCIkXFxcXGZyYWN7XFxcXHNxcnR7NTArMTBcXFxcc3FydHs1fX19IHs1fSRcIlxuICAgIH1cbiAgXSxcbiAgW1xuICAgIFsxLCA0XSxcbiAgICB7XG4gICAgICBTaW46IFtcIkRpdmlkZVwiLCBTMiwgMl0sXG4gICAgICBDb3M6IFtcIkRpdmlkZVwiLCBTMiwgMl0sXG4gICAgICBUYW46IDEsXG4gICAgICBDb3Q6IDEsXG4gICAgICBTZWM6IFMyLFxuICAgICAgQ3NjOiBTMlxuICAgIH1cbiAgXSxcbiAgW1xuICAgIFszLCAxMF0sXG4gICAge1xuICAgICAgU2luOiBcIiRcXFxcZnJhY3sxKyBcXFxcc3FydHs1fX0gezR9JFwiLFxuICAgICAgQ29zOiBcIiRcXFxcZnJhY3tcXFxcc3FydHsxMC0gMlxcXFxzcXJ0ezV9fX0gezR9JFwiLFxuICAgICAgVGFuOiBcIiRcXFxcZnJhY3tcXFxcc3FydHsyNSsxMFxcXFxzcXJ0NX19IHs1fSRcIixcbiAgICAgIENvdDogXCIkXFxcXHNxcnR7NS0yXFxcXHNxcnQ1fSRcIixcbiAgICAgIFNlYzogXCIkJFwiLFxuICAgICAgQ3NjOiBcIiRcXFxcZnJhY3tcXFxcc3FydHs1MCsxMFxcXFxzcXJ0ezV9fX0gezV9JFwiXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzEsIDNdLFxuICAgIHtcbiAgICAgIFNpbjogW1wiRGl2aWRlXCIsIFMzLCAyXSxcbiAgICAgIC8vICckXFxcXGZyYWN7XFxcXHNxcnR7M319ezJ9JCdcbiAgICAgIENvczogXCJIYWxmXCIsXG4gICAgICAvLyAnJFxcXFxmcmFjezF9ezJ9JCdcbiAgICAgIFRhbjogUzMsXG4gICAgICAvLyAnJFxcXFxzcXJ0ezN9JCdcbiAgICAgIENvdDogW1wiRGl2aWRlXCIsIFMzLCAzXSxcbiAgICAgIC8vICckXFxcXGZyYWN7XFxcXHNxcnR7M319ezN9JCdcbiAgICAgIFNlYzogMixcbiAgICAgIENzYzogW1wiRGl2aWRlXCIsIFtcIk11bHRpcGx5XCIsIDIsIFMzXSwgM11cbiAgICAgIC8vICckXFxcXGZyYWN7MlxcXFxzcXJ0ezN9fXszfSQnXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzMsIDhdLFxuICAgIHtcbiAgICAgIFNpbjogXCIkXFxcXGZyYWN7IFxcXFxzcXJ0ezIgKyBcXFxcc3FydHsyfX0gfSB7Mn0kXCIsXG4gICAgICBDb3M6IFwiJFxcXFxmcmFjeyBcXFxcc3FydHsyIC0gXFxcXHNxcnR7Mn19IH0gezJ9JFwiLFxuICAgICAgVGFuOiBcIiRcXFxcc3FydHsyfSArIDEkXCIsXG4gICAgICBDb3Q6IFwiJFxcXFxzcXJ0ezJ9IC0gMSRcIixcbiAgICAgIFNlYzogXCIkXFxcXHNxcnR7IDQgKyAyIFxcXFxzcXJ0ezJ9IH0kXCIsXG4gICAgICBDc2M6IFwiJFxcXFxzcXJ0eyA0IC0gMiBcXFxcc3FydHsyfSB9JFwiXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzIsIDVdLFxuICAgIHtcbiAgICAgIFNpbjogXCIkXFxcXGZyYWN7XFxcXHNxcnR7MTArIDJcXFxcc3FydHs1fX19IHs0fSRcIixcbiAgICAgIENvczogXCIkXFxcXGZyYWN7XFxcXHNxcnR7NX0tMX0gezR9JFwiLFxuICAgICAgVGFuOiBcIiRcXFxcc3FydHs1KzJcXFxcc3FydHs1fX0kXCIsXG4gICAgICBDb3Q6IFwiJFxcXFxmcmFje1xcXFxzcXJ0ezI1LTEwXFxcXHNxcnR7NX19fSB7NX0kXCIsXG4gICAgICBTZWM6IFwiJDEgKyBcXFxcc3FydHs1fSRcIixcbiAgICAgIENzYzogXCIkXFxcXGZyYWN7XFxcXHNxcnR7NTAtMTBcXFxcc3FydHs1fX19IHs1fSRcIlxuICAgIH1cbiAgXSxcbiAgW1xuICAgIFs1LCAxMl0sXG4gICAge1xuICAgICAgU2luOiBcIiRcXFxcZnJhY3tcXFxcc3FydHs2fSArIFxcXFxzcXJ0ezJ9fSB7NH0kXCIsXG4gICAgICBDb3M6IFwiJFxcXFxmcmFjeyBcXFxcc3FydHs2fSAtIFxcXFxzcXJ0ezJ9fSB7NH0kXCIsXG4gICAgICBUYW46IFwiJDIrXFxcXHNxcnR7M30kXCIsXG4gICAgICBDb3Q6IFwiJDItXFxcXHNxcnR7M30kXCIsXG4gICAgICBTZWM6IFwiJFxcXFxzcXJ0ezZ9K1xcXFxzcXJ0ezJ9JFwiLFxuICAgICAgQ3NjOiBcIiRcXFxcc3FydHs2fSAtIFxcXFxzcXJ0ezJ9JFwiXG4gICAgfVxuICBdLFxuICBbXG4gICAgWzEsIDJdLFxuICAgIHtcbiAgICAgIFNpbjogMSxcbiAgICAgIENvczogMCxcbiAgICAgIFRhbjogTmFOLFxuICAgICAgQ290OiAwLFxuICAgICAgU2VjOiBOYU4sXG4gICAgICBDc2M6IDFcbiAgICB9XG4gIF1cbl07XG52YXIgVFJJR19JREVOVElUSUVTID0ge1xuICBTaW46IFtcbiAgICBbMSwgXCJTaW5cIl0sXG4gICAgWzEsIFwiQ29zXCJdLFxuICAgIFstMSwgXCJTaW5cIl0sXG4gICAgWy0xLCBcIkNvc1wiXVxuICBdLFxuICBDb3M6IFtcbiAgICBbMSwgXCJDb3NcIl0sXG4gICAgWy0xLCBcIlNpblwiXSxcbiAgICBbLTEsIFwiQ29zXCJdLFxuICAgIFsxLCBcIlNpblwiXVxuICBdLFxuICBTZWM6IFtcbiAgICBbMSwgXCJTZWNcIl0sXG4gICAgWy0xLCBcIkNzY1wiXSxcbiAgICBbLTEsIFwiU2VjXCJdLFxuICAgIFsxLCBcIkNzY1wiXVxuICBdLFxuICBDc2M6IFtcbiAgICBbMSwgXCJDc2NcIl0sXG4gICAgWzEsIFwiU2VjXCJdLFxuICAgIFstMSwgXCJDc2NcIl0sXG4gICAgWy0xLCBcIlNlY1wiXVxuICBdLFxuICBUYW46IFtcbiAgICBbMSwgXCJUYW5cIl0sXG4gICAgWy0xLCBcIkNvdFwiXSxcbiAgICBbMSwgXCJUYW5cIl0sXG4gICAgWy0xLCBcIkNvdFwiXVxuICBdLFxuICBDb3Q6IFtcbiAgICBbMSwgXCJDb3RcIl0sXG4gICAgWy0xLCBcIlRhblwiXSxcbiAgICBbMSwgXCJDb3RcIl0sXG4gICAgWy0xLCBcIlRhblwiXVxuICBdXG59O1xuZnVuY3Rpb24gY29uc3RydWN0aWJsZVZhbHVlcyhjZSwgaGVhZDIsIHgpIHtcbiAgaWYgKCF4KVxuICAgIHJldHVybiB2b2lkIDA7XG4gIGNvbnN0IHNwZWNpYWxWYWx1ZXMgPSBjZS5jYWNoZShcbiAgICBcImNvbnN0cnVjdGlibGUtdHJpZ29ub21ldHJpYy12YWx1ZXNcIixcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgW3ZhbCwgcmVzdWx0c10gb2YgQ09OU1RSVUNUSUJMRV9WQUxVRVMpIHtcbiAgICAgICAgY29uc3QgYm94ZWRSZXN1bHRzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgaGVhZDMgb2YgT2JqZWN0LmtleXMocmVzdWx0cykpXG4gICAgICAgICAgYm94ZWRSZXN1bHRzW2hlYWQzXSA9IGNlLnBhcnNlKGxhdGV4U3RyaW5nKHJlc3VsdHNbaGVhZDNdKSkgPz8gY2UuYm94KHJlc3VsdHNbaGVhZDNdKTtcbiAgICAgICAgdmFsdWVzLnB1c2goW3ZhbCwgYm94ZWRSZXN1bHRzXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH0sXG4gICAgKGNhY2hlKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IFtfaywgdl0gb2YgY2FjaGUpIHtcbiAgICAgICAgZm9yIChjb25zdCB2MiBvZiBPYmplY3QudmFsdWVzKHYpKVxuICAgICAgICAgIHYyLnVuYmluZCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNhY2hlO1xuICAgIH1cbiAgKTtcbiAgeCA9IHguTigpO1xuICBpZiAoeC5udW1lcmljVmFsdWUgPT09IG51bGwpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgbGV0IHRoZXRhID0gYXNGbG9hdCh4KSA/PyBudWxsO1xuICBpZiAodGhldGEgPT09IG51bGwpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgdGhldGEgPSB0aGV0YSAlICgyICogTWF0aC5QSSk7XG4gIGNvbnN0IGlkZW50aXR5U2lnbiA9IGhlYWQyICE9PSBcIkNvc1wiICYmIGhlYWQyICE9PSBcIlNlY1wiID8gTWF0aC5zaWduKHRoZXRhKSA6IDE7XG4gIHRoZXRhID0gTWF0aC5hYnModGhldGEpO1xuICBjb25zdCBxdWFkcmFudDIgPSBNYXRoLmZsb29yKHRoZXRhICogMiAvIE1hdGguUEkpO1xuICB0aGV0YSA9IHRoZXRhICUgKE1hdGguUEkgLyAyKTtcbiAgbGV0IHNpZ24yO1xuICBbc2lnbjIsIGhlYWQyXSA9IFRSSUdfSURFTlRJVElFU1toZWFkMl0/LltxdWFkcmFudDJdID8/IFsxLCBoZWFkMl07XG4gIHNpZ24yID0gc2lnbjIgKiBpZGVudGl0eVNpZ247XG4gIGZvciAoY29uc3QgW1tuLCBkXSwgcmVzdWx0XSBvZiBzcGVjaWFsVmFsdWVzKSB7XG4gICAgaWYgKHJlc3VsdFtoZWFkMl0gJiYgY2UuY2hvcCh0aGV0YSAtIE1hdGguUEkgKiBuIC8gZCkgPT09IDApIHtcbiAgICAgIHJldHVybiBzaWduMiA8IDAgPyBjYW5vbmljYWxOZWdhdGUocmVzdWx0W2hlYWQyXSkgOiByZXN1bHRbaGVhZDJdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdm9pZCAwO1xufVxuZnVuY3Rpb24gcHJvY2Vzc0ludmVyc2VGdW5jdGlvbihjZSwgeHMpIHtcbiAgaWYgKHhzLmxlbmd0aCAhPT0gMSlcbiAgICByZXR1cm4gdm9pZCAwO1xuICBjb25zdCBleHByID0geHNbMF07XG4gIGNvbnN0IGhlYWQyID0gZXhwci5zeW1ib2w7XG4gIGlmICh0eXBlb2YgaGVhZDIgIT09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgaWYgKGhlYWQyID09PSBcIkludmVyc2VGdW5jdGlvblwiKVxuICAgIHJldHVybiBleHByLm9wMTtcbiAgY29uc3QgbmV3SGVhZCA9IHtcbiAgICBTaW46IFwiQXJjc2luXCIsXG4gICAgQ29zOiBcIkFyY2Nvc1wiLFxuICAgIFRhbjogXCJBcmN0YW5cIixcbiAgICBTZWM6IFwiQXJjc2VjXCIsXG4gICAgQ3NjOiBcIiBBcmNjc2NcIixcbiAgICBTaW5oOiBcIkFyc2luaFwiLFxuICAgIENvc2g6IFwiQXJjb3NoXCIsXG4gICAgVGFuaDogXCJBcnRhbmhcIixcbiAgICBTZWNoOiBcIkFyY3NlY2hcIixcbiAgICBDc2NoOiBcIkFyY3NjaFwiLFxuICAgIEFyY29zaDogXCJDb3NoXCIsXG4gICAgQXJjY29zOiBcIkNvc1wiLFxuICAgIEFyY2NzYzogXCJDc2NcIixcbiAgICBBcmNzY2g6IFwiQ3NjaFwiLFxuICAgIC8vICc/Pyc6ICdDb3QnLFxuICAgIC8vICc/Pyc6ICdDb3RoJyxcbiAgICBBcmNzZWM6IFwiU2VjXCIsXG4gICAgQXJjc2luOiBcIlNpblwiLFxuICAgIEFyc2luaDogXCJTaW5oXCIsXG4gICAgQXJjdGFuOiBcIlRhblwiLFxuICAgIEFydGFuaDogXCJUYW5oXCJcbiAgfVtoZWFkMl07XG4gIHJldHVybiBuZXdIZWFkID8gY2Uuc3ltYm9sKG5ld0hlYWQpIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gZXZhbFRyaWcoY2UsIG1vZGUsIGhlYWQyLCBvcDMpIHtcbiAgaWYgKCFvcDMpXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgaWYgKG1vZGUgPT09IFwiZXZhbHVhdGVcIikge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbnN0cnVjdGlibGVWYWx1ZXMoY2UsIGhlYWQyLCBvcDMpPy5ldmFsdWF0ZSgpO1xuICAgIGlmIChyZXN1bHQpXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIGlmIChvcDMuaXNFeGFjdClcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgc3dpdGNoIChoZWFkMikge1xuICAgIGNhc2UgXCJBcmNjb3NcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgTWF0aC5hY29zLFxuICAgICAgICAoeCkgPT4geC5hY29zKCksXG4gICAgICAgICh4KSA9PiB4LmFjb3MoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQXJjY290XCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgICh4KSA9PiBNYXRoLmF0YW4yKDEsIHgpLFxuICAgICAgICAoeCkgPT4gRGVjaW1hbC5hdGFuMihjZS5fQklHTlVNX09ORSwgeCksXG4gICAgICAgICh4KSA9PiB4LmludmVyc2UoKS5hdGFuKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkFyY2NzY1wiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICAoeCkgPT4gTWF0aC5hc2luKDEgLyB4KSxcbiAgICAgICAgKHgpID0+IGNlLl9CSUdOVU1fT05FLmRpdih4KS5hc2luKCksXG4gICAgICAgICh4KSA9PiB4LmludmVyc2UoKS5hc2luKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkFyY29zaFwiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICBNYXRoLmFjb3NoLFxuICAgICAgICAoeCkgPT4geC5hY29zaCgpLFxuICAgICAgICAoeCkgPT4geC5hY29zaCgpXG4gICAgICApO1xuICAgIGNhc2UgXCJBcmNvdGhcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgKHgpID0+IHgsXG4gICAgICAgICh4KSA9PiB4LmFjb3NoKCksXG4gICAgICAgICh4KSA9PiB4LmFjb3NoKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkFyY3NjaFwiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICAoeCkgPT4gTWF0aC5sb2coMSAvIHggKyBNYXRoLnNxcnQoMSAvICh4ICogeCkgKyAxKSksXG4gICAgICAgICh4KSA9PiBjZS5fQklHTlVNX09ORS5kaXYoeC5tdWwoeCkpLmFkZChjZS5fQklHTlVNX09ORSkuc3FydCgpLmFkZChjZS5fQklHTlVNX09ORS5kaXYoeCkpLmxvZygpLFxuICAgICAgICAoeCkgPT4geC5tdWwoeCkuaW52ZXJzZSgpLmFkZCgxKS5zcXJ0KCkuYWRkKHguaW52ZXJzZSgpKS5sb2coKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQXJjc2VjXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgICh4KSA9PiBNYXRoLmFjb3MoMSAvIHgpLFxuICAgICAgICAoeCkgPT4gY2UuX0JJR05VTV9PTkUuZGl2KHgpLmFjb3MoKSxcbiAgICAgICAgKHgpID0+IHguaW52ZXJzZSgpLmFjb3MoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQXJjc2luXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgIE1hdGguYXNpbixcbiAgICAgICAgKHgpID0+IHguYXNpbigpLFxuICAgICAgICAoeCkgPT4geC5hc2luKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkFyc2VjaFwiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICAoeCkgPT4gTWF0aC5sb2coKDEgKyBNYXRoLnNxcnQoMSAtIHggKiB4KSkgLyB4KSxcbiAgICAgICAgKHgpID0+IGNlLl9CSUdOVU1fT05FLnN1Yih4Lm11bCh4KS5hZGQoY2UuX0JJR05VTV9PTkUpLmRpdih4KSkubG9nKCksXG4gICAgICAgICh4KSA9PiBjZS5jb21wbGV4KDEpLnN1Yih4Lm11bCh4KSkuYWRkKDEpLmRpdih4KS5sb2coKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQXJzaW5oXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgIE1hdGguYXNpbmgsXG4gICAgICAgICh4KSA9PiB4LmFzaW5oKCksXG4gICAgICAgICh4KSA9PiB4LmFzaW5oKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkFyY3RhblwiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICBNYXRoLmF0YW4sXG4gICAgICAgICh4KSA9PiB4LmF0YW4oKSxcbiAgICAgICAgKHgpID0+IHguYXRhbigpXG4gICAgICApO1xuICAgIGNhc2UgXCJBcnRhbmhcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgTWF0aC5hdGFuaCxcbiAgICAgICAgKHgpID0+IHguYXRhbmgoKSxcbiAgICAgICAgKHgpID0+IHguYXRhbmgoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQ29zXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgIE1hdGguY29zLFxuICAgICAgICAoeCkgPT4geC50b1NpZ25pZmljYW50RGlnaXRzKGNlLnByZWNpc2lvbiArIDQpLmNvcygpLnRvU2lnbmlmaWNhbnREaWdpdHMoY2UucHJlY2lzaW9uKSxcbiAgICAgICAgKHgpID0+IHguY29zKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkNvc2hcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgTWF0aC5jb3NoLFxuICAgICAgICAoeCkgPT4geC5jb3NoKCksXG4gICAgICAgICh4KSA9PiB4LmNvc2goKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQ290XCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgICh4KSA9PiAxIC8gTWF0aC50YW4oeCksXG4gICAgICAgICh4KSA9PiBjZS5fQklHTlVNX09ORS5kaXYoeC50YW4oKSksXG4gICAgICAgICh4KSA9PiB4LnRhbigpLmludmVyc2UoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiQ290aFwiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICAoeCkgPT4gMSAvIE1hdGgudGFuaCh4KSxcbiAgICAgICAgKHgpID0+IGNlLl9CSUdOVU1fT05FLmRpdih4LnRhbmgoKSksXG4gICAgICAgICh4KSA9PiB4LnRhbmgoKS5pbnZlcnNlKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkNzY1wiOlxuICAgICAgcmV0dXJuIGFwcGx5TihcbiAgICAgICAgb3AzLFxuICAgICAgICAoeCkgPT4gMSAvIE1hdGguc2luKHgpLFxuICAgICAgICAoeCkgPT4gY2UuX0JJR05VTV9PTkUuZGl2KHguc2luKCkpLFxuICAgICAgICAoeCkgPT4geC5zaW4oKS5pbnZlcnNlKClcbiAgICAgICk7XG4gICAgY2FzZSBcIkNzY2hcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgKHgpID0+IDEgLyBNYXRoLnNpbmgoeCksXG4gICAgICAgICh4KSA9PiBjZS5fQklHTlVNX09ORS5kaXYoeC5zaW5oKCkpLFxuICAgICAgICAoeCkgPT4geC5zaW5oKCkuaW52ZXJzZSgpXG4gICAgICApO1xuICAgIGNhc2UgXCJTZWNcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgKHgpID0+IDEgLyBNYXRoLmNvcyh4KSxcbiAgICAgICAgKHgpID0+IGNlLl9CSUdOVU1fT05FLmRpdih4LmNvcygpKSxcbiAgICAgICAgKHgpID0+IHguY29zKCkuaW52ZXJzZSgpXG4gICAgICApO1xuICAgIGNhc2UgXCJTZWNoXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgICh4KSA9PiAxIC8gTWF0aC5jb3NoKHgpLFxuICAgICAgICAoeCkgPT4gY2UuX0JJR05VTV9PTkUuZGl2KHguY29zaCgpKSxcbiAgICAgICAgKHgpID0+IHguY29zaCgpLmludmVyc2UoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiU2luXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgIE1hdGguc2luLFxuICAgICAgICAoeCkgPT4geC50b1NpZ25pZmljYW50RGlnaXRzKGNlLnByZWNpc2lvbiArIDQpLnNpbigpLnRvU2lnbmlmaWNhbnREaWdpdHMoY2UucHJlY2lzaW9uKSxcbiAgICAgICAgKHgpID0+IHguc2luKClcbiAgICAgICk7XG4gICAgY2FzZSBcIlNpbmhcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgTWF0aC5zaW5oLFxuICAgICAgICAoeCkgPT4geC5zaW5oKCksXG4gICAgICAgICh4KSA9PiB4LnNpbmgoKVxuICAgICAgKTtcbiAgICBjYXNlIFwiVGFuXCI6XG4gICAgICByZXR1cm4gYXBwbHlOKFxuICAgICAgICBvcDMsXG4gICAgICAgIE1hdGgudGFuLFxuICAgICAgICAoeCkgPT4geC50b1NpZ25pZmljYW50RGlnaXRzKGNlLnByZWNpc2lvbiArIDQpLnRhbigpLnRvU2lnbmlmaWNhbnREaWdpdHMoY2UucHJlY2lzaW9uKSxcbiAgICAgICAgKHgpID0+IHgudGFuKClcbiAgICAgICk7XG4gICAgY2FzZSBcIlRhbmhcIjpcbiAgICAgIHJldHVybiBhcHBseU4oXG4gICAgICAgIG9wMyxcbiAgICAgICAgTWF0aC50YW5oLFxuICAgICAgICAoeCkgPT4geC50YW5oKCksXG4gICAgICAgICh4KSA9PiB4LnRhbmgoKVxuICAgICAgKTtcbiAgfVxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1zeW1ib2wtZGVmaW5pdGlvbi50c1xudmFyIGltcG9ydF9jb21wbGV4MTcgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcbnZhciBCb3hlZFN5bWJvbERlZmluaXRpb25JbXBsID0gY2xhc3Mge1xuICAvLyBAdG9kb1xuICBjb25zdHJ1Y3RvcihjZSwgbmFtZSwgZGVmKSB7XG4gICAgaWYgKCFjZS5jb250ZXh0KVxuICAgICAgdGhyb3cgRXJyb3IoXCJObyBjb250ZXh0IGF2YWlsYWJsZVwiKTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMud2lraWRhdGEgPSBkZWYud2lraWRhdGE7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlZi5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnVybCA9IGRlZi51cmw7XG4gICAgdGhpcy5fZW5naW5lID0gY2U7XG4gICAgdGhpcy5zY29wZSA9IGNlLmNvbnRleHQ7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLl9mbGFncyA9IGRlZi5mbGFncyA/IG5vcm1hbGl6ZUZsYWdzKGRlZi5mbGFncykgOiB2b2lkIDA7XG4gICAgdGhpcy5fZG9tYWluID0gZGVmLmRvbWFpbiA/IGNlLmRvbWFpbihkZWYuZG9tYWluKSA6IHZvaWQgMDtcbiAgICB0aGlzLmNvbnN0YW50ID0gZGVmLmNvbnN0YW50ID8/IGZhbHNlO1xuICAgIHRoaXMuaG9sZFVudGlsID0gZGVmLmhvbGRVbnRpbCA/PyBcImV2YWx1YXRlXCI7XG4gICAgaWYgKHRoaXMuY29uc3RhbnQpIHtcbiAgICAgIHRoaXMuX2RlZlZhbHVlID0gZGVmLnZhbHVlO1xuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGVmLnZhbHVlKSB7XG4gICAgICAgIGlmIChpc0xhdGV4U3RyaW5nKGRlZi52YWx1ZSkpXG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSBjZS5wYXJzZShkZWYudmFsdWUpID8/IGNlLnN5bWJvbChcIlVuZGVmaW5lZFwiKTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIGRlZi52YWx1ZSA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gY2UuYm94KGRlZi52YWx1ZShjZSkgPz8gXCJVbmRlZmluZWRcIik7XG4gICAgICAgIGVsc2UgaWYgKGRlZi52YWx1ZSBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uKVxuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gZGVmLnZhbHVlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSBjZS5ib3goZGVmLnZhbHVlKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZvaWQgMDtcbiAgICAgIGlmICghdGhpcy5fdmFsdWUgJiYgdGhpcy5fZG9tYWluICYmICFkZWYuZmxhZ3MpXG4gICAgICAgIHRoaXMuX2ZsYWdzID0gZG9tYWluVG9GbGFncyh0aGlzLl9kb21haW4pO1xuICAgIH1cbiAgfVxuICByZXNldCgpIHtcbiAgICBpZiAodGhpcy5jb25zdGFudClcbiAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgfVxuICAvLyB1bmJpbmQoKSB7XG4gIC8vICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAvLyAgIHRoaXMuX2RvbWFpbiA9IG51bGw7XG4gIC8vIH1cbiAgZ2V0IHZhbHVlKCkge1xuICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgY2UgPSB0aGlzLl9lbmdpbmU7XG4gICAgICBpZiAoaXNMYXRleFN0cmluZyh0aGlzLl9kZWZWYWx1ZSkpXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gY2UucGFyc2UodGhpcy5fZGVmVmFsdWUpID8/IGNlLnN5bWJvbChcIlVuZGVmaW5lZFwiKTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9kZWZWYWx1ZSA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICB0aGlzLl92YWx1ZSA9IGNlLmJveCh0aGlzLl9kZWZWYWx1ZShjZSkgPz8gXCJVbmRlZmluZWRcIik7XG4gICAgICBlbHNlIGlmICh0aGlzLl9kZWZWYWx1ZSlcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBjZS5ib3godGhpcy5fZGVmVmFsdWUpO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZvaWQgMDtcbiAgICAgIGlmICh0aGlzLl92YWx1ZT8ubnVtZXJpY1ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuX3ZhbHVlLm51bWVyaWNWYWx1ZTtcbiAgICAgICAgaWYgKCFiaWdudW1QcmVmZXJyZWQoY2UpICYmIHZhbCBpbnN0YW5jZW9mIGRlY2ltYWxfZGVmYXVsdClcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IGNlLm51bWJlcih2YWwudG9OdW1iZXIoKSk7XG4gICAgICAgIGVsc2UgaWYgKCFjb21wbGV4QWxsb3dlZChjZSkgJiYgdmFsIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxNy5kZWZhdWx0KVxuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gY2UuX05BTjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID8/IHZvaWQgMDtcbiAgfVxuICBzZXQgdmFsdWUodmFsKSB7XG4gICAgaWYgKHRoaXMuY29uc3RhbnQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgdmFsdWUgb2YgdGhlIGNvbnN0YW50IFwiJHt0aGlzLm5hbWV9XCIgY2Fubm90IGJlIGNoYW5nZWRgXG4gICAgICApO1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCh0aGlzLl9kZWZWYWx1ZSA9PT0gdm9pZCAwKTtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9lbmdpbmUubnVtYmVyKHZhbCk7XG4gICAgfSBlbHNlIGlmICh2YWwpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbCA9IHRoaXMuX2VuZ2luZS5ib3godmFsKTtcbiAgICAgIGlmICghdGhpcy5fZG9tYWluIHx8IG5ld1ZhbC5kb21haW4uaXNDb21wYXRpYmxlKHRoaXMuX2RvbWFpbikpXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZvaWQgMDtcbiAgICB9IGVsc2VcbiAgICAgIHRoaXMuX3ZhbHVlID0gdm9pZCAwO1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdm9pZCAwKVxuICAgICAgdGhpcy5fZmxhZ3MgPSB2b2lkIDA7XG4gICAgZWxzZVxuICAgICAgdGhpcy5fZmxhZ3MgPSBkb21haW5Ub0ZsYWdzKHRoaXMuZG9tYWluKTtcbiAgfVxuICBnZXQgZG9tYWluKCkge1xuICAgIHJldHVybiB0aGlzLl9kb21haW4gPz8gdGhpcy5fdmFsdWU/LmRvbWFpbiA/PyB2b2lkIDA7XG4gIH1cbiAgc2V0IGRvbWFpbihkb21haW4pIHtcbiAgICBpZiAodGhpcy5jb25zdGFudClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBkb21haW4gb2YgdGhlIGNvbnN0YW50IFwiJHt0aGlzLm5hbWV9XCIgY2Fubm90IGJlIGNoYW5nZWRgXG4gICAgICApO1xuICAgIGlmICghZG9tYWluKSB7XG4gICAgICB0aGlzLl9kZWZWYWx1ZSA9IHZvaWQgMDtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdm9pZCAwO1xuICAgICAgdGhpcy5fZmxhZ3MgPSB2b2lkIDA7XG4gICAgICB0aGlzLl9kb21haW4gPSB2b2lkIDA7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRvbWFpbiA9IHRoaXMuX2VuZ2luZS5kb21haW4oZG9tYWluKTtcbiAgICBpZiAodGhpcy5fZG9tYWluPy5pc051bWVyaWMpIHtcbiAgICAgIGlmICghZG9tYWluLmlzTnVtZXJpYylcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJDYW4ndCBjaGFuZ2UgZnJvbSBhIG51bWVyaWMgZG9tYWluIHRvIGEgbm9uLW51bWVyaWMgb25lXCIpO1xuICAgICAgdGhpcy5fZG9tYWluID0gZG9tYWluO1xuICAgICAgaWYgKCF0aGlzLl92YWx1ZSlcbiAgICAgICAgdGhpcy5fZmxhZ3MgPSB7IC4uLnRoaXMuX2ZsYWdzID8/IHt9LCAuLi5kb21haW5Ub0ZsYWdzKGRvbWFpbikgfTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2RvbWFpbilcbiAgICAgIHRocm93IEVycm9yKFwiQ2FuJ3QgY2hhbmdlIGEgbm9uLW51bWVyaWMgZG9tYWluXCIpO1xuICAgIHRoaXMuX2ZsYWdzID0gdm9pZCAwO1xuICAgIHRoaXMuX2RvbWFpbiA9IGRvbWFpbjtcbiAgICBpZiAoIXRoaXMuX3ZhbHVlICYmIGRvbWFpbi5pc051bWVyaWMpXG4gICAgICB0aGlzLl9mbGFncyA9IHsgLi4udGhpcy5fZmxhZ3MgPz8ge30sIC4uLmRvbWFpblRvRmxhZ3MoZG9tYWluKSB9O1xuICB9XG4gIC8vXG4gIC8vIEZsYWdzXG4gIC8vXG4gIGdldCBudW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzTnVtYmVyID8/IHRoaXMuX2ZsYWdzPy5udW1iZXI7XG4gIH1cbiAgc2V0IG51bWJlcih2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgbnVtYmVyOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IGludGVnZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzSW50ZWdlciA/PyB0aGlzLl9mbGFncz8uaW50ZWdlcjtcbiAgfVxuICBzZXQgaW50ZWdlcih2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgaW50ZWdlcjogdmFsIH0pO1xuICB9XG4gIGdldCByYXRpb25hbCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8uaXNSYXRpb25hbCA/PyB0aGlzLl9mbGFncz8ucmF0aW9uYWw7XG4gIH1cbiAgc2V0IHJhdGlvbmFsKHZhbCkge1xuICAgIHRoaXMudXBkYXRlRmxhZ3MoeyByYXRpb25hbDogdmFsIH0pO1xuICB9XG4gIGdldCBhbGdlYnJhaWMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzQWxnZWJyYWljID8/IHRoaXMuX2ZsYWdzPy5hbGdlYnJhaWM7XG4gIH1cbiAgc2V0IGFsZ2VicmFpYyh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgYWxnZWJyYWljOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IHJlYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzUmVhbCA/PyB0aGlzLl9mbGFncz8ucmVhbDtcbiAgfVxuICBzZXQgcmVhbCh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgcmVhbDogdmFsIH0pO1xuICB9XG4gIGdldCBleHRlbmRlZFJlYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzRXh0ZW5kZWRSZWFsID8/IHRoaXMuX2ZsYWdzPy5leHRlbmRlZFJlYWw7XG4gIH1cbiAgc2V0IGV4dGVuZGVkUmVhbCh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgZXh0ZW5kZWRSZWFsOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IGNvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzQ29tcGxleCA/PyB0aGlzLl9mbGFncz8uY29tcGxleDtcbiAgfVxuICBzZXQgY29tcGxleCh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgY29tcGxleDogdmFsIH0pO1xuICB9XG4gIGdldCBleHRlbmRlZENvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzRXh0ZW5kZWRDb21wbGV4ID8/IHRoaXMuX2ZsYWdzPy5leHRlbmRlZENvbXBsZXg7XG4gIH1cbiAgc2V0IGV4dGVuZGVkQ29tcGxleCh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgZXh0ZW5kZWRDb21wbGV4OiB2YWwgfSk7XG4gIH1cbiAgZ2V0IGltYWdpbmFyeSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8uaXNJbWFnaW5hcnkgPz8gdGhpcy5fZmxhZ3M/LmltYWdpbmFyeTtcbiAgfVxuICBzZXQgaW1hZ2luYXJ5KHZhbCkge1xuICAgIHRoaXMudXBkYXRlRmxhZ3MoeyBpbWFnaW5hcnk6IHZhbCB9KTtcbiAgfVxuICBnZXQgcG9zaXRpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzUG9zaXRpdmUgPz8gdGhpcy5fZmxhZ3M/LnBvc2l0aXZlO1xuICB9XG4gIHNldCBwb3NpdGl2ZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgcG9zaXRpdmU6IHZhbCB9KTtcbiAgfVxuICBnZXQgbm9uUG9zaXRpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzTm9uUG9zaXRpdmUgPz8gdGhpcy5fZmxhZ3M/Lm5vblBvc2l0aXZlO1xuICB9XG4gIHNldCBub25Qb3NpdGl2ZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgbm9uUG9zaXRpdmU6IHZhbCB9KTtcbiAgfVxuICBnZXQgbmVnYXRpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzTmVnYXRpdmUgPz8gdGhpcy5fZmxhZ3M/Lm5lZ2F0aXZlO1xuICB9XG4gIHNldCBuZWdhdGl2ZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgbmVnYXRpdmU6IHZhbCB9KTtcbiAgfVxuICBnZXQgbm9uTmVnYXRpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzTm9uTmVnYXRpdmUgPz8gdGhpcy5fZmxhZ3M/Lm5vbk5lZ2F0aXZlO1xuICB9XG4gIHNldCBub25OZWdhdGl2ZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgbm9uTmVnYXRpdmU6IHZhbCB9KTtcbiAgfVxuICBnZXQgemVybygpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8uaXNaZXJvID8/IHRoaXMuX2ZsYWdzPy56ZXJvO1xuICB9XG4gIHNldCB6ZXJvKHZhbCkge1xuICAgIHRoaXMudXBkYXRlRmxhZ3MoeyB6ZXJvOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IG5vdFplcm8oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzTm90WmVybyA/PyB0aGlzLl9mbGFncz8ubm90WmVybztcbiAgfVxuICBzZXQgbm90WmVybyh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgbm90WmVybzogdmFsIH0pO1xuICB9XG4gIGdldCBvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmlzT25lID8/IHRoaXMuX2ZsYWdzPy5vbmU7XG4gIH1cbiAgc2V0IG9uZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgb25lOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IG5lZ2F0aXZlT25lKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5pc05lZ2F0aXZlT25lID8/IHRoaXMuX2ZsYWdzPy5uZWdhdGl2ZU9uZTtcbiAgfVxuICBzZXQgbmVnYXRpdmVPbmUodmFsKSB7XG4gICAgdGhpcy51cGRhdGVGbGFncyh7IG5lZ2F0aXZlT25lOiB2YWwgfSk7XG4gIH1cbiAgZ2V0IGluZmluaXR5KCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5pc0luZmluaXR5ID8/IHRoaXMuX2ZsYWdzPy5pbmZpbml0eTtcbiAgfVxuICBzZXQgaW5maW5pdHkodmFsKSB7XG4gICAgdGhpcy51cGRhdGVGbGFncyh7IGluZmluaXR5OiB2YWwgfSk7XG4gIH1cbiAgZ2V0IGZpbml0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8uaXNGaW5pdGUgPz8gdGhpcy5fZmxhZ3M/LmZpbml0ZTtcbiAgfVxuICBzZXQgZmluaXRlKHZhbCkge1xuICAgIHRoaXMudXBkYXRlRmxhZ3MoeyBmaW5pdGU6IHZhbCB9KTtcbiAgfVxuICBnZXQgTmFOKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5pc05hTiA/PyB0aGlzLl9mbGFncz8uTmFOO1xuICB9XG4gIHNldCBOYU4odmFsKSB7XG4gICAgdGhpcy51cGRhdGVGbGFncyh7IE5hTjogdmFsIH0pO1xuICB9XG4gIGdldCBldmVuKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5pc0V2ZW4gPz8gdGhpcy5fZmxhZ3M/LmV2ZW47XG4gIH1cbiAgc2V0IGV2ZW4odmFsKSB7XG4gICAgdGhpcy51cGRhdGVGbGFncyh7IGV2ZW46IHZhbCB9KTtcbiAgfVxuICBnZXQgb2RkKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5pc09kZCA/PyB0aGlzLl9mbGFncz8ub2RkO1xuICB9XG4gIHNldCBvZGQodmFsKSB7XG4gICAgdGhpcy51cGRhdGVGbGFncyh7IG9kZDogdmFsIH0pO1xuICB9XG4gIGdldCBwcmltZSgpIHtcbiAgICBjb25zdCB2YWwgPSB0aGlzLl92YWx1ZTtcbiAgICBpZiAodmFsKSB7XG4gICAgICBpZiAoIXZhbC5pc0ludGVnZXIgfHwgdmFsLmlzTm9uUG9zaXRpdmUpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIHJldHVybiBpc1ByaW1lKGFzRmxvYXQodmFsKSA/PyBOYU4pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmxhZ3M/LnByaW1lO1xuICB9XG4gIHNldCBwcmltZSh2YWwpIHtcbiAgICB0aGlzLnVwZGF0ZUZsYWdzKHsgcHJpbWU6IHZhbCB9KTtcbiAgfVxuICBnZXQgY29tcG9zaXRlKCkge1xuICAgIGNvbnN0IHZhbCA9IHRoaXMuX3ZhbHVlO1xuICAgIGlmICh2YWwpIHtcbiAgICAgIGlmICghdmFsLmlzSW50ZWdlciB8fCB2YWwuaXNOb25Qb3NpdGl2ZSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuICFpc1ByaW1lKGFzRmxvYXQodmFsKSA/PyBOYU4pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmxhZ3M/LmNvbXBvc2l0ZTtcbiAgfVxuICBzZXQgY29tcG9zaXRlKHZhbCkge1xuICAgIHRoaXMudXBkYXRlRmxhZ3MoeyBjb21wb3NpdGU6IHZhbCB9KTtcbiAgfVxuICB1cGRhdGVGbGFncyhmbGFncykge1xuICAgIGlmICh0aGlzLmNvbnN0YW50KVxuICAgICAgdGhyb3cgRXJyb3IoXCJUaGUgZmxhZ3Mgb2YgY29uc3RhbnQgY2Fubm90IGJlIGNoYW5nZWRcIik7XG4gICAgaWYgKHRoaXMuZG9tYWluPy5pc051bWVyaWMgPT09IGZhbHNlKVxuICAgICAgdGhyb3cgRXJyb3IoXCJGbGFncyBvbmx5IGFwcGx5IHRvIG51bWVyaWMgZG9tYWluc1wiKTtcbiAgICBsZXQgZmxhZ0NvdW50ID0gMDtcbiAgICBsZXQgY29uc2lzdGVudCA9IHRydWU7XG4gICAgZm9yIChjb25zdCBmbGFnIGluIE9iamVjdC5rZXlzKGZsYWdzKSkge1xuICAgICAgZmxhZ0NvdW50ICs9IDE7XG4gICAgICBpZiAodGhpcy5fdmFsdWUgJiYgZmxhZ3NbZmxhZ10gIT09IHZvaWQgMCkge1xuICAgICAgICBzd2l0Y2ggKGZsYWcpIHtcbiAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNOdW1iZXIgPT09IGZsYWdzLm51bWJlcjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJpbnRlZ2VyXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNJbnRlZ2VyID09PSBmbGFncy5pbnRlZ2VyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcInJhdGlvbmFsXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNSYXRpb25hbCA9PT0gZmxhZ3MucmF0aW9uYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiYWxnZWJyYWljXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNBbGdlYnJhaWMgPT09IGZsYWdzLmFsZ2VicmFpYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJyZWFsXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNSZWFsID09PSBmbGFncy5yZWFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImV4dGVuZGVkUmVhbFwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzRXh0ZW5kZWRSZWFsID09PSBmbGFncy5leHRlbmRlZFJlYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiY29tcGxleFwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzQ29tcGxleCA9PT0gZmxhZ3MuY29tcGxleDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJleHRlbmRlZENvbXBsZXhcIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc0V4dGVuZGVkQ29tcGxleCA9PT0gZmxhZ3MuZXh0ZW5kZWRDb21wbGV4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImltYWdpbmFyeVwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzSW1hZ2luYXJ5ID09PSBmbGFncy5pbWFnaW5hcnk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwicG9zaXRpdmVcIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc1Bvc2l0aXZlID09PSBmbGFncy5wb3NpdGl2ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJub25Qb3NpdGl2ZVwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzTm9uUG9zaXRpdmUgPT09IGZsYWdzLm5vblBvc2l0aXZlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm5lZ2F0aXZlXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNOZWdhdGl2ZSA9PT0gZmxhZ3MubmVnYXRpdmU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwibm9uTmVnYXRpdmVcIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc05vbk5lZ2F0aXZlID09PSBmbGFncy5ub25OZWdhdGl2ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJ6ZXJvXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNaZXJvID09PSBmbGFncy56ZXJvO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm5vdFplcm9cIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc05vdFplcm8gPT09IGZsYWdzLm5vdFplcm87XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwib25lXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNPbmUgPT09IGZsYWdzLm9uZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJuZWdhdGl2ZU9uZVwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzTmVnYXRpdmVPbmUgPT09IGZsYWdzLm5lZ2F0aXZlT25lO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImluZmluaXR5XCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNJbmZpbml0eSA9PT0gZmxhZ3MuaW5maW5pdHk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiTmFOXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNOYU4gPT09IGZsYWdzLk5hTjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJmaW5pdGVcIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc0Zpbml0ZSA9PT0gZmxhZ3MuZmluaXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImV2ZW5cIjpcbiAgICAgICAgICAgIGNvbnNpc3RlbnQgPSB0aGlzLl92YWx1ZS5pc0V2ZW4gPT09IGZsYWdzLmV2ZW47XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwib2RkXCI6XG4gICAgICAgICAgICBjb25zaXN0ZW50ID0gdGhpcy5fdmFsdWUuaXNPZGQgPT09IGZsYWdzLm9kZDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJwcmltZVwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzUHJpbWUgPT09IGZsYWdzLnByaW1lO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImNvbXBvc2l0ZVwiOlxuICAgICAgICAgICAgY29uc2lzdGVudCA9IHRoaXMuX3ZhbHVlLmlzQ29tcG9zaXRlID09PSBmbGFncy5jb21wb3NpdGU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZmxhZ0NvdW50ID4gMCkge1xuICAgICAgaWYgKCFjb25zaXN0ZW50KSB7XG4gICAgICAgIHRoaXMuX2RlZlZhbHVlID0gdm9pZCAwO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RvbWFpbiA9IHRoaXMuX2VuZ2luZS5kb21haW4oXCJOdW1iZXJcIik7XG4gICAgICBpZiAoIXRoaXMuX2ZsYWdzKVxuICAgICAgICB0aGlzLl9mbGFncyA9IG5vcm1hbGl6ZUZsYWdzKGZsYWdzKTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5fZmxhZ3MgPSB7IC4uLnRoaXMuX2ZsYWdzLCAuLi5ub3JtYWxpemVGbGFncyhmbGFncykgfTtcbiAgICB9XG4gIH1cbn07XG5mdW5jdGlvbiBkZWZpbmVkS2V5cyh4cykge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKHhzKS5maWx0ZXIoKFtfaywgdl0pID0+IHYgIT09IHZvaWQgMClcbiAgKTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZUZsYWdzKGZsYWdzKSB7XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4uZmxhZ3MgfTtcbiAgaWYgKGZsYWdzLnplcm8gfHwgZmxhZ3Mub25lIHx8IGZsYWdzLm5lZ2F0aXZlT25lKSB7XG4gICAgcmVzdWx0Lnplcm8gPSBmbGFncy56ZXJvICYmICFmbGFncy5vbmUgJiYgIWZsYWdzLm5lZ2F0aXZlT25lO1xuICAgIHJlc3VsdC5ub3RaZXJvID0gIWZsYWdzLnplcm8gfHwgZmxhZ3Mub25lIHx8IGZsYWdzLm5lZ2F0aXZlT25lO1xuICAgIHJlc3VsdC5vbmUgPSBmbGFncy5vbmUgJiYgIWZsYWdzLnplcm8gJiYgIWZsYWdzLm5lZ2F0aXZlT25lO1xuICAgIHJlc3VsdC5uZWdhdGl2ZU9uZSA9IGZsYWdzLm5lZ2F0aXZlT25lICYmICFmbGFncy56ZXJvICYmICFmbGFncy5vbmU7XG4gICAgcmVzdWx0LmluZmluaXR5ID0gZmFsc2U7XG4gICAgcmVzdWx0Lk5hTiA9IGZhbHNlO1xuICAgIHJlc3VsdC5maW5pdGUgPSB0cnVlO1xuICAgIHJlc3VsdC5pbnRlZ2VyID0gdHJ1ZTtcbiAgICByZXN1bHQuZmluaXRlID0gdHJ1ZTtcbiAgICByZXN1bHQuaW5maW5pdHkgPSBmYWxzZTtcbiAgICByZXN1bHQuTmFOID0gZmFsc2U7XG4gICAgcmVzdWx0LmV2ZW4gPSBmbGFncy5vbmU7XG4gICAgcmVzdWx0Lm9kZCA9ICFmbGFncy5vbmU7XG4gICAgcmVzdWx0LnByaW1lID0gZmFsc2U7XG4gICAgcmVzdWx0LmNvbXBvc2l0ZSA9IGZhbHNlO1xuICB9XG4gIGlmIChyZXN1bHQuemVybykge1xuICAgIHJlc3VsdC5wb3NpdGl2ZSA9IGZhbHNlO1xuICAgIHJlc3VsdC5uZWdhdGl2ZSA9IGZhbHNlO1xuICAgIHJlc3VsdC5ub25Qb3NpdGl2ZSA9IHRydWU7XG4gICAgcmVzdWx0Lm5vbk5lZ2F0aXZlID0gdHJ1ZTtcbiAgfVxuICBpZiAocmVzdWx0Lm5vdFplcm8gPT09IHRydWUpIHtcbiAgICBpZiAoIXJlc3VsdC5pbWFnaW5hcnkpXG4gICAgICByZXN1bHQucmVhbCA9IHRydWU7XG4gICAgcmVzdWx0Lnplcm8gPSBmYWxzZTtcbiAgfVxuICBpZiAocmVzdWx0Lm9uZSkge1xuICAgIHJlc3VsdC5wb3NpdGl2ZSA9IHRydWU7XG4gIH1cbiAgaWYgKHJlc3VsdC5uZWdhdGl2ZU9uZSkge1xuICAgIHJlc3VsdC5ub25Qb3NpdGl2ZSA9IHRydWU7XG4gIH1cbiAgaWYgKHJlc3VsdC5wb3NpdGl2ZSB8fCByZXN1bHQubm9uTmVnYXRpdmUpIHtcbiAgICByZXN1bHQubmVnYXRpdmVPbmUgPSBmYWxzZTtcbiAgfVxuICBpZiAocmVzdWx0LnBvc2l0aXZlKSB7XG4gICAgcmVzdWx0Lm5vblBvc2l0aXZlID0gZmFsc2U7XG4gICAgcmVzdWx0Lm5lZ2F0aXZlID0gZmFsc2U7XG4gICAgcmVzdWx0Lm5vbk5lZ2F0aXZlID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChyZXN1bHQubm9uUG9zaXRpdmUpIHtcbiAgICByZXN1bHQucG9zaXRpdmUgPSBmYWxzZTtcbiAgICByZXN1bHQubmVnYXRpdmUgPSByZXN1bHQubm90WmVybztcbiAgICByZXN1bHQubm9uTmVnYXRpdmUgPSAhcmVzdWx0Lnplcm87XG4gIH0gZWxzZSBpZiAocmVzdWx0Lm5lZ2F0aXZlKSB7XG4gICAgcmVzdWx0LnBvc2l0aXZlID0gZmFsc2U7XG4gICAgcmVzdWx0Lm5vblBvc2l0aXZlID0gcmVzdWx0Lm5vdFplcm87XG4gICAgcmVzdWx0Lm5vbk5lZ2F0aXZlID0gZmFsc2U7XG4gIH0gZWxzZSBpZiAocmVzdWx0Lm5vbk5lZ2F0aXZlKSB7XG4gICAgcmVzdWx0LnBvc2l0aXZlID0gcmVzdWx0Lm5vdFplcm87XG4gICAgcmVzdWx0Lm5vblBvc2l0aXZlID0gIXJlc3VsdC56ZXJvO1xuICAgIHJlc3VsdC5uZWdhdGl2ZSA9IGZhbHNlO1xuICB9XG4gIGlmIChyZXN1bHQucG9zaXRpdmUgfHwgcmVzdWx0Lm5lZ2F0aXZlIHx8IHJlc3VsdC5ub25Qb3NpdGl2ZSB8fCByZXN1bHQubm9uTmVnYXRpdmUpIHtcbiAgICByZXN1bHQubnVtYmVyID0gdHJ1ZTtcbiAgICBpZiAocmVzdWx0LmZpbml0ZSlcbiAgICAgIHJlc3VsdC5yZWFsID0gdHJ1ZTtcbiAgICBlbHNlIGlmICghcmVzdWx0LmZpbml0ZSlcbiAgICAgIHJlc3VsdC5jb21wbGV4ID0gdHJ1ZTtcbiAgICByZXN1bHQuaW1hZ2luYXJ5ID0gZmFsc2U7XG4gIH1cbiAgaWYgKHJlc3VsdC5maW5pdGUpIHtcbiAgICByZXN1bHQubnVtYmVyID0gdHJ1ZTtcbiAgICByZXN1bHQuY29tcGxleCA9IHRydWU7XG4gICAgcmVzdWx0LmluZmluaXR5ID0gZmFsc2U7XG4gICAgcmVzdWx0Lk5hTiA9IGZhbHNlO1xuICB9XG4gIGlmIChyZXN1bHQuaW5maW5pdHkpIHtcbiAgICByZXN1bHQuZmluaXRlID0gZmFsc2U7XG4gICAgcmVzdWx0Lk5hTiA9IGZhbHNlO1xuICB9XG4gIGlmIChyZXN1bHQuaW5maW5pdHkgPT09IGZhbHNlKSB7XG4gICAgcmVzdWx0LmV4dGVuZGVkQ29tcGxleCA9IGZhbHNlO1xuICAgIHJlc3VsdC5leHRlbmRlZFJlYWwgPSBmYWxzZTtcbiAgfVxuICBpZiAoZmxhZ3MuZXZlbilcbiAgICByZXN1bHQub2RkID0gZmFsc2U7XG4gIGlmIChmbGFncy5vZGQpXG4gICAgcmVzdWx0LmV2ZW4gPSBmYWxzZTtcbiAgaWYgKHJlc3VsdC5pbnRlZ2VyKVxuICAgIHJlc3VsdC5yYXRpb25hbCA9IHRydWU7XG4gIGlmIChyZXN1bHQucmF0aW9uYWwpXG4gICAgcmVzdWx0LmFsZ2VicmFpYyA9IHRydWU7XG4gIGlmIChyZXN1bHQuYWxnZWJyYWljKVxuICAgIHJlc3VsdC5yZWFsID0gdHJ1ZTtcbiAgaWYgKHJlc3VsdC5yZWFsKVxuICAgIHJlc3VsdC5jb21wbGV4ID0gdHJ1ZTtcbiAgaWYgKHJlc3VsdC5pbWFnaW5hcnkpXG4gICAgcmVzdWx0LmNvbXBsZXggPSB0cnVlO1xuICBpZiAocmVzdWx0LmNvbXBsZXgpXG4gICAgcmVzdWx0Lm51bWJlciA9IHRydWU7XG4gIGlmIChyZXN1bHQucmVhbCAmJiByZXN1bHQuaW5maW5pdHkgIT09IGZhbHNlKVxuICAgIHJlc3VsdC5leHRlbmRlZFJlYWwgPSB0cnVlO1xuICBpZiAocmVzdWx0LmNvbXBsZXggJiYgcmVzdWx0LmluZmluaXR5ICE9PSBmYWxzZSlcbiAgICByZXN1bHQuZXh0ZW5kZWRDb21wbGV4ID0gdHJ1ZTtcbiAgaWYgKHJlc3VsdC5ldmVuIHx8IHJlc3VsdC5pbmZpbml0eSB8fCByZXN1bHQuTmFOIHx8IHJlc3VsdC5uZWdhdGl2ZSB8fCByZXN1bHQuaW1hZ2luYXJ5IHx8IHJlc3VsdC5pbnRlZ2VyID09PSBmYWxzZSlcbiAgICByZXN1bHQucHJpbWUgPSBmYWxzZTtcbiAgaWYgKHJlc3VsdC5udW1iZXIgJiYgcmVzdWx0LnByaW1lKVxuICAgIHJlc3VsdC5jb21wb3NpdGUgPSBmYWxzZTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGRvbWFpblRvRmxhZ3MoZG9tKSB7XG4gIGlmICghZG9tKVxuICAgIHJldHVybiB7fTtcbiAgY29uc3QgcmVzdWx0ID0ge307XG4gIGlmIChkb20uaXNOdW1lcmljKSB7XG4gICAgY29uc3QgZG9tYWluID0gZG9tLmxpdGVyYWw7XG4gICAgcmVzdWx0Lm51bWJlciA9IHRydWU7XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJJbnRlZ2VyXCIpXG4gICAgICByZXN1bHQuaW50ZWdlciA9IHRydWU7XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJSYXRpb25hbE51bWJlclwiKVxuICAgICAgcmVzdWx0LnJhdGlvbmFsID0gdHJ1ZTtcbiAgICBpZiAoZG9tYWluID09PSBcIkFsZ2VicmFpY051bWJlclwiKVxuICAgICAgcmVzdWx0LmFsZ2VicmFpYyA9IHRydWU7XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJUcmFuc2NlbmRlbnRhbE51bWJlclwiKSB7XG4gICAgICByZXN1bHQuYWxnZWJyYWljID0gZmFsc2U7XG4gICAgICByZXN1bHQucmVhbCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChkb21haW4gPT09IFwiRXh0ZW5kZWRSZWFsTnVtYmVyXCIpXG4gICAgICByZXN1bHQuZXh0ZW5kZWRSZWFsID0gdHJ1ZTtcbiAgICBpZiAoZG9tYWluID09PSBcIlJlYWxOdW1iZXJcIilcbiAgICAgIHJlc3VsdC5yZWFsID0gdHJ1ZTtcbiAgICBpZiAoZG9tYWluID09PSBcIkltYWdpbmFyeU51bWJlclwiKVxuICAgICAgcmVzdWx0LmltYWdpbmFyeSA9IHRydWU7XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJFeHRlbmRlZENvbXBsZXhOdW1iZXJcIilcbiAgICAgIHJlc3VsdC5leHRlbmRlZENvbXBsZXggPSB0cnVlO1xuICAgIGlmIChkb21haW4gPT09IFwiQ29tcGxleE51bWJlclwiKVxuICAgICAgcmVzdWx0LmNvbXBsZXggPSB0cnVlO1xuICAgIGlmIChkb21haW4gPT09IFwiUG9zaXRpdmVOdW1iZXJcIikge1xuICAgICAgcmVzdWx0Lm5vdFplcm8gPSB0cnVlO1xuICAgICAgcmVzdWx0LnJlYWwgPSB0cnVlO1xuICAgICAgcmVzdWx0LnBvc2l0aXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJOZWdhdGl2ZU51bWJlclwiKSB7XG4gICAgICByZXN1bHQubm90WmVybyA9IHRydWU7XG4gICAgICByZXN1bHQucmVhbCA9IHRydWU7XG4gICAgICByZXN1bHQubmVnYXRpdmUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoZG9tYWluID09PSBcIk5vbk5lZ2F0aXZlTnVtYmVyXCIpIHtcbiAgICAgIHJlc3VsdC5yZWFsID0gdHJ1ZTtcbiAgICAgIHJlc3VsdC5wb3NpdGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChkb21haW4gPT09IFwiTm9uUG9zaXRpdmVOdW1iZXJcIikge1xuICAgICAgcmVzdWx0LnJlYWwgPSB0cnVlO1xuICAgICAgcmVzdWx0Lm5lZ2F0aXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJQb3NpdGl2ZUludGVnZXJcIikge1xuICAgICAgcmVzdWx0Lm5vdFplcm8gPSB0cnVlO1xuICAgICAgcmVzdWx0LmludGVnZXIgPSB0cnVlO1xuICAgICAgcmVzdWx0LnBvc2l0aXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGRvbWFpbiA9PT0gXCJOZWdhdGl2ZU51bWJlclwiKSB7XG4gICAgICByZXN1bHQubm90WmVybyA9IHRydWU7XG4gICAgICByZXN1bHQuaW50ZWdlciA9IHRydWU7XG4gICAgICByZXN1bHQubmVnYXRpdmUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoZG9tYWluID09PSBcIk5vbk5lZ2F0aXZlTnVtYmVyXCIpIHtcbiAgICAgIHJlc3VsdC5pbnRlZ2VyID0gdHJ1ZTtcbiAgICAgIHJlc3VsdC5wb3NpdGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChkb21haW4gPT09IFwiTm9uUG9zaXRpdmVOdW1iZXJcIikge1xuICAgICAgcmVzdWx0LmludGVnZXIgPSB0cnVlO1xuICAgICAgcmVzdWx0Lm5lZ2F0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0Lm51bWJlciA9IGZhbHNlO1xuICAgIHJlc3VsdC5pbnRlZ2VyID0gZmFsc2U7XG4gICAgcmVzdWx0LnJhdGlvbmFsID0gZmFsc2U7XG4gICAgcmVzdWx0LmFsZ2VicmFpYyA9IGZhbHNlO1xuICAgIHJlc3VsdC5yZWFsID0gZmFsc2U7XG4gICAgcmVzdWx0LmV4dGVuZGVkUmVhbCA9IGZhbHNlO1xuICAgIHJlc3VsdC5jb21wbGV4ID0gZmFsc2U7XG4gICAgcmVzdWx0LmV4dGVuZGVkQ29tcGxleCA9IGZhbHNlO1xuICAgIHJlc3VsdC5pbWFnaW5hcnkgPSBmYWxzZTtcbiAgICByZXN1bHQucG9zaXRpdmUgPSBmYWxzZTtcbiAgICByZXN1bHQubm9uUG9zaXRpdmUgPSBmYWxzZTtcbiAgICByZXN1bHQubmVnYXRpdmUgPSBmYWxzZTtcbiAgICByZXN1bHQubm9uTmVnYXRpdmUgPSBmYWxzZTtcbiAgICByZXN1bHQuemVybyA9IGZhbHNlO1xuICAgIHJlc3VsdC5ub3RaZXJvID0gZmFsc2U7XG4gICAgcmVzdWx0Lm9uZSA9IGZhbHNlO1xuICAgIHJlc3VsdC5uZWdhdGl2ZU9uZSA9IGZhbHNlO1xuICAgIHJlc3VsdC5pbmZpbml0eSA9IGZhbHNlO1xuICAgIHJlc3VsdC5OYU4gPSBmYWxzZTtcbiAgICByZXN1bHQub2RkID0gZmFsc2U7XG4gICAgcmVzdWx0LmV2ZW4gPSBmYWxzZTtcbiAgICByZXN1bHQucHJpbWUgPSBmYWxzZTtcbiAgICByZXN1bHQuY29tcG9zaXRlID0gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGRlZmluZWRLZXlzKG5vcm1hbGl6ZUZsYWdzKHJlc3VsdCkpO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1mdW5jdGlvbi1kZWZpbml0aW9uLnRzXG52YXIgQm94ZWRGdW5jdGlvbkRlZmluaXRpb25JbXBsID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihjZSwgbmFtZSwgZGVmKSB7XG4gICAgaWYgKCFjZS5jb250ZXh0KVxuICAgICAgdGhyb3cgRXJyb3IoXCJObyBjb250ZXh0IGF2YWlsYWJsZVwiKTtcbiAgICB0aGlzLmVuZ2luZSA9IGNlO1xuICAgIHRoaXMuc2NvcGUgPSBjZS5jb250ZXh0O1xuICAgIGNvbnN0IGlkZW1wb3RlbnQgPSBkZWYuaWRlbXBvdGVudCA/PyBmYWxzZTtcbiAgICBjb25zdCBpbnZvbHV0aW9uID0gZGVmLmludm9sdXRpb24gPz8gZmFsc2U7XG4gICAgaWYgKGlkZW1wb3RlbnQgJiYgaW52b2x1dGlvbilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEZ1bmN0aW9uIERlZmluaXRpb24gXCIke25hbWV9XCI6IHRoZSAnaWRlbXBvdGVudCcgYW5kICdpbnZvbHV0aW9uJyBmbGFncyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlYFxuICAgICAgKTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZWYuZGVzY3JpcHRpb247XG4gICAgdGhpcy53aWtpZGF0YSA9IGRlZi53aWtpZGF0YTtcbiAgICB0aGlzLnRocmVhZGFibGUgPSBkZWYudGhyZWFkYWJsZSA/PyBmYWxzZTtcbiAgICB0aGlzLmFzc29jaWF0aXZlID0gZGVmLmFzc29jaWF0aXZlID8/IGZhbHNlO1xuICAgIHRoaXMuY29tbXV0YXRpdmUgPSBkZWYuY29tbXV0YXRpdmUgPz8gZmFsc2U7XG4gICAgdGhpcy5pZGVtcG90ZW50ID0gaWRlbXBvdGVudDtcbiAgICB0aGlzLmludm9sdXRpb24gPSBpbnZvbHV0aW9uO1xuICAgIHRoaXMuaW5lcnQgPSBkZWYuaW5lcnQgPz8gZmFsc2U7XG4gICAgdGhpcy5udW1lcmljID0gZGVmLm51bWVyaWMgPz8gZmFsc2U7XG4gICAgdGhpcy5wdXJlID0gZGVmLnB1cmUgPz8gdHJ1ZTtcbiAgICB0aGlzLmNvbXBsZXhpdHkgPSBkZWYuY29tcGxleGl0eSA/PyBERUZBVUxUX0NPTVBMRVhJVFk7XG4gICAgdGhpcy5ob2xkID0gZGVmLmhvbGQgPz8gXCJub25lXCI7XG4gICAgaWYgKHRoaXMuaW5lcnQpIHtcbiAgICAgIGlmIChkZWYuaG9sZClcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgYEZ1bmN0aW9uIERlZmluaXRpb24gXCIke25hbWV9XCI6IGFuIGluZXJ0IGZ1bmN0aW9uIHNob3VsZCBub3QgaGF2ZSBhIGhvbGRgXG4gICAgICAgICk7XG4gICAgICB0aGlzLmhvbGQgPSBcInJlc3RcIjtcbiAgICAgIGlmIChkZWYuc2lnbmF0dXJlKSB7XG4gICAgICAgIGNvbnN0IHNpZyA9IGRlZi5zaWduYXR1cmU7XG4gICAgICAgIGlmIChcInNpbXBsaWZ5XCIgaW4gc2lnIHx8IFwiZXZhbHVhdGVcIiBpbiBzaWcgfHwgXCJOXCIgaW4gc2lnIHx8IFwiZXZhbERpbWVuc2lvblwiIGluIHNpZyB8fCBcInNnblwiIGluIHNpZyB8fCBcImNvbXBpbGVcIiBpbiBzaWcpXG4gICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICBgRnVuY3Rpb24gRGVmaW5pdGlvbiBcIiR7bmFtZX1cIjogYW4gaW5lcnQgZnVuY3Rpb24gc2hvdWxkIG9ubHkgaGF2ZSAnY2Fub25pY2FsJyBvciAnY29kb21haW4nIGhhbmRsZXJzYFxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy50aHJlYWRhYmxlKVxuICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICBgRnVuY3Rpb24gRGVmaW5pdGlvbiBcIiR7bmFtZX1cIjogYW4gaW5lcnQgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSB0aHJlYWRhYmxlYFxuICAgICAgICApO1xuICAgICAgaWYgKHRoaXMuYXNzb2NpYXRpdmUpXG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIGBGdW5jdGlvbiBEZWZpbml0aW9uIFwiJHtuYW1lfVwiOiBhbiBpbmVydCBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGFzc29jaWF0aXZlYFxuICAgICAgICApO1xuICAgICAgaWYgKHRoaXMuY29tbXV0YXRpdmUpXG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIGBGdW5jdGlvbiBEZWZpbml0aW9uIFwiJHtuYW1lfVwiOiBhbiBpbmVydCBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGNvbW11dGF0aXZlYFxuICAgICAgICApO1xuICAgICAgaWYgKHRoaXMuaWRlbXBvdGVudClcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgYEZ1bmN0aW9uIERlZmluaXRpb24gXCIke25hbWV9XCI6IGFuIGluZXJ0IGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgaWRlbXBvdGVudGBcbiAgICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmludm9sdXRpb24pXG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIGBGdW5jdGlvbiBEZWZpbml0aW9uIFwiJHtuYW1lfVwiOiBhbiBpbmVydCBmdW5jdGlvbiBzaG91bGQgbm90IGJlIGludm9sdXRpb25gXG4gICAgICAgICk7XG4gICAgICBpZiAoIXRoaXMucHVyZSlcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgYEZ1bmN0aW9uIERlZmluaXRpb24gXCIke25hbWV9XCI6IGFuIGluZXJ0IGZ1bmN0aW9uIHNob3VsZCBiZSBwdXJlYFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAoZGVmLnNpZ25hdHVyZSkge1xuICAgICAgY29uc3Qgc2lnID0gZGVmLnNpZ25hdHVyZTtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IHNpZy5kb21haW4gPyBjZS5kb21haW4oc2lnLmRvbWFpbikgOiBkZWYubnVtZXJpYyA/IGNlLmRvbWFpbihcIk51bWVyaWNGdW5jdGlvblwiKSA6IGNlLmRvbWFpbihcIkZ1bmN0aW9uXCIpO1xuICAgICAgaWYgKCFkb21haW4uaXNWYWxpZClcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgYEZ1bmN0aW9uIERlZmluaXRpb24gXCIke25hbWV9XCI6IGludmFsaWQgZG9tYWluICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBzaWcuZG9tYWluXG4gICAgICAgICAgKX1gXG4gICAgICAgICk7XG4gICAgICBjb25zdCBjb2RvbWFpbiA9IHNpZy5jb2RvbWFpbiA/PyBkb21haW4uY29kb21haW4gPz8gKGRlZi5udW1lcmljID8gY2UuZG9tYWluKFwiTnVtYmVyXCIpIDogY2UuZG9tYWluKFwiQW55dGhpbmdcIikpO1xuICAgICAgdGhpcy5zaWduYXR1cmUgPSB7XG4gICAgICAgIGRvbWFpbixcbiAgICAgICAgY29kb21haW4sXG4gICAgICAgIGNhbm9uaWNhbDogc2lnLmNhbm9uaWNhbCxcbiAgICAgICAgc2ltcGxpZnk6IHNpZy5zaW1wbGlmeSxcbiAgICAgICAgZXZhbHVhdGU6ICFzaWcuZXZhbHVhdGUgPyB2b2lkIDAgOiB0eXBlb2Ygc2lnLmV2YWx1YXRlID09PSBcImZ1bmN0aW9uXCIgPyBzaWcuZXZhbHVhdGUgOiBjZS5ib3goc2lnLmV2YWx1YXRlLCB7IGNhbm9uaWNhbDogZmFsc2UgfSksXG4gICAgICAgIE46IHNpZy5OLFxuICAgICAgICBldmFsRGltZW5zaW9uOiBzaWcuZXZhbERpbWVuc2lvbixcbiAgICAgICAgc2duOiBzaWcuc2duLFxuICAgICAgICBjb21waWxlOiBzaWcuY29tcGlsZVxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGRlZi5udW1lcmljKSB7XG4gICAgICB0aGlzLnNpZ25hdHVyZSA9IHtcbiAgICAgICAgZG9tYWluOiBjZS5kb21haW4oXCJOdW1lcmljRnVuY3Rpb25cIiksXG4gICAgICAgIGNvZG9tYWluOiBjZS5kb21haW4oXCJOdW1iZXJcIilcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlID0ge1xuICAgICAgICBkb21haW46IGNlLmRvbWFpbihcIkZ1bmN0aW9uXCIpLFxuICAgICAgICBjb2RvbWFpbjogY2UuZG9tYWluKFwiQW55dGhpbmdcIilcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJlc2V0KCkge1xuICAgIHJldHVybjtcbiAgfVxufTtcbmZ1bmN0aW9uIG1ha2VGdW5jdGlvbkRlZmluaXRpb24oZW5naW5lLCBuYW1lLCBkZWYpIHtcbiAgaWYgKGRlZiBpbnN0YW5jZW9mIEJveGVkRnVuY3Rpb25EZWZpbml0aW9uSW1wbClcbiAgICByZXR1cm4gZGVmO1xuICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb25EZWZpbml0aW9uSW1wbChcbiAgICBlbmdpbmUsXG4gICAgbmFtZSxcbiAgICBkZWZcbiAgKTtcbn1cblxuLy8gc3JjL2NvbXB1dGUtZW5naW5lL2xpYnJhcnkvbGlicmFyeS50c1xuZnVuY3Rpb24gZ2V0U3RhbmRhcmRMaWJyYXJ5KGNhdGVnb3JpZXMpIHtcbiAgaWYgKGNhdGVnb3JpZXMgPT09IFwiYWxsXCIpIHtcbiAgICByZXR1cm4gZ2V0U3RhbmRhcmRMaWJyYXJ5KFtcbiAgICAgIFwiZG9tYWluc1wiLFxuICAgICAgXCJjb3JlXCIsXG4gICAgICBcImNvbnRyb2wtc3RydWN0dXJlc1wiLFxuICAgICAgLy8gSWYsIEJsb2NrLCBMb29wXG4gICAgICBcImxvZ2ljXCIsXG4gICAgICBcImNvbGxlY3Rpb25zXCIsXG4gICAgICAvLyBEaWN0aW9uYXJ5LCBMaXN0LCBTZXRzXG4gICAgICBcInJlbG9wXCIsXG4gICAgICBcIm51bWVyaWNcIixcbiAgICAgIFwiYXJpdGhtZXRpY1wiLFxuICAgICAgXCJhbGdlYnJhXCIsXG4gICAgICBcImNhbGN1bHVzXCIsXG4gICAgICBcImNvbWJpbmF0b3JpY3NcIixcbiAgICAgIFwibGluZWFyLWFsZ2VicmFcIixcbiAgICAgIFwib3RoZXJcIixcbiAgICAgIFwicGh5c2ljc1wiLFxuICAgICAgXCJwb2x5bm9taWFsc1wiLFxuICAgICAgXCJzdGF0aXN0aWNzXCIsXG4gICAgICBcInRyaWdvbm9tZXRyeVwiLFxuICAgICAgXCJkaW1lbnNpb25zXCIsXG4gICAgICBcInVuaXRzXCJcbiAgICBdKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2F0ZWdvcmllcyA9PT0gXCJzdHJpbmdcIilcbiAgICBjYXRlZ29yaWVzID0gW2NhdGVnb3JpZXNdO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgY29uc3QgZGljdCA9IExJQlJBUklFU1tjYXRlZ29yeV07XG4gICAgaWYgKCFkaWN0KVxuICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gbGlicmFyeSBjYXRlZ29yeSAke2NhdGVnb3J5fWApO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRpY3QpKVxuICAgICAgcmVzdWx0LnB1c2goLi4uZGljdCk7XG4gICAgZWxzZVxuICAgICAgcmVzdWx0LnB1c2goZGljdCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbnZhciBMSUJSQVJJRVMgPSB7XG4gIFwiYWxnZWJyYVwiOiBbXSxcbiAgLy8gJ2FsZ2VicmEnOiBbXG4gIC8vICAgLy8gcG9seW5vbWlhbChbMCwgMiwgMCwgNF06bGlzdCwgeDpzeW1ib2wpIC0+IDJ4ICsgNHheM1xuICAvLyAgIC8vIHBvbHlub21pYWwoMnggKyA0eF4zLCB4KSAtPiB7MCwgMiwgMCwgNH1cbiAgLy8gICAvLyByYXRpb25hbCgyeCArIDR4XjMsIHszLCAxfSwgeCkgLT4gKDJ4ICsgNHheMykvKDMreClcbiAgLy8gICAvLyBodHRwczovL3JlZmVyZW5jZS53b2xmcmFtLmNvbS9sYW5ndWFnZS90dXRvcmlhbC9BbGdlYnJhaWNDYWxjdWxhdGlvbnMuaHRtbFxuICAvLyAgIC8vIHNpbXBsaWZ5LXRyaWcgKG1hY3N5bWEpXG4gIC8vICAgLy8gIC0gdHJpZ1JlZHVjZSwgdHJpZ0V4cGFuZCwgdHJpZ0ZhY3RvciwgdHJpZ1RvRXhwIChtYXRoZW1hdGljYSlcbiAgLy8gICAvLyBNYXRoZW1hdGljYTpcbiAgLy8gICAvLyAtIGRpc3RyaWJ1dGUgLT4gKGErYikoYytkKSAtPiBhYysgYWQrIGJjKyBiZCAoZG9lc24ndCBoYXZlIHRvIGJlIG11bHRpcGx5LFxuICAvLyAgIC8vIGYoYStiLCBjK2QpIC0+IGYoYSwgYykgKyBmKGEsIGQpICsgZihiLCBjKSArIGYoYiwgZClcbiAgLy8gICAvLyAtLSBkaXN0cmlidXRlKGV4cHIsIG92ZXI9YWRkLCB3aXRoPW11bHRpcGx5KVxuICAvLyAgIC8vIGh0dHBzOi8vcmVmZXJlbmNlLndvbGZyYW0uY29tL2xhbmd1YWdlL3JlZi9EaXN0cmlidXRlLmh0bWxcbiAgLy8gICAvLyAtIGV4cGFuZCwgZXhwYW5kLWFsbFxuICAvLyAgIC8vIC0gZmFjdG9yXG4gIC8vICAgLy8gLSBzaW1wbGlmeVxuICAvLyBdLFxuICBcImFyaXRobWV0aWNcIjogWy4uLkFSSVRITUVUSUNfTElCUkFSWSwgLi4uQ09NUExFWF9MSUJSQVJZXSxcbiAgXCJjYWxjdWx1c1wiOiBDQUxDVUxVU19MSUJSQVJZLFxuICBcImNvbWJpbmF0b3JpY3NcIjogW10sXG4gIC8vIEB0b2RvIGZpYm9uYWNjaSwgYmlub21pYWwsIGV0Yy4uLlxuICBcImNvbnRyb2wtc3RydWN0dXJlc1wiOiBbXSxcbiAgLy8gICAvLyBEXG4gIC8vICAgLy8gRGVyaXZhdGl2ZSAobWF0aGVtYXRpY2EpXG4gIC8vICAgLy8gZGlmZiAobWFjc3ltYSlcbiAgLy8gICAvLyBudGgtZGlmZlxuICAvLyAgIC8vIGludFxuICAvLyAgIC8vIC0gaW50ZWdyYXRlKGV4cHJlc3Npb24sIHN5bWJvbCkgIC0tIGluZGVmaW5pdGUgaW50ZWdyYWxcbiAgLy8gICAvLyAtIGludGVncmF0ZShleHByZXNzaW9uLCByYW5nZSkgPHJhbmdlPiA9IHtzeW1ib2wsIG1pbiwgbWF4fSAtLSBkZWZpbml0ZSBpbnRlZ3JhbFxuICAvLyAgIC8vIC0gaW50ZWdyYXRlKGV4cHJlc3Npb24sIHJhbmdlMSwgcmFuZ2UyKSAtLSBtdWx0aXBsZSBpbnRlZ3JhbFxuICAvLyAgIC8vIGRlZi1pbnRcbiAgLy8gXSxcbiAgXCJkaW1lbnNpb25zXCI6IFtdLFxuICAvLyBAdG9kbyAvLyB2b2x1bWUsIHNwZWVkLCBhcmVhXG4gIFwiZG9tYWluc1wiOiBbXSxcbiAgXCJjb3JlXCI6IENPUkVfTElCUkFSWSxcbiAgXCJjb2xsZWN0aW9uc1wiOiBbU0VUU19MSUJSQVJZLCBDT0xMRUNUSU9OU19MSUJSQVJZLCBkb21haW5TZXRzTGlicmFyeSgpXSxcbiAgLy8gJ2RvbWFpbnMnOiBnZXREb21haW5zRGljdGlvbmFyeSgpLFxuICBcImxpbmVhci1hbGdlYnJhXCI6IFtdLFxuICAvL0B0b2RvICAgLy8gJ2xpbmVhci1hbGdlYnJhJzogW1xuICAvLyAgIC8vIG1hdHJpeFxuICAvLyAgIC8vIHRyYW5zcG9zZVxuICAvLyAgIC8vIGNyb3NzLXByb2R1Y3RcbiAgLy8gICAvLyBvdXRlci1wcm9kdWN0XG4gIC8vICAgLy8gZGV0ZXJtaW5hbnRcbiAgLy8gICAvLyB2ZWN0b3JcbiAgLy8gICAvLyBtYXRyaXhcbiAgLy8gICAvLyByYW5rXG4gIC8vICAgLy8gc2NhbGFyLW1hdHJpeFxuICAvLyAgIC8vIGNvbnN0YW50LW1hdHJpeFxuICAvLyAgIC8vIGlkZW50aXR5LW1hdHJpeFxuICAvLyBdLFxuICBcImxvZ2ljXCI6IExPR0lDX0xJQlJBUlksXG4gIFwibnVtZXJpY1wiOiBbXSxcbiAgLy8gQHRvZG8gICAvLyAnbnVtZXJpYyc6IFtcbiAgLy8gICAvLyBHYW1tYSBmdW5jdGlvblxuICAvLyAgIC8vIFpldGEgZnVuY3Rpb25cbiAgLy8gICAvLyBlcmYgZnVuY3Rpb25cbiAgLy8gICAvLyBudW1lcmF0b3IoZnJhY3Rpb24pXG4gIC8vICAgLy8gZGVub21pbmF0b3IoZnJhY3Rpb24pXG4gIC8vICAgLy8gZXhhY3RGbG9hdFRvUmF0aW9uYWxcbiAgLy8gICAvLyBOIC0+IGV2YWwgYXMgYSBudW1iZXJcbiAgLy8gICAvLyByYW5kb21cbiAgLy8gICAvLyBoYXNoXG4gIC8vIF0sXG4gIFwib3RoZXJcIjogW10sXG4gIFwicmVsb3BcIjogUkVMT1BfTElCUkFSWSxcbiAgXCJwb2x5bm9taWFsc1wiOiBQT0xZTk9NSUFMU19MSUJSQVJZLFxuICBcInBoeXNpY3NcIjoge1xuICAgIE11MDoge1xuICAgICAgZGVzY3JpcHRpb246IFwiVmFjY3VtIHBlcm1lYWJpbGl0eVwiLFxuICAgICAgY29uc3RhbnQ6IHRydWUsXG4gICAgICB3aWtpZGF0YTogXCJRMTUxNTI2MVwiLFxuICAgICAgZG9tYWluOiBcIlJlYWxOdW1iZXJcIixcbiAgICAgIHZhbHVlOiAxMjU2NjM3MDYyMTJlLTE3XG4gICAgICAvLyB1bml0OiBbJ0RpdmlkZScsICdOJywgWydTcXVhcmUnLCAnQSddXSxcbiAgICB9XG4gIH0sXG4gIFwic3RhdGlzdGljc1wiOiBTVEFUSVNUSUNTX0xJQlJBUlksXG4gIFwidHJpZ29ub21ldHJ5XCI6IFRSSUdPTk9NRVRSWV9MSUJSQVJZLFxuICBcInVuaXRzXCI6IFtdXG59O1xuZnVuY3Rpb24gdmFsaWRhdGVEZWZpbml0aW9uTmFtZShuYW1lKSB7XG4gIG5hbWUgPSBuYW1lLm5vcm1hbGl6ZSgpO1xuICBpZiAoaXNWYWxpZElkZW50aWZpZXIobmFtZSkpXG4gICAgcmV0dXJuIG5hbWU7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgSW52YWxpZCBkZWZpbml0aW9uIG5hbWUgXCIke25hbWV9XCI6ICR7dmFsaWRhdGVJZGVudGlmaWVyKG5hbWUpfWBcbiAgKTtcbn1cbmZ1bmN0aW9uIHNldEN1cnJlbnRDb250ZXh0U3ltYm9sVGFibGUoZW5naW5lLCB0YWJsZSkge1xuICB2YXIgX2E7XG4gIGlmICghZW5naW5lLmNvbnRleHQpXG4gICAgdGhyb3cgRXJyb3IoXCJObyBjb250ZXh0IGF2YWlsYWJsZVwiKTtcbiAgKF9hID0gZW5naW5lLmNvbnRleHQpLmlkVGFibGUgPz8gKF9hLmlkVGFibGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpKTtcbiAgY29uc3QgaWRUYWJsZSA9IGVuZ2luZS5jb250ZXh0LmlkVGFibGU7XG4gIGZvciAobGV0IG5hbWUgb2YgT2JqZWN0LmtleXModGFibGUpKSB7XG4gICAgY29uc3QgZW50cnkgPSB0YWJsZVtuYW1lXTtcbiAgICBuYW1lID0gdmFsaWRhdGVEZWZpbml0aW9uTmFtZShuYW1lKTtcbiAgICBpZiAoaXNGdW5jdGlvbkRlZmluaXRpb24oZW50cnkpKSB7XG4gICAgICBjb25zdCBkZWYgPSBtYWtlRnVuY3Rpb25EZWZpbml0aW9uKGVuZ2luZSwgbmFtZSwgZW50cnkpO1xuICAgICAgaWYgKGlkVGFibGUuaGFzKG5hbWUpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYER1cGxpY2F0ZSBmdW5jdGlvbiBkZWZpbml0aW9uICR7bmFtZX06XG4ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgaWRUYWJsZS5nZXQobmFtZSlcbiAgICAgICAgICApfVxuJHtKU09OLnN0cmluZ2lmeShlbnRyeSl9YFxuICAgICAgICApO1xuICAgICAgaWRUYWJsZS5zZXQobmFtZSwgZGVmKTtcbiAgICB9IGVsc2UgaWYgKGlzU3ltYm9sRGVmaW5pdGlvbihlbnRyeSkpIHtcbiAgICAgIGNvbnN0IGRlZiA9IG5ldyBCb3hlZFN5bWJvbERlZmluaXRpb25JbXBsKGVuZ2luZSwgbmFtZSwgZW50cnkpO1xuICAgICAgaWYgKGVuZ2luZS5zdHJpY3QgJiYgZW50cnkud2lraWRhdGEpIHtcbiAgICAgICAgZm9yIChjb25zdCBbXywgZF0gb2YgaWRUYWJsZSkge1xuICAgICAgICAgIGlmIChkLndpa2lkYXRhID09PSBlbnRyeS53aWtpZGF0YSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYER1cGxpY2F0ZSBlbnRyaWVzIHdpdGggd2lraWRhdGEgXCIke2VudHJ5Lndpa2lkYXRhfVwiOiBcIiR7bmFtZX1cIiBhbmQgXCIke2QubmFtZX1cImBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpZFRhYmxlLmhhcyhuYW1lKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgc3ltYm9sIGRlZmluaXRpb24gXCIke25hbWV9XCJgKTtcbiAgICAgIGlkVGFibGUuc2V0KG5hbWUsIGRlZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGRlZiA9IG5ldyBCb3hlZFN5bWJvbERlZmluaXRpb25JbXBsKGVuZ2luZSwgbmFtZSwge1xuICAgICAgICB2YWx1ZTogZW5naW5lLmJveChlbnRyeSlcbiAgICAgIH0pO1xuICAgICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KGRlZik7XG4gICAgICBpZFRhYmxlLnNldChuYW1lLCBkZWYpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvY29zdC1mdW5jdGlvbi50c1xudmFyIGltcG9ydF9jb21wbGV4MTkgPSBfX3RvRVNNKHJlcXVpcmVfY29tcGxleCgpKTtcbmZ1bmN0aW9uIG51bWVyaWNDb3N0RnVuY3Rpb24obikge1xuICBpZiAoTnVtYmVyLmlzSW50ZWdlcihuKSAmJiBuICE9PSAwKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5sb2cyKE1hdGguYWJzKG4pKSAvIE1hdGgubG9nMigxMCkpICsgKG4gPiAwID8gMSA6IDIpO1xuICB9XG4gIHJldHVybiAyO1xufVxuZnVuY3Rpb24gY29zdEZ1bmN0aW9uKGV4cHIpIHtcbiAgaWYgKGV4cHIuc3ltYm9sKVxuICAgIHJldHVybiAxO1xuICBjb25zdCBudW0gPSBleHByLm51bWVyaWNWYWx1ZTtcbiAgaWYgKG51bSAhPT0gbnVsbCkge1xuICAgIGlmIChleHByLmlzWmVybylcbiAgICAgIHJldHVybiAxO1xuICAgIGlmIChleHByLmlzSW50ZWdlcilcbiAgICAgIHJldHVybiBudW1lcmljQ29zdEZ1bmN0aW9uKGFzRmxvYXQoZXhwcikpO1xuICAgIGlmIChpc1JhdGlvbmFsKG51bSkpIHtcbiAgICAgIGlmIChpc01hY2hpbmVSYXRpb25hbChudW0pKVxuICAgICAgICByZXR1cm4gbnVtZXJpY0Nvc3RGdW5jdGlvbihudW1bMF0pICsgbnVtZXJpY0Nvc3RGdW5jdGlvbihudW1bMV0pICsgMTtcbiAgICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIG51bWVyaWNDb3N0RnVuY3Rpb24oTnVtYmVyKG51bVswXSkpICsgbnVtZXJpY0Nvc3RGdW5jdGlvbihOdW1iZXIobnVtWzFdKSkgKyAxO1xuICAgIH1cbiAgICBpZiAobnVtIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgxOS5kZWZhdWx0KVxuICAgICAgcmV0dXJuIG51bWVyaWNDb3N0RnVuY3Rpb24obnVtLnJlKSArIG51bWVyaWNDb3N0RnVuY3Rpb24obnVtLmltKSArIDE7XG4gICAgaWYgKGV4cHIuaXNOdW1iZXIpXG4gICAgICByZXR1cm4gMjtcbiAgfVxuICBjb25zdCBoZWFkMiA9IGV4cHIuaGVhZDtcbiAgbGV0IGhlYWRDb3N0ID0gMjtcbiAgaWYgKHR5cGVvZiBoZWFkMiA9PT0gXCJzdHJpbmdcIikge1xuICAgIGlmIChbXCJBZGRcIiwgXCJEaXZpZGVcIl0uaW5jbHVkZXMoaGVhZDIpKVxuICAgICAgaGVhZENvc3QgPSAzO1xuICAgIGVsc2UgaWYgKFtcIlN1YnRyYWN0XCIsIFwiTmVnYXRlXCJdLmluY2x1ZGVzKGhlYWQyKSlcbiAgICAgIGhlYWRDb3N0ID0gNDtcbiAgICBlbHNlIGlmIChbXCJTcXVhcmVcIiwgXCJTcXJ0XCIsIFwiTXVsdGlwbHlcIiwgXCJSb290XCJdLmluY2x1ZGVzKGhlYWQyKSlcbiAgICAgIGhlYWRDb3N0ID0gNTtcbiAgICBlbHNlIGlmIChbXCJQb3dlclwiXS5pbmNsdWRlcyhoZWFkMikpXG4gICAgICBoZWFkQ29zdCA9IDY7XG4gICAgZWxzZSBpZiAoW1wiTG5cIiwgXCJFeHBcIiwgXCJMb2dcIl0uaW5jbHVkZXMoaGVhZDIpKVxuICAgICAgaGVhZENvc3QgPSA3O1xuICAgIGVsc2UgaWYgKFtcbiAgICAgIFwiQXJjc2luXCIsXG4gICAgICBcIkFyY2Nvc1wiLFxuICAgICAgXCJBcmN0YW5cIixcbiAgICAgIFwiQXJjc2VjXCIsXG4gICAgICBcIiBBcmNjc2NcIixcbiAgICAgIFwiQXJzaW5oXCIsXG4gICAgICBcIkFyY29zaFwiLFxuICAgICAgXCJBcnRhbmhcIixcbiAgICAgIFwiQXJjc2VjaFwiLFxuICAgICAgXCJBcmNzY2hcIixcbiAgICAgIFwiQ29zaFwiLFxuICAgICAgXCJDb3NcIixcbiAgICAgIFwiQ3NjXCIsXG4gICAgICBcIkNzY2hcIixcbiAgICAgIC8vICc/Pyc6ICdDb3QnLFxuICAgICAgLy8gJz8/JzogJ0NvdGgnLFxuICAgICAgXCJTZWNcIixcbiAgICAgIFwiU2luXCIsXG4gICAgICBcIlNpbmhcIixcbiAgICAgIFwiVGFuXCIsXG4gICAgICBcIlRhbmhcIlxuICAgIF0uaW5jbHVkZXMoaGVhZDIpKVxuICAgICAgaGVhZENvc3QgPSA5O1xuICAgIGVsc2VcbiAgICAgIGhlYWRDb3N0ID0gMTA7XG4gIH0gZWxzZVxuICAgIGhlYWRDb3N0ID0gY29zdEZ1bmN0aW9uKGhlYWQyKTtcbiAgcmV0dXJuIGhlYWRDb3N0ICsgKGV4cHIub3BzPy5yZWR1Y2UoKGFjYywgeCkgPT4gYWNjICsgY29zdEZ1bmN0aW9uKHgpLCAwKSA/PyAwKTtcbn1cbnZhciBERUZBVUxUX0NPU1RfRlVOQ1RJT04gPSBjb3N0RnVuY3Rpb247XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9ib3hlZC1leHByZXNzaW9uL2V4cHJlc3Npb24tbWFwLnRzXG52YXIgRXhwcmVzc2lvbk1hcCA9IGNsYXNzIF9FeHByZXNzaW9uTWFwIHtcbiAgY29uc3RydWN0b3Ioc291cmNlKSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB9IGVsc2UgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIF9FeHByZXNzaW9uTWFwKSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IG5ldyBNYXAoc291cmNlLl9pdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcChcbiAgICAgICAgc291cmNlXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBoYXMoZXhwcikge1xuICAgIGZvciAoY29uc3QgeCBvZiB0aGlzLl9pdGVtcy5rZXlzKCkpXG4gICAgICBpZiAoeC5pc1NhbWUoZXhwcikpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBnZXQoZXhwcikge1xuICAgIGZvciAoY29uc3QgW3gsIHZdIG9mIHRoaXMuX2l0ZW1zKVxuICAgICAgaWYgKHguaXNTYW1lKGV4cHIpKVxuICAgICAgICByZXR1cm4gdjtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGNsZWFyKCkge1xuICAgIHRoaXMuX2l0ZW1zLmNsZWFyKCk7XG4gIH1cbiAgc2V0KGV4cHIsIHZhbHVlKSB7XG4gICAgZm9yIChjb25zdCB4IG9mIHRoaXMuX2l0ZW1zLmtleXMoKSkge1xuICAgICAgaWYgKHguaXNTYW1lKGV4cHIpKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zLnNldCh4LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5faXRlbXMuc2V0KGV4cHIsIHZhbHVlKTtcbiAgfVxuICBkZWxldGUoZXhwcikge1xuICAgIHRoaXMuX2l0ZW1zLmRlbGV0ZShleHByKTtcbiAgfVxuICBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXMuZW50cmllcygpO1xuICB9XG4gIGVudHJpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmVudHJpZXMoKTtcbiAgfVxufTtcblxuLy8gc3JjL2NvbW1vbi91dGlscy50c1xuZnVuY3Rpb24gcGVybXV0YXRpb25zKHhzKSB7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBjb25zdCBwZXJtdXRlID0gKGFyciwgbSA9IFtdKSA9PiB7XG4gICAgaWYgKGFyci5sZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdC5wdXNoKG0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjdXJyID0gYXJyLnNsaWNlKCk7XG4gICAgICAgIGNvbnN0IG5leHQgPSBjdXJyLnNwbGljZShpLCAxKTtcbiAgICAgICAgcGVybXV0ZShjdXJyLnNsaWNlKCksIG0uY29uY2F0KG5leHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHBlcm11dGUoeHMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1wYXR0ZXJucy50c1xudmFyIEJveGVkUGF0dGVybiA9IGNsYXNzIF9Cb3hlZFBhdHRlcm4gZXh0ZW5kcyBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKGNlLCBwYXR0ZXJuLCBtZXRhZGF0YSkge1xuICAgIHN1cGVyKGNlLCBtZXRhZGF0YSk7XG4gICAgdGhpcy5fcGF0dGVybiA9IGlzTGF0ZXhTdHJpbmcocGF0dGVybikgPyBjZS5wYXJzZShwYXR0ZXJuLCB7IGNhbm9uaWNhbDogZmFsc2UgfSkgOiBjZS5ib3gocGF0dGVybiwgeyBjYW5vbmljYWw6IGZhbHNlIH0pO1xuICB9XG4gIGdldCBoYXNoKCkge1xuICAgIHJldHVybiBoYXNoQ29kZShcIlBhdHRlcm5cIikgXiB0aGlzLl9wYXR0ZXJuLmhhc2g7XG4gIH1cbiAgdW5iaW5kKCkge1xuICAgIHRoaXMuX3BhdHRlcm4udW5iaW5kKCk7XG4gIH1cbiAgZ2V0IGpzb24oKSB7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZUpzb25GdW5jdGlvbih0aGlzLmVuZ2luZSwgXCJQYXR0ZXJuXCIsIFt0aGlzLl9wYXR0ZXJuXSk7XG4gIH1cbiAgZ2V0IGhlYWQoKSB7XG4gICAgcmV0dXJuIFwiUGF0dGVyblwiO1xuICB9XG4gIGdldCBkb21haW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5naW5lLmRvbWFpbihcIlBhdHRlcm5cIik7XG4gIH1cbiAgZ2V0IGlzQ2Fub25pY2FsKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHNldCBpc0Nhbm9uaWNhbChfdmFsKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlzU2FtZShyaHMpIHtcbiAgICBpZiAodGhpcyA9PT0gcmhzKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHJocyBpbnN0YW5jZW9mIF9Cb3hlZFBhdHRlcm4gJiYgdGhpcy5fcGF0dGVybi5pc1NhbWUocmhzLl9wYXR0ZXJuKTtcbiAgfVxuICBpc0VxdWFsKHJocykge1xuICAgIHJldHVybiByaHMgaW5zdGFuY2VvZiBfQm94ZWRQYXR0ZXJuICYmIHRoaXMuX3BhdHRlcm4uaXNFcXVhbChyaHMuX3BhdHRlcm4pO1xuICB9XG4gIG1hdGNoKGV4cHIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gbWF0Y2goZXhwciwgdGhpcy5fcGF0dGVybiwge1xuICAgICAgcmVjdXJzaXZlOiBvcHRpb25zPy5yZWN1cnNpdmUgPz8gZmFsc2UsXG4gICAgICBudW1lcmljVG9sZXJhbmNlOiBvcHRpb25zPy5udW1lcmljVG9sZXJhbmNlID8/IDAsXG4gICAgICBzdWJzdGl0dXRpb246IG9wdGlvbnM/LnN1YnN0aXR1dGlvbiA/PyB7fVxuICAgIH0pO1xuICB9XG4gIHRlc3QoZXhwciwgb3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm1hdGNoKGV4cHIsIG9wdGlvbnMpICE9PSBudWxsO1xuICB9XG4gIGNvdW50KGV4cHJzLCBvcHRpb25zKSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgZm9yIChjb25zdCBleHByIG9mIGV4cHJzKSB7XG4gICAgICBpZiAodGhpcy5tYXRjaChleHByLCBvcHRpb25zKSAhPT0gbnVsbClcbiAgICAgICAgcmVzdWx0ICs9IDE7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgc3VicyhzdWIyLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdHRlcm4uc3VicyhzdWIyLCBvcHRpb25zKTtcbiAgfVxufTtcbmZ1bmN0aW9uIGhhc1dpbGRjYXJkcyhleHByKSB7XG4gIGlmICh0eXBlb2YgZXhwciA9PT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gZXhwci5zdGFydHNXaXRoKFwiX1wiKTtcbiAgaWYgKGV4cHIuc3ltYm9sPy5zdGFydHNXaXRoKFwiX1wiKSlcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKGV4cHIub3BzKVxuICAgIHJldHVybiBoYXNXaWxkY2FyZHMoZXhwci5oZWFkKSB8fCBleHByLm9wcy5zb21lKGhhc1dpbGRjYXJkcyk7XG4gIGlmIChleHByLmtleXMpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBleHByLmtleXMpXG4gICAgICBpZiAoaGFzV2lsZGNhcmRzKGV4cHIuZ2V0S2V5KGtleSkpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBjYXB0dXJlV2lsZGNhcmQod2lsZGNhcmQsIGV4cHIsIHN1YnN0aXR1dGlvbikge1xuICBjb25zdCBuYW1lID0gZ2V0V2lsZGNhcmROYW1lKHdpbGRjYXJkKTtcbiAgaWYgKG5hbWUgPT09IFwiXCIpXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgaWYgKHN1YnN0aXR1dGlvbltuYW1lXSAhPT0gdm9pZCAwKSB7XG4gICAgaWYgKCFleHByLmlzU2FtZShzdWJzdGl0dXRpb25bbmFtZV0pKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgfVxuICBpZiAoaGFzV2lsZGNhcmRzKGV4cHIpKVxuICAgIHJldHVybiBudWxsO1xuICByZXR1cm4geyAuLi5zdWJzdGl0dXRpb24sIFtuYW1lXTogZXhwciB9O1xufVxuZnVuY3Rpb24gbWF0Y2hPbmNlKGV4cHIsIHBhdHRlcm4sIHN1YnN0aXR1dGlvbiwgb3B0aW9ucykge1xuICBjb25zdCBjZSA9IGV4cHIuZW5naW5lO1xuICBpZiAocGF0dGVybi5oZWFkID09PSBcIlBhdHRlcm5cIilcbiAgICByZXR1cm4gcGF0dGVybi5tYXRjaChleHByLCB7IHN1YnN0aXR1dGlvbiwgLi4ub3B0aW9ucyB9KTtcbiAgaWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBCb3hlZE51bWJlcikge1xuICAgIGlmICghKGV4cHIgaW5zdGFuY2VvZiBCb3hlZE51bWJlcikpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAob3B0aW9ucy5udW1lcmljVG9sZXJhbmNlID09PSAwKVxuICAgICAgcmV0dXJuIHBhdHRlcm4uaXNTYW1lKGV4cHIpID8gc3Vic3RpdHV0aW9uIDogbnVsbDtcbiAgICByZXR1cm4gcGF0dGVybi5pc0VxdWFsV2l0aFRvbGVyYW5jZShleHByLCBvcHRpb25zLm51bWVyaWNUb2xlcmFuY2UpID8gc3Vic3RpdHV0aW9uIDogbnVsbDtcbiAgfVxuICBjb25zdCBzdHIgPSBwYXR0ZXJuLnN0cmluZztcbiAgaWYgKHN0ciAhPT0gbnVsbClcbiAgICByZXR1cm4gZXhwci5zdHJpbmcgPT09IHN0ciA/IHN1YnN0aXR1dGlvbiA6IG51bGw7XG4gIGNvbnN0IHN5bWJvbDIgPSBwYXR0ZXJuLnN5bWJvbDtcbiAgaWYgKHN5bWJvbDIgIT09IG51bGwpIHtcbiAgICBpZiAoc3ltYm9sMi5zdGFydHNXaXRoKFwiX1wiKSlcbiAgICAgIHJldHVybiBjYXB0dXJlV2lsZGNhcmQoc3ltYm9sMiwgZXhwciwgc3Vic3RpdHV0aW9uKTtcbiAgICByZXR1cm4gc3ltYm9sMiA9PT0gZXhwci5zeW1ib2wgPyBzdWJzdGl0dXRpb24gOiBudWxsO1xuICB9XG4gIGlmIChwYXR0ZXJuLm5vcHMgIT09IGV4cHIubm9wcylcbiAgICByZXR1cm4gbnVsbDtcbiAgY29uc3Qga2V5cyA9IHBhdHRlcm4ua2V5cztcbiAgaWYgKGtleXMgIT09IG51bGwpIHtcbiAgICBjb25zdCBleHByS2V5cyA9IGV4cHIua2V5cztcbiAgICBpZiAoZXhwcktleXMgPT09IG51bGwpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCByID0gbWF0Y2hPbmNlKGV4cHJLZXlzW2tleV0sIGtleXNba2V5XSwgc3Vic3RpdHV0aW9uLCBvcHRpb25zKTtcbiAgICAgIGlmIChyID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIHN1YnN0aXR1dGlvbiA9IHI7XG4gICAgfVxuICAgIHJldHVybiBzdWJzdGl0dXRpb247XG4gIH1cbiAgaWYgKHBhdHRlcm4ub3BzKSB7XG4gICAgY29uc3QgaGVhZDIgPSBwYXR0ZXJuLmhlYWQ7XG4gICAgaWYgKHR5cGVvZiBoZWFkMiA9PT0gXCJzdHJpbmdcIiAmJiBoZWFkMi5zdGFydHNXaXRoKFwiX1wiKSlcbiAgICAgIHJldHVybiBjYXB0dXJlV2lsZGNhcmQoaGVhZDIsIGNlLmJveChleHByLmhlYWQpLCBzdWJzdGl0dXRpb24pO1xuICAgIGxldCBkZWYgPSB2b2lkIDA7XG4gICAgaWYgKHR5cGVvZiBoZWFkMiA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgZXhwci5oZWFkID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAoaGVhZDIgIT09IGV4cHIuaGVhZClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBkZWYgPSBjZS5sb29rdXBGdW5jdGlvbihoZWFkMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHIgPSBtYXRjaE9uY2UoXG4gICAgICAgIGNlLmJveChleHByLmhlYWQsIHsgY2Fub25pY2FsOiBmYWxzZSB9KSxcbiAgICAgICAgY2UuYm94KGhlYWQyLCB7IGNhbm9uaWNhbDogZmFsc2UgfSksXG4gICAgICAgIHN1YnN0aXR1dGlvbixcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKTtcbiAgICAgIGlmIChyID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIHN1YnN0aXR1dGlvbiA9IHI7XG4gICAgfVxuICAgIHJldHVybiBkZWY/LmNvbW11dGF0aXZlID8gbWF0Y2hDb21tdXRhdGl2ZUFyZ3VtZW50cyhleHByLCBwYXR0ZXJuLCBzdWJzdGl0dXRpb24sIG9wdGlvbnMpIDogbWF0Y2hOb25Db21tdXRhdGl2ZUFyZ3VtZW50cyhleHByLCBwYXR0ZXJuLCBzdWJzdGl0dXRpb24sIG9wdGlvbnMpO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gbWF0Y2hQZXJtdXRhdGlvbihjZSwgb3BzMiwgcGF0dGVybnMsIHN1YnN0aXR1dGlvbiwgb3B0aW9ucykge1xuICBsZXQgcmVzdWx0ID0geyAuLi5zdWJzdGl0dXRpb24gfTtcbiAgb3BzMiA9IFsuLi5vcHMyXTtcbiAgbGV0IGhhc1Jlc3QgPSBmYWxzZTtcbiAgZm9yIChjb25zdCBhcmcgb2YgcGF0dGVybnMpIHtcbiAgICBpZiAoYXJnLnN5bWJvbCA9PT0gXCJfX1wiKVxuICAgICAgaGFzUmVzdCA9IHRydWU7XG4gICAgZWxzZSB7XG4gICAgICBsZXQgciA9IG51bGw7XG4gICAgICBpZiAoYXJnLnN5bWJvbD8uc3RhcnRzV2l0aChcIl9cIikpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gb3BzMi5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICByID0gY2FwdHVyZVdpbGRjYXJkKGFyZy5zeW1ib2wsIG9wczJbaV0sIHJlc3VsdCk7XG4gICAgICAgICAgaWYgKHIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIG9wczIuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBvcHMyLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICAgIHIgPSBtYXRjaE9uY2Uob3BzMltpXSwgYXJnLCByZXN1bHQsIG9wdGlvbnMpO1xuICAgICAgICAgIGlmIChyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBvcHMyLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHIgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgcmVzdWx0ID0gcjtcbiAgICB9XG4gIH1cbiAgaWYgKCFoYXNSZXN0ICYmIG9wczIubGVuZ3RoID4gMClcbiAgICByZXR1cm4gbnVsbDtcbiAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiBoYXNSZXN0KVxuICAgIHJlc3VsdFtcIl9fXCJdID0gY2UuX2ZuKFwiU2VxdWVuY2VcIiwgb3BzMik7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBtYXRjaENvbW11dGF0aXZlQXJndW1lbnRzKGV4cHIsIHBhdHRlcm4sIHN1YnN0aXR1dGlvbiwgb3B0aW9ucykge1xuICBjb25zdCBwYXR0ZXJucyA9IHBlcm11dGF0aW9ucyhwYXR0ZXJuLm9wcyk7XG4gIGZvciAoY29uc3QgcGF0IG9mIHBhdHRlcm5zKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbWF0Y2hQZXJtdXRhdGlvbihcbiAgICAgIGV4cHIuZW5naW5lLFxuICAgICAgZXhwci5vcHMsXG4gICAgICBwYXQsXG4gICAgICBzdWJzdGl0dXRpb24sXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgICBpZiAocmVzdWx0ICE9PSBudWxsKVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIG1hdGNoTm9uQ29tbXV0YXRpdmVBcmd1bWVudHMoZXhwciwgcGF0dGVybiwgc3Vic3RpdHV0aW9uLCBvcHRpb25zKSB7XG4gIGNvbnN0IGNlID0gZXhwci5lbmdpbmU7XG4gIGNvbnN0IG9wczIgPSBbLi4uZXhwci5vcHNdO1xuICBsZXQgcmVzdWx0ID0geyAuLi5zdWJzdGl0dXRpb24gfTtcbiAgbGV0IGkgPSAwO1xuICBjb25zdCBwYXR0ZXJucyA9IHBhdHRlcm4ub3BzO1xuICB3aGlsZSAoaSA8IHBhdHRlcm4ubm9wcykge1xuICAgIGNvbnN0IHBhdCA9IHBhdHRlcm5zW2ldO1xuICAgIGNvbnN0IGFyZ05hbWUgPSBwYXQuc3ltYm9sO1xuICAgIGlmIChhcmdOYW1lICE9PSBudWxsKSB7XG4gICAgICBpZiAoYXJnTmFtZS5zdGFydHNXaXRoKFwiX19cIikpIHtcbiAgICAgICAgbGV0IGogPSAwO1xuICAgICAgICBpZiAocGF0dGVybnNbaSArIDFdID09PSB2b2lkIDApIHtcbiAgICAgICAgICBqID0gb3BzMi5sZW5ndGggKyAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgIHdoaWxlICghZm91bmQgJiYgaiA8IG9wczIubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3VuZCA9IG1hdGNoT25jZShvcHMyW2pdLCBwYXR0ZXJuc1tpICsgMV0sIHJlc3VsdCwgb3B0aW9ucykgIT09IG51bGw7XG4gICAgICAgICAgICBqICs9IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZm91bmQpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFyZ05hbWUuc3RhcnRzV2l0aChcIl9fX1wiKSAmJiBqIDw9IDEpXG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJlc3VsdCA9IGNhcHR1cmVXaWxkY2FyZChcbiAgICAgICAgICBhcmdOYW1lLFxuICAgICAgICAgIGNlLmZuKFwiU2VxdWVuY2VcIiwgb3BzMi5zcGxpY2UoMCwgaiAtIDEpKSxcbiAgICAgICAgICByZXN1bHRcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoYXJnTmFtZS5zdGFydHNXaXRoKFwiX1wiKSkge1xuICAgICAgICByZXN1bHQgPSBjYXB0dXJlV2lsZGNhcmQoYXJnTmFtZSwgb3BzMi5zaGlmdCgpLCByZXN1bHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3ViMiA9IG1hdGNoT25jZShvcHMyLnNoaWZ0KCksIHBhdCwgcmVzdWx0LCBvcHRpb25zKTtcbiAgICAgICAgaWYgKHN1YjIgPT09IG51bGwpXG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHJlc3VsdCA9IHN1YjI7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1YjIgPSBtYXRjaE9uY2Uob3BzMi5zaGlmdCgpLCBwYXQsIHJlc3VsdCwgb3B0aW9ucyk7XG4gICAgICBpZiAoc3ViMiA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICByZXN1bHQgPSBzdWIyO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgaSArPSAxO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBtYXRjaChzdWJqZWN0LCBwYXR0ZXJuLCBvcHRpb25zKSB7XG4gIGNvbnN0IHN1YnN0aXR1dGlvbiA9IG1hdGNoT25jZShzdWJqZWN0LCBwYXR0ZXJuLCBvcHRpb25zLnN1YnN0aXR1dGlvbiA/PyB7fSwge1xuICAgIG51bWVyaWNUb2xlcmFuY2U6IG9wdGlvbnM/Lm51bWVyaWNUb2xlcmFuY2UgPz8gTlVNRVJJQ19UT0xFUkFOQ0VcbiAgfSk7XG4gIGlmIChzdWJzdGl0dXRpb24pIHtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5sb2coXCJtYXRjaFwiLCBzdWJqZWN0LnRvU3RyaW5nKCksIHBhdHRlcm4udG9TdHJpbmcoKSwgc3Vic3RpdHV0aW9uKTtcbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uO1xuICB9XG4gIGlmICghb3B0aW9ucy5yZWN1cnNpdmUpXG4gICAgcmV0dXJuIG51bGw7XG4gIHJldHVybiBudWxsO1xufVxuXG4vLyBzcmMvY29tcHV0ZS1lbmdpbmUvYm94ZWQtZXhwcmVzc2lvbi9ib3hlZC1zeW1ib2wudHNcbmZ1bmN0aW9uIGlzU3ltYm9sRGVmaW5pdGlvbjIoZGVmKSB7XG4gIGlmIChkZWYgPT09IG51bGwgfHwgZGVmID09PSB2b2lkIDApXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoXCJjb25zdGFudFwiIGluIGRlZilcbiAgICByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNGdW5jdGlvbkRlZmluaXRpb24yKGRlZikge1xuICBpZiAoZGVmID09PSBudWxsIHx8IGRlZiA9PT0gdm9pZCAwKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKFwic2lnbmF0dXJlXCIgaW4gZGVmKVxuICAgIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG52YXIgQm94ZWRTeW1ib2wgPSBjbGFzcyBfQm94ZWRTeW1ib2wgZXh0ZW5kcyBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKGNlLCBuYW1lLCBvcHRpb25zKSB7XG4gICAgc3VwZXIoY2UsIG9wdGlvbnM/Lm1ldGFkYXRhKTtcbiAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQoXG4gICAgICBuYW1lID09PSBuYW1lLm5vcm1hbGl6ZSgpLFxuICAgICAgYFN5bWJvbCBcIiR7bmFtZX1cIiBtdXN0IGJlIGluIFVuaWNvZGUgTkZDIGNhbm9uaWNhbCBvcmRlcmBcbiAgICApO1xuICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydChcbiAgICAgIGlzVmFsaWRJZGVudGlmaWVyKHRoaXMuX25hbWUpLFxuICAgICAgYEludmFsaWQgc3ltYm9sIFwiJHtuYW1lfVwiOiAke3ZhbGlkYXRlSWRlbnRpZmllcih0aGlzLl9uYW1lKX1gXG4gICAgKTtcbiAgICB0aGlzLl9zY29wZSA9IG9wdGlvbnM/LmNhbm9uaWNhbCA/IGNlLmNvbnRleHQgOiBudWxsO1xuICAgIHRoaXMuX2RlZiA9IG9wdGlvbnM/LmRlZiA/PyBudWxsO1xuICB9XG4gIGdldCBoYXNoKCkge1xuICAgIGlmICh0aGlzLl9oYXNoID09PSB2b2lkIDApXG4gICAgICB0aGlzLl9oYXNoID0gaGFzaENvZGUodGhpcy5fbmFtZSk7XG4gICAgcmV0dXJuIHRoaXMuX2hhc2g7XG4gIH1cbiAgdW5iaW5kKCkge1xuICAgIHRoaXMuX2RlZj8ucmVzZXQoKTtcbiAgICB0aGlzLl9kZWYgPSBudWxsO1xuICB9XG4gIGdldCBpc1B1cmUoKSB7XG4gICAgcmV0dXJuICh0aGlzLnN5bWJvbERlZmluaXRpb24/LmNvbnN0YW50ICYmIHRoaXMuc3ltYm9sRGVmaW5pdGlvbi52YWx1ZT8uaXNQdXJlKSA/PyB0aGlzLmZ1bmN0aW9uRGVmaW5pdGlvbj8ucHVyZSA/PyBmYWxzZTtcbiAgfVxuICBnZXQganNvbigpIHtcbiAgICByZXR1cm4gc2VyaWFsaXplSnNvblN5bWJvbCh0aGlzLmVuZ2luZSwgdGhpcy5fbmFtZSwge1xuICAgICAgbGF0ZXg6IHRoaXMuX2xhdGV4LFxuICAgICAgd2lraWRhdGE6IHRoaXMuX3dpa2lkYXRhXG4gICAgfSk7XG4gIH1cbiAgZ2V0IHNjb3BlKCkge1xuICAgIHJldHVybiB0aGlzLl9zY29wZTtcbiAgfVxuICAvKiogQSBmcmVlIHZhcmlhYmxlIGVpdGhlciBoYXMgbm8gZGVmaW5pdGlvbiwgb3IgaXQgaGFzIGEgZGVmaW5pdGlvbiwgYnV0IG5vIHZhbHVlICovXG4gIGdldCBpc0ZyZWUoKSB7XG4gICAgY29uc3QgZGVmID0gdGhpcy5fZGVmID8/IHRoaXMuZW5naW5lLmxvb2t1cFN5bWJvbCh0aGlzLl9uYW1lLCB0aGlzLl93aWtpZGF0YSk7XG4gICAgcmV0dXJuICFpc1N5bWJvbERlZmluaXRpb24yKGRlZikgfHwgZGVmLnZhbHVlID09PSB2b2lkIDA7XG4gIH1cbiAgZ2V0IGlzQ29uc3RhbnQoKSB7XG4gICAgY29uc3QgZGVmID0gdGhpcy5fZGVmID8/IHRoaXMuZW5naW5lLmxvb2t1cFN5bWJvbCh0aGlzLl9uYW1lLCB0aGlzLl93aWtpZGF0YSk7XG4gICAgcmV0dXJuICFpc1N5bWJvbERlZmluaXRpb24yKGRlZikgfHwgZGVmLmNvbnN0YW50O1xuICB9XG4gIGdldCBpc0Nhbm9uaWNhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2NvcGUgIT09IG51bGw7XG4gIH1cbiAgc2V0IGlzQ2Fub25pY2FsKHZhbCkge1xuICAgIHRoaXMuX3Njb3BlID0gdmFsID8gdGhpcy5lbmdpbmUuY29udGV4dCA6IG51bGw7XG4gICAgdGhpcy5fZGVmID0gbnVsbDtcbiAgfVxuICBnZXQgY2Fub25pY2FsKCkge1xuICAgIGlmICh0aGlzLl9zY29wZSlcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIHJldHVybiB0aGlzLmVuZ2luZS5ib3godGhpcy5fbmFtZSk7XG4gIH1cbiAgZ2V0IHdpa2lkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl93aWtpZGF0YSA/PyB0aGlzLmJhc2VEZWZpbml0aW9uPy53aWtpZGF0YSA/PyB2b2lkIDA7XG4gIH1cbiAgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgIGlmICghdGhpcy5iYXNlRGVmaW5pdGlvbilcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgaWYgKCF0aGlzLmJhc2VEZWZpbml0aW9uLmRlc2NyaXB0aW9uKVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICBpZiAodHlwZW9mIHRoaXMuYmFzZURlZmluaXRpb24uZGVzY3JpcHRpb24gPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gW3RoaXMuYmFzZURlZmluaXRpb24uZGVzY3JpcHRpb25dO1xuICAgIHJldHVybiB0aGlzLmJhc2VEZWZpbml0aW9uLmRlc2NyaXB0aW9uO1xuICB9XG4gIGdldCB1cmwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZURlZmluaXRpb24/LnVybCA/PyB2b2lkIDA7XG4gIH1cbiAgZ2V0IGNvbXBsZXhpdHkoKSB7XG4gICAgcmV0dXJuIDc7XG4gIH1cbiAgZ2V0IGhlYWQoKSB7XG4gICAgcmV0dXJuIFwiU3ltYm9sXCI7XG4gIH1cbiAgZ2V0IHN5bWJvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBnZXQgaXNOb3RoaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9uYW1lID09PSBcIk5vdGhpbmdcIjtcbiAgfVxuICAvLyAgQSBiYXNlIGRlZmluaXRpb24gaXMgdGhlIGJhc2UgY2xhc3Mgb2YgYm90aCBzeW1ib2wgYW5kIGZ1bmN0aW9uIGRlZmluaXRpb25cbiAgZ2V0IGJhc2VEZWZpbml0aW9uKCkge1xuICAgIGlmICh0aGlzLl9kZWYgPT09IG51bGwpXG4gICAgICB0aGlzLmJpbmQodGhpcy5fc2NvcGUpO1xuICAgIHJldHVybiB0aGlzLl9kZWYgPz8gdm9pZCAwO1xuICB9XG4gIGdldCBzeW1ib2xEZWZpbml0aW9uKCkge1xuICAgIGlmICh0aGlzLl9kZWYgPT09IG51bGwpXG4gICAgICB0aGlzLmJpbmQodGhpcy5fc2NvcGUpO1xuICAgIHJldHVybiBpc1N5bWJvbERlZmluaXRpb24yKHRoaXMuX2RlZikgPyB0aGlzLl9kZWYgOiB2b2lkIDA7XG4gIH1cbiAgZ2V0IGZ1bmN0aW9uRGVmaW5pdGlvbigpIHtcbiAgICBpZiAodGhpcy5fZGVmID09PSBudWxsKVxuICAgICAgdGhpcy5iaW5kKHRoaXMuX3Njb3BlKTtcbiAgICByZXR1cm4gaXNGdW5jdGlvbkRlZmluaXRpb24yKHRoaXMuX2RlZikgPyB0aGlzLl9kZWYgOiB2b2lkIDA7XG4gIH1cbiAgYmluZChzY29wZSkge1xuICAgIGlmIChzY29wZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fZGVmID0gdm9pZCAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZGVmO1xuICAgIGRlZiA9IHRoaXMuZW5naW5lLmxvb2t1cFN5bWJvbCh0aGlzLl9uYW1lLCB0aGlzLl93aWtpZGF0YSwgc2NvcGUpO1xuICAgIGlmIChkZWY/Lndpa2lkYXRhICYmIHRoaXMuX3dpa2lkYXRhICYmIGRlZi53aWtpZGF0YSAhPT0gdGhpcy5fd2lraWRhdGEpXG4gICAgICBkZWYgPSB2b2lkIDA7XG4gICAgaWYgKGRlZikge1xuICAgICAgdGhpcy5fbmFtZSA9IGRlZi5uYW1lO1xuICAgICAgdGhpcy5fZGVmID0gZGVmO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkZWYgPSB0aGlzLmVuZ2luZS5sb29rdXBGdW5jdGlvbih0aGlzLl9uYW1lLCBzY29wZSk7XG4gICAgaWYgKGRlZikge1xuICAgICAgdGhpcy5fZGVmID0gZGVmO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5lbmdpbmUuZGVmYXVsdERvbWFpbiAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fZGVmID0gdGhpcy5lbmdpbmUuZGVmaW5lU3ltYm9sKHRoaXMuX25hbWUsIHtcbiAgICAgICAgd2lraWRhdGE6IHRoaXMuX3dpa2lkYXRhLFxuICAgICAgICBkb21haW46IHRoaXMuZW5naW5lLmRlZmF1bHREb21haW5cbiAgICAgIH0pO1xuICAgICAgdGhpcy5fbmFtZSA9IHRoaXMuX2RlZi5uYW1lO1xuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9sRGVmaW5pdGlvbj8udmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHRoaXMuX25hbWVbMF0gPT09IFwiX1wiKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHZhbHVlIG9mIHRoZSB3aWxkY2FyZCBcIiR7dGhpcy5fbmFtZX1cIiBjYW5ub3QgYmUgY2hhbmdlZGBcbiAgICAgICk7XG4gICAgdGhpcy5lbmdpbmUuZm9yZ2V0KHRoaXMuX25hbWUpO1xuICAgIGxldCB2O1xuICAgIGlmICh2YWx1ZSAhPT0gdm9pZCAwKSB7XG4gICAgICBjb25zdCBib3hlZFZhbHVlID0gdGhpcy5lbmdpbmUuYm94KHZhbHVlKTtcbiAgICAgIHYgPSBib3hlZFZhbHVlLnZhbHVlID8/IGJveGVkVmFsdWUuZXZhbHVhdGUoKTtcbiAgICB9XG4gICAgaWYgKHY/LmRvbWFpbi5pc0NvbXBhdGlibGUoXCJGdW5jdGlvblwiKSkge1xuICAgICAgdGhpcy5fZGVmID0gdGhpcy5lbmdpbmUuZGVmaW5lRnVuY3Rpb24odGhpcy5fbmFtZSwge1xuICAgICAgICBzaWduYXR1cmU6IHtcbiAgICAgICAgICBkb21haW46IHYuZG9tYWluLFxuICAgICAgICAgIGV2YWx1YXRlOiB2XG4gICAgICAgICAgLy8gRXZhbHVhdGUgYXMgYSBsYW1iZGFcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9kZWYgJiYgaXNTeW1ib2xEZWZpbml0aW9uMih0aGlzLl9kZWYpKSB7XG4gICAgICB0aGlzLl9kZWYudmFsdWUgPSB2O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZG9tID0gdj8uZG9tYWluO1xuICAgICAgaWYgKGRvbT8uaXNOdW1lcmljKVxuICAgICAgICBkb20gPSB0aGlzLmVuZ2luZS5kb21haW4oXCJOdW1iZXJcIik7XG4gICAgICB0aGlzLl9kZWYgPSB0aGlzLmVuZ2luZS5kZWZpbmVTeW1ib2wodGhpcy5fbmFtZSwge1xuICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgZG9tYWluOiBkb20gPz8gdm9pZCAwXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgZ2V0IGRvbWFpbigpIHtcbiAgICBpZiAodGhpcy5mdW5jdGlvbkRlZmluaXRpb24pXG4gICAgICByZXR1cm4gdGhpcy5lbmdpbmUuZG9tYWluKFwiRnVuY3Rpb25cIik7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9sRGVmaW5pdGlvbj8uZG9tYWluID8/IHRoaXMuZW5naW5lLmRlZmF1bHREb21haW4gPz8gdGhpcy5lbmdpbmUuZG9tYWluKFwiVmFsdWVcIik7XG4gIH1cbiAgc2V0IGRvbWFpbihpbkRvbWFpbikge1xuICAgIGlmICh0aGlzLl9uYW1lWzBdID09PSBcIl9cIilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBkb21haW4gb2YgdGhlIHdpbGRjYXJkIFwiJHt0aGlzLl9uYW1lfVwiIGNhbm5vdCBiZSBjaGFuZ2VkYFxuICAgICAgKTtcbiAgICBjb25zdCBkID0gdGhpcy5lbmdpbmUuZG9tYWluKGluRG9tYWluKTtcbiAgICBpZiAoZC5pc0NvbXBhdGlibGUoXCJGdW5jdGlvblwiKSkge1xuICAgICAgdGhpcy5lbmdpbmUuZm9yZ2V0KHRoaXMuX25hbWUpO1xuICAgICAgdGhpcy5fZGVmID0gdGhpcy5lbmdpbmUuZGVmaW5lRnVuY3Rpb24odGhpcy5fbmFtZSwge1xuICAgICAgICBzaWduYXR1cmU6IHsgZG9tYWluOiBkIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNTeW1ib2xEZWZpbml0aW9uMih0aGlzLl9kZWYpKSB7XG4gICAgICB0aGlzLl9kZWYuZG9tYWluID0gZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmdpbmUuZm9yZ2V0KHRoaXMuX25hbWUpO1xuICAgICAgdGhpcy5fZGVmID0gdGhpcy5lbmdpbmUuZGVmaW5lU3ltYm9sKHRoaXMuX25hbWUsIHsgZG9tYWluOiBkIH0pO1xuICAgIH1cbiAgfVxuICBnZXQgZXhwbGljaXREb21haW4oKSB7XG4gICAgaWYgKHRoaXMuZnVuY3Rpb25EZWZpbml0aW9uKVxuICAgICAgcmV0dXJuIHRoaXMuZW5naW5lLmRvbWFpbihcIkZ1bmN0aW9uXCIpO1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmRvbWFpbiA/PyB2b2lkIDA7XG4gIH1cbiAgZ2V0IHNnbigpIHtcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcbiAgICBpZiAodiAmJiB2ICE9PSB0aGlzKSB7XG4gICAgICBjb25zdCBzID0gdi5zZ247XG4gICAgICBpZiAocyAhPT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gcztcbiAgICB9XG4gICAgY29uc3QgZGVmID0gdGhpcy5zeW1ib2xEZWZpbml0aW9uO1xuICAgIGlmIChkZWYpIHtcbiAgICAgIGlmIChkZWYuemVybyA9PT0gdHJ1ZSlcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICBpZiAoZGVmLnBvc2l0aXZlID09PSB0cnVlKVxuICAgICAgICByZXR1cm4gMTtcbiAgICAgIGlmIChkZWYubmVnYXRpdmUgPT09IHRydWUpXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9IGVsc2VcbiAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgaGFzKHgpIHtcbiAgICBpZiAodHlwZW9mIHggPT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gdGhpcy5fbmFtZSA9PT0geDtcbiAgICByZXR1cm4geC5pbmNsdWRlcyh0aGlzLl9uYW1lKTtcbiAgfVxuICBpc1NhbWUocmhzKSB7XG4gICAgaWYgKHRoaXMgPT09IHJocylcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICghKHJocyBpbnN0YW5jZW9mIF9Cb3hlZFN5bWJvbCkpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuX25hbWUgPT09IHJocy5fbmFtZTtcbiAgfVxuICBtYXRjaChyaHMsIF9vcHRpb25zKSB7XG4gICAgaWYgKCEocmhzIGluc3RhbmNlb2YgX0JveGVkU3ltYm9sKSlcbiAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0aGlzLl9uYW1lID09PSByaHMuX25hbWUpXG4gICAgICByZXR1cm4ge307XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaXNFcXVhbChyaHMpIHtcbiAgICBpZiAoIXRoaXMuaXNDYW5vbmljYWwpXG4gICAgICByZXR1cm4gdGhpcy5jYW5vbmljYWwuaXNFcXVhbChyaHMpO1xuICAgIHJocyA9IHJocy5jYW5vbmljYWw7XG4gICAgaWYgKHRoaXMgPT09IHJocylcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmIChyaHMuc3ltYm9sICE9PSBudWxsKVxuICAgICAgcmV0dXJuIHJocy5zeW1ib2wgPT09IHRoaXMuX25hbWU7XG4gICAgY29uc3QgbGhzVmFsID0gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy52YWx1ZT8uTigpO1xuICAgIGlmIChsaHNWYWwpXG4gICAgICByZXR1cm4gbGhzVmFsLmlzRXF1YWwocmhzLk4oKSk7XG4gICAgaWYgKHJocy5pc1plcm8pIHtcbiAgICAgIGlmICh0aGlzLmlzWmVybylcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBpZiAodGhpcy5pc05vdFplcm8pXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNaZXJvICYmIHJocy5pc05vdFplcm8pXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZW5naW5lLmFzayhbXCJFcXVhbFwiLCB0aGlzLCByaHNdKS5sZW5ndGggPiAwKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKHRoaXMuZW5naW5lLmFzayhbXCJOb3RFcXVhbFwiLCB0aGlzLCByaHNdKS5sZW5ndGggPiAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpc0xlc3MocmhzKSB7XG4gICAgaWYgKHJocy5zeW1ib2wgIT09IG51bGwgJiYgcmhzLnN5bWJvbCA9PT0gdGhpcy5fbmFtZSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsaHNWYWwgPSB0aGlzLnN5bWJvbERlZmluaXRpb24/LnZhbHVlPy5OKCk7XG4gICAgaWYgKGxoc1ZhbClcbiAgICAgIHJldHVybiBsaHNWYWwuaXNMZXNzKHJocy5OKCkpO1xuICAgIGlmIChyaHMuaXNaZXJvKSB7XG4gICAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgICBpZiAocyA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKHMgIT09IHZvaWQgMClcbiAgICAgICAgcmV0dXJuIHMgPCAwO1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGlzTGVzc0VxdWFsKHJocykge1xuICAgIGlmIChyaHMuc3ltYm9sICE9PSBudWxsICYmIHJocy5zeW1ib2wgPT09IHRoaXMuX25hbWUpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBsaHNWYWwgPSB0aGlzLnN5bWJvbERlZmluaXRpb24/LnZhbHVlPy5OKCk7XG4gICAgaWYgKGxoc1ZhbClcbiAgICAgIHJldHVybiBsaHNWYWwuaXNMZXNzRXF1YWwocmhzLk4oKSk7XG4gICAgaWYgKHJocy5pc1plcm8pIHtcbiAgICAgIGNvbnN0IHMgPSB0aGlzLnNnbjtcbiAgICAgIGlmIChzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAocyAhPT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gcyA8PSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0xlc3MocmhzKSB8fCB0aGlzLmlzRXF1YWwocmhzKTtcbiAgfVxuICBpc0dyZWF0ZXIocmhzKSB7XG4gICAgaWYgKHJocy5zeW1ib2wgIT09IG51bGwgJiYgcmhzLnN5bWJvbCA9PT0gdGhpcy5fbmFtZSlcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsaHNWYWwgPSB0aGlzLnN5bWJvbERlZmluaXRpb24/LnZhbHVlPy5OKCk7XG4gICAgaWYgKGxoc1ZhbClcbiAgICAgIHJldHVybiBsaHNWYWwuaXNHcmVhdGVyKHJocy5OKCkpO1xuICAgIGlmIChyaHMuaXNaZXJvKSB7XG4gICAgICBjb25zdCBzID0gdGhpcy5zZ247XG4gICAgICBpZiAocyA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKHMgIT09IHZvaWQgMClcbiAgICAgICAgcmV0dXJuIHMgPiAwO1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGlzR3JlYXRlckVxdWFsKHJocykge1xuICAgIGlmIChyaHMuc3ltYm9sICE9PSBudWxsICYmIHJocy5zeW1ib2wgPT09IHRoaXMuX25hbWUpXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBsaHNWYWwgPSB0aGlzLnN5bWJvbERlZmluaXRpb24/LnZhbHVlPy5OKCk7XG4gICAgaWYgKGxoc1ZhbClcbiAgICAgIHJldHVybiBsaHNWYWwuaXNHcmVhdGVyRXF1YWwocmhzLk4oKSk7XG4gICAgaWYgKHJocy5pc1plcm8pIHtcbiAgICAgIGNvbnN0IHMgPSB0aGlzLnNnbjtcbiAgICAgIGlmIChzID09PSBudWxsKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAocyAhPT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gcyA+PSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0dyZWF0ZXIocmhzKSB8fCB0aGlzLmlzRXF1YWwocmhzKTtcbiAgfVxuICBnZXQgaXNGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gISF0aGlzLmZ1bmN0aW9uRGVmaW5pdGlvbjtcbiAgfVxuICBnZXQgaXNaZXJvKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/Lnplcm87XG4gIH1cbiAgZ2V0IGlzTm90WmVybygpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5ub3RaZXJvO1xuICB9XG4gIGdldCBpc09uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5vbmU7XG4gIH1cbiAgZ2V0IGlzTmVnYXRpdmVPbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9sRGVmaW5pdGlvbj8ubmVnYXRpdmVPbmU7XG4gIH1cbiAgZ2V0IGlzT2RkKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/Lm9kZDtcbiAgfVxuICBnZXQgaXNFdmVuKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmV2ZW47XG4gIH1cbiAgZ2V0IGlzUHJpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9sRGVmaW5pdGlvbj8ucHJpbWU7XG4gIH1cbiAgZ2V0IGlzQ29tcG9zaXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmNvbXBvc2l0ZTtcbiAgfVxuICBnZXQgaXNJbmZpbml0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5pbmZpbml0eTtcbiAgfVxuICBnZXQgaXNOYU4oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ltYm9sRGVmaW5pdGlvbj8uTmFOO1xuICB9XG4gIC8vIHggPiAwXG4gIGdldCBpc1Bvc2l0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LnBvc2l0aXZlO1xuICB9XG4gIGdldCBpc05vblBvc2l0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/Lm5vblBvc2l0aXZlO1xuICB9XG4gIGdldCBpc05lZ2F0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/Lm5lZ2F0aXZlO1xuICB9XG4gIGdldCBpc05vbk5lZ2F0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/Lm5vbk5lZ2F0aXZlO1xuICB9XG4gIGdldCBpc051bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5udW1iZXI7XG4gIH1cbiAgZ2V0IGlzSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5pbnRlZ2VyO1xuICB9XG4gIGdldCBpc1JhdGlvbmFsKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LnJhdGlvbmFsO1xuICB9XG4gIGdldCBpc0FsZ2VicmFpYygpIHtcbiAgICByZXR1cm4gdGhpcy5zeW1ib2xEZWZpbml0aW9uPy5yYXRpb25hbDtcbiAgfVxuICBnZXQgaXNSZWFsKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LnJlYWw7XG4gIH1cbiAgZ2V0IGlzRXh0ZW5kZWRSZWFsKCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmV4dGVuZGVkUmVhbDtcbiAgfVxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmNvbXBsZXg7XG4gIH1cbiAgZ2V0IGlzSW1hZ2luYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LmltYWdpbmFyeTtcbiAgfVxuICBzaW1wbGlmeShvcHRpb25zKSB7XG4gICAgY29uc3QgZGVmID0gdGhpcy5zeW1ib2xEZWZpbml0aW9uO1xuICAgIGlmIChkZWY/LmhvbGRVbnRpbCA9PT0gXCJzaW1wbGlmeVwiICYmIGRlZi52YWx1ZSlcbiAgICAgIHJldHVybiBkZWYudmFsdWUuc2ltcGxpZnkob3B0aW9ucyk7XG4gICAgcmV0dXJuIG9wdGlvbnM/LnJ1bGVzID8gdGhpcy5yZXBsYWNlKG9wdGlvbnMucnVsZXMpID8/IHRoaXMgOiB0aGlzO1xuICB9XG4gIGV2YWx1YXRlKG9wdGlvbnMpIHtcbiAgICBjb25zdCBkZWYgPSB0aGlzLnN5bWJvbERlZmluaXRpb247XG4gICAgaWYgKGRlZiAmJiAoZGVmLmhvbGRVbnRpbCA9PT0gXCJzaW1wbGlmeVwiIHx8IGRlZi5ob2xkVW50aWwgPT09IFwiZXZhbHVhdGVcIikpXG4gICAgICByZXR1cm4gZGVmLnZhbHVlPy5ldmFsdWF0ZShvcHRpb25zKSA/PyB0aGlzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIE4ob3B0aW9ucykge1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuc3ltYm9sRGVmaW5pdGlvbjtcbiAgICBpZiAoZGVmICYmIGRlZi5ob2xkVW50aWwgPT09IFwibmV2ZXJcIilcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIHJldHVybiB0aGlzLnN5bWJvbERlZmluaXRpb24/LnZhbHVlPy5OKG9wdGlvbnMpID8/IHRoaXM7XG4gIH1cbiAgcmVwbGFjZShydWxlcywgb3B0aW9ucykge1xuICAgIHJldHVybiByZXBsYWNlKHRoaXMsIHJ1bGVzLCBvcHRpb25zKTtcbiAgfVxuICBzdWJzKHN1YjIsIG9wdGlvbnMpIHtcbiAgICBpZiAoc3ViMlt0aGlzLl9uYW1lXSA9PT0gdm9pZCAwKVxuICAgICAgcmV0dXJuIG9wdGlvbnM/LmNhbm9uaWNhbCA/IHRoaXMuY2Fub25pY2FsIDogdGhpcztcbiAgICByZXR1cm4gdGhpcy5lbmdpbmUuYm94KHN1YjJbdGhpcy5fbmFtZV0sIG9wdGlvbnMpO1xuICB9XG59O1xuZnVuY3Rpb24gbWFrZUNhbm9uaWNhbFN5bWJvbChjZSwgbmFtZSkge1xuICBjb25zdCBkZWYgPSBjZS5sb29rdXBTeW1ib2wobmFtZSwgdm9pZCAwLCBjZS5jb250ZXh0KTtcbiAgaWYgKGRlZj8uaG9sZFVudGlsID09PSBcIm5ldmVyXCIgJiYgZGVmLnZhbHVlKVxuICAgIHJldHVybiBkZWYudmFsdWU7XG4gIHJldHVybiBuZXcgQm94ZWRTeW1ib2woY2UsIG5hbWUsIHsgY2Fub25pY2FsOiB0cnVlLCBkZWYgfSk7XG59XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS9jb21wdXRlLWVuZ2luZS50c1xudmFyIENvbXB1dGVFbmdpbmUgPSBjbGFzcyBfQ29tcHV0ZUVuZ2luZSB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBuZXcgYENvbXB1dGVFbmdpbmVgIGluc3RhbmNlLlxuICAgKlxuICAgKiBJZGVudGlmaWVyIHRhYmxlcyBkZWZpbmUgZnVuY3Rpb25zIGFuZCBzeW1ib2xzIChpbiBgb3B0aW9ucy5pZHNgKS5cbiAgICogSWYgbm8gdGFibGUgaXMgcHJvdmlkZWQgdGhlIHN0YW5kYXJkIGxpYnJhcnkgaXMgdXNlZCAoYENvbXB1dGVFbmdpbmUuZ2V0U3RhbmRhcmRMaWJyYXJ5KClgKVxuICAgKlxuICAgKiBUaGUgTGFUZVggc3ludGF4IGRpY3Rpb25hcnkgaXMgZGVmaW5lZCBpbiBgb3B0aW9ucy5sYXRleERpY3Rpb25hcnlgLlxuICAgKlxuICAgKiBUaGUgb3JkZXIgb2YgdGhlIGRpY3Rpb25hcmllcyBtYXR0ZXI6IHRoZSBkZWZpbml0aW9ucyBmcm9tIHRoZSBsYXRlciBvbmVzXG4gICAqIG92ZXJyaWRlIHRoZSBkZWZpbml0aW9ucyBmcm9tIGVhcmxpZXIgb25lcy4gVGhlIGZpcnN0IGRpY3Rpb25hcnkgc2hvdWxkXG4gICAqIGJlIHRoZSBgJ2NvcmUnYCBkaWN0aW9uYXJ5IHdoaWNoIGluY2x1ZGUgc29tZSBiYXNpYyBkZWZpbml0aW9ucyBzdWNoXG4gICAqIGFzIGRvbWFpbnMgKGBCb29sZWFuYCwgYE51bWJlcmAsIGV0Yy4uLikgdGhhdCBhcmUgdXNlZCBieSBsYXRlciBkaWN0aW9uYXJpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zLm51bWVyaWNNb2RlIFRoZSBkZWZhdWx0IG1vZGUgaXMgYFwiYXV0b1wiYC4gVXNlIGBcIm1hY2hpbmVcImBcbiAgICogdG8gcGVyZm9ybSBudW1lcmljIGNhbGN1bGF0aW9ucyB1c2luZyA2NC1iaXQgZmxvYXRzLiBVc2UgYFwiYmlnbnVtXCJgIHRvXG4gICAqIHBlcmZvcm0gY2FsY3VsYXRpb25zIHVzaW5nIGFyYml0cmFyeSBwcmVjaXNpb24gZmxvYXRpbmcgcG9pbnQgbnVtYmVycy5cbiAgICogVXNlIGBcImF1dG9cImAgb3IgYFwiY29tcGxleFwiYCB0byBhbGxvdyBjYWxjdWxhdGlvbnMgb24gY29tcGxleCBudW1iZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucy5udW1lcmljUHJlY2lzaW9uIFNwZWNpZmljIGhvdyBtYW55IGRpZ2l0cyBvZiBwcmVjaXNpb25cbiAgICogZm9yIHRoZSBudW1lcmljIGNhbGN1bGF0aW9ucy4gRGVmYXVsdCBpcyAxMDAuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zLnRvbGVyYW5jZSBJZiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGRpZmZlcmVuY2Ugb2YgdHdvXG4gICAqIG51bWJlcnMgaXMgbGVzcyB0aGFuIGB0b2xlcmFuY2VgLCB0aGV5IGFyZSBjb25zaWRlcmVkIGVxdWFsLiBVc2VkIGJ5XG4gICAqIGBjaG9wKClgIGFzIHdlbGwuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zLmRlZmF1bHREb21haW4gSWYgYW4gdW5rbm93biBzeW1ib2wgaXMgZW5jb3VudGVyZWQsIGFzc3VtZVxuICAgKiB0aGlzIGlzIGl0cyBkb21haW4uICoqRGVmYXVsdCoqIGBFeHRlbmRlZFJlYWxOdW1iZXJgXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX2NhY2hlID0ge307XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX2NvbW1vblN5bWJvbHMgPSB7XG4gICAgICBUcnVlOiBudWxsLFxuICAgICAgRmFsc2U6IG51bGwsXG4gICAgICBNYXliZTogbnVsbCxcbiAgICAgIEFsbDogbnVsbCxcbiAgICAgIE5vdGhpbmc6IG51bGwsXG4gICAgICBOb25lOiBudWxsLFxuICAgICAgVW5kZWZpbmVkOiBudWxsLFxuICAgICAgRnVuY3Rpb246IG51bGwsXG4gICAgICBQaTogbnVsbCxcbiAgICAgIEltYWdpbmFyeVVuaXQ6IG51bGxcbiAgICB9O1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLl9jb21tb25OdW1iZXJzID0ge1xuICAgICAgXCItNVwiOiBudWxsLFxuICAgICAgXCItNFwiOiBudWxsLFxuICAgICAgXCItM1wiOiBudWxsLFxuICAgICAgXCItMlwiOiBudWxsLFxuICAgICAgMjogbnVsbCxcbiAgICAgIDM6IG51bGwsXG4gICAgICA0OiBudWxsLFxuICAgICAgNTogbnVsbCxcbiAgICAgIDY6IG51bGwsXG4gICAgICA3OiBudWxsLFxuICAgICAgODogbnVsbCxcbiAgICAgIDk6IG51bGwsXG4gICAgICAxMDogbnVsbCxcbiAgICAgIDExOiBudWxsLFxuICAgICAgMTI6IG51bGwsXG4gICAgICAzNjogbnVsbFxuICAgIH07XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX2NvbW1vbkRvbWFpbnMgPSB7XG4gICAgICBBbnl0aGluZzogbnVsbCxcbiAgICAgIE5vdGhpbmc6IG51bGwsXG4gICAgICBCb29sZWFuOiBudWxsLFxuICAgICAgTWF5YmVCb29sZWFuOiBudWxsLFxuICAgICAgU3RyaW5nOiBudWxsLFxuICAgICAgRG9tYWluOiBudWxsLFxuICAgICAgU3ltYm9sOiBudWxsLFxuICAgICAgSW50ZWdlcjogbnVsbCxcbiAgICAgIFJhdGlvbmFsTnVtYmVyOiBudWxsLFxuICAgICAgQWxnZWJyYWljTnVtYmVyOiBudWxsLFxuICAgICAgUmVhbE51bWJlcjogbnVsbCxcbiAgICAgIEV4dGVuZGVkUmVhbE51bWJlcjogbnVsbCxcbiAgICAgIEltYWdpbmFyeU51bWJlcjogbnVsbCxcbiAgICAgIENvbXBsZXhOdW1iZXI6IG51bGwsXG4gICAgICBFeHRlbmRlZENvbXBsZXhOdW1iZXI6IG51bGwsXG4gICAgICBOdW1iZXI6IG51bGwsXG4gICAgICBQb3NpdGl2ZUludGVnZXI6IG51bGwsXG4gICAgICBUcmFuc2NlbmRlbnRhbE51bWJlcjogbnVsbCxcbiAgICAgIFBvc2l0aXZlTnVtYmVyOiBudWxsLFxuICAgICAgRnVuY3Rpb246IG51bGwsXG4gICAgICAvLyAoQW55dGhpbmdebikgLT4gQW55dGhpbmdcbiAgICAgIE51bWVyaWNGdW5jdGlvbjogbnVsbCxcbiAgICAgIC8vIChOdW1iZXJebikgLT4gTnVtYmVyXG4gICAgICBSZWFsRnVuY3Rpb246IG51bGwsXG4gICAgICAvLyAoRXh0ZW5kZWRSZWFsTnVtYmVyXm4pIC0+IEV4dGVuZFJlYWxOdW1iZXJcbiAgICAgIFRyaWdvbm9tZXRyaWNGdW5jdGlvbjogbnVsbCxcbiAgICAgIC8vIChDb21wbGV4TnVtYmVyKSAtPiBDb21wbGV4TnVtYmVyXG4gICAgICBMb2dpY09wZXJhdG9yOiBudWxsLFxuICAgICAgLy8gKEJvb2xlYW4sIEJvb2xlYW4pIC0+IEJvb2xlYW5cbiAgICAgIFByZWRpY2F0ZTogbnVsbCxcbiAgICAgIC8vIChBbnl0aGluZ15uKSAtPiBNYXliZUJvb2xlYW5cbiAgICAgIFJlbGF0aW9uYWxPcGVyYXRvcjogbnVsbFxuICAgICAgLy8gKEFueXRoaW5nLCBBbnl0aGluZykgLT4gTWF5YmVCb29sZWFuXG4gICAgfTtcbiAgICBpZiAob3B0aW9ucyAhPT0gdm9pZCAwICYmIHR5cGVvZiBvcHRpb25zICE9PSBcIm9iamVjdFwiKVxuICAgICAgdGhyb3cgRXJyb3IoXCJVbmV4cGVjdGVkIGFyZ3VtZW50XCIpO1xuICAgIHRoaXMuc3RyaWN0ID0gdHJ1ZTtcbiAgICB0aGlzLl9sYXRleERpY3Rpb25hcnkgPSBvcHRpb25zPy5sYXRleERpY3Rpb25hcnk7XG4gICAgdGhpcy5fanNvblNlcmlhbGl6YXRpb25PcHRpb25zID0ge1xuICAgICAgZXhjbHVkZTogW10sXG4gICAgICBzaG9ydGhhbmRzOiBbXCJmdW5jdGlvblwiLCBcInN5bWJvbFwiLCBcInN0cmluZ1wiLCBcImRpY3Rpb25hcnlcIiwgXCJudW1iZXJcIl0sXG4gICAgICBtZXRhZGF0YTogW10sXG4gICAgICBwcmVjaXNpb246IFwibWF4XCIsXG4gICAgICByZXBlYXRpbmdEZWNpbWFsczogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5fdXNlUmF3SnNvblNlcmlhbGl6YXRpb25PcHRpb25zID0gZmFsc2U7XG4gICAgdGhpcy5fcmF3SnNvblNlcmlhbGl6YXRpb25PcHRpb25zID0ge1xuICAgICAgZXhjbHVkZTogW10sXG4gICAgICBzaG9ydGhhbmRzOiBbXCJmdW5jdGlvblwiLCBcInN5bWJvbFwiLCBcInN0cmluZ1wiLCBcImRpY3Rpb25hcnlcIiwgXCJudW1iZXJcIl0sXG4gICAgICBtZXRhZGF0YTogW10sXG4gICAgICBwcmVjaXNpb246IFwibWF4XCIsXG4gICAgICByZXBlYXRpbmdEZWNpbWFsczogZmFsc2VcbiAgICB9O1xuICAgIHRoaXMuX3N0YXRzID0ge1xuICAgICAgaGlnaHdhdGVyTWFyazogMCxcbiAgICAgIHN5bWJvbHM6IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCksXG4gICAgICBleHByZXNzaW9uczogLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKVxuICAgIH07XG4gICAgdGhpcy5fZGVmYXVsdERvbWFpbiA9IG51bGw7XG4gICAgdGhpcy5fbnVtZXJpY01vZGUgPSBvcHRpb25zPy5udW1lcmljTW9kZSA/PyBcImF1dG9cIjtcbiAgICB0aGlzLl9wcmVjaXNpb24gPSBNYXRoLm1heChcbiAgICAgIG9wdGlvbnM/Lm51bWVyaWNQcmVjaXNpb24gPz8gMTAwLFxuICAgICAgTWF0aC5mbG9vcihNQUNISU5FX1BSRUNJU0lPTilcbiAgICApO1xuICAgIHRoaXMuX2JpZ251bSA9IERlY2ltYWwuY2xvbmUoeyBwcmVjaXNpb246IHRoaXMuX3ByZWNpc2lvbiB9KTtcbiAgICB0aGlzLnRvbGVyYW5jZSA9IG9wdGlvbnM/LnRvbGVyYW5jZSA/PyBOVU1FUklDX1RPTEVSQU5DRTtcbiAgICB0aGlzLl9aRVJPID0gbmV3IEJveGVkTnVtYmVyKHRoaXMsIDApO1xuICAgIHRoaXMuX09ORSA9IG5ldyBCb3hlZE51bWJlcih0aGlzLCAxKTtcbiAgICB0aGlzLl9IQUxGID0gbmV3IEJveGVkTnVtYmVyKHRoaXMsIFsxLCAyXSk7XG4gICAgdGhpcy5fTkVHQVRJVkVfT05FID0gbmV3IEJveGVkTnVtYmVyKHRoaXMsIC0xKTtcbiAgICB0aGlzLl9JID0gbmV3IEJveGVkTnVtYmVyKHRoaXMsIGltcG9ydF9jb21wbGV4MjAuQ29tcGxleC5JKTtcbiAgICB0aGlzLl9OQU4gPSBuZXcgQm94ZWROdW1iZXIodGhpcywgTnVtYmVyLk5hTik7XG4gICAgdGhpcy5fUE9TSVRJVkVfSU5GSU5JVFkgPSBuZXcgQm94ZWROdW1iZXIodGhpcywgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtcbiAgICB0aGlzLl9ORUdBVElWRV9JTkZJTklUWSA9IG5ldyBCb3hlZE51bWJlcih0aGlzLCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpO1xuICAgIHRoaXMuX0NPTVBMRVhfSU5GSU5JVFkgPSBuZXcgQm94ZWROdW1iZXIodGhpcywgaW1wb3J0X2NvbXBsZXgyMC5Db21wbGV4LklORklOSVRZKTtcbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5jb250ZXh0ID0ge1xuICAgICAgYXNzdW1wdGlvbnM6IG5ldyBFeHByZXNzaW9uTWFwKCksXG4gICAgICB0aW1lTGltaXQ6IDIsXG4gICAgICAvLyBleGVjdXRpb24gdGltZSBsaW1pdDogMi4wIHNlY29uZHNcbiAgICAgIG1lbW9yeUxpbWl0OiAxLFxuICAgICAgLy8gbWVtb3J5IGxpbWl0OiAxLjAgbWVnYWJ5dGVcbiAgICAgIHJlY3Vyc2lvbkxpbWl0OiAxMDI0LFxuICAgICAgaXRlcmF0aW9uTGltaXQ6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWVxuICAgIH07XG4gICAgY29uc3QgdGFibGVzID0gb3B0aW9ucz8uaWRzID8/IF9Db21wdXRlRW5naW5lLmdldFN0YW5kYXJkTGlicmFyeSgpO1xuICAgIGZvciAoY29uc3QgdGFibGUgb2YgdGFibGVzKVxuICAgICAgc2V0Q3VycmVudENvbnRleHRTeW1ib2xUYWJsZSh0aGlzLCB0YWJsZSk7XG4gICAgZm9yIChjb25zdCBkIG9mIE9iamVjdC5rZXlzKHRoaXMuX2NvbW1vbkRvbWFpbnMpKSB7XG4gICAgICBpZiAodGhpcy5fY29tbW9uRG9tYWluc1tkXSAmJiAhdGhpcy5fY29tbW9uRG9tYWluc1tkXS5zeW1ib2xEZWZpbml0aW9uKVxuICAgICAgICB0aGlzLl9jb21tb25Eb21haW5zW2RdLmJpbmQodGhpcy5jb250ZXh0KTtcbiAgICAgIGVsc2VcbiAgICAgICAgdGhpcy5fY29tbW9uRG9tYWluc1tkXSA9IGJveERvbWFpbih0aGlzLCBkKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzeW0gb2YgT2JqZWN0LmtleXModGhpcy5fY29tbW9uU3ltYm9scykpIHtcbiAgICAgIHRoaXMuX2NvbW1vblN5bWJvbHNbc3ltXSA9IG5ldyBCb3hlZFN5bWJvbCh0aGlzLCBzeW0sIHtcbiAgICAgICAgY2Fub25pY2FsOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX2NvbW1vblN5bWJvbHNbc3ltXS5iaW5kKHRoaXMuY29udGV4dCk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5kZWZhdWx0RG9tYWluKSB7XG4gICAgICBjb25zdCBkZWZhdWx0RG9tYWluID0gdGhpcy5kb21haW4ob3B0aW9ucy5kZWZhdWx0RG9tYWluKTtcbiAgICAgIGlmIChkZWZhdWx0RG9tYWluLmlzVmFsaWQpXG4gICAgICAgIHRoaXMuX2RlZmF1bHREb21haW4gPSBkZWZhdWx0RG9tYWluO1xuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl9kZWZhdWx0RG9tYWluID0gdGhpcy5kb21haW4oXCJFeHRlbmRlZFJlYWxOdW1iZXJcIik7XG4gICAgfSBlbHNlXG4gICAgICB0aGlzLl9kZWZhdWx0RG9tYWluID0gdGhpcy5kb21haW4oXCJFeHRlbmRlZFJlYWxOdW1iZXJcIik7XG4gICAgdGhpcy5wdXNoU2NvcGUoKTtcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIGlkZW50aWZpZXIgdGFibGVzIHN1aXRhYmxlIGZvciB0aGUgc3BlY2lmaWVkIGNhdGVnb3JpZXMsIG9yIGBcImFsbFwiYFxuICAgKiBmb3IgYWxsIGNhdGVnb3JpZXMgKGBcImFyaXRobWV0aWNcImAsIGBcImFsZ2VicmFcImAsIGV0Yy4uLikuXG4gICAqXG4gICAqIEFuIGlkZW50aWZpZXIgdGFibGUgZGVmaW5lcyBob3cgdGhlIHN5bWJvbHMgYW5kIGZ1bmN0aW9uIG5hbWVzIGluIGFcbiAgICogTWF0aEpTT04gZXhwcmVzc2lvbiBzaG91bGQgYmUgaW50ZXJwcmV0ZWQsIGkuZS4gaG93IHRvIGV2YWx1YXRlIGFuZFxuICAgKiBtYW5pcHVsYXRlIHRoZW0uXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZ2V0U3RhbmRhcmRMaWJyYXJ5KGNhdGVnb3JpZXMgPSBcImFsbFwiKSB7XG4gICAgcmV0dXJuIGdldFN0YW5kYXJkTGlicmFyeShjYXRlZ29yaWVzKTtcbiAgfVxuICBnZXQgbGF0ZXhEaWN0aW9uYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLmxhdGV4U3ludGF4LmRpY3Rpb25hcnk7XG4gIH1cbiAgc2V0IGxhdGV4RGljdGlvbmFyeShkaWMpIHtcbiAgICB0aGlzLmxhdGV4U3ludGF4LmRpY3Rpb25hcnkgPSBkaWM7XG4gIH1cbiAgLyoqIEFmdGVyIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlbmdpbmUgaGFzIGNoYW5nZWQsIGNsZWFyIHRoZSBjYWNoZXNcbiAgICogc28gdGhhdCBuZXcgdmFsdWVzIGNhbiBiZSByZWNhbGN1bGF0ZWQuXG4gICAqXG4gICAqIFRoaXMgbmVlZHMgdG8gaGFwcGVuIGZvciBleGFtcGxlIHdoZW4gdGhlIG51bWVyaWMgcHJlY2lzaW9uIGNoYW5nZXMuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVzZXQoKSB7XG4gICAgLyogQF9fUFVSRV9fICovIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2JpZ251bSk7XG4gICAgdGhpcy5fQklHTlVNX05FR0FUSVZFX09ORSA9IHRoaXMuYmlnbnVtKC0xKTtcbiAgICB0aGlzLl9CSUdOVU1fTkFOID0gdGhpcy5iaWdudW0oTmFOKTtcbiAgICB0aGlzLl9CSUdOVU1fWkVSTyA9IHRoaXMuYmlnbnVtKDApO1xuICAgIHRoaXMuX0JJR05VTV9PTkUgPSB0aGlzLmJpZ251bSgxKTtcbiAgICB0aGlzLl9CSUdOVU1fVFdPID0gdGhpcy5iaWdudW0oMik7XG4gICAgdGhpcy5fQklHTlVNX0hBTEYgPSB0aGlzLl9CSUdOVU1fT05FLmRpdih0aGlzLl9CSUdOVU1fVFdPKTtcbiAgICB0aGlzLl9CSUdOVU1fUEkgPSB0aGlzLl9CSUdOVU1fTkVHQVRJVkVfT05FLmFjb3MoKTtcbiAgICBjb25zdCBzeW1ib2xzID0gdGhpcy5fc3RhdHMuc3ltYm9scy52YWx1ZXMoKTtcbiAgICBjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuX3N0YXRzLmV4cHJlc3Npb25zLnZhbHVlcygpO1xuICAgIHRoaXMuX3N0YXRzLnN5bWJvbHMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIHRoaXMuX3N0YXRzLmV4cHJlc3Npb25zID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgICBmb3IgKGNvbnN0IHMgb2Ygc3ltYm9scylcbiAgICAgIHMudW5iaW5kKCk7XG4gICAgZm9yIChjb25zdCBzIG9mIGV4cHJlc3Npb25zKVxuICAgICAgcy51bmJpbmQoKTtcbiAgICBmb3IgKGNvbnN0IGQgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLl9jb21tb25Eb21haW5zKSlcbiAgICAgIGQ/LnVuYmluZCgpO1xuICAgIGZvciAoY29uc3QgZCBvZiBPYmplY3QudmFsdWVzKHRoaXMuX2NvbW1vblN5bWJvbHMpKVxuICAgICAgZD8udW5iaW5kKCk7XG4gICAgbGV0IHNjb3BlID0gdGhpcy5jb250ZXh0O1xuICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgaWYgKHNjb3BlLmlkVGFibGUpXG4gICAgICAgIGZvciAoY29uc3QgW19rLCB2XSBvZiBzY29wZS5pZFRhYmxlKVxuICAgICAgICAgIHYucmVzZXQoKTtcbiAgICAgIHNjb3BlID0gc2NvcGUucGFyZW50U2NvcGUgPz8gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHRoaXMuX2NhY2hlKSlcbiAgICAgIGlmICh0aGlzLl9jYWNoZVtrXS52YWx1ZSkge1xuICAgICAgICBpZiAoIXRoaXMuX2NhY2hlW2tdLnB1cmdlKVxuICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jYWNoZVtrXTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHRoaXMuX2NhY2hlW2tdLnZhbHVlID0gdGhpcy5fY2FjaGVba10ucHVyZ2UodGhpcy5fY2FjaGVba10udmFsdWUpO1xuICAgICAgfVxuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3JlZ2lzdGVyKF9leHByKSB7XG4gICAgdGhpcy5fc3RhdHMuaGlnaHdhdGVyTWFyayArPSAxO1xuICB9XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3VucmVnaXN0ZXIoX2V4cHIpIHtcbiAgfVxuICBnZXQgc3RhdHMoKSB7XG4gICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLl9zdGF0cy5leHByZXNzaW9ucztcbiAgICB0aGlzLl9zdGF0cy5leHByZXNzaW9ucyA9IG51bGw7XG4gICAgdGhpcy5fc3RhdHMuZXhwcmVzc2lvbnMgPSBleHByZXNzaW9ucztcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5fc3RhdHNcbiAgICAgIC8vIF9kdXBlU3ltYm9sczogdG9wRHVwZXMsXG4gICAgICAvLyBfcG9wdWxhckV4cHJlc3Npb25zOiB0b3AxMCxcbiAgICB9O1xuICB9XG4gIC8qKiBUaGUgcHJlY2lzaW9uLCBvciBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzLCBvZiBudW1lcmljXG4gICAqIGNhbGN1bGF0aW9ucyB3aGVuIHRoZSBudW1lcmljIG1vZGUgaXMgYFwiYXV0b1wiYCBvciBgXCJiaWdudW1cImAuXG4gICAqXG4gICAqIFRvIG1ha2UgY2FsY3VsYXRpb25zIHVzaW5nIG1vcmUgZGlnaXRzLCBhdCB0aGUgY29zdCBvZiBleHBhbmRlZCBtZW1vcnlcbiAgICogdXNhZ2UgYW5kIHNsb3dlciBjb21wdXRhdGlvbnMsIHNldCB0aGUgYHByZWNpc2lvbmAgaGlnaGVyLlxuICAgKlxuICAgKiBJZiB0aGUgbnVtZXJpYyBtb2RlIGlzIG5vdCBgXCJhdXRvXCJgIG9yIGBcImJpZ251bVwiYCwgaXQgaXMgc2V0IHRvIGBcImF1dG9cImAuXG4gICAqXG4gICAqIFRyaWdvbm9tZXRyaWMgb3BlcmF0aW9ucyBhcmUgYWNjdXJhdGUgZm9yIHByZWNpc2lvbiB1cCB0byAxLDAwMC5cbiAgICpcbiAgICovXG4gIGdldCBwcmVjaXNpb24oKSB7XG4gICAgaWYgKHRoaXMuX251bWVyaWNNb2RlID09PSBcIm1hY2hpbmVcIiB8fCB0aGlzLl9udW1lcmljTW9kZSA9PT0gXCJjb21wbGV4XCIpXG4gICAgICByZXR1cm4gTWF0aC5mbG9vcihNQUNISU5FX1BSRUNJU0lPTik7XG4gICAgcmV0dXJuIHRoaXMuX3ByZWNpc2lvbjtcbiAgfVxuICBzZXQgcHJlY2lzaW9uKHApIHtcbiAgICBpZiAocCA9PT0gXCJtYWNoaW5lXCIpXG4gICAgICBwID0gTWF0aC5mbG9vcihNQUNISU5FX1BSRUNJU0lPTik7XG4gICAgY29uc3QgY3VycmVudFByZWNpc2lvbiA9IHRoaXMuX3ByZWNpc2lvbjtcbiAgICBpZiAocCA9PT0gY3VycmVudFByZWNpc2lvbilcbiAgICAgIHJldHVybjtcbiAgICBpZiAodHlwZW9mIHAgIT09IFwibnVtYmVyXCIgfHwgcCA8PSAwKVxuICAgICAgdGhyb3cgRXJyb3IoJ0V4cGVjdGVkIFwibWFjaGluZVwiIG9yIGEgcG9zaXRpdmUgbnVtYmVyJyk7XG4gICAgdGhpcy5fbGF0ZXhTeW50YXg/LnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgcHJlY2lzaW9uOiBwLFxuICAgICAgYXZvaWRFeHBvbmVudHNJblJhbmdlOiBbLTYsIHBdXG4gICAgfSk7XG4gICAgdGhpcy5fcHJlY2lzaW9uID0gTWF0aC5tYXgocCwgTWF0aC5mbG9vcihNQUNISU5FX1BSRUNJU0lPTikpO1xuICAgIGlmICh0aGlzLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5wcmVjaXNpb24gPiB0aGlzLl9wcmVjaXNpb24pXG4gICAgICB0aGlzLmpzb25TZXJpYWxpemF0aW9uT3B0aW9ucyA9IHsgcHJlY2lzaW9uOiB0aGlzLl9wcmVjaXNpb24gfTtcbiAgICBpZiAodGhpcy5fbnVtZXJpY01vZGUgIT09IFwiYXV0b1wiICYmIHRoaXMuX251bWVyaWNNb2RlICE9PSBcImJpZ251bVwiICYmIHRoaXMuX3ByZWNpc2lvbiA+IE1hdGguZmxvb3IoTUFDSElORV9QUkVDSVNJT04pKVxuICAgICAgdGhpcy5fbnVtZXJpY01vZGUgPSBcImF1dG9cIjtcbiAgICB0aGlzLl9iaWdudW0gPSB0aGlzLl9iaWdudW0uY29uZmlnKHsgcHJlY2lzaW9uOiB0aGlzLl9wcmVjaXNpb24gfSk7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG4gIGdldCBudW1lcmljTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbnVtZXJpY01vZGU7XG4gIH1cbiAgc2V0IG51bWVyaWNNb2RlKGYpIHtcbiAgICBpZiAoZiA9PT0gdGhpcy5fbnVtZXJpY01vZGUpXG4gICAgICByZXR1cm47XG4gICAgaWYgKHR5cGVvZiBmICE9PSBcInN0cmluZ1wiKVxuICAgICAgdGhyb3cgRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKTtcbiAgICB0aGlzLl9udW1lcmljTW9kZSA9IGY7XG4gICAgaWYgKGYgPT09IFwiY29tcGxleFwiIHx8IGYgPT09IFwibWFjaGluZVwiKVxuICAgICAgdGhpcy5fcHJlY2lzaW9uID0gTWF0aC5mbG9vcihNQUNISU5FX1BSRUNJU0lPTik7XG4gICAgaWYgKHRoaXMuX2xhdGV4U3ludGF4ICYmIHRoaXMubGF0ZXhTeW50YXgub3B0aW9ucy5wcmVjaXNpb24gPiB0aGlzLl9wcmVjaXNpb24pXG4gICAgICB0aGlzLmxhdGV4U3ludGF4LnVwZGF0ZU9wdGlvbnMoeyBwcmVjaXNpb246IHRoaXMuX3ByZWNpc2lvbiB9KTtcbiAgICBpZiAodGhpcy5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMucHJlY2lzaW9uID4gdGhpcy5fcHJlY2lzaW9uKVxuICAgICAgdGhpcy5qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMgPSB7IHByZWNpc2lvbjogdGhpcy5fcHJlY2lzaW9uIH07XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG4gIC8qKiBAZXhwZXJpbWVudGFsICovXG4gIGdldCB0aW1lTGltaXQoKSB7XG4gICAgbGV0IHNjb3BlID0gdGhpcy5jb250ZXh0O1xuICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgaWYgKHNjb3BlLnRpbWVMaW1pdCAhPT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gc2NvcGUudGltZUxpbWl0O1xuICAgICAgc2NvcGUgPSBzY29wZS5wYXJlbnRTY29wZSA/PyBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gMjtcbiAgfVxuICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICBnZXQgaXRlcmF0aW9uTGltaXQoKSB7XG4gICAgbGV0IHNjb3BlID0gdGhpcy5jb250ZXh0O1xuICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgaWYgKHNjb3BlLml0ZXJhdGlvbkxpbWl0ICE9PSB2b2lkIDApXG4gICAgICAgIHJldHVybiBzY29wZS5pdGVyYXRpb25MaW1pdDtcbiAgICAgIHNjb3BlID0gc2NvcGUucGFyZW50U2NvcGUgPz8gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIDEwMjQ7XG4gIH1cbiAgLyoqIEBleHBlcmltZW50YWwgKi9cbiAgZ2V0IHJlY3Vyc2lvbkxpbWl0KCkge1xuICAgIGxldCBzY29wZSA9IHRoaXMuY29udGV4dDtcbiAgICB3aGlsZSAoc2NvcGUpIHtcbiAgICAgIGlmIChzY29wZS5yZWN1cnNpb25MaW1pdCAhPT0gdm9pZCAwKVxuICAgICAgICByZXR1cm4gc2NvcGUucmVjdXJzaW9uTGltaXQ7XG4gICAgICBzY29wZSA9IHNjb3BlLnBhcmVudFNjb3BlID8/IG51bGw7XG4gICAgfVxuICAgIHJldHVybiAxMDI0O1xuICB9XG4gIC8qKlxuICAgKiBJZiBhbiB1bmtub3duIHN5bWJvbCBpcyBlbmNvdW50ZXJlZCwgYXNzdW1lIGl0IHNob3VsZFxuICAgKiBiZSBhIHZhcmlhYmxlIGluIHRoaXMgZG9tYWluLlxuICAgKlxuICAgKiBJZiBzZXQgdG8gYG51bGxgLCB1bmtub3duIHN5bWJvbHMgd2lsbCB0cmlnZ2VyIGFuIGVycm9yLlxuICAgKlxuICAgKiAqKkRlZmF1bHQ6KiogYFwiRXh0ZW5kZWRSZWFsTnVtYmVyXCJgXG4gICAqL1xuICBnZXQgZGVmYXVsdERvbWFpbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdERvbWFpbjtcbiAgfVxuICBzZXQgZGVmYXVsdERvbWFpbihkb21haW4pIHtcbiAgICBpZiAoZG9tYWluID09PSBudWxsKVxuICAgICAgdGhpcy5fZGVmYXVsdERvbWFpbiA9IG51bGw7XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBkZWZhdWx0RG9tYWluID0gdGhpcy5kb21haW4oZG9tYWluKTtcbiAgICAgIGlmICghZGVmYXVsdERvbWFpbi5pc1ZhbGlkKVxuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkb21haW4gJHtkb21haW59YCk7XG4gICAgICB0aGlzLl9kZWZhdWx0RG9tYWluID0gZGVmYXVsdERvbWFpbjtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFZhbHVlcyBzbWFsbGVyIHRoYW4gdGhlIHRvbGVyYW5jZSBhcmUgY29uc2lkZXJlZCB0byBiZSB6ZXJvIGZvciB0aGVcbiAgICogcHVycG9zZSBvZiBjb21wYXJpc29uLCBpLmUuIGlmIGB8YiAtIGF8IDw9IHRvbGVyYW5jZWAsIGBiYCBpcyBjb25zaWRlcmVkXG4gICAqIGVxdWFsIHRvIGBhYC5cbiAgICovXG4gIGdldCB0b2xlcmFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvbGVyYW5jZTtcbiAgfVxuICBzZXQgdG9sZXJhbmNlKHZhbCkge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSBcIm51bWJlclwiICYmIE51bWJlci5pc0Zpbml0ZSh2YWwpKVxuICAgICAgdGhpcy5fdG9sZXJhbmNlID0gTWF0aC5tYXgodmFsLCAwKTtcbiAgICBlbHNlXG4gICAgICB0aGlzLl90b2xlcmFuY2UgPSBOVU1FUklDX1RPTEVSQU5DRTtcbiAgICB0aGlzLl9iaWdudW1Ub2xlcmFuY2UgPSB0aGlzLmJpZ251bSh0aGlzLl90b2xlcmFuY2UpO1xuICB9XG4gIGNob3Aobikge1xuICAgIGlmICh0eXBlb2YgbiA9PT0gXCJudW1iZXJcIiAmJiBNYXRoLmFicyhuKSA8PSB0aGlzLl90b2xlcmFuY2UpXG4gICAgICByZXR1cm4gMDtcbiAgICBpZiAobiBpbnN0YW5jZW9mIERlY2ltYWwgJiYgbi5hYnMoKS5sdGUodGhpcy5fYmlnbnVtVG9sZXJhbmNlKSlcbiAgICAgIHJldHVybiAwO1xuICAgIGlmIChuIGluc3RhbmNlb2YgaW1wb3J0X2NvbXBsZXgyMC5Db21wbGV4ICYmIE1hdGguYWJzKG4ucmUpIDw9IHRoaXMuX3RvbGVyYW5jZSAmJiBNYXRoLmFicyhuLmltKSA8PSB0aGlzLl90b2xlcmFuY2UpXG4gICAgICByZXR1cm4gMDtcbiAgICByZXR1cm4gbjtcbiAgfVxuICBiaWdudW0oYSkge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gXCJiaWdpbnRcIilcbiAgICAgIHJldHVybiBuZXcgdGhpcy5fYmlnbnVtKGEudG9TdHJpbmcoKSk7XG4gICAgcmV0dXJuIG5ldyB0aGlzLl9iaWdudW0oYSk7XG4gIH1cbiAgY29tcGxleChhLCBiKSB7XG4gICAgaWYgKGEgaW5zdGFuY2VvZiBEZWNpbWFsKVxuICAgICAgYSA9IGEudG9OdW1iZXIoKTtcbiAgICBpZiAoYiBpbnN0YW5jZW9mIERlY2ltYWwpXG4gICAgICBiID0gYi50b051bWJlcigpO1xuICAgIHJldHVybiBuZXcgaW1wb3J0X2NvbXBsZXgyMC5Db21wbGV4KGEsIGIpO1xuICB9XG4gIGlzQmlnbnVtKGEpIHtcbiAgICByZXR1cm4gYSBpbnN0YW5jZW9mIERlY2ltYWw7XG4gIH1cbiAgaXNDb21wbGV4KGEpIHtcbiAgICByZXR1cm4gYSBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MjAuQ29tcGxleDtcbiAgfVxuICBnZXQgbGF0ZXhTeW50YXgoKSB7XG4gICAgaWYgKCF0aGlzLl9sYXRleFN5bnRheClcbiAgICAgIHRoaXMuX2xhdGV4U3ludGF4ID0gbmV3IExhdGV4U3ludGF4KHtcbiAgICAgICAgY29tcHV0ZUVuZ2luZTogdGhpcyxcbiAgICAgICAgZGljdGlvbmFyeTogdGhpcy5fbGF0ZXhEaWN0aW9uYXJ5LFxuICAgICAgICBwcmVjaXNpb246IHRoaXMucHJlY2lzaW9uLFxuICAgICAgICBhdm9pZEV4cG9uZW50c0luUmFuZ2U6IFstNiwgdGhpcy5wcmVjaXNpb25dLFxuICAgICAgICBvbkVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KGVyclswXS5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9sYXRleFN5bnRheDtcbiAgfVxuICBzdGF0aWMgZ2V0TGF0ZXhEaWN0aW9uYXJ5KGRvbWFpbiA9IFwiYWxsXCIpIHtcbiAgICByZXR1cm4gTGF0ZXhTeW50YXguZ2V0RGljdGlvbmFyeShkb21haW4pO1xuICB9XG4gIHNldCBjb3N0RnVuY3Rpb24oZm4pIHtcbiAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpXG4gICAgICB0aGlzLl9jb3N0ID0gREVGQVVMVF9DT1NUX0ZVTkNUSU9OO1xuICAgIHRoaXMuX2Nvc3QgPSBmbjtcbiAgfVxuICBnZXQgY29zdEZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb3N0ID8/IERFRkFVTFRfQ09TVF9GVU5DVElPTjtcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIGEgbWF0Y2hpbmcgc3ltYm9sIGRlZmluaXRpb24sIHN0YXJ0aW5nIHdpdGggdGhlIGN1cnJlbnRcbiAgICogc2NvcGUgYW5kIGdvaW5nIHVwIHRoZSBzY29wZSBjaGFpbi4gUHJpb3JpdGl6ZSBmaW5kaW5nIGEgbWF0Y2ggYnlcbiAgICogd2lraWRhdGEsIGlmIHByb3ZpZGVkLlxuICAgKi9cbiAgbG9va3VwU3ltYm9sKHN5bWJvbDIsIHdpa2lkYXRhLCBzY29wZSkge1xuICAgIGlmICghdGhpcy5zdHJpY3QpIHtcbiAgICAgIHNjb3BlID8/IChzY29wZSA9IHRoaXMuY29udGV4dCA/PyB2b2lkIDApO1xuICAgICAgd2hpbGUgKHNjb3BlKSB7XG4gICAgICAgIGNvbnN0IGRlZiA9IHNjb3BlLmlkVGFibGU/LmdldChzeW1ib2wyKTtcbiAgICAgICAgaWYgKGlzU3ltYm9sRGVmaW5pdGlvbihkZWYpKVxuICAgICAgICAgIHJldHVybiBkZWY7XG4gICAgICAgIHNjb3BlID0gc2NvcGUucGFyZW50U2NvcGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN5bWJvbDIgIT09IFwic3RyaW5nXCIpXG4gICAgICB0aHJvdyBFcnJvcihcIkV4cGVjdGVkIGEgc3RyaW5nXCIpO1xuICAgIGlmIChzeW1ib2wyLmxlbmd0aCA9PT0gMCB8fCAhdGhpcy5jb250ZXh0KVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICBjb25zdCByb290U2NvcGUgPSBzY29wZSA/PyB0aGlzLmNvbnRleHQ7XG4gICAgaWYgKHdpa2lkYXRhKSB7XG4gICAgICBzY29wZSA9IHJvb3RTY29wZTtcbiAgICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgICBpZiAoc2NvcGUuaWRUYWJsZSlcbiAgICAgICAgICBmb3IgKGNvbnN0IFtfLCBkXSBvZiBzY29wZS5pZFRhYmxlKSB7XG4gICAgICAgICAgICBpZiAoaXNTeW1ib2xEZWZpbml0aW9uKGQpICYmIGQud2lraWRhdGEgPT09IHdpa2lkYXRhKVxuICAgICAgICAgICAgICByZXR1cm4gZDtcbiAgICAgICAgICB9XG4gICAgICAgIHNjb3BlID0gc2NvcGUucGFyZW50U2NvcGU7XG4gICAgICB9XG4gICAgfVxuICAgIHNjb3BlID0gcm9vdFNjb3BlO1xuICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgY29uc3QgZGVmID0gc2NvcGUuaWRUYWJsZT8uZ2V0KHN5bWJvbDIpO1xuICAgICAgaWYgKGlzU3ltYm9sRGVmaW5pdGlvbihkZWYpKVxuICAgICAgICByZXR1cm4gZGVmO1xuICAgICAgc2NvcGUgPSBzY29wZS5wYXJlbnRTY29wZTtcbiAgICB9XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkZWZpbml0aW9uIGZvciBhIGZ1bmN0aW9uIG1hdGNoaW5nIHRoaXMgaGVhZC5cbiAgICpcbiAgICogU3RhcnQgbG9va2luZyBpbiB0aGUgY3VycmVudCBjb250ZXh0LCB0aGFuIHVwIHRoZSBzY29wZSBjaGFpbi5cbiAgICpcbiAgICogVGhpcyBpcyBhIHZlcnkgcm91Z2ggbG9va3VwLCBzaW5jZSBpdCBkb2Vzbid0IGFjY291bnQgZm9yIHRoZSBkb21haW5cbiAgICogb2YgdGhlIGFyZ3VtZW50IG9yIHRoZSBjb2RvbWFpbi4gSG93ZXZlciwgaXQgaXMgdXNlZnVsIGR1cmluZyBwYXJzaW5nXG4gICAqIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBzeW1ib2xzIHRoYXQgbWlnaHQgcmVwcmVzZW50IGEgZnVuY3Rpb24gYXBwbGljYXRpb24sIGUuZy4gYGZgIHZzIGB4YC5cbiAgICovXG4gIGxvb2t1cEZ1bmN0aW9uKGhlYWQyLCBzY29wZSkge1xuICAgIGlmICh0eXBlb2YgaGVhZDIgIT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGlmICghdGhpcy5jb250ZXh0KVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICBzY29wZSA/PyAoc2NvcGUgPSB0aGlzLmNvbnRleHQpO1xuICAgIHdoaWxlIChzY29wZSkge1xuICAgICAgY29uc3QgZGVmID0gc2NvcGUuaWRUYWJsZT8uZ2V0KGhlYWQyKTtcbiAgICAgIGlmIChpc0Z1bmN0aW9uRGVmaW5pdGlvbihkZWYpKVxuICAgICAgICByZXR1cm4gZGVmO1xuICAgICAgc2NvcGUgPSBzY29wZS5wYXJlbnRTY29wZTtcbiAgICB9XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICAvKipcbiAgICogQWRkIChvciByZXBsYWNlKSBhIGRlZmluaXRpb24gZm9yIGEgc3ltYm9sIGluIHRoZSBjdXJyZW50IHNjb3BlLlxuICAgKi9cbiAgZGVmaW5lU3ltYm9sKG5hbWUsIGRlZikge1xuICAgIGlmICghdGhpcy5jb250ZXh0KVxuICAgICAgdGhyb3cgRXJyb3IoXCJTeW1ib2wgY2Fubm90IGJlIGRlZmluZWQ6IG5vIHNjb3BlIGF2YWlsYWJsZVwiKTtcbiAgICBpZiAobmFtZS5sZW5ndGggPT09IDAgfHwgIWlzVmFsaWRJZGVudGlmaWVyKG5hbWUpKVxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWRlbnRpZmllciBcIiR7bmFtZX1cIjogJHt2YWxpZGF0ZUlkZW50aWZpZXIobmFtZSl9fWApO1xuICAgIGlmICghdGhpcy5jb250ZXh0LmlkVGFibGUpXG4gICAgICB0aGlzLmNvbnRleHQuaWRUYWJsZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgY29uc3QgYm94ZWREZWYgPSBuZXcgQm94ZWRTeW1ib2xEZWZpbml0aW9uSW1wbCh0aGlzLCBuYW1lLCBkZWYpO1xuICAgIGlmIChib3hlZERlZi5uYW1lKVxuICAgICAgdGhpcy5jb250ZXh0LmlkVGFibGUuc2V0KGJveGVkRGVmLm5hbWUsIGJveGVkRGVmKTtcbiAgICByZXR1cm4gYm94ZWREZWY7XG4gIH1cbiAgZGVmaW5lRnVuY3Rpb24obmFtZSwgZGVmKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRleHQpXG4gICAgICB0aHJvdyBFcnJvcihcIkZ1bmN0aW9uIGNhbm5vdCBiZSBkZWZpbmVkOiBubyBzY29wZSBhdmFpbGFibGVcIik7XG4gICAgaWYgKG5hbWUubGVuZ3RoID09PSAwIHx8ICFpc1ZhbGlkSWRlbnRpZmllcihuYW1lKSlcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGlkZW50aWZpZXIgXCIke25hbWV9XCI6ICR7dmFsaWRhdGVJZGVudGlmaWVyKG5hbWUpfX1gKTtcbiAgICBpZiAoIXRoaXMuY29udGV4dC5pZFRhYmxlKVxuICAgICAgdGhpcy5jb250ZXh0LmlkVGFibGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGJveGVkRGVmID0gbWFrZUZ1bmN0aW9uRGVmaW5pdGlvbih0aGlzLCBuYW1lLCBkZWYpO1xuICAgIGlmIChib3hlZERlZi5uYW1lKVxuICAgICAgdGhpcy5jb250ZXh0LmlkVGFibGUuc2V0KG5hbWUsIGJveGVkRGVmKTtcbiAgICByZXR1cm4gYm94ZWREZWY7XG4gIH1cbiAgLyoqXG4gICAqXG4gICAqIENyZWF0ZSBhIG5ldyBzY29wZSBhbmQgYWRkIGl0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIHN0YWNrXG4gICAqXG4gICAqIFRoZSBgb3B0aW9ucy5zY29wZWAgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBjdXN0b20gcHJlY2lzaW9uLFxuICAgKiBldGMuLi4gZm9yIHRoaXMgc2NvcGVcbiAgICpcbiAgICovXG4gIHB1c2hTY29wZShpZHMsIHNjb3BlKSB7XG4gICAgaWYgKHRoaXMuY29udGV4dCA9PT0gbnVsbClcbiAgICAgIHRocm93IEVycm9yKFwiTm8gcGFyZW50IHNjb3BlIGF2YWlsYWJsZVwiKTtcbiAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICB0aW1lTGltaXQ6IHRoaXMuY29udGV4dC50aW1lTGltaXQsXG4gICAgICBtZW1vcnlMaW1pdDogdGhpcy5jb250ZXh0Lm1lbW9yeUxpbWl0LFxuICAgICAgcmVjdXJzaW9uTGltaXQ6IHRoaXMuY29udGV4dC5yZWN1cnNpb25MaW1pdCxcbiAgICAgIGl0ZXJhdGlvbkxpbWl0OiB0aGlzLmNvbnRleHQuaXRlcmF0aW9uTGltaXQsXG4gICAgICAuLi5zY29wZSA/PyB7fSxcbiAgICAgIHBhcmVudFNjb3BlOiB0aGlzLmNvbnRleHQsXG4gICAgICAvLyBXZSBhbHdheXMgY29weSB0aGUgY3VycmVudCBhc3N1bXB0aW9ucyBpbiB0aGUgbmV3IHNjb3BlLlxuICAgICAgLy8gVGhpcyBtYWtlIGlzIG11Y2ggZWFzaWVyIHRvIGRlYWwgd2l0aCAnaW5oZXJpdGVkJyBhc3N1bXB0aW9uc1xuICAgICAgLy8gKGFuZCBwb3RlbnRpYWxseSBtb2RpZnlpbmcgdGhlbSBsYXRlcikgd2l0aG91dCBoYXZpbmcgdG8gd2FsayBiYWNrXG4gICAgICAvLyBpbnRvIHBhcmVudCBjb250ZXh0cy4gSW4gb3RoZXIgd29yZHMsIGNhbGxpbmcgYGNlLmZvcmdldCgpYCB3aWxsXG4gICAgICAvLyBmb3JnZXQgZXZlcnl0aGluZyAqKmluIHRoZSBjdXJyZW50IHNjb3BlKiouIFdoZW4gZXhpdGluZyB0aGUgc2NvcGUsXG4gICAgICAvLyB0aGUgcHJldmlvdXMgYXNzdW1wdGlvbnMgYXJlIHJlc3RvcmVkLlxuICAgICAgYXNzdW1wdGlvbnM6IG5ldyBFeHByZXNzaW9uTWFwKHRoaXMuY29udGV4dC5hc3N1bXB0aW9ucylcbiAgICB9O1xuICAgIGlmIChpZHMpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGlkcykpXG4gICAgICAgIGZvciAoY29uc3QgdGFibGUgb2YgaWRzKVxuICAgICAgICAgIHNldEN1cnJlbnRDb250ZXh0U3ltYm9sVGFibGUodGhpcywgdGFibGUpO1xuICAgICAgZWxzZVxuICAgICAgICBzZXRDdXJyZW50Q29udGV4dFN5bWJvbFRhYmxlKHRoaXMsIGlkcyk7XG4gICAgfVxuICB9XG4gIC8qKiBSZW1vdmUgdGhlIHRvcG1vc3Qgc2NvcGUgZnJvbSB0aGUgc2NvcGUgc3RhY2suXG4gICAqL1xuICBwb3BTY29wZSgpIHtcbiAgICBpZiAoIXRoaXMuY29udGV4dClcbiAgICAgIHRocm93IEVycm9yKFwiTm8gc2NvcGUgYXZhaWxhYmxlXCIpO1xuICAgIGNvbnN0IHBhcmVudFNjb3BlID0gdGhpcy5jb250ZXh0Py5wYXJlbnRTY29wZTtcbiAgICB0aGlzLmNvbnRleHQgPSBwYXJlbnRTY29wZSA/PyBudWxsO1xuICAgIC8qIEBfX1BVUkVfXyAqLyBjb25zb2xlLmFzc2VydCh0aGlzLmNvbnRleHQgIT09IG51bGwpO1xuICB9XG4gIHNldChpZGVudGlmaWVycykge1xuICAgIGlmICghdGhpcy5zdHJpY3QpIHtcbiAgICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyhpZGVudGlmaWVycykpIHtcbiAgICAgICAgaWYgKGsgIT09IFwiTm90aGluZ1wiKSB7XG4gICAgICAgICAgY29uc3QgZGVmID0gdGhpcy5sb29rdXBTeW1ib2woayk7XG4gICAgICAgICAgY29uc3QgaWRrID0gaWRlbnRpZmllcnNba107XG4gICAgICAgICAgaWYgKGRlZilcbiAgICAgICAgICAgIGRlZi52YWx1ZSA9IGlkayA/PyB2b2lkIDA7XG4gICAgICAgICAgZWxzZSBpZiAoaWRrICE9PSB2b2lkIDAgJiYgaWRrICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmJveChpZGspO1xuICAgICAgICAgICAgaWYgKHZhbC5kb21haW4uaXNOdW1lcmljKVxuICAgICAgICAgICAgICB0aGlzLmRlZmluZVN5bWJvbChrLCB7IHZhbHVlOiB2YWwsIGRvbWFpbjogXCJOdW1iZXJcIiB9KTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgdGhpcy5kZWZpbmVTeW1ib2woaywgeyB2YWx1ZTogdmFsIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXMoaWRlbnRpZmllcnMpKSB7XG4gICAgICBpZiAoayAhPT0gXCJOb3RoaW5nXCIpIHtcbiAgICAgICAgY29uc3QgZGVmID0gdGhpcy5sb29rdXBTeW1ib2woayk7XG4gICAgICAgIGNvbnN0IGlkayA9IGlkZW50aWZpZXJzW2tdO1xuICAgICAgICBpZiAoaWRrID09PSB2b2lkIDAgfHwgaWRrID09PSBudWxsKSB7XG4gICAgICAgICAgaWYgKGRlZilcbiAgICAgICAgICAgIGRlZi52YWx1ZSA9IHZvaWQgMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmJveChpZGspO1xuICAgICAgICAgIGlmIChkZWYpIHtcbiAgICAgICAgICAgIGlmIChkZWYuZG9tYWluICYmICF2YWwuZG9tYWluLmlzQ29tcGF0aWJsZShkZWYuZG9tYWluKSlcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgICAgYEV4cGVjdGVkIHZhbHVlIHdpdGggZG9tYWluICR7ZGVmLmRvbWFpbi50b1N0cmluZygpfSBmb3IgXCIke2t9XCJgXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkZWYudmFsdWUgPSB2YWw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh2YWwuZG9tYWluLmlzTnVtZXJpYylcbiAgICAgICAgICAgICAgdGhpcy5kZWZpbmVTeW1ib2woaywgeyB2YWx1ZTogdmFsLCBkb21haW46IFwiTnVtYmVyXCIgfSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgIHRoaXMuZGVmaW5lU3ltYm9sKGssIHsgdmFsdWU6IHZhbCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGV0KGlkZW50aWZpZXJzKSB7XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKGlkZW50aWZpZXJzKSkge1xuICAgICAgaWYgKGsgIT09IFwiTm90aGluZ1wiKSB7XG4gICAgICAgIGNvbnN0IGRlZiA9IGlkZW50aWZpZXJzW2tdO1xuICAgICAgICBpZiAoaXNTeW1ib2xEZWZpbml0aW9uKGRlZikpXG4gICAgICAgICAgdGhpcy5kZWZpbmVTeW1ib2woaywgZGVmKTtcbiAgICAgICAgZWxzZSBpZiAoaXNGdW5jdGlvbkRlZmluaXRpb24oZGVmKSlcbiAgICAgICAgICB0aGlzLmRlZmluZUZ1bmN0aW9uKGssIGRlZik7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLnNldCh7IFtrXTogaWRlbnRpZmllcnNba10gfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldCBhc3N1bXB0aW9ucygpIHtcbiAgICBpZiAoIXRoaXMuY29udGV4dClcbiAgICAgIHRocm93IEVycm9yKFwiTm8gc2NvcGUgYXZhaWxhYmxlXCIpO1xuICAgIGlmICh0aGlzLmNvbnRleHQuYXNzdW1wdGlvbnMpXG4gICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmFzc3VtcHRpb25zO1xuICAgIHRoaXMuY29udGV4dC5hc3N1bXB0aW9ucyA9IG5ldyBFeHByZXNzaW9uTWFwKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5hc3N1bXB0aW9ucztcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIGZhbHNlIGlmIHRoZSBleGVjdXRpb24gc2hvdWxkIHN0b3AuXG4gICAqXG4gICAqIFRoaXMgY2FuIG9jY3VyIGlmOlxuICAgKiAtIGFuIGVycm9yIGhhcyBiZWVuIHNpZ25hbGVkXG4gICAqIC0gdGhlIHRpbWUgbGltaXQgb3IgbWVtb3J5IGxpbWl0IGhhcyBiZWVuIGV4Y2VlZGVkXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2hvdWxkQ29udGludWVFeGVjdXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVhZGxpbmUgPT09IHZvaWQgMCB8fCB0aGlzLmRlYWRsaW5lID49IERhdGUubm93KCk7XG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBjaGVja0NvbnRpbnVlRXhlY3V0aW9uKCkge1xuICAgIGlmICghdGhpcy5zaG91bGRDb250aW51ZUV4ZWN1dGlvbigpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0aW1lb3V0XCIpO1xuICAgIH1cbiAgfVxuICAvLyBhc3NlcnQoXG4gIC8vICAgY29uZGl0aW9uOiBib29sZWFuLFxuICAvLyAgIGV4cHI6IEJveGVkRXhwcmVzc2lvbixcbiAgLy8gICBtc2c6IHN0cmluZyxcbiAgLy8gICBjb2RlPzogU2lnbmFsTWVzc2FnZVxuICAvLyApIHtcbiAgLy8gICBpZiAoIWNvbmRpdGlvbikgdGhpcy5zaWduYWwoZXhwciwgbXNnLCBjb2RlKTtcbiAgLy8gfVxuICAvKiogQGludGVybmFsICovXG4gIGNhY2hlKGNhY2hlTmFtZSwgYnVpbGQsIHB1cmdlKSB7XG4gICAgaWYgKHRoaXMuX2NhY2hlW2NhY2hlTmFtZV0gPT09IHZvaWQgMCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5fY2FjaGVbY2FjaGVOYW1lXSA9IHsgYnVpbGQsIHB1cmdlLCB2YWx1ZTogYnVpbGQoKSB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIGBGYXRhbCBlcnJvciBidWlsZGluZyBjYWNoZSBcIiR7Y2FjaGVOYW1lfVwiOlxuXHQgJHtlLnRvU3RyaW5nKCl9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2FjaGVbY2FjaGVOYW1lXT8udmFsdWU7XG4gIH1cbiAgYm94KGV4cHIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gYm94KHRoaXMsIGV4cHIsIG9wdGlvbnMpO1xuICB9XG4gIGNhbm9uaWNhbCh4cykge1xuICAgIGlmICgheHMuZXZlcnkoKHgpID0+IHggaW5zdGFuY2VvZiBBYnN0cmFjdEJveGVkRXhwcmVzc2lvbikpXG4gICAgICByZXR1cm4geHMubWFwKCh4KSA9PiB0aGlzLmJveCh4KSk7XG4gICAgY29uc3QgYnhzID0geHM7XG4gICAgcmV0dXJuIGJ4cy5ldmVyeSgoeCkgPT4geC5pc0Nhbm9uaWNhbCkgPyBieHMgOiBieHMubWFwKCh4KSA9PiB4LmNhbm9uaWNhbCk7XG4gIH1cbiAgZm4oaGVhZDIsIG9wczIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gYm94RnVuY3Rpb24odGhpcywgaGVhZDIsIG9wczIsIG9wdGlvbnMgPz8geyBjYW5vbmljYWw6IHRydWUgfSk7XG4gIH1cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfZm4oaGVhZDIsIG9wczIsIG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKHRoaXMsIGhlYWQyLCBvcHMyLCB7XG4gICAgICBtZXRhZGF0YSxcbiAgICAgIGNhbm9uaWNhbDogdHJ1ZSxcbiAgICAgIGRlZjogdGhpcy5sb29rdXBGdW5jdGlvbihoZWFkMiwgdGhpcy5jb250ZXh0KVxuICAgIH0pO1xuICB9XG4gIGVycm9yKG1lc3NhZ2UsIHdoZXJlKSB7XG4gICAgaWYgKHdoZXJlIGluc3RhbmNlb2YgQWJzdHJhY3RCb3hlZEV4cHJlc3Npb24pIHtcbiAgICAgIHdoZXJlID0gdGhpcy5yYXdKc29uKHdoZXJlKTtcbiAgICB9IGVsc2UgaWYgKHdoZXJlICYmIEFycmF5LmlzQXJyYXkod2hlcmUpICYmIHdoZXJlWzBdID09PSBcIkxhdGV4XCIpIHtcbiAgICAgIGlmICh3aGVyZVsxXSA9PT0gdm9pZCAwIHx8ICF3aGVyZVsxXSlcbiAgICAgICAgd2hlcmUgPSBcIlwiO1xuICAgICAgaWYgKHR5cGVvZiB3aGVyZVsxXSA9PT0gXCJvYmplY3RcIiAmJiBcInN0clwiIGluIHdoZXJlWzFdICYmICF3aGVyZVsxXS5zdHIpXG4gICAgICAgIHdoZXJlID0gXCJcIjtcbiAgICB9XG4gICAgbGV0IG1zZyA9IHZvaWQgMDtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSAmJiBtZXNzYWdlWzBdID09PSBcImluY29tcGF0aWJsZS1kb21haW5cIikge1xuICAgICAgbXNnID0gbmV3IEJveGVkRnVuY3Rpb24odGhpcywgXCJFcnJvckNvZGVcIiwgW1xuICAgICAgICB0aGlzLnN0cmluZyhcImluY29tcGF0aWJsZS1kb21haW5cIiksXG4gICAgICAgIGJveERvbWFpbih0aGlzLCBtZXNzYWdlWzFdKSxcbiAgICAgICAgYm94RG9tYWluKHRoaXMsIG1lc3NhZ2VbMl0pXG4gICAgICBdKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiKVxuICAgICAgbXNnID0gdGhpcy5zdHJpbmcobWVzc2FnZSk7XG4gICAgaWYgKCFtc2cgJiYgdHlwZW9mIG1lc3NhZ2UgIT09IFwic3RyaW5nXCIpXG4gICAgICBtc2cgPSBuZXcgQm94ZWRGdW5jdGlvbih0aGlzLCBcIkVycm9yQ29kZVwiLCBbXG4gICAgICAgIHRoaXMuc3RyaW5nKG1lc3NhZ2VbMF0pLFxuICAgICAgICAuLi5tZXNzYWdlLnNsaWNlKDEpLm1hcCgoeCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgeCA9PT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAvKiBAX19QVVJFX18gKi8gY29uc29sZS5hc3NlcnQodHlwZW9mIHggIT09IFwic3RyaW5nXCIpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmJveCh4LCB7IGNhbm9uaWNhbDogZmFsc2UgfSk7XG4gICAgICAgIH0pXG4gICAgICBdKTtcbiAgICBpZiAoIXdoZXJlKVxuICAgICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKHRoaXMsIFwiRXJyb3JcIiwgW21zZ10sIHsgY2Fub25pY2FsOiBmYWxzZSB9KTtcbiAgICByZXR1cm4gbmV3IEJveGVkRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgXCJFcnJvclwiLFxuICAgICAgW21zZywgdGhpcy5ib3god2hlcmUsIHsgY2Fub25pY2FsOiBmYWxzZSB9KV0sXG4gICAgICB7IGNhbm9uaWNhbDogZmFsc2UgfVxuICAgICk7XG4gIH1cbiAgaG9sZChleHByKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZuKFwiSG9sZFwiLCBbdGhpcy5ib3goZXhwciwgeyBjYW5vbmljYWw6IGZhbHNlIH0pXSk7XG4gIH1cbiAgYWRkKG9wczIsIG1ldGFkYXRhKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY2Fub25pY2FsQWRkKHRoaXMsIGZsYXR0ZW5PcHMoZmxhdHRlblNlcXVlbmNlKG9wczIpLCBcIkFkZFwiKSk7XG4gICAgaWYgKG1ldGFkYXRhPy5sYXRleCAhPT0gdm9pZCAwKVxuICAgICAgcmVzdWx0LmxhdGV4ID0gbWV0YWRhdGEubGF0ZXg7XG4gICAgaWYgKG1ldGFkYXRhPy53aWtpZGF0YSAhPT0gdm9pZCAwKVxuICAgICAgcmVzdWx0Lndpa2lkYXRhID0gbWV0YWRhdGEud2lraWRhdGE7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBuZWcoZXhwciwgbWV0YWRhdGEpIHtcbiAgICByZXR1cm4gY2Fub25pY2FsTmVnYXRlKGV4cHIsIG1ldGFkYXRhKTtcbiAgfVxuICBtdWwob3BzMiwgbWV0YWRhdGEpIHtcbiAgICBjb25zdCByZXN1bHQgPSBjYW5vbmljYWxNdWx0aXBseShcbiAgICAgIHRoaXMsXG4gICAgICBmbGF0dGVuT3BzKGZsYXR0ZW5TZXF1ZW5jZShvcHMyKSwgXCIgTXVsdGlwbHlcIilcbiAgICApO1xuICAgIGlmIChtZXRhZGF0YT8ubGF0ZXggIT09IHZvaWQgMClcbiAgICAgIHJlc3VsdC5sYXRleCA9IG1ldGFkYXRhLmxhdGV4O1xuICAgIGlmIChtZXRhZGF0YT8ud2lraWRhdGEgIT09IHZvaWQgMClcbiAgICAgIHJlc3VsdC53aWtpZGF0YSA9IG1ldGFkYXRhLndpa2lkYXRhO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZGl2KG51bSwgZGVub20sIG1ldGFkYXRhKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY2Fub25pY2FsRGl2aWRlKHRoaXMsIG51bSwgZGVub20pO1xuICAgIGlmIChtZXRhZGF0YT8ubGF0ZXggIT09IHZvaWQgMClcbiAgICAgIHJlc3VsdC5sYXRleCA9IG1ldGFkYXRhLmxhdGV4O1xuICAgIGlmIChtZXRhZGF0YT8ud2lraWRhdGEgIT09IHZvaWQgMClcbiAgICAgIHJlc3VsdC53aWtpZGF0YSA9IG1ldGFkYXRhLndpa2lkYXRhO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgc3FydChiYXNlLCBtZXRhZGF0YSkge1xuICAgIHJldHVybiBjYW5vbmljYWxQb3dlcih0aGlzLCBiYXNlLCB0aGlzLl9IQUxGLCBtZXRhZGF0YSk7XG4gIH1cbiAgcG93KGJhc2UsIGV4cG9uZW50LCBtZXRhZGF0YSkge1xuICAgIGlmIChiYXNlLnN5bWJvbCA9PT0gXCJFeHBvbmVudGlhbEVcIiAmJiBleHBvbmVudCBpbnN0YW5jZW9mIGltcG9ydF9jb21wbGV4MjAuQ29tcGxleCAmJiBleHBvbmVudC5yZSA9PT0gMCkge1xuICAgICAgY29uc3QgaW0gPSBleHBvbmVudC5pbTtcbiAgICAgIHJldHVybiB0aGlzLm51bWJlcih0aGlzLmNvbXBsZXgoTWF0aC5jb3MoaW0pLCBNYXRoLnNpbihpbSkpKTtcbiAgICB9XG4gICAgaWYgKGV4cG9uZW50IGluc3RhbmNlb2YgQWJzdHJhY3RCb3hlZEV4cHJlc3Npb24pIHtcbiAgICAgIGNvbnN0IG51bSA9IGV4cG9uZW50Lm51bWVyaWNWYWx1ZTtcbiAgICAgIGlmIChudW0gIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIpXG4gICAgICAgICAgZXhwb25lbnQgPSBudW07XG4gICAgICAgIGlmIChpc1JhdGlvbmFsKG51bSkpXG4gICAgICAgICAgZXhwb25lbnQgPSBudW07XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBlID0gbnVsbDtcbiAgICBpZiAodHlwZW9mIGV4cG9uZW50ID09PSBcIm51bWJlclwiKVxuICAgICAgZSA9IGV4cG9uZW50O1xuICAgIGVsc2UgaWYgKGlzUmF0aW9uYWwoZXhwb25lbnQpKSB7XG4gICAgICBpZiAoaXNNYWNoaW5lUmF0aW9uYWwoZXhwb25lbnQpICYmIGV4cG9uZW50WzFdID09PSAxKVxuICAgICAgICBlID0gZXhwb25lbnRbMF07XG4gICAgICBlbHNlIGlmIChpc0JpZ1JhdGlvbmFsKGV4cG9uZW50KSAmJiBleHBvbmVudFsxXSA9PT0gQmlnSW50KDEpKVxuICAgICAgICBlID0gTnVtYmVyKGV4cG9uZW50WzBdKTtcbiAgICB9XG4gICAgaWYgKGUgPT09IDEpXG4gICAgICByZXR1cm4gYmFzZTtcbiAgICBjb25zdCByID0gYmFzZS5udW1lcmljVmFsdWU7XG4gICAgaWYgKGUgPT09IC0xICYmIHIgIT09IG51bGwpIHtcbiAgICAgIGlmICh0eXBlb2YgciA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNJbnRlZ2VyKHIpKVxuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXIoWzEsIHJdKTtcbiAgICAgIGVsc2UgaWYgKHIgaW5zdGFuY2VvZiBEZWNpbWFsICYmIHIuaXNJbnRlZ2VyKCkpXG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlcihbQmlnSW50KDEpLCBiaWdpbnQocildKTtcbiAgICAgIGVsc2UgaWYgKGlzUmF0aW9uYWwocikpXG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlcihbclsxXSwgclswXV0pO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGV4cG9uZW50ID09PSBcIm51bWJlclwiIHx8IGlzUmF0aW9uYWwoZXhwb25lbnQpKVxuICAgICAgZXhwb25lbnQgPSB0aGlzLm51bWJlcihleHBvbmVudCk7XG4gICAgcmV0dXJuIGNhbm9uaWNhbFBvd2VyKHRoaXMsIGJhc2UsIGV4cG9uZW50LCBtZXRhZGF0YSk7XG4gIH1cbiAgaW52KGV4cHIsIG1ldGFkYXRhKSB7XG4gICAgaWYgKGV4cHIuaXNPbmUpXG4gICAgICByZXR1cm4gdGhpcy5fT05FO1xuICAgIGlmIChleHByLmlzTmVnYXRpdmVPbmUpXG4gICAgICByZXR1cm4gdGhpcy5fTkVHQVRJVkVfT05FO1xuICAgIGlmIChleHByLmlzSW5maW5pdHkpXG4gICAgICByZXR1cm4gdGhpcy5fWkVSTztcbiAgICBjb25zdCBuID0gZXhwci5udW1lcmljVmFsdWU7XG4gICAgaWYgKG4gIT09IG51bGwpIHtcbiAgICAgIGlmIChpc1JhdGlvbmFsKG4pKVxuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXIoaW52ZXJzZShuKSwgeyBtZXRhZGF0YSB9KTtcbiAgICAgIGlmICh0eXBlb2YgbiA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNJbnRlZ2VyKG4pKVxuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXIoWzEsIG5dLCB7IG1ldGFkYXRhIH0pO1xuICAgICAgaWYgKG4gaW5zdGFuY2VvZiBEZWNpbWFsICYmIG4uaXNJbnRlZ2VyKCkpXG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlcihbQmlnSW50KDEpLCBiaWdpbnQobildLCB7IG1ldGFkYXRhIH0pO1xuICAgICAgcmV0dXJuIHRoaXMuX2ZuKFwiRGl2aWRlXCIsIFt0aGlzLl9PTkUsIGV4cHJdLCBtZXRhZGF0YSk7XG4gICAgfVxuICAgIGlmIChleHByLmhlYWQgPT09IFwiU3FydFwiKVxuICAgICAgcmV0dXJuIHRoaXMuX2ZuKFwiU3FydFwiLCBbdGhpcy5pbnYoZXhwci5vcDEpXSwgbWV0YWRhdGEpO1xuICAgIGlmIChleHByLmhlYWQgPT09IFwiRGl2aWRlXCIpXG4gICAgICByZXR1cm4gdGhpcy5fZm4oXCJEaXZpZGVcIiwgW2V4cHJbMV0sIGV4cHJbMF1dLCBtZXRhZGF0YSk7XG4gICAgbGV0IGUgPSB0aGlzLl9ORUdBVElWRV9PTkU7XG4gICAgaWYgKGV4cHIuaGVhZCA9PT0gXCJQb3dlclwiKSB7XG4gICAgICBpZiAoZXhwci5vcDIuaXNOZWdhdGl2ZU9uZSlcbiAgICAgICAgcmV0dXJuIGV4cHIub3AxO1xuICAgICAgZSA9IGNhbm9uaWNhbE5lZ2F0ZShleHByLm9wMik7XG4gICAgICBleHByID0gZXhwci5vcDE7XG4gICAgfVxuICAgIGlmIChlLmlzTmVnYXRpdmVPbmUpXG4gICAgICByZXR1cm4gdGhpcy5fZm4oXCJEaXZpZGVcIiwgW3RoaXMuX09ORSwgZXhwcl0sIG1ldGFkYXRhKTtcbiAgICByZXR1cm4gdGhpcy5fZm4oXCJQb3dlclwiLCBbZXhwciwgZV0sIG1ldGFkYXRhKTtcbiAgfVxuICBwYWlyKGZpcnN0LCBzZWNvbmQsIG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBCb3hlZEZ1bmN0aW9uKHRoaXMsIFwiVHVwbGVcIiwgW2ZpcnN0LCBzZWNvbmRdLCB7XG4gICAgICBtZXRhZGF0YSxcbiAgICAgIGNhbm9uaWNhbDogdHJ1ZVxuICAgIH0pO1xuICB9XG4gIHR1cGxlKGVsZW1lbnRzLCBtZXRhZGF0YSkge1xuICAgIHJldHVybiBuZXcgQm94ZWRGdW5jdGlvbih0aGlzLCBcIlR1cGxlXCIsIGNhbm9uaWNhbChlbGVtZW50cyksIHtcbiAgICAgIG1ldGFkYXRhLFxuICAgICAgY2Fub25pY2FsOiB0cnVlXG4gICAgfSk7XG4gIH1cbiAgc3RyaW5nKHMsIG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBCb3hlZFN0cmluZyh0aGlzLCBzLCBtZXRhZGF0YSk7XG4gIH1cbiAgc3ltYm9sKG5hbWUsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyA/IHsgLi4ub3B0aW9ucyB9IDoge307XG4gICAgaWYgKCEoXCJjYW5vbmljYWxcIiBpbiBvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMuY2Fub25pY2FsID0gdHJ1ZTtcbiAgICBuYW1lID0gbmFtZS5ub3JtYWxpemUoKTtcbiAgICBpZiAobmFtZSA9PT0gXCJOYU5cIilcbiAgICAgIHJldHVybiB0aGlzLl9OQU47XG4gICAgaWYgKG5hbWUgPT09IFwiSW5maW5pdHlcIilcbiAgICAgIHJldHVybiB0aGlzLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICBpZiAobmFtZSA9PT0gXCIrSW5maW5pdHlcIilcbiAgICAgIHJldHVybiB0aGlzLl9QT1NJVElWRV9JTkZJTklUWTtcbiAgICBpZiAobmFtZSA9PT0gXCItSW5maW5pdHlcIilcbiAgICAgIHJldHVybiB0aGlzLl9ORUdBVElWRV9JTkZJTklUWTtcbiAgICBpZiAobmFtZSA9PT0gXCJIYWxmXCIpXG4gICAgICByZXR1cm4gdGhpcy5fSEFMRjtcbiAgICBpZiAodGhpcy5zdHJpY3QgJiYgIWlzVmFsaWRJZGVudGlmaWVyKG5hbWUpKSB7XG4gICAgICBjb25zdCB3aGVyZSA9IG9wdGlvbnM/Lm1ldGFkYXRhPy5sYXRleDtcbiAgICAgIGNvbnN0IG5hbWVTdHIgPSBgJyR7bmFtZX0nYDtcbiAgICAgIHJldHVybiB0aGlzLmVycm9yKFxuICAgICAgICBbXCJpbnZhbGlkLWlkZW50aWZpZXJcIiwgeyBzdHI6IHZhbGlkYXRlSWRlbnRpZmllcihuYW1lKSB9XSxcbiAgICAgICAgd2hlcmUgPyBbXCJMYXRleFwiLCBgJyR7d2hlcmV9J2BdIDogbmFtZVN0clxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/Lm1ldGFkYXRhPy5sYXRleCAhPT0gdm9pZCAwICYmICFvcHRpb25zLmNhbm9uaWNhbClcbiAgICAgIHJldHVybiBuZXcgQm94ZWRTeW1ib2wodGhpcywgbmFtZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY29tbW9uU3ltYm9sc1tuYW1lXTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBpZiAoIW9wdGlvbnM/Lm1ldGFkYXRhPy53aWtpZGF0YSB8fCAhcmVzdWx0Lndpa2lkYXRhIHx8IHJlc3VsdC53aWtpZGF0YSA9PT0gb3B0aW9ucy5tZXRhZGF0YS53aWtpZGF0YSlcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIGlmIChvcHRpb25zLmNhbm9uaWNhbClcbiAgICAgICAgcmV0dXJuIG1ha2VDYW5vbmljYWxTeW1ib2wodGhpcywgbmFtZSk7XG4gICAgICByZXR1cm4gbmV3IEJveGVkU3ltYm9sKHRoaXMsIG5hbWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5jYW5vbmljYWwpXG4gICAgICByZXR1cm4gbWFrZUNhbm9uaWNhbFN5bWJvbCh0aGlzLCBuYW1lKTtcbiAgICByZXR1cm4gbmV3IEJveGVkU3ltYm9sKHRoaXMsIG5hbWUsIG9wdGlvbnMpO1xuICB9XG4gIGRvbWFpbihkb21haW4sIG1ldGFkYXRhKSB7XG4gICAgaWYgKGRvbWFpbiBpbnN0YW5jZW9mIF9Cb3hlZERvbWFpbilcbiAgICAgIHJldHVybiBkb21haW47XG4gICAgaWYgKGRvbWFpbiBpbnN0YW5jZW9mIEFic3RyYWN0Qm94ZWRFeHByZXNzaW9uICYmIGRvbWFpbi5zeW1ib2wpXG4gICAgICBkb21haW4gPSBkb21haW4uc3ltYm9sO1xuICAgIGlmICh0eXBlb2YgZG9tYWluID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBleHByID0gdGhpcy5fY29tbW9uRG9tYWluc1tkb21haW5dO1xuICAgICAgaWYgKGV4cHIpXG4gICAgICAgIHJldHVybiBleHByO1xuICAgIH1cbiAgICByZXR1cm4gYm94RG9tYWluKHRoaXMsIGRvbWFpbiwgbWV0YWRhdGEpO1xuICB9XG4gIC8qXG4gICAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gYXZvaWQgY3JlYXRpbmcgYSBib3hlZCBudW1iZXIgaWYgYG51bWAgY29ycmVzcG9uZHNcbiAgICogdG8gYSBjb21tb24gdmFsdWUgZm9yIHdoaWNoIHdlIGhhdmUgYSBzaGFyZWQgaW5zdGFuY2UgKC0xLCAwLCBOYU4sIGV0Yy4uLilcbiAgICovXG4gIG51bWJlcih2YWx1ZSwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zID8geyAuLi5vcHRpb25zIH0gOiB7fTtcbiAgICBpZiAoIShcImNhbm9uaWNhbFwiIGluIG9wdGlvbnMpKVxuICAgICAgb3B0aW9ucy5jYW5vbmljYWwgPSB0cnVlO1xuICAgIGlmIChvcHRpb25zLm1ldGFkYXRhID09PSB2b2lkIDApIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBCaWdJbnQoMSkpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX09ORTtcbiAgICAgICAgaWYgKHZhbHVlID09PSBCaWdJbnQoMCkpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX1pFUk87XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gQmlnSW50KC0xKSlcbiAgICAgICAgICByZXR1cm4gdGhpcy5fTkVHQVRJVkVfT05FO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCBuID0gdmFsdWU7XG4gICAgICAgIGlmIChuID09PSAxKVxuICAgICAgICAgIHJldHVybiB0aGlzLl9PTkU7XG4gICAgICAgIGlmIChuID09PSAwKVxuICAgICAgICAgIHJldHVybiB0aGlzLl9aRVJPO1xuICAgICAgICBpZiAobiA9PT0gLTEpXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX05FR0FUSVZFX09ORTtcbiAgICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIobikgJiYgdGhpcy5fY29tbW9uTnVtYmVyc1tuXSAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbW1vbk51bWJlcnNbbl0gPT09IG51bGwpXG4gICAgICAgICAgICB0aGlzLl9jb21tb25OdW1iZXJzW25dID0gYm94TnVtYmVyKHRoaXMsIHZhbHVlKSA/PyB0aGlzLl9OQU47XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbW1vbk51bWJlcnNbbl07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihuKSlcbiAgICAgICAgICByZXR1cm4gdGhpcy5fTkFOO1xuICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShuKSlcbiAgICAgICAgICByZXR1cm4gbiA8IDAgPyB0aGlzLl9ORUdBVElWRV9JTkZJTklUWSA6IHRoaXMuX1BPU0lUSVZFX0lORklOSVRZO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJpZ2ludFwiKVxuICAgICAgdmFsdWUgPSB0aGlzLmJpZ251bSh2YWx1ZSk7XG4gICAgcmV0dXJuIGJveE51bWJlcih0aGlzLCB2YWx1ZSwgb3B0aW9ucykgPz8gdGhpcy5fTkFOO1xuICB9XG4gIHJ1bGVzKHJ1bGVzKSB7XG4gICAgcmV0dXJuIGJveFJ1bGVzKHRoaXMsIHJ1bGVzKTtcbiAgfVxuICBwYXR0ZXJuKGV4cHIpIHtcbiAgICByZXR1cm4gbmV3IEJveGVkUGF0dGVybih0aGlzLCBleHByKTtcbiAgfVxuICBwYXJzZShsYXRleCwgb3B0aW9ucykge1xuICAgIGlmICh0eXBlb2YgbGF0ZXggIT09IFwic3RyaW5nXCIpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmxhdGV4U3ludGF4LnBhcnNlKGxhdGV4U3RyaW5nKGxhdGV4KSA/PyBsYXRleCk7XG4gICAgcmV0dXJuIHRoaXMuYm94KHJlc3VsdCwgb3B0aW9ucyk7XG4gIH1cbiAgc2VyaWFsaXplKHgsIG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgXCJqc29uXCIgaW4geCkge1xuICAgICAgY29uc3QgY2UgPSBcImVuZ2luZVwiIGluIHggPyB4LmVuZ2luZSA6IHRoaXM7XG4gICAgICByZXR1cm4gdGhpcy5sYXRleFN5bnRheC5zZXJpYWxpemUoXG4gICAgICAgIHRoaXMucmF3SnNvbihjZS5ib3goeCwgeyBjYW5vbmljYWw6IGZhbHNlIH0pKSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGF0ZXhTeW50YXguc2VyaWFsaXplKHgsIG9wdGlvbnMpO1xuICB9XG4gIGdldCBsYXRleE9wdGlvbnMoKSB7XG4gICAgY29uc3QgbGF0ZXhTeW50YXggPSB0aGlzLmxhdGV4U3ludGF4O1xuICAgIHJldHVybiBuZXcgUHJveHkoXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMubGF0ZXhTeW50YXgub3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy5sYXRleFN5bnRheC5zZXJpYWxpemVyLm9wdGlvbnNcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNldChvcHRpb25zLCBwcm9wLCB2YWx1ZSkge1xuICAgICAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgbGF0ZXhTeW50YXgudXBkYXRlT3B0aW9ucyh7IFtwcm9wXTogdmFsdWUgfSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4gIHNldCBsYXRleE9wdGlvbnMob3B0cykge1xuICAgIHRoaXMubGF0ZXhTeW50YXgudXBkYXRlT3B0aW9ucyhvcHRzKTtcbiAgfVxuICBnZXQganNvblNlcmlhbGl6YXRpb25PcHRpb25zKCkge1xuICAgIGlmICh0aGlzLl91c2VSYXdKc29uU2VyaWFsaXphdGlvbk9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBuZXcgUHJveHkodGhpcy5fcmF3SnNvblNlcmlhbGl6YXRpb25PcHRpb25zLCB7XG4gICAgICAgIGdldChvcHRpb25zLCBwcm9wKSB7XG4gICAgICAgICAgaWYgKCEocHJvcCBpbiBvcHRpb25zKSlcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnNbcHJvcF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMuX2pzb25TZXJpYWxpemF0aW9uT3B0aW9ucywge1xuICAgICAgZ2V0KG9wdGlvbnMsIHByb3ApIHtcbiAgICAgICAgaWYgKCEocHJvcCBpbiBvcHRpb25zKSlcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICByZXR1cm4gb3B0aW9uc1twcm9wXTtcbiAgICAgIH0sXG4gICAgICBzZXQob3B0aW9ucywgcHJvcCwgdmFsdWUpIHtcbiAgICAgICAgaWYgKCEocHJvcCBpbiBvcHRpb25zKSlcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHNlbGYuanNvblNlcmlhbGl6YXRpb25PcHRpb25zID0geyBbcHJvcF06IHZhbHVlIH07XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHNldCBqc29uU2VyaWFsaXphdGlvbk9wdGlvbnModmFsKSB7XG4gICAgaWYgKHZhbC5leGNsdWRlKVxuICAgICAgdGhpcy5fanNvblNlcmlhbGl6YXRpb25PcHRpb25zLmV4Y2x1ZGUgPSBbLi4udmFsLmV4Y2x1ZGVdO1xuICAgIGlmICh2YWwuc2hvcnRoYW5kcykge1xuICAgICAgaWYgKHZhbC5zaG9ydGhhbmRzID09PSBcImFsbFwiIHx8IHZhbC5zaG9ydGhhbmRzLmluY2x1ZGVzKFwiYWxsXCIpKSB7XG4gICAgICAgIHRoaXMuX2pzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5zaG9ydGhhbmRzID0gW1xuICAgICAgICAgIFwiZnVuY3Rpb25cIixcbiAgICAgICAgICBcInN5bWJvbFwiLFxuICAgICAgICAgIFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkaWN0aW9uYXJ5XCIsXG4gICAgICAgICAgXCJudW1iZXJcIlxuICAgICAgICBdO1xuICAgICAgfSBlbHNlXG4gICAgICAgIHRoaXMuX2pzb25TZXJpYWxpemF0aW9uT3B0aW9ucy5zaG9ydGhhbmRzID0gWy4uLnZhbC5zaG9ydGhhbmRzXTtcbiAgICB9XG4gICAgaWYgKHZhbC5tZXRhZGF0YSkge1xuICAgICAgaWYgKHZhbC5tZXRhZGF0YSA9PT0gXCJhbGxcIiB8fCB2YWwubWV0YWRhdGEuaW5jbHVkZXMoXCJhbGxcIikpIHtcbiAgICAgICAgdGhpcy5fanNvblNlcmlhbGl6YXRpb25PcHRpb25zLm1ldGFkYXRhID0gW1wibGF0ZXhcIiwgXCJ3aWtpZGF0YVwiXTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLl9qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMubWV0YWRhdGEgPSBbLi4udmFsLm1ldGFkYXRhXTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWwucHJlY2lzaW9uID09PSBcIm51bWJlclwiICYmIHZhbC5wcmVjaXNpb24gPiAwKSB7XG4gICAgICB0aGlzLl9qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMucHJlY2lzaW9uID0gdmFsLnByZWNpc2lvbjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWwucmVwZWF0aW5nRGVjaW1hbHMgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICB0aGlzLl9qc29uU2VyaWFsaXphdGlvbk9wdGlvbnMucmVwZWF0aW5nRGVjaW1hbHMgPSB2YWwucmVwZWF0aW5nRGVjaW1hbHM7XG4gICAgfVxuICB9XG4gIHJhd0pzb24oZXhwcikge1xuICAgIGNvbnN0IHNhdmUgPSB0aGlzLl91c2VSYXdKc29uU2VyaWFsaXphdGlvbk9wdGlvbnM7XG4gICAgdGhpcy5fdXNlUmF3SnNvblNlcmlhbGl6YXRpb25PcHRpb25zID0gdHJ1ZTtcbiAgICBjb25zdCByZXN1bHQgPSBleHByLmpzb247XG4gICAgdGhpcy5fdXNlUmF3SnNvblNlcmlhbGl6YXRpb25PcHRpb25zID0gc2F2ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gYSBsaXN0IG9mIGFsbCB0aGUgYXNzdW1wdGlvbnMgdGhhdCBtYXRjaCBhIHBhdHRlcm4uXG4gICAqXG4gICAqIGBgYGpzXG4gICAqICBjZS5hc3N1bWUoeCwgJ1Bvc2l0aXZlSW50ZWdlcicpO1xuICAgKiAgY2UuYXNrKFsnR3JlYXRlcicsICd4JywgJ192YWwnXSlcbiAgICogIC8vICAtPiBbeyd2YWwnOiAwfV1cbiAgICogYGBgXG4gICAqL1xuICBhc2socGF0dGVybikge1xuICAgIGNvbnN0IHBhdCA9IHRoaXMucGF0dGVybihwYXR0ZXJuKTtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IFthc3N1bXB0aW9uLCB2YWxdIG9mIHRoaXMuYXNzdW1wdGlvbnMpIHtcbiAgICAgIGNvbnN0IG0gPSBwYXQubWF0Y2goYXNzdW1wdGlvbiwge1xuICAgICAgICBudW1lcmljVG9sZXJhbmNlOiB0aGlzLl90b2xlcmFuY2VcbiAgICAgIH0pO1xuICAgICAgaWYgKG0gIT09IG51bGwgJiYgdmFsID09PSB0cnVlKVxuICAgICAgICByZXN1bHQucHVzaChtKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvLyBCYXNlZCBvbiBjb250ZXh0dWFsIHVzYWdlLCBpbmZlciBkb21haW4gb2YgYSBzeW1ib2xcbiAgaW5mZXIoc3ltYm9sMiwgX2RvbWFpbikge1xuICAgIGlmICh0eXBlb2Ygc3ltYm9sMiAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgaWYgKCFzeW1ib2wyLnN5bWJvbClcbiAgICAgICAgcmV0dXJuIFwiaW50ZXJuYWwtZXJyb3JcIjtcbiAgICAgIHN5bWJvbDIgPSBzeW1ib2wyLnN5bWJvbDtcbiAgICB9XG4gICAgcmV0dXJuIFwib2tcIjtcbiAgfVxuICBhc3N1bWUoYXJnMSwgYXJnMikge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYXRleCA9IGxhdGV4U3RyaW5nKGFyZzEpO1xuICAgICAgY29uc3QgcHJlZGljYXRlID0gbGF0ZXggPyB0aGlzLnBhcnNlKGxhdGV4LCB7IGNhbm9uaWNhbDogZmFsc2UgfSkgOiB0aGlzLmJveChhcmcxLCB7IGNhbm9uaWNhbDogZmFsc2UgfSk7XG4gICAgICBpZiAoIWFyZzIpXG4gICAgICAgIHJldHVybiBhc3N1bWUocHJlZGljYXRlKTtcbiAgICAgIGlmIChpc0RvbWFpbihhcmcyKSlcbiAgICAgICAgcmV0dXJuIGFzc3VtZSh0aGlzLmJveChbXCJFbGVtZW50XCIsIHByZWRpY2F0ZSwgdGhpcy5kb21haW4oYXJnMildKSk7XG4gICAgICByZXR1cm4gYXNzdW1lKHRoaXMuYm94KFtcIkVxdWFsXCIsIHByZWRpY2F0ZSwgYXJnMl0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgcmV0dXJuIFwiaW50ZXJuYWwtZXJyb3JcIjtcbiAgICB9XG4gIH1cbiAgZm9yZ2V0KHN5bWJvbDIpIHtcbiAgICBpZiAoIXRoaXMuY29udGV4dClcbiAgICAgIHRocm93IEVycm9yKFwiTm8gc2NvcGUgYXZhaWxhYmxlXCIpO1xuICAgIGlmIChzeW1ib2wyID09PSB2b2lkIDApIHtcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaWRUYWJsZSlcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIHRoaXMuY29udGV4dC5pZFRhYmxlLmtleXMoKSlcbiAgICAgICAgICB0aGlzLmZvcmdldChrKTtcbiAgICAgIHRoaXMuYXNzdW1wdGlvbnMuY2xlYXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc3ltYm9sMikpIHtcbiAgICAgIGZvciAoY29uc3QgeCBvZiBzeW1ib2wyKVxuICAgICAgICB0aGlzLmZvcmdldCh4KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzeW1ib2wyID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0LmlkVGFibGUpIHtcbiAgICAgICAgY29uc3QgZGVmID0gdGhpcy5jb250ZXh0LmlkVGFibGUuZ2V0KHN5bWJvbDIpO1xuICAgICAgICBpZiAoaXNTeW1ib2xEZWZpbml0aW9uKGRlZikpIHtcbiAgICAgICAgICBkZWYudmFsdWUgPSB2b2lkIDA7XG4gICAgICAgICAgaWYgKGRlZi5kb21haW4/LmlzTnVtZXJpYykge1xuICAgICAgICAgICAgZGVmLmRvbWFpbiA9IHRoaXMuZGVmYXVsdERvbWFpbiA/PyB0aGlzLmRvbWFpbihcIk51bWJlclwiKTtcbiAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIGRlZi5kb21haW4gPSB2b2lkIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgW2Fzc3VtcHRpb24sIF92YWxdIG9mIHRoaXMuYXNzdW1wdGlvbnMpIHtcbiAgICAgICAgaWYgKGFzc3VtcHRpb24uc3ltYm9scy5pbmNsdWRlcyhzeW1ib2wyKSlcbiAgICAgICAgICB0aGlzLmFzc3VtcHRpb25zLmRlbGV0ZShhc3N1bXB0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8vIHNyYy9jb21wdXRlLWVuZ2luZS50c1xudmFyIHZlcnNpb24gPSBcIjAuMTUuMFwiO1xuZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiaW8uY29ydGV4anMuY29tcHV0ZS1lbmdpbmVcIildID0ge1xuICBDb21wdXRlRW5naW5lOiBDb21wdXRlRW5naW5lLnByb3RvdHlwZS5jb25zdHJ1Y3RvcixcbiAgdmVyc2lvbjogXCIwLjE1LjBcIlxufTtcbmV4cG9ydCB7XG4gIENvbXB1dGVFbmdpbmUsXG4gIGlzRW52aXJvbm1lbnRFbnRyeSxcbiAgaXNFeHByZXNzaW9uRW50cnksXG4gIGlzRnVuY3Rpb25FbnRyeSxcbiAgaXNJbmZpeEVudHJ5LFxuICBpc01hdGNoZml4RW50cnksXG4gIGlzUG9zdGZpeEVudHJ5LFxuICBpc1ByZWZpeEVudHJ5LFxuICBpc1N5bWJvbEVudHJ5LFxuICB2ZXJzaW9uXG59O1xuLyohIEJ1bmRsZWQgbGljZW5zZSBpbmZvcm1hdGlvbjpcblxuY29tcGxleC5qcy9jb21wbGV4LmpzOlxuICAoKipcbiAgICogQGxpY2Vuc2UgQ29tcGxleC5qcyB2Mi4xLjEgMTIvMDUvMjAyMFxuICAgKlxuICAgKiBDb3B5cmlnaHQgKGMpIDIwMjAsIFJvYmVydCBFaXNlbGUgKHJvYmVydEB4YXJnLm9yZylcbiAgICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuXG4gICAqKilcblxuZGVjaW1hbC5qcy9kZWNpbWFsLm1qczpcbiAgKCohXG4gICAqICBkZWNpbWFsLmpzIHYxMC40LjNcbiAgICogIEFuIGFyYml0cmFyeS1wcmVjaXNpb24gRGVjaW1hbCB0eXBlIGZvciBKYXZhU2NyaXB0LlxuICAgKiAgaHR0cHM6Ly9naXRodWIuY29tL01pa2VNY2wvZGVjaW1hbC5qc1xuICAgKiAgQ29weXJpZ2h0IChjKSAyMDIyIE1pY2hhZWwgTWNsYXVnaGxpbiA8TThjaDg4bEBnbWFpbC5jb20+XG4gICAqICBNSVQgTGljZW5jZVxuICAgKilcbiovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBQXVCOzs7QUNDdkIsc0JBQTJCO0FBQzNCLG1CQUFnQztBQUNoQyxJQUFBQSxlQVFPOzs7QUNYUCxrQkFBdUM7QUFFaEMsSUFBTSxlQUFOLGNBQTJCLHVCQUFXO0FBQUEsRUFDM0MsWUFBbUIsTUFBeUIsT0FBc0IsTUFBYztBQUM5RSxVQUFNO0FBRFc7QUFBeUI7QUFBc0I7QUFBQSxFQUVsRTtBQUFBLEVBRUEsTUFBTSxNQUErQjtBQUNuQyxVQUFNQyxPQUFNLFNBQVMsY0FBYyxNQUFNO0FBQ3pDLElBQUFBLEtBQUksWUFBWTtBQUVoQixJQUFBQSxLQUFJLFlBQVksS0FBSztBQUNyQixJQUFBQSxLQUFJLFVBQVUsTUFBTTtBQUVsQixZQUFNLGNBQWMsS0FBSyxNQUFNLE9BQU87QUFBQSxRQUNwQyxTQUFTO0FBQUEsVUFDUCxNQUFNLEtBQUs7QUFBQSxVQUNYLElBQUksS0FBSztBQUFBLFVBQ1QsUUFBUSxLQUFLO0FBQUEsUUFDZjtBQUFBLE1BQ0YsQ0FBQztBQUNELFdBQUssU0FBUyxXQUFXO0FBQUEsSUFDM0I7QUFFQSxXQUFPQTtBQUFBLEVBQ1Q7QUFDRjs7O0FDekJBLElBQUksV0FBVyxPQUFPO0FBQ3RCLElBQUlDLGFBQVksT0FBTztBQUN2QixJQUFJQyxvQkFBbUIsT0FBTztBQUM5QixJQUFJQyxxQkFBb0IsT0FBTztBQUMv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QUEsSUFDekIsT0FBTyxVQUFVLFFBQVE7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWMsQ0FBQyxVQUFVO0FBQUEsSUFDekIsT0FBTyxVQUFVLFFBQVE7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWMsQ0FBQyxVQUFVO0FBQUEsSUFDekIsT0FBTyxVQUFVLFFBQVE7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLGNBQWMsQ0FBQyxTQUFTO0FBQUEsSUFDeEIsT0FBTyxVQUFVLFFBQVE7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWMsQ0FBQyxVQUFVO0FBQUEsSUFDekIsT0FBTyxVQUFVLFFBQVE7QUFBQSxFQUMzQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWM7QUFBQSxJQUNkLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsVUFBVTtBQUFBLElBQ3pCLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsVUFBVTtBQUFBLElBQ3pCLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsVUFBVTtBQUFBLElBQ3pCLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsVUFBVTtBQUFBLElBQ3pCLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsVUFBVTtBQUFBLElBQ3pCLE9BQU8sVUFBVSxRQUFRO0FBQUEsRUFDM0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxN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RDtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsTUFBTTtBQUFBLElBQ3JCLE1BQU07QUFBQSxJQUNOLFlBQVk7QUFBQSxFQUNkO0FBQUEsRUFDQTtBQUFBLElBQ0UsTUFBTTtBQUFBLElBQ04sY0FBYyxDQUFDLFNBQVM7QUFBQSxJQUN4QixNQUFNO0FBQUEsSUFDTixZQUFZO0FBQUEsRUFDZDtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWMsQ0FBQyxXQUFXO0FBQUEsSUFDMUIsTUFBTTtBQUFBLElBQ04sZUFBZTtBQUFBLElBQ2YsWUFBWTtBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUEsSUFDTixjQUFjLENBQUMsV0FBVztBQUFBLElBQzFCLE1BQU07QUFBQSxJQUNOLGVBQWU7QUFBQSxJQUNmLFlBQVk7QUFBQSxFQUNkO0FBQUEsRUFDQTtBQUFBLElBQ0UsTUFBTTtBQUFBLElBQ04sY0FBYyxDQUFDLGFBQWE7QUFBQSxJQUM1QixNQUFNO0FBQUEsSUFDTixlQUFlO0FBQUEsSUFDZixZQUFZO0FBQUEsRUFDZDtBQUFBLEVBQ0E7QUFBQSxJQUNFLE1BQU07QUFBQSxJQUNOLGNBQWMsQ0FBQyxhQUFhO0FBQUEsSUFDNUIsTUFBTTtBQUFBLElBQ04sZUFBZTtBQUFBLElBQ2YsWUFBWTtBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUE7QUFBQSxJQUVOLGNBQWMsQ0FBQyxZQUFZO0FBQUEsSUFDM0IsTUFBTTtBQUFBLElBQ04sZUFBZTtBQUFBLElBQ2YsWUFBWTtBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUE7QUFBQSxJQUVOLGNBQWMsQ0FBQyxjQUFjO0FBQUEsSUFDN0IsTUFBTTtBQUFBLElBQ04sZUFBZTtBQUFBLElBQ2YsWUFBWTtBQUFBLEVBQ2Q7QUFBQSxFQUNBO0FBQUEsSUFDRSxNQUFNO0FBQUE7QUFBQSxJQUVOLGNBQWMsQ0FBQyxZQUFZO0FBQUEs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Q0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVB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QUEsTUFDUixPQUFPO0FBQUEsTUFDUCxRQUFRO0FBQUEsTUFDUixRQUFRO0FBQUEsTUFDUixRQUFRO0FBQUE7QUFBQSxNQUVSLFNBQVM7QUFBQSxNQUNULE1BQU07QUFBQSxNQUNOLEtBQUs7QUFBQSxNQUNMLE1BQU07QUFBQSxNQUNOLEtBQUs7QUFBQSxNQUNMLE9BQU87QUFBQSxNQUNQLE9BQU87QUFBQSxNQUNQLEtBQUs7QUFBQTtBQUFBLE1BRUwsS0FBSztBQUFBLE1BQ0wsSUFBSTtBQUFBLE1BQ0osS0FBSztBQUFBLE1BQ0wsVUFBVTtBQUFBLE1BQ1YsSUFBSTtBQUFBLE1BQ0osS0FBSztBQUFBLE1BQ0wsS0FBSztBQUFBLE1BQ0wsT0FBTztBQUFBLE1BQ1AsUUFBUTtBQUFBLE1BQ1IsT0FBTztBQUFBLE1BQ1AsS0FBSztBQUFBLE1BQ0wsS0FBSztBQUFBLE1BQ0wsTUFBTTtBQUFBLE1BQ04sTUFBTTtBQUFBLE1BQ04sS0FBSztBQUFBLE1BQ0wsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQTBGUixFQUFFLENBQUMsTUEzSFEs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QTtBQUFBLFFBQzFKLFVBQVUsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLFFBQ2xFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLE1BQ3REO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLFFBQ1QsUUFBUSx5QkFBeUIsUUFBUTtBQUFBLFFBQ3pDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLFFBQ2xFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLE1BQ3REO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLFFBQ1QsUUFBUSx5QkFBeUIsUUFBUTtBQUFBLFFBQ3pDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLFFBQ2xFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLE1BQ3REO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLFFBQ1QsUUFBUSx5QkFBeUIsUUFBUTtBQUFBLFFBQ3pDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLFFBQ2xFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssVUFBVSxLQUFLLENBQUMsQ0FBQztBQUFBLE1BQ3REO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sU0FBUztBQUFBLE1BQ1QsV0FBVztBQUFBLFFBQ1QsUUFBUSx5QkFBeUIsUUFB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Q0FBQyxHQUFHLENBQUM7QUFBQSxJQUNMO0FBQUEsTUFDRSxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsSUFDUDtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxDQUFDLEdBQUcsQ0FBQztBQUFBLElBQ0w7QUFBQSxNQUNFLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxJQUNQO0FBQUEsRUFDRjtBQUFBLEVBQ0E7QUFBQSxJQUNFLENBQUMsR0FBRyxDQUFDO0FBQUEsSUFDTDtBQUFBLE1BQ0UsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDO0FBQUEsTUFDckIsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDO0FBQUEsTUFDckIsS0FBSztBQUFBLE1BQ0wsS0FBSztBQUFBLE1BQ0wsS0FBSztBQUFBLE1BQ0wsS0FBSztBQUFBLElBQ1A7QUFBQSxFQUNGO0FBQUEsRUFDQTtBQUFBLElBQ0UsQ0FBQyxHQUFHLEVBQUU7QUFBQSxJQUNOO0FBQUEsTUFDRSxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsSUFDUDtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxDQUFDLEdBQUcsQ0FBQztBQUFBLElBQ0w7QUFBQSxNQUNFLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQztBQUFBO0FBQUEsTUFFckIsS0FBSztBQUFBO0FBQUEsTUFFTCxLQUFLO0FBQUE7QUFBQSxNQUVMLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQztBQUFBO0FBQUEsTUFFckIsS0FBSztBQUFBLE1BQ0wsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLENBQUM7QUFBQTtBQUFBLElBRXhDO0FBQUEs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TUFBTSxHQUFHLENBQUMseUJBQXlCLE1BQU0sRUFBRSxLQUFLO0FBQ3RGLGdCQUFJLFNBQVMsa0JBQWtCLE1BQU0sZ0JBQWdCLEVBQUUsU0FBUyxFQUFFO0FBRWxFLGdCQUFJLGVBQWUsSUFBSTtBQUN2QixnQkFBSSxPQUFPLFlBQVksRUFBRSxTQUFTLE9BQU87QUFBRyw2QkFBZTtBQUUzRCxvQkFBUTtBQUFBLGNBQ047QUFBQSxjQUNBO0FBQUEsY0FDQSx3QkFBVyxRQUFRO0FBQUEsZ0JBQ2pCLFFBQVEsSUFBSSxhQUFhLE1BQU0sYUFBYSxZQUFZO0FBQUEsY0FDMUQsQ0FBQztBQUFBLFlBQ0g7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFFQSxXQUFPLFFBQVEsT0FBTztBQUFBLEVBQ3hCO0FBQ0Y7QUFFQSxJQUFNLGFBQThDO0FBQUEsRUFDbEQsYUFBYSxDQUFDLFVBQStCLE1BQU07QUFDckQ7QUFFTyxJQUFNLHNCQUFzQix3QkFBVztBQUFBLEVBQzVDO0FBQUEsRUFDQTtBQUNGOzs7QUR4RkEsSUFBcUIsZ0JBQXJCLGNBQTJDLHVCQUFPO0FBQUEsRUFDakQsTUFBTSxTQUFTO0FBQ1osU0FBSyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQztBQUFBLEVBQ3JEO0FBQUEsRUFFQSxXQUFXO0FBQUEsRUFBQztBQUNiOyIsCiAgIm5hbWVzIjogWyJpbXBvcnRfdmlldyIsICJkaXYiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fY29weVByb3BzIiwgIm1vZHVsZSIsICJfYSJdCn0K diff --git a/.obsidian/plugins/calctex/manifest.json b/.obsidian/plugins/calctex/manifest.json new file mode 100644 index 00000000..96b31991 --- /dev/null +++ b/.obsidian/plugins/calctex/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "calctex", + "name": "Calctex", + "version": "1.0.1", + "minAppVersion": "0.15.0", + "description": "Calculate LaTeX formulas inside Obsidian.", + "author": "Mike", + "authorUrl": "https://developer-mike.vercel.app/", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/calctex/styles.css b/.obsidian/plugins/calctex/styles.css new file mode 100644 index 00000000..fecbb646 --- /dev/null +++ b/.obsidian/plugins/calctex/styles.css @@ -0,0 +1,5 @@ +.result-text { + color: var(--text-faint); + font-style: oblique; + font-size: smaller; +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json index 64fd0ffb..f2f3c984 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/data.json @@ -10408,7 +10408,7 @@ "containerId": null, "originalText": "!", "lineHeight": 1.222222222222222, - "baseline": 18 + "baseline": 17 } ], "id": "a4aCbz4Mh-PMppX8JV9oJ", @@ -47207,7 +47207,7 @@ "containerId": null, "originalText": "5\n\n4\n\n3\n\n2\n\n1 \n\n0\n\n\n-1\n\n-2\n\n-3\n\n-4\n\n-5", "lineHeight": 1.2490706319702598, - "baseline": 442 + "baseline": 441 }, { "type": "line", @@ -48423,7 +48423,7 @@ "containerId": null, "originalText": "5\n\n4\n\n3\n\n2\n\n1 \n\n0\n\n\n-1\n\n-2\n\n-3\n\n-4\n\n-5", "lineHeight": 1.2490706319702598, - "baseline": 442 + "baseline": 441 }, { "type": "line", @@ -61505,7 +61505,7 @@ "containerId": null, "originalText": "KEY", "lineHeight": 1.2989276108437504, - "baseline": 17 + "baseline": 16 }, { "type": "text", @@ -61542,7 +61542,7 @@ "containerId": null, "originalText": "DATA", "lineHeight": 1.2989276108437484, - "baseline": 17 + "baseline": 16 } ], "id": "0fN1YgloN8QEBcG1nuLU0", @@ -68689,7 +68689,7 @@ "containerId": null, "originalText": "0", "lineHeight": 1.2305837462742493, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -68726,7 +68726,7 @@ "containerId": null, "originalText": "1", "lineHeight": 1.2305837462742486, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -68763,7 +68763,7 @@ "containerId": null, "originalText": "2", "lineHeight": 1.2305837462742486, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -68800,7 +68800,7 @@ "containerId": null, "originalText": "3", "lineHeight": 1.230583746274251, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -68837,7 +68837,7 @@ "containerId": null, "originalText": "4", "lineHeight": 1.2305837462742497, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -68874,7 +68874,7 @@ "containerId": null, "originalText": "0", "lineHeight": 1.2665105496217897, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -68911,7 +68911,7 @@ "containerId": null, "originalText": "1", "lineHeight": 1.266510549621791, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -68948,7 +68948,7 @@ "containerId": null, "originalText": "2", "lineHeight": 1.2665105496217899, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -68985,7 +68985,7 @@ "containerId": null, "originalText": "3", "lineHeight": 1.2665105496217897, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -69022,7 +69022,7 @@ "containerId": null, "originalText": "4", "lineHeight": 1.2665105496217892, - "baseline": 18 + "baseline": 17 }, { "type": "rectangle", @@ -69869,7 +69869,7 @@ "containerId": null, "originalText": "5", "lineHeight": 1.2305837462742497, - "baseline": 16 + "baseline": 15 }, { "type": "rectangle", @@ -70176,7 +70176,7 @@ "containerId": null, "originalText": "6", "lineHeight": 1.230583746274251, - "baseline": 16 + "baseline": 15 }, { "type": "rectangle", @@ -70483,7 +70483,7 @@ "containerId": null, "originalText": "7", "lineHeight": 1.2305837462742502, - "baseline": 16 + "baseline": 15 }, { "type": "rectangle", @@ -70790,7 +70790,7 @@ "containerId": null, "originalText": "8", "lineHeight": 1.23058374627425, - "baseline": 16 + "baseline": 15 }, { "type": "rectangle", @@ -71097,7 +71097,7 @@ "containerId": null, "originalText": "9", "lineHeight": 1.2305837462742488, - "baseline": 16 + "baseline": 15 }, { "type": "rectangle", @@ -71269,7 +71269,7 @@ "containerId": null, "originalText": "5", "lineHeight": 1.2665105496217908, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -71306,7 +71306,7 @@ "containerId": null, "originalText": "6", "lineHeight": 1.2665105496217908, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -71343,7 +71343,7 @@ "containerId": null, "originalText": "7", "lineHeight": 1.2665105496217899, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -71380,7 +71380,7 @@ "containerId": null, "originalText": "8", "lineHeight": 1.2665105496217905, - "baseline": 18 + "baseline": 17 }, { "type": "text", @@ -71417,7 +71417,7 @@ "containerId": null, "originalText": "9", "lineHeight": 1.2665105496217908, - "baseline": 18 + "baseline": 17 } ], "id": "v64rHLhwhoMh6YxxcvFRW", @@ -72137,7 +72137,7 @@ "containerId": null, "originalText": "0", "lineHeight": 1.2258489560818937, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72174,7 +72174,7 @@ "containerId": null, "originalText": "1", "lineHeight": 1.2258489560818937, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72211,7 +72211,7 @@ "containerId": null, "originalText": "2", "lineHeight": 1.2258489560818915, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72248,7 +72248,7 @@ "containerId": null, "originalText": "3", "lineHeight": 1.2258489560818941, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72285,7 +72285,7 @@ "containerId": null, "originalText": "4", "lineHeight": 1.2258489560818953, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72947,7 +72947,7 @@ "containerId": null, "originalText": "0", "lineHeight": 1.2227829575141542, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -72984,7 +72984,7 @@ "containerId": null, "originalText": "1", "lineHeight": 1.2227829575141567, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -73021,7 +73021,7 @@ "containerId": null, "originalText": "2", "lineHeight": 1.2227829575141556, - "baseline": 16 + "baseline": 15 }, { "type": "text", @@ -73058,7 +73058,7 @@ "containerId": null, "originalText": "3", "lineHeight": 1.222782957514155, - "baseline": 16 + "baseline": 15 }, { "type": "text", diff --git a/.obsidian/plugins/obsidian-minimal-settings/data.json b/.obsidian/plugins/obsidian-minimal-settings/data.json index 9a790da4..c8a40aef 100644 --- a/.obsidian/plugins/obsidian-minimal-settings/data.json +++ b/.obsidian/plugins/obsidian-minimal-settings/data.json @@ -9,7 +9,7 @@ "lineWidth": 40, "lineWidthWide": 5000, "maxWidth": 98, - "textNormal": 19, + "textNormal": 20, "textSmall": 13, "imgGrid": false, "imgWidth": "img-default-width", diff --git a/.obsidian/plugins/rss-reader/data.json b/.obsidian/plugins/rss-reader/data.json index 407b855f..b1eec6df 100644 --- a/.obsidian/plugins/rss-reader/data.json +++ b/.obsidian/plugins/rss-reader/data.json @@ -66,25 +66,223 @@ "description": "xkcd.com: A webcomic of romance and math humor.", "items": [ { - "title": "Expression Evaluation and Fundamental Physics", - "description": "\"\"", - "content": "\"\"\n

\"Expression

\n

An Unexpected Correspondence

\n

Enter any expression and it’ll get evaluated:

\n
\n
\n

\n

And internally—say in the Wolfram Language—what’s going on is that the expression is progressively being transformed using all available rules until no more rules apply. Here the process can be represented like this:

\n
\n
\n

\n

We can think of the yellow boxes in this picture as corresponding to “evaluation events” that transform one “state of the expression” (represented by a blue box) to another, eventually reaching the “fixed point” 12.

\n

And so far this may all seem very simple. But actually there are many surprisingly complicated and deep issues and questions. For example, to what extent can the evaluation events be applied in different orders, or in parallel? Does one always get the same answer? What about non-terminating sequences of events? And so on.

\n

I was first exposed to such issues more than 40 years ago—when I was working on the design of the evaluator for the SMP system that was the forerunner of Mathematica and the Wolfram Language. And back then I came up with pragmatic, practical solutions—many of which we still use today. But I was never satisfied with the whole conceptual framework. And I always thought that there should be a much more principled way to think about such things—that would likely lead to all sorts of important generalizations and optimizations.

\n

Well, more than 40 years later I think we can finally now see how to do this. And it’s all based on ideas from our Physics Project—and on a fundamental correspondence between what’s happening at the lowest level in all physical processes and in expression evaluation. Our Physics Project implies that ultimately the universe evolves through a series of discrete events that transform the underlying structure of the universe (say, represented as a hypergraph)—just like evaluation events transform the underlying structure of an expression.

\n

And given this correspondence, we can start applying ideas from physics—like ones about spacetime and quantum mechanics—to questions of expression evaluation. Some of what this will lead us to is deeply abstract. But some of it has immediate practical implications, notably for parallel, distributed, nondeterministic and quantum-style computing. And from seeing how things play out in the rather accessible and concrete area of expression evaluation, we’ll be able to develop more intuition about fundamental physics and about other areas (like metamathematics) where the ideas of our Physics Project can be applied.

\n

Causal Graphs and Spacetime

\n

The standard evaluator in the Wolfram Language applies evaluation events to an expression in a particular order. But typically multiple orders are possible; for the example above, there are three:

\n
\n
\n

\n

So what determines what orders are possible? There is ultimately just one constraint: the causal dependencies that exist between events. The key point is that a given event cannot happen unless all the inputs to it are available, i.e. have already been computed. So in the example here, the evaluation event cannot occur unless the one has already occurred. And we can summarize this by “drawing a causal edge” from the event to the one. Putting together all these “causal relations”, we can make a causal graph, which in the example here has the simple form (where we include a special “Big Bang” initial event to create the original expression that we’re evaluating):

\n
\n
\n

\n

What we see from this causal graph is that the events on the left must all follow each other, while the event on the right can happen “independently”. And this is where we can start making an analogy with physics. Imagine our events are laid out in spacetime. The events on the left are “timelike separated” from each other, because they are constrained to follow one after another, and so must in effect “happen at different times”. But what about the event on the right? We can think of this as being “spacelike separated” from the others, and happening at a “different place in space” asynchronously from the others.

\n

As a quintessential example of a timelike chain of events, consider making the definition

\n
\n
\n

\n

and then generating the causal graph for the events associated with evaluating f[f[f[1]]] (i.e. Nest[f, 1, 3]):

\n
\n
\n

\n

A straightforward way to get spacelike events is just to “build in space” by giving an expression like f[1] + f[1] + f[1] that has parts that can effectively be thought of as being explicitly “laid out in different places”, like the cells in a cellular automaton:

\n
\n
\n

\n

But one of the major lessons of our Physics Project is that it’s possible for space to “emerge dynamically” from the evolution of a system (in that case, by successive rewriting of hypergraphs). And it turns out very much the same kind of thing can happen in expression evaluation, notably with recursively defined functions.

\n

As a simple example, consider the standard definition of Fibonacci numbers:

\n
\n
\n

\n

With this definition, the causal graph for the evaluation of f[3] is then:

\n
\n
\n

\n

For f[5], dropping the “context” of each event, and showing only what changed, the graph is

\n
\n
\n

\n

while for f[8] the structure of the graph is:

\n
\n
\n

\n

So what is the significance of there being spacelike-separated parts in this graph? At a practical level, a consequence is that those parts correspond to subevaluations that can be done independently, for example in parallel. All the events (or subevaluations) in any timelike chain must be done in sequence. But spacelike-separated events (or subevaluations) don’t immediately have a particular relative order. The whole graph can be thought of as defining a partial ordering for all events—with the events forming a partially ordered set (poset). Our “timelike chains” then correspond to what are usually called chains in the poset. The antichains of the poset represent possible collections of events that can occur “simultaneously”.

\n

And now there’s a deep analogy to physics. Because just like in the standard relativistic approach to spacetime, we can define a sequence of “spacelike surfaces” (or hypersurfaces in 3 + 1-dimensional spacetime) that correspond to possible successive “simultaneity surfaces” where events can consistently be done simultaneously. Put another way, any “foliation” of the causal graph defines a sequence of “time steps” in which particular collections of events occur—as in for example:

\n
\n
\n

\n

And just like in relativity theory, different foliations correspond to different choices of reference frames, or what amount to different choices of “space and time coordinates”. But at least in the examples we’ve seen so far, the “final result” from the evaluation is always the same, regardless of the foliation (or reference frame) we use—just as we expect when there is relativistic invariance.

\n

As a slightly more complex—but ultimately very similar—example, consider the nestedly recursive function:

\n
\n
\n

\n

Now the causal graph for f[12] has the form

\n
\n
\n

\n

which again has both spacelike and timelike structure.

\n

Foliations and the Definition of Time

\n

Let’s go back to our first example above—the evaluation of (1 + (2 + 2)) + (3 + 4). As we saw above, the causal graph in this case is:

\n
\n
\n

\n

The standard Wolfram Language evaluator makes these events occur in the following order:

\n
\n
\n

\n

And by applying events in this order starting with the initial state, we can reconstruct the sequence of states that will be reached at each step by this particular evaluation process (where now we’ve highlighted in each state the part that’s going to be transformed at each step):

\n
\n
\n

\n

Here’s the standard evaluation order for the Fibonacci number f[3]:

\n
\n
\n

\n

And here’s the sequence of states generated from this sequence of events:

\n
\n
\n

\n

Any valid evaluation order has to eventually visit (i.e. apply) all the events in the causal graph. Here’s the path that’s traced out by the standard evaluation order on the causal graph for f[8]. As we’ll discuss later, this corresponds to a depth-first scan of the (directed) graph:

\n
\n
\n

\n

But let’s return now to our first example. We’ve seen the order of events used in the standard Wolfram Language evaluation process. But there are actually three different orders that are consistent with the causal relations defined by the causal graph (in the language of posets, each of these is a “total ordering”):

\n
\n
\n

\n

And for each of these orders we can reconstruct the sequence of states that would be generated:

\n
\n
\n

\n

Up to this point we’ve always assumed that we’re just applying one event at a time. But whenever we have spacelike-separated events, we can treat such events as “simultaneous”—and applied at the same point. And—just like in relativity theory—there are typically multiple possible choices of “simultaneity surfaces”. Each one corresponds to a certain foliation of our causal graph. And in the simple case we’re looking at here, there are only two possible (maximal) foliations:

\n
\n
\n

\n

From such foliations we can reconstruct possible total orderings of individual events just by enumerating possible permutations of events within each slice of the foliation (i.e. within each simultaneity surface). But we only really need a total ordering of events if we’re going to apply one event at a time. Yet the whole point is that we can view spacelike-separated events as being “simultaneous”. Or, in other words, we can view our system as “evolving in time”, with each “time step” corresponding to a successive slice in the foliation.

\n

And with this setup, we can reconstruct states that exist at each time step—interspersed by updates that may involve several “simultaneous” (spacelike-separated) events. In the case of the two foliations above, the resulting sequences of (“reconstructed”) states and updates are respectively:

\n
\n
\n

\n

As a more complicated example, consider recursively evaluating the Fibonacci number f[3] as above. Now the possible (maximal) foliations are:

\n
\n
\n

\n

For each of these foliations we can then reconstruct an explicit “time series” of states, interspersed by “updates” involving varying numbers of events:

\n
\n
Click to enlarge
\n

\n

So where in all these is the standard evaluation order? Well, it’s not explicitly here—because it involves doing a single event at a time, while all the foliations here are “maximal” in the sense that they aggregate as many events as they can into each spacelike slice. But if we don’t impose this maximality constraint, are there foliations that in a sense “cover” the standard evaluation order? Without the maximality constraint, there turn out in the example we’re using to be not 10 but 1249 possible foliations. And there are 4 that “cover” the standard (“depth-first”) evaluation order (indicated by a dashed red line):

\n
\n
\n

\n

(Only the last foliation here, in which every “slice” is just a single event, can strictly reproduce the standard evaluation order, but the others are all still “consistent with it”.)

\n

In the standard evaluation process, only a single event is ever done at a time. But what if instead one tries to do as many events as possible at a time? Well, that’s what our “maximal foliations” above are about. But one particularly notable case is what corresponds to a breadth-first scan of the causal graph. And this turns out to be covered by the very last maximal foliation we showed above.

\n

How this works may not be immediately obvious from the picture. With our standard layout for the causal graph, the path corresponding to the breadth-first scan is:

\n
\n
\n

\n

But if we lay out the causal graph differently, the path takes on the much-more-obviously-breadth-first form:

\n
\n
\n

\n

And now using this layout for the various configurations of foliations above we get:

\n
\n
\n

\n

We can think of different layouts for the causal graph as defining different “coordinatizations of spacetime”. If the vertical direction is taken to be time, and the horizontal direction space, then different layouts in effect place events at different positions in time and space. And with the layout here, the last foliation above is “flat”, in the sense that successive slices of the foliation can be thought of as directly corresponding to successive “steps in time”.

\n

In physics terms, different foliations correspond to different “reference frames”. And the “flat” foliation can be thought of as being like the cosmological rest frame, in which the observer is “at rest with respect to the universe”. In terms of states and events, we can also interpret this another way: we can say it’s the foliation in which in some sense the “largest possible number of events are being packed in at each step”. Or, more precisely, if at each step we scan from left to right, we’re doing every successive event that doesn’t overlap with events we’ve already done at this step:

\n
\n
\n

\n

And actually this also corresponds to what happens if, instead of using the built-in standard evaluator, we explicitly tell the Wolfram Language to repeatedly do replacements in expressions. To compare with what we’ve done above, we have to be a little careful in our definitions, using ⊕ and ⊖ as versions of + and – that have to get explicitly evaluated by other rules. But having done this, we get exactly the same sequence of “intermediate expressions” as in the flat (i.e. “breadth-first”) foliation above:

\n
\n
\n

\n

In general, different foliations can be thought of as specifying different “event-selection functions” to be applied to determine what events should occur at the next steps from any given state. At one extreme we can pick single-event-at-a-time event selection functions—and at the other extreme we can pick maximum-events-at-a-time event selection functions. In our Physics Project we have called the states obtained by applying maximal collections of events at a time “generational states”. And in effect these states represent the typical way we parse physical “spacetime”—in which we take in “all of space” at every successive moment of time. At a practical level the reason we do this is that the speed of light is somehow fast compared to the operation of our brains: if we look at our local surroundings (say the few hundred meters around us), light from these will reach us in a microsecond, while it takes our brains milliseconds to register what we’re seeing. And this makes it reasonable for us to think of there being an “instantaneous state of space” that we can perceive “all at once” at each particular “moment in time”.

\n

But what’s the analog of this when it comes to expression evaluation? We’ll discuss this a little more later. But suffice it to say here that it depends on who or what the “observer” of the process of evaluation is supposed to be. If we’ve got different elements of our states laid out explicitly in arrays, say in a GPU, then we might again “perceive all of space at once”. But if, for example, the data associated with states is connected through chains of pointers in memory or the like, and we “observe” this data only when we explicitly follow these pointers, then our perception won’t as obviously involve something we can think of as “bulk space”. But by thinking in terms of foliations (or reference frames) as we have here, we can potentially fit what’s going on into something like space, that seems familiar to us. Or, put another way, we can imagine in effect “programming in a certain reference frame” in which we can aggregate multiple elements of what’s going on into something we can consider as an analog of space—thereby making it familiar enough for us to understand and reason about.

\n

Multiway Evaluation and Multiway Graphs

\n

We can view everything we’ve done so far as dissecting and reorganizing the standard evaluation process. But let’s say we’re just given certain underlying rules for transforming expressions—and then we apply them in all possible ways. It’ll give us a “multiway” generalization of evaluation—in which instead of there being just one path of history, there are many. And in our Physics Project, this is exactly how the transition from classical to quantum physics works. And as we proceed here, we’ll see a close correspondence between multiway evaluation and quantum processes.

\n

But let’s start again with our expression (1 + (2 + 2)) + (3 + 4), and consider all possible ways that individual integer addition “events” can be applied to evaluate this expression. In this particular case, the result is pretty simple, and can be represented by a tree that branches in just two places:

\n
\n
\n

\n

But one thing to notice here is that even at the first step there’s an event that we’ve never seen before. It’s something that’s possible if we apply integer addition in all possible places. But when we start from the standard evaluation process, the basic event just never appears with the “expression context” we’re seeing it in here.

\n

Each branch in the tree above in some sense represents a different “path of history”. But there’s a certain redundancy in having all these separate pathsbecause there are multiple instances of the same expression that appear in different places. And if we treat these as equivalent and merge them we now get:

\n
\n
\n

\n

(The question of “state equivalence” is a subtle one, that ultimately depends on the operation of the observer, and how the observer constructs their perception of what’s going on. But for our purposes here, we’ll treat expressions as equivalent if they are structurally the same, i.e. every instance of or of 5 is “the same” or 5.)

\n

If we now look only at states (i.e. expressions) we’ll get a multiway graph, of the kind that’s appeared in our Physics Project and in many applications of concepts from it:

\n
\n
\n

\n

This graph in a sense gives a succinct summary of possible paths of history, which here correspond to possible evaluation paths. The standard evaluation process corresponds to a particular path in this multiway graph:

\n
\n
\n

\n

What about a more complicated case? For example, what is the multiway graph for our recursive computation of Fibonacci numbers? As we’ll discuss at more length below, in order to make sure every branch of our recursive evaluation terminates, we have to give a slightly more careful definition of our function f:

\n
\n
\n

\n

But now here’s the multiway tree for the evaluation of f[2]:

\n
\n
\n

\n

And here’s the corresponding multiway graph:

\n
\n
\n

\n

The leftmost branch in the multiway tree corresponds to the standard evaluation process; here’s the corresponding path in the multiway graph:

\n
\n
\n

\n

Here’s the structure of the multiway graph for the evaluation of f[3]:

\n
\n
\n

\n

Note that (as we’ll discuss more later) all the possible evaluation paths in this case lead to the same final expression, and in fact in this particular example all the paths are of the same length (12 steps, i.e. 12 evaluation events).

\n

In the multiway graphs we’re drawing here, every edge in effect corresponds to an evaluation event. And we can imagine setting up foliations in the multiway graph that divide these events into slices. But what is the significance of these slices? When we did the same kind of thing above for causal graphs, we could interpret the slices as representing “instantaneous states laid out in space”. And by analogy we can interpret a slice in the multiway graph as representing “instantaneous states laid out across branches of history”. In the context of our Physics Project, we can then think of these slices as being like superpositions in quantum mechanics, or states “laid out in branchial space”. And, as we’ll discuss later, just as we can think of elements laid out in “space” as corresponding in the Wolfram Language to parts in a symbolic expression (like a list, a sum, etc.), so now we’re dealing with a new kind of way of aggregating states across branchial space, that has to be represented with new language constructs.

\n

But let’s return to the very simple case of (1 + (2 + 2)) + (3 + 4). Here’s a more complete representation of the multiway evaluation process in this case, including both all the events involved, and the causal relations between them:

\n
\n
\n

\n

The “single-way” evaluation process we discussed above uses only part of this:

\n
\n
\n

\n

And from this part we can pull out the causal relations between events to reproduce the (“single-way”) causal graph we had before. But what if we pull out all the causal relations in our full graph?

\n
\n
\n

\n

What we then have is the multiway causal graph. And from foliations of this, we can construct possible histories—though now they’re multiway histories, with the states at particular time steps now being what amount to superposition states.

\n

In the particular case we’re showing here, the multiway causal graph has a very simple structure, consisting essentially just of a bunch of isomorphic pieces. And as we’ll see later, this is an inevitable consequence of the nature of the evaluation we’re doing here, and its property of causal invariance (and in this case, confluence).

\n

Branchlike Separation

\n

Although what we’ve discussed has already been somewhat complicated, there’s actually been a crucial simplifying assumption in everything we’ve done. We’ve assumed that different transformations on a given expression can never apply to the same part of the expression. Different transformations can apply to different parts of the same expression (corresponding to spacelike-separated evaluation events). But there’s never been a “conflict” between transformations, where multiple transformations can apply to the same part of the same expression.

\n

So what happens if we relax this assumption? In effect it means that we can generate different “incompatible” branches of history—and we can characterize the events that produce this as “branchlike separated”. And when such branchlike-separated events are applied to a given state, they’ll produce multiple states which we can characterize as “separated in branchial space”, but nevertheless correlated as a result of their “common ancestry”—or, in quantum mechanics terms, “entangled”.

\n

As a very simple first example, consider the rather trivial function f defined by

\n
\n
\n

\n

If we evaluate f[f[0]] (for any f) there are immediately two “conflicting” branches: one associated with evaluation of the “outer f”, and one with evaluation of the “inner f”:

\n
\n
\n

\n

We can indicate branchlike-separated pairs of events by a dashed line:

\n
\n
\n

\n

Adding in causal edges, and merging equivalent states, we get:

\n
\n
\n

\n

We see that some events are causally related. The first two events are not—but given that they involve overlapping transformations they are “branchially related” (or, in effect, entangled).

\n

Evaluating the expression f[f[0]+1] gives a more complicated graph, with two different instances of branchlike-separated events:

\n
\n
\n

\n

Extracting the multiway states graph we get

\n
\n
\n

\n

where now we have indicated “branchially connected” states by pink “branchial edges”. Pulling out only these branchial edges then gives the (rather trivial) branchial graph for this evaluation process:

\n
\n
\n

\n

There are many subtle things going on here, particularly related to the treelike structure of expressions. We’ve talked about separations between events: timelike, spacelike and branchlike. But what about separations between elements of an expression? In something like {f[0], f[0], f[0]} it’s reasonable to extend our characterization of separations between events, and say that the f[0]’s in the expression can themselves be considered spacelike separated. But what about in something like f[f[0]]? We can say that the f[_]’s here “overlap”—and “conflict” when they are transformed—making them branchlike separated. But the structure of the expression also inevitably makes them “treelike separated”. We’ll see later how to think about the relation between treelike-separated elements in more fundamental terms, ultimately using hypergraphs. But for now an obvious question is what in general the relation between branchlike-separated elements can be.

\n

And essentially the answer is that branchlike separation has to “come with” some other form of separation: spacelike, treelike, rulelike, etc. Rulelike separation involves having multiple rules for the same object (e.g. a rule as well as )—and we’ll talk about this later. With spacelike separation, we basically get branchlike separation when subexpressions “overlap”. This is fairly subtle for tree-structured expressions, but is much more straightforward for strings, and indeed we have discussed this case extensively in connection with our Physics Project.

\n

Consider the (rather trivial) string rewriting rule:

\n
\n
\n

\n

Applying this rule to AAAAAA we get:

\n
\n
\n

\n

Some of the events here are purely spacelike separated, but whenever the characters they involve overlap, they are also branchlike separated (as indicated by the dashed pink lines). Extracting the multiway states graph we get:

\n
\n
\n

\n

And now we get the following branchial graph:

\n
\n
\n

\n

So how can we see analogs in expression evaluation? It turns out that combinators provide a good example (and, yes, it’s quite remarkable that we’re using combinators here to help explain something—given that combinators almost always seem like the most obscure and difficult-to-explain things around). Define the standard S and K combinators:

\n
\n
\n

\n
\n
\n

\n

Now we have for example

\n
\n
\n

\n

where there are many spacelike-separated events, and a single pair of branchlike + treelike-separated ones. With a slightly more complicated initial expression, we get the rather messy result

\n
\n
\n

\n

now with many branchlike-separated states:

\n
\n
\n

\n

Rather than using the full standard S, K combinators, we can consider a simpler combinator definition:

\n
\n
\n

\n

Now we have for example

\n
\n
\n

\n

where the branchial graph is

\n
\n
\n

\n

and the multiway causal graph is:

\n
\n
\n

\n

The expression f[f[f][f]][f] gives a more complicated multiway graph

\n
\n
\n

\n

and branchial graph:

\n
\n
\n

\n

Interpretations, Analogies and the Concept of Multi

\n

Before we started talking about branchlike separation, the only kinds of separation we considered were timelike and spacelike. And in this case we were able to take the causal graphs we got, and set up foliations of them where each slice could be thought of as representing a sequential step in time. In effect, what we were doing was to aggregate things so that we could talk about what happens in “all of space” at a particular time.

\n

But when there’s branchlike separation we can no longer do this. Because now there isn’t a single, consistent “configuration of all of space” that can be thought of as evolving in a single thread through time. Rather, there are “multiple threads of history” that wind their way through the branchings (and mergings) that occur in the multiway graph. One can make foliations in the multiway graph—much like one does in the causal graph. (More strictly, one really needs to make the foliations in the multiway causal graph—but these can be “inherited” by the multiway graph.)

\n

In physics terms, the (single-way) causal graph can be thought of as a discrete version of ordinary spacetime—with a foliation of it specifying a “reference frame” that leads to a particular identification of what one considers space, and what time. But what about the multiway causal graph? In effect, we can imagine that it defines a new, branchial “direction”, in addition to the spatial direction. Projecting in this branchial direction, we can then think of getting a kind of branchial analog of spacetime that we can call branchtime. And when we construct the multiway graph, we can basically imagine that it’s a representation of branchtime.

\n

A particular slice of a foliation of the (single-way) causal graph can be thought of as corresponding to an “instantaneous state of (ordinary) space”. So what does a slice in a foliation of the multiway graph represent? It’s effectively a branchial or multiway combination of states—a collection of states that can somehow all exist “at the same time”. And in physics terms we can interpret it as a quantum superposition of states.

\n

But how does all this work in the context of expressions? The parts of a single expression like a + b + c + d or {a, b, c, d} can be thought of being spacelike separated, or in effect “laid out in space”. But what kind of a thing has parts that are “laid out in branchial space”? It’s a new kind of fundamentally multiway construct. We’re not going to explore it too much here, but in the Wolfram Language we might in future call it Multi. And just as {a, b, c, d} (or List[a, b, c, d]) can be thought of as representing a, b, c, d “laid out in space”, so now Multi[a, b, c, d] would represent a, b, c, d “laid out branchial space”.

\n

In ordinary evaluation, we just generate a specific sequence of individual expressions. But in multiway evaluation, we can imagine that we generate a sequence of Multi objects. In the examples we’ve seen so far, we always eventually get a Multi containing just a single expression. But we’ll soon find out that that’s not always how things work, and we can perfectly well end up with a Multi containing multiple expressions.

\n

So what might we do with a Multi? In a typical “nondeterministic computation” we probably want to ask: “Does the Multi contain some particular expression or pattern that we’re looking for?” If we imagine that we’re doing a “probabilistic computation” we might want to ask about the frequencies of different kinds of expressions in the Multi. And if we’re doing quantum computation with the normal formalism of quantum mechanics, we might want to tag the elements of the Multi with “quantum amplitudes” (that, yes, in our model presumably have magnitudes determined by path counting in the multiway graph, and phases representing the “positions of elements in branchial space”). And in a traditional quantum measurement, the concept would typically be to determine a projection of a Multi, or in effect an inner product of Multi objects. (And, yes, if one knows only that projection, it’s not going to be enough to let one unambiguously continue the “multiway computation”; the quantum state has in effect been “collapsed”.)

\n

Is There Always a Definite Result?

\n

For an expression like (1 + (2 + 2)) + (3 + 4) it doesn’t matter in what order one evaluates things; one always gets the same result—so that the corresponding multiway graph leads to just a single final state:

\n
\n
\n

\n

But it’s not always true that there’s a single final state. For example, with the definitions

\n
\n
\n

\n
\n
\n

\n

standard evaluation in the Wolfram Language gives the result 0 for f[f[0]] but the full multiway graph shows that (with a different evaluation order) it’s possible instead to get the result g[g[0]]:

\n
\n
\n

\n

And in general when a certain collection of rules (or definitions) always leads to just a single result, one says that the collection of rules is confluent; otherwise it’s not. Pure arithmetic turns out to be confluent. But there are plenty of examples (e.g. in string rewriting) that are not. Ultimately a failure of confluence must come from the presence of branchlike separation—or in effect a conflict between behavior on two different branches. And so in the example above we see that there are branchlike-separated “conflicting” events that never resolve—yielding two different final outcomes:

\n
\n
\n

\n

As an even simpler example, consider the definitions and . In the Wolfram Language these definitions immediately overwrite each other. But assume they could both be applied (say through explicit , rules). Then there’s a multiway graph with two “unresolved” branches—and two outcomes:

\n
\n
\n

\n

For string rewriting systems, it’s easy to enumerate possible rules. The rule

\n
\n
\n

\n

(that effectively sorts the elements in the string) is confluent:

\n
\n
\n

\n

But the rule

\n
\n
\n

\n

is not confluent

\n
\n
\n

\n

and “evaluates” BABABA to four distinct outcomes:

\n
\n
\n

\n

These are all cases where “internal conflicts” lead to multiple different final results. But another way to get different results is through “side effects”. Consider first setting x = 0 then evaluating {x = 1, x + 1}:

\n
\n
\n

\n

If the order of evaluation is such that x + 1 is evaluated before x = 1 it will give 1, otherwise it will give 2, leading to the two different outcomes {1, 1} and {1, 2}. In some ways this is like the example above where we had two distinct rules: and . But there’s a difference. While explicit rules are essentially applied only “instantaneously”, an assignment like x = 1 has a “permanent” effect, at least until it is “overwritten” by another assignment. In an evaluation graph like the one above we’re showing particular expressions generated during the evaluation process. But when there are assignments, there’s an additional “hidden state” that in the Wolfram Language one can think of as corresponding to the state of the global symbol table. If we included this, then we’d again see rules that apply “instantaneously”, and we’d be able to explicitly trace causal dependencies between events. But if we elide it, then we effectively hide the causal dependence that’s “carried” by the state of the symbol table, and the evaluation graphs we’ve been drawing are necessarily somewhat incomplete.

\n

Computations That Never End

\n

The basic operation of the Wolfram Language evaluator is to keep doing transformations until the result no longer changes (or, in other words, until a fixed point is reached). And that’s convenient for being able to “get a definite answer”. But it’s rather different from what one usually imagines happens in physics. Because in that case we’re typically dealing with things that just “keep progressing through time”, without ever getting to any fixed point. (“Spacetime singularities”, say in black holes, do for example involve reaching fixed points where “time has come to an end”.)

\n

But what happens in the Wolfram Language if we just type , without giving any value to ? The Wolfram Language evaluator will keep evaluating this, trying to reach a fixed point. But it’ll never get there. And in practice it’ll give a message, and (at least in Version 13.3 and above) return a TerminatedEvaluation object:

\n
\n
\n

\n

What’s going on inside here? If we look at the evaluation graph, we can see that it involves an infinite chain of evaluation events, that progressively “extrude” +1’s:

\n
\n
\n

\n

A slightly simpler case (that doesn’t raise questions about the evaluation of Plus) is to consider the definition

\n
\n
\n

\n

which has the effect of generating an infinite chain of progressively more “f-nested” expressions:

\n
\n
\n

\n

Let’s say we define two functions:

\n
\n
\n

\n
\n
\n

\n

Now we don’t just get a simple chain of results; instead we get an exponentially growing multiway graph:

\n
\n
\n

\n

In general, whenever we have a recursive definition (say of f in terms of f or x in terms of x) there’s the possibility of an infinite process of evaluation, with no “final fixed point”. There are of course specific cases of recursive definitions that always terminate—like the Fibonacci example we gave above. And indeed when we’re dealing with so-called “primitive recursion” this is how things inevitably work: we’re always “systematically counting down” to some defined base case (say f[1] = 1).

\n

When we look at string rewriting (or, for that matter, hypergraph rewriting), evolution that doesn’t terminate is quite ubiquitous. And in direct analogy with, for example, the string rewriting rule ABBB, BBA we can set up the definitions

\n
\n
\n

\n
\n
\n

\n

and then the (infinite) multiway graph begins:

\n
\n
\n

\n

One might think that the possibility of evaluation processes that don’t terminate would be a fundamental problem for a system set up like the Wolfram Language. But it turns out that in current normal usage one basically never runs into the issue except by mistake, when there’s a bug in one’s program.

\n

Still, if one explicitly wants to generate an infinite evaluation structure, it’s not hard to do so. Beyond one can define

\n
\n
\n

\n

and then one gets the multiway graph

\n
\n
\n

\n

which has CatalanNumber[t] (or asymptotically ~4t) states at layer t.

\n

Another “common bug” form of non-terminating evaluation arises when one makes a primitive-recursion-style definition without giving a “boundary condition”. Here, for example, is the Fibonacci recursion without f[0] and f[1] defined:

\n
\n
\n

\n

And in this case the multiway graph is infinite

\n
\n
\n

\n

with ~2t states at layer t.

\n

But consider now the “unterminated factorial recursion”

\n
\n
\n

\n

On its own, this just leads to a single infinite chain of evaluation

\n
\n
\n

\n

but if we add the explicit rule that multiplying anything by zero gives zero (i.e. 0 _ → 0) then we get

\n
\n
\n

\n

in which there’s a “zero sink” in addition to an infinite chain of f[–n] evaluations.

\n

Some definitions have the property that they provably always terminate, though it may take a while. An example is the combinator definition we made above:

\n
\n
\n

\n

Here’s the multiway graph starting with f[f[f][f]][f], and terminating in at most 10 steps:

\n
\n
\n

\n

Starting with f[f[f][f][f][f]][f] the multiway graph becomes

\n
\n
\n

\n

but again the evaluation always terminates (and gives a unique result). In this case we can see why this happens: at each step f[x_][y_] effectively “discards ”, thereby “fundamentally getting smaller”, even as it “puffs up” by making three copies of .

\n

But if instead one uses the definition

\n
\n
\n

\n

things get more complicated. In some cases, the multiway evaluation always terminates

\n
\n
\n

\n

while in others, it never terminates:

\n
\n
\n

\n

But then there are cases where there is sometimes termination, and sometimes not:

\n
\n
\n

\n

In this particular case, what’s happening is that evaluation of the first argument of the “top-level f” never terminates, but if the top-level f is evaluated before its arguments then there’s immediate termination. Since the standard Wolfram Language evaluator evaluates arguments first (“leftmost-innermost evaluation”), it therefore won’t terminate in this case—even though there are branches in the multiway evaluation (corresponding to “outermost evaluation”) that do terminate.

\n

Transfinite Evaluation

\n

If a computation reaches a fixed point, we can reasonably say that that’s the “result” of the computation. But what if the computation goes on forever? Might there still be some “symbolic” way to represent what happens—that for example allows one to compare results from different infinite computations?

\n

In the case of ordinary numbers, we know that we can define a “symbolic infinity” ∞ (Infinity in Wolfram Language) that represents an infinite number and has all the obvious basic arithmetic properties:

\n
\n
\n

\n

But what about infinite processes, or, more specifically, infinite multiway graphs? Is there some useful symbolic way to represent such things? Yes, they’re all “infinite”. But somehow we’d like to distinguish between infinite graphs of different forms, say:

\n
\n
\n

\n

And already for integers, it’s been known for more than a century that there’s a more detailed way to characterize infinities than just referring to them all as ∞: it’s to use the idea of transfinite numbers. And in our case we can imagine successively numbering the nodes in a multiway graph, and seeing what the largest number we reach is. For an infinite graph of the form

\n
\n
\n

\n

(obtained say from x = x + 1 or x = {x}) we can label the nodes with successive integers, and we can say that the “largest number reached” is the transfinite ordinal ω.

\n

A graph consisting of two infinite chains is then characterized by 2ω, while an infinite 2D grid is characterized by ω2, and an infinite binary tree is characterized by 2ω.

\n

What about larger numbers? To get to ωω we can use a rule like

\n
\n
\n

\n

that effectively yields a multiway graph that corresponds to a tree in which successive layers have progressively larger numbers of branches:

\n
\n
\n

\n

One can think of a definition like x = x + 1 as setting up a “self-referential data structure”, whose specification is finite (in this case essentially a loop), and where the infinite evaluation process arises only when one tries to get an explicit value out of the structure. More elaborate recursive definitions can’t, however, readily be thought of as setting up straightforward self-referential data structures. But they still seem able to be characterized by transfinite numbers.

\n

In general many multiway graphs that differ in detail will be associated with a given transfinite number. But the expectation is that transfinite numbers can potentially provide robust characterizations of infinite evaluation processes, with different constructions of the “same evaluation” able to be identified as being associated with the same canonical transfinite number.

\n

Most likely, definitions purely involving pattern matching won’t be able to generate infinite evaluations beyond ε0 = ωωω...—which is also the limit of where one can reach with proofs based on ordinary induction, Peano Arithmetic, etc. It’s perfectly possible to go further—but one needs to explicitly use functions like NestWhile etc. in the definitions that are given.

\n

And there’s another issue as well: given a particular set of definitions, there’s no limit to how difficult it can be to determine the ultimate multiway graph that’ll be produced. In the end this is a consequence of computational irreducibility, and of the undecidability of the halting problem, etc. And what one can expect in the end is that some infinite evaluation processes one will be able to prove can be characterized by particular transfinite numbers, but others one won’t be able to “tie down” in this way—and in general, as computational irreducibility might suggest, won’t ever allow one to give a “finite symbolic summary”.

\n

The Question of the Observer

\n

One of the key lessons of our Physics Project is the importance of the character of the observer in determining what one “takes away” from a given underlying system. And in setting up the evaluation process—say in the Wolfram Language—the typical objective is to align with the way human observers expect to operate. And so, for example, one normally expects that one will give an expression as input, then in the end get an expression as output. The process of transforming input to output is analogous to the doing of a calculation, the answering of a question, the making of a decision, the forming of a response in human dialog, and potentially the forming of a thought in our minds. In all of these cases, we treat there as being a certain “static” output.

\n

It’s very different from the way physics operates, because in physics “time always goes on”: there’s (essentially) always another step of computation to be done. In our usual description of evaluation, we talk about “reaching a fixed point”. But an alternative would be to say that we reach a state that just repeats unchanged forever—but we as observers equivalence all those repeats, and think of it as having reached a single, unchanging state.

\n

Any modern practical computer also fundamentally works much more like physics: there are always computational operations going on—even though those operations may end up, say, continually putting the exact same pixel in the same place on the screen, so that we can “summarize” what’s going on by saying that we’ve reached a fixed point.

\n

There’s much that can be done with computations that reach fixed points, or, equivalently with functions that return definite values. And in particular it’s straightforward to compose such computations or functions, continually taking output and then feeding it in as input. But there’s a whole world of other possibilities that open up once one can deal with infinite computations. As a practical matter, one can treat such computations “lazily”—representing them as purely symbolic objects from which one can derive particular results if one explicitly asks to do so.

\n

One kind of result might be of the type typical in logic programming or automated theorem proving: given a potentially infinite computation, is it ever possible to reach a specified state (and, if so, what is the path to do so)? Another type of result might involve extracting a particular “time slice” (with some choice of foliation), and in general representing the result as a Multi. And still another type of result (reminiscent of “probabilistic programming”) might involve not giving an explicit Multi, but rather computing certain statistics about it.

\n

And in a sense, each of these different kinds of results can be thought of as what’s extracted by a different kind of observer, who is making different kinds of equivalences.

\n

We have a certain typical experience of the physical world that’s determined by features of us as observers. For example, as we mentioned above, we tend to think of “all of space” progressing “together” through successive moments of time. And the reason we think this is that the regions of space we typically see around us are small enough that the speed of light delivers information on them to us in a time that’s short compared to our “brain processing time”. If we were bigger or faster, then we wouldn’t be able to think of what’s happening in all of space as being “simultaneous” and we’d immediately be thrust into issues of relativity, reference frames, etc.

\n

And in the case of expression evaluation, it’s very much the same kind of thing. If we have an expression laid out in computer memory (or across a network of computers), then there’ll be a certain time to “collect information spatially from across the expression”, and a certain time that can be attributed to each update event. And the essence of array programming (and much of the operation of GPUs) is that one can assume—like in the typical human experience of physical space—that “all of space” is being updated “together”.

\n

But in our analysis above, we haven’t assumed this, and instead we’ve drawn causal graphs that explicitly trace dependencies between events, and show which events can be considered to be spacelike separated, so that they can be treated as “simultaneous”.

\n

We’ve also seen branchlike separation. In the physics case, the assumption is that we as observers sample in an aggregated way across extended regions in branchial space—just as we do across extended regions in physical space. And indeed the expectation is that we encounter what we describe as “quantum effects” precisely because we are of limited extent in branchial space.

\n

In the case of expression evaluation, we’re not used to being extended in branchial space. We typically imagine that we’ll follow some particular evaluation path (say, as defined by the standard Wolfram Language evaluator), and be oblivious to other paths. But, for example, strategies like speculative execution (typically applied at the hardware level) can be thought of as representing extension in branchial space.

\n

And at a theoretical level, one certainly thinks of different kinds of “observations” in branchial space. In particular, there’s nondeterministic computation, in which one tries to identify a particular “thread of history” that reaches a given state, or a state with some property one wants.

\n

One crucial feature of observers like us is that we are computationally bounded—which puts limitations on the kinds of observations we can make. And for example computational irreducibility then limits what we can immediately know (and aggregate) about the evolution of systems through time. And similarly multicomputational irreducibility limits what we can immediately know (and aggregate) about how systems behave across branchial space. And insofar as any computational devices we build in practice must be ones that we as observers can deal with, it’s inevitable that they’ll be subject to these kinds of limitations. (And, yes, in talking about quantum computers there tends to be an implicit assumption that we can in effect overcome multicomputational irreducibility, and “knit together” all the different computational paths of history—but it seems implausible that observers like us can actually do this, or can in general derive definite results without expending computationally irreducible effort.)

\n

One further small comment about observers concerns what in physics are called closed timelike curves—essentially loops in time. Consider the definition:

\n
\n
\n

\n

This gives for example the multiway graph:

\n
\n
\n

\n

One can think of this as connecting the future to the past—something that’s sometimes interpreted as “allowing time travel”. But really this is just a more (time-)distributed version of a fixed point. In a fixed point, a single state is constantly repeated. Here a sequence of states (just two in the example given here) get visited repeatedly. The observer could treat these states as continually repeating in a cycle, or could coarse grain and conclude that “nothing perceptible is changing”.

\n

In spacetime we think of observers as making particular choices of simultaneity surfaces—or in effect picking particular ways to “parse” the causal graph of events. In branchtime the analog of this is that observers pick how to parse the multiway graph. Or, put another way, observers get to choose a path through the multiway graph, corresponding to a particular evaluation order or evaluation scheme. In general, there is a tradeoff between the choices made by the observer, and the behavior generated by applying the rules of the system.

\n

But if the observer is computationally bounded, they cannot overcome the computational irreducibility—or multicomputational irreducibility—of the behavior of the system. And as a result, if there is complexity in the detailed behavior of the system, the observer will not be able to avoid it at a detailed level by the choices they make. Though a critical idea of our Physics Project is that by appropriate aggregation, the observer will detect certain aggregate features of the system, that have robust characteristics independent of the underlying details. In physics, this represents a bulk theory suitable for the perception of the universe by observers like us. And presumably there is an analog of this in expression evaluation. But insofar as we’re only looking at the evaluation of expressions we’ve engineered for particular computational purposes, we’re not yet used to seeing “generic bulk expression evaluation”.

\n

But this is exactly what we’ll see if we just go out and run “arbitrary programs”, say found by enumerating certain classes of programs (like combinators or multiway Turing machines). And for observers like us these will inevitably “seem very much like physics”.

\n

The Tree Structure of Expressions

\n

Although we haven’t talked about this so far, any expression fundamentally has a tree structure. So, for example, (1 + (2 + 2)) + (3 + 4) is represented—say internally in the Wolfram Language—as the tree:

\n
\n
\n

\n

So how does this tree structure interact with the process of evaluation? In practice it means for example that in the standard Wolfram Language evaluator there are two different kinds of recursion going on. The first is the progressive (“timelike”) reevaluation of subexpressions that change during evaluation. And the second is the (“spacelike” or “treelike”) scanning of the tree.

\n

In what we’ve discussed above, we’ve focused on evaluation events and their relationships, and in doing so we’ve concentrated on the first kind of recursion—and indeed we’ve often elided some of the effects of the second kind by, for example, immediately showing the result of evaluating Plus[2, 2] without showing more details of how this happens.

\n

But here now is a more complete representation of what’s going on in evaluating this simple expression:

\n
\n
\n

\n

The solid gray lines in this “trace graph” indicate the subparts of the expression tree at each step. The dashed gray lines indicate how these subparts are combined to make expressions. And the red lines indicate actual evaluation events where rules (either built in or specified by definitions) are applied to expressions.

\n

It’s possible to read off things like causal dependence between events from the trace graph. But there’s a lot else going on. Much of it is at some level irrelevant—because it involves recursing into parts of the expression tree (like the head Plus) where no evaluation events occur. Removing these parts we then get an elided trace graph in which for example the causal dependence is clearer:

\n
\n
\n

\n

Here’s the trace graph for the evaluation of f[5] with the standard recursive Fibonacci definition

\n
\n
\n

\n

and here’s its elided form:

\n
\n
\n

\n

At least when we discussed single-way evaluation above, we mostly talked about timelike and spacelike relations between events. But with tree-structured expressions there are also treelike relations.

\n

Consider the rather trivial definition

\n
\n
\n

\n

and look at the multiway graph for the evaluation of f[f[0]]:

\n
\n
\n

\n

What is the relation between the event on the left branch, and the top event on the right branch? We can think of them as being treelike separated. The event on the left branch transforms the whole expression tree. But the event on the right branch just transforms a subexpression.

\n

Spacelike-separated events affect disjoint parts in an expression (i.e. ones on distinct branches of the expression tree). But treelike-separated events affect nested parts of an expression (i.e. ones that appear on a single branch in the expression tree). Inevitably, treelike-separated events also have a kind of one-way branchlike separation: if the “higher event” in the tree happens, the “lower one” cannot.

\n

In terms of Wolfram Language part numbers, spacelike-separated events affect parts with disjoint numbers, say {2, 5} and {2, 8}. But treelike-separated events affect parts with overlapping sequences of part numbers, say {2} and {2, 5} or {2, 5} and {2, 5, 1}.

\n

In our Physics Project there’s nothing quite like treelike relations built in. The “atoms of space” are related by a hypergraph—without any kind of explicit hierarchical structure. The hypergraph can take on what amounts to a hierarchical structure, but the fundamental transformation rules won’t intrinsically take account of this.

\n

The hierarchical structure of expressions is incredibly important in their practical use—where it presumably leverages the hierarchical structure of human language, and of ways we talk about the world:

\n
\n
\n

\n

We’ll see soon below that we can in principle represent expressions without having hierarchical structure explicitly built in. But in almost all uses of expressions—say in Wolfram Language—we end up needing to have hierarchical structure.

\n

If we were only doing single-way evaluation the hierarchical structure of expressions would be important in determining the order of evaluation to be used, but it wouldn’t immediately enmesh with core features of the evaluation process. But in multiway evaluation “higher” treelike-separated events can in effect cut off the evaluation histories of “lower” ones—and so it’s inevitably central to the evaluation process. For spacelike- and branchlike-separated events, we can always choose different reference frames (or different spacelike or branchlike surfaces) that arrange the events differently. But treelike-separated events—a little like timelike-separated ones—have a certain forced relationship that cannot be affected by an observer’s choices.

\n

Grinding Everything Down to Hypergraphs

\n

To draw causal graphs—and in fact to do a lot of what we’ve done here—we need to know “what depends on what”. And with our normal setup for expressions this can be quite subtle and complicated. We apply the rule to to give the result . But does the a that “comes out” depend on the a that went in, or is it somehow something that’s “independently generated”? Or, more extremely, in a transformation like , to what extent is it “the same 1” that goes in and comes out? And how do these issues of dependence work when there are the kinds of treelike relations discussed in the previous section?

\n

The Wolfram Language evaluator defines how expressions should be evaluated—but doesn’t immediately specify anything about dependencies. Often we can look “after the fact” and deduce what “was involved” and what was not—and thus what should be considered to depend on what. But it’s not uncommon for it to be hard to know what to say—forcing one to make what seem likely arbitrary decisions. So is there any way to avoid this, and to set things up so that dependency becomes somehow “obvious”?

\n

It turns out that there is—though, perhaps not surprisingly, it comes with difficulties of its own. But the basic idea is to go “below expressions”, and to “grind everything down” to hypergraphs whose nodes are ultimate direct “carriers” of identity and dependency. It’s all deeply reminiscent of our Physics Project—and its generalization in the ruliad. Though in those cases the individual elements (or “emes” as we call them) exist far below the level of human perception, while in the hypergraphs we construct for expressions, things like symbols and numbers appear directly as emes.

\n

So how can we “compile” arbitrary expressions to hypergraphs? In the Wolfram Language something like a + b + c is the “full-form” expression

\n
\n
\n

\n

which corresponds to the tree:

\n
\n
\n

\n

And the point is that we can represent this tree by a hypergraph:

\n
\n
\n

\n

Plus, a, b and c appear directly as “content nodes” in the hypergraph. But there are also “infrastructure nodes” (here labeled with integers) that specify how the different pieces of content are “related”—here with a 5-fold hyperedge representing Plus with three arguments. We can write this hypergraph out in “symbolic form” as:

\n
\n
\n

\n

Let’s say instead we have the expression or Plus[a, Plus[b, c]], which corresponds to the tree:

\n
\n
\n

\n

We can represent this expression by the hypergraph

\n
\n
\n

\n

which can be rendered visually as:

\n
\n
\n

\n

What does evaluation do to such hypergraphs? Essentially it must transform collections of hyperedges into other collections of hyperedges. So, for example, when x_ + y_ is evaluated, it transforms a set of 3 hyperedges to a single hyperedge according to the rule:

\n
\n
\n

\n

(Here the list on the left-hand side represents three hyperedges in any order—and so is effectively assumed to be orderless.) In this rule, the literal Plus acts as a kind of key to determine what should happen, while the specific patterns define how the input and output expressions should be “knitted together”.

\n

So now let’s apply this rule to the expression 10 + (20 + 30). The expression corresponds to the hypergraph

\n
\n
\n

\n

where, yes, there are integers both as content elements, and as labels or IDs for “infrastructure nodes”. The rule operates on collections of hyperedges, always consuming 3 hyperedges, and generating 1. We can think of the hyperedges as “fundamental tokens”. And now we can draw a token-event graph to represent the evaluation process:

\n
\n
\n

\n

Here’s the slightly more complicated case of (10 + (20 + 20)) + (30 + 40):

\n
\n
\n

\n

But here now is the critical point. By looking at whether there are emes in common from one event to another, we can determine whether there is dependency between those events. Emes are in a sense “atoms of existence” that maintain a definite identity, and immediately allow one to trace dependency.

\n

So now we can fill in causal edges, with each edge labeled by the emes it “carries”:

\n
\n
\n

\n

Dropping the hyperedges, and adding in an initial “Big Bang” event, we get the (multiway) causal graph:

\n
\n
\n

\n

We should note that in the token-event graph, each expression has been “shattered” into its constituent hyperedges. Assembling the tokens into recognizable expressions effectively involves setting up a particular foliation of the token-event graph. But if we do this, we get a multiway graph expressed in terms of hypergraphs

\n
\n
\n

\n

or in visual form:

\n
\n
\n

\n

As a slightly more complicated case, consider the recursive computation of the Fibonacci number f[2]. Here is the token-event graph in this case:

\n
\n
\n

\n

And here is the corresponding multiway causal graph, labeled with the emes that “carry causality”:

\n
\n
\n

\n

Every kind of expression can be “ground down” in some way to hypergraphs. For strings, for example, it’s convenient to make a separate token out of every character, so that “ABBAAA” can be represented as:

\n
\n
\n

\n

It’s interesting to note that our hypergraph setup can have a certain similarity to machine-level representations of expressions, with every eme in effect corresponding to a pointer to a certain memory location. Thus, for example, in the representation of the string, the infrastructure emes define the pointer structure for a linked list—with the content emes being the “payloads” (and pointing to globally shared locations, like ones for A and B).

\n

Transformations obtained by applying rules can then be thought of as corresponding just to rearranging pointers. Sometimes “new emes” have to be created, corresponding to new memory being allocated. We don’t have an explicit way to “free” memory. But sometimes some part of the hypergraph will become disconnected—and one can then imagine disconnected pieces to which the observer is not attached being garbage collected.

\n

The Rulial Case

\n

So far we’ve discussed what happens in the evaluation of particular expressions according to particular rules (where those rules could just be all the ones that are built into Wolfram Language). But the concept of the ruliad suggests thinking about all possible computations—or, in our terms here, all possible evaluations. Instead of particular expressions, we are led to think about evaluating all possible expressions. And we are also led to think about using all possible rules for these evaluations.

\n

As one simple approach to this, instead of looking, for example, at a single combinator definition such as

\n
\n
\n

\n

used to evaluate a single expression such as

\n
\n
\n

\n

we can start enumerating all possible combinator rules

\n
\n
\n

\n

and apply them to evaluate all possible expressions:

\n
\n
\n

\n

Various new phenomena show up here. For example, there is now immediately the possibility of not just spacelike and branchlike separation, but also what we can call rulelike separation.

\n

In a trivial case, we could have rules like

\n
\n
\n

\n

and then evaluating x will lead to two events which we can consider rulelike separated:

\n
\n
\n

\n

In the standard Wolfram Language system, the definitions and x = b would overwrite each other. But if we consider rulial multiway evaluation, we’d have branches for each of these definitions.

\n

In what we’ve discussed before, we effectively allow evaluation to take infinite time, as well as infinite space and infinite branchial space. But now we’ve got the new concept of infinite rulial space. We might say from the outset that, for example, we’re going to use all possible rules. Or we might have what amounts to a dynamical process that generates possible rules.

\n

And the key point is that as soon as that process is in effect computation universal, there is a way to translate from one instance of it to another. Different specific choices will lead to a different basis—but in the end they’ll all eventually generate the full ruliad.

\n

And actually, this is where the whole concept of expression evaluation ultimately merges with fundamental physics. Because in both cases, the limit of what we’re doing will be exactly the same: the full ruliad.

\n

The Practical Computing Story

\n

The formalism we’ve discussed here—and particularly its correspondence with fundamental physics—is in many ways a new story. But it has precursors that go back more than a century. And indeed as soon as industrial processes—and production lines—began to be formalized, it became important to understand interdependencies between different parts of a process. By the 1920s flowcharts had been invented, and when digital computers were developed in the 1940s they began to be used to represent the “flow” of programs (and in fact Babbage had used something similar even in the 1840s). At first, at least as far as programming was concerned, it was all about the “flow of control”—and the sequence in which things should be done. But by the 1970s the notion of the “flow of data” was also widespread—in some ways reflecting back to actual flow of electrical signals. In some simple cases various forms of “visual programming”—typically based on connecting virtual wires—have been popular. And even in modern times, it’s not uncommon to talk about “computation graphs” as a way to specify how data should be routed in a computation, for example in sequences of operations on tensors (say for neural net applications).

\n

A different tradition—originating in mathematics in the late 1800s—involved the routine use of “abstract functions” like f(x). Such abstract functions could be used both “symbolically” to represent things, and explicitly to “compute” things. All sorts of (often ornate) formalism was developed in mathematical logic, with combinators arriving in 1920, and lambda calculus in 1935. By the late 1950s there was LISP, and by the 1970s there was a definite tradition of “functional programming” involving the processing of things by successive application of different functions.

\n

The question of what really depended on what became more significant whenever there was the possibility of doing computations in parallel. This was already being discussed in the 1960s, but became more popular in the early 1980s, and in a sense finally “went mainstream” with GPUs in the 2010s. And indeed our discussion of causal graphs and spacelike separation isn’t far away from the kind of thing that’s often discussed in the context of designing parallel algorithms and hardware. But one difference is that in those cases one’s usually imagining having a “static” flow of data and control, whereas here we’re routinely considering causal graphs, etc. that are being created “on the fly” by the actual progress of a computation.

\n

In many situations—with both algorithms and hardware—one has precise control over when different “events” will occur. But in distributed systems it’s also common for events to be asynchronous. And in such cases, it’s possible to have “conflicts”, “race conditions”, etc. that correspond to branchlike separation. There have been various attempts—many originating in the 1970s—to develop formal “process calculi” to describe such systems. And in some ways what we’re doing here can be seen as a physics-inspired way to clarify and extend these kinds of approaches.

\n

The concept of multiway systems also has a long history—notably appearing in the early 1900s in connection with game graphs, formal group theory and various problems in combinatorics. Later, multiway systems would implicitly show up in considerations of automated theorem proving and nondeterministic computation. In practical microprocessors it’s been common for a decade or so to do “speculative execution” where multiple branches in code are preemptively followed, keeping only the one that’s relevant given actual input received.

\n

And when it comes to branchlike separation, a notable practical example arises in version control and collaborative editing systems. If a piece of text has changes at two separated places (“spacelike separation”), then these changes (“diffs”) can be applied in any order. But if these changes involve the same content (e.g. same characters) then there can be a conflict (“merge conflict”) if one tries to apply the changes—in effect reflecting the fact that these changes were made by branchlike-separated “change events” (and to trace them requires creating different “forks” or what we might call different histories).

\n

It’s perhaps worth mentioning that as soon as one has the concept of an “expression” one is led to the concept of “evaluation”—and as we’ve seen many times here, that’s even true for arithmetic expressions, like 1 + (2 + 3). We’ve been particularly concerned with questions about “what depends on what” in the process of evaluation. But in practice there’s often also the question of when evaluation happens. The Wolfram Language, for example, distinguishes between “immediate evaluation” done when a definition is made, and “delayed evaluation” done when it’s used. There’s also lazy evaluation where what’s immediately generated is a symbolic representation of the computation to be done—with steps or pieces being explicitly computed only later, when they are requested.

\n

But what really is “evaluation”? If our “input expression” is 1 + 1, we typically think of this as “defining a computation that can be done”. Then the idea of the “process of evaluation” is that it does that computation, deriving a final “value”, here 2. And one view of the Wolfram Language is that its whole goal is to set up a collection of transformations that do as many computations that we know how to do as possible. Some of those transformations effectively incorporate “factual knowledge” (like knowledge of mathematics, or chemistry, or geography). But some are more abstract, like transformations defining how to do transformations, say on patterns.

\n

These abstract transformations are in a sense the easiest to trace—and often above that’s what we’ve concentrated on. But usually we’ve allowed ourselves to do at least some transformations—like adding numbers—that are built into the “insides” of the Wolfram Language. It’s perhaps worth mentioning that in conveniently representing such a broad range of computational processes the Wolfram Language ends up having some quite elaborate evaluation mechanisms. A common example is the idea of functions that “hold their arguments”, evaluating them only as “specifically requested” by the innards of the function. Another—that in effect creates a “side chain” to causal graphs—are conditions (e.g. associated with /;) that need to be evaluated to determine whether patterns are supposed to match.

\n

Evaluation is in a sense the central operation in the Wolfram Language. And what we’ve seen here is that it has a deep correspondence with what we can view as the “central operation” of physics: the passage of time. Thinking in terms of physics helps organize our thinking about the process of evaluation—and it also suggests some important generalizations, like multiway evaluation. And one of the challenges for the future is to see how to take such generalizations and “package” them as part of our computational language in a form that we humans can readily understand and make use of.

\n

Some Personal History: Recursion Control in SMP

\n

It was in late 1979 that I first started to design my SMP (“Symbolic Manipulation Program”) system. I’d studied both practical computer systems and ideas from mathematical logic. And one of my conclusions was that any definition you made should always get used, whenever it could. If you set , then you set , you should get (not ) if you asked for . It’s what most people would expect should happen. But like almost all fundamental design decisions, in addition to its many benefits, it had some unexpected consequences. For example, it meant that if you set without having given a value for , you’d in principle get an infinite loop.

\n

Back in 1980 there were computer scientists who asserted that this meant the “infinite evaluation” I’d built into the core of SMP “could never work”. Four decades of experience tells us rather definitively that in practice they were wrong about this (essentially because people just don’t end up “falling into the pothole” when they’re doing actual computations they want to do). But questions like those around made me particularly aware of issues around recursive evaluation. And it bothered me that a recursive factorial definition like f[n_]:=n f[n–1] (the rather less elegant SMP notation was f[$n]::$n f[$1-1]) might just run infinitely if it didn’t have a base case (f[1] = 1), rather than terminating with the value 0, which it “obviously should have”, given that at some point one’s computing 0×….

\n

So in SMP I invented a rather elaborate scheme for recursion control that “solved” this problem. And here’s what happens in SMP (now running on a reconstructed virtual machine):

\n

SMP code

\n

And, yes, if one includes the usual base case for factorial, one gets the usual answer:

\n

SMP code

\n

So what is going on here? Section 3.1 of the SMP documentation in principle tells the story. In SMP I used the term “simplification” for what I’d now call “evaluation”, both because I imagined that most transformations one wanted would make things “simpler” (as in ), and because there was a nice pun between the name SMP and the function Smp that carried out the core operation of the system (yes, SMP rather foolishly used short names for built-in functions). Also, it’s useful to know that in SMP I called an ordinary expression like f[x, y, …] a “projection”: its “head” f was called its “projector”, and its arguments x, y, … were called “filters”.

\n

As the Version 1.0 documentation from July 1981 tells it, “simplification” proceeds like this:

\n

Click to enlarge

\n

By the next year, it was a bit more sophisticated, though the default behavior didn’t change:

\n

Click to enlarge

\n

With the definitions above, the value of f itself was (compare Association in Wolfram Language):

\n

SMP code

\n

But the key to evaluation without the base case actually came in the “properties” of multiplication:

\n

SMP code

\n

In SMP True was (foolishly) 1. It’s notable here that Flat corresponds to the attribute Flat in Wolfram Language, Comm to Orderless and Ldist to Listable. (Sys indicated that this was a built-in system function, while Tier dealt with weird consequences of the attempted unification of arrays and functions into an association-like construct.) But the critical property here was Smp. By default its value was Inf (for Infinity). But for Mult (Times) it was 1.

\n

And what this did was to tell the SMP evaluator that inside any multiplication, it should allow a function (like f) to be called recursively at most once before the actual multiplication was done. Telling SMP to trace the evaluation of f[5] we then see:

\n

SMP code

\n

So what’s going on here? The first time f appears inside a multiplication its definition is used. But when f appears recursively a second time, it’s effectively frozen—and the multiplication is done using its frozen form, with the result that as soon as a 0 appears, one just ends up with 0.

\n

Reset the Smp property of Mult to infinity, and the evaluation runs away, eventually producing a rather indecorous crash:

\n

SMP code

\n

In effect, the Smp property defines how many recursive evaluations of arguments should be done before a function itself is evaluated. Setting the Smp property to 0 has essentially the same effect as the HoldAll attribute in Wolfram Language: it prevents arguments from being evaluated until a function as a whole is evaluated. Setting Smp to value k basically tells SMP to do only k levels of “depth-first” evaluation before collecting everything together to do a “breadth-first evaluation”.

\n

Let’s look at this for a recursive definition of Fibonacci numbers:

\n

SMP code

\n

With the Smp property of Plus set to infinity, the sequence of evaluations of f follows a pure “depth-first” pattern

\n

SMP code

\n

where we can plot the sequence of f[n] evaluated as:

\n
\n
\n

\n

But with the default setting of 1 for the Smp property of Plus the sequence is different

\n

SMP code

\n

and now the sequence of f[n] evaluated is:

\n
\n
\n

\n

In the pure depth-first case all the exponentially many leaves of the Fibonacci tree are explicitly evaluated. But now the evaluation of f[n] is being frozen after each step and terms are being collected and combined. Starting for example from f[10] we get f[9]+f[8]. And evaluating another step we get f[8]+f[7]+f[7]+f[6]. But now the f[7]’s can be combined into f[8]+2f[7]+f[6] so that they don’t both have to separately be evaluated. And in the end only quadratically many separate evaluations are needed to get the final result.

\n

I don’t now remember quite why I put it in, but SMP also had another piece of recursion control: the Rec property of a symbol—which basically meant “it’s OK for this symbol to appear recursively; don’t count it when you’re trying to work out whether to freeze an evaluation”.

\n

And it’s worth mentioning that SMP also had a way to handle the original issue:

\n

Click to enlarge

\n

It wasn’t a terribly general mechanism, but at least it worked in this case:

\n

SMP code

\n

I always thought that SMP’s “wait and combine terms before recursing” behavior was quite clever, but beyond the factorial and Fibonacci examples here I’m not sure I ever found clear uses for it. Still, with our current physics-inspired way of looking at things, we can see that this behavior basically corresponded to picking a “more spacetime-like” foliation of the evaluation graph.

\n

And it’s a piece of personal irony that right around the time I was trying to figure out recursive evaluation in SMP, I was also working on gauge theories in physics—which in the end involve very much the same kinds of issues. But it took another four decades—and the development of our Physics Project—before I saw the fundamental connection between these things.

\n

After SMP: Further Personal History

\n

The idea of parallel computation was one that I was already thinking about at the very beginning of the 1980s—partly at a theoretical level for things like neural nets and cellular automata, and partly at a practical level for SMP (and indeed by 1982 I had described a Ser property in SMP that was supposed to ensure that the arguments of a particular function would always get evaluated in a definite order “in series”). Then in 1984 I was involved in trying to design a general language for parallel computation on the Connection Machine “massively parallel” computer. The “obvious” approach was just to assume that programs would be set up to operate in steps, even if at each step many different operations might happen in parallel. But I somehow thought that there must be a better approach, somehow based on graphs, and graph rewriting. But back then I didn’t, for example, think of formulating things in terms of causal graphs. And while I knew about phenomena like race conditions, I hadn’t yet internalized the idea of constructing multiway graphs to “represent all possibilities”.

\n

When I started designing Mathematica—and what’s now the Wolfram Language—in 1986, I used the same core idea of transformation rules for symbolic expressions that was the basis for SMP. But I was able to greatly streamline the way expressions and their evaluation worked. And not knowing compelling use cases, I decided not to set up the kind of elaborate recursion control that was in SMP, and instead just to concentrate on basically two cases: functions with ordinary (essentially leftmost-innermost) evaluation and functions with held-argument (essentially outermost) evaluation. And I have to say that in three decades of usages and practical applications I haven’t really missed having more elaborate recursion controls.

\n

In working on A New Kind of Science in the 1990s, issues of evaluation order first came up in connection with “symbolic systems” (essentially, generalized combinators). They then came up more poignantly when I explored the possible computational “infrastructure” for spacetime—and indeed that was where I first started explicitly discussing and constructing causal graphs.

\n

But it was not until 2019 and early 2020, with the development of our Physics Project, that clear concepts of spacelike and branchlike separation for events emerged. The correspondence with expression evaluation got clearer in December 2020 when—in connection with the centenary of their invention—I did an extensive investigation of combinators (leading to my book Combinators). And as I started to explore the general concept of multicomputation, and its many potential applications, I soon saw the need for systematic ways to think about multicomputational evaluation in the context of symbolic language and symbolic expressions.

\n

In both SMP and Wolfram Language the main idea is to “get results”. But particularly for debugging it’s always been of interest to see some kind of trace of how the results are obtained. In SMP—as we saw above—there was a Trace property that would cause any evaluation associated with a particular symbol to be printed. But what about an actual computable representation of the “trace”? In 1990 we introduced the function Trace in the Wolfram Language—which produces what amounts to a symbolic representation of an evaluation process.

\n

I had high hopes for Trace—and for its ability to turn things like control flows into structures amenable to direct manipulation. But somehow what Trace produces is almost always too difficult to understand in real cases. And for many years I kept the problem of “making a better Trace” on my to-do list, though without much progress.

\n

The problem of “exposing a process of computation” is quite like the problem of presenting a proof. And in 2000 I had occasion to use automated theorem proving to produce a long proof of my minimal axiom system for Boolean algebra. We wanted to introduce such methods into Mathematica (or what’s now the Wolfram Language). But we were stuck on the question of how to represent proofs—and in 2007 we ended up integrating just the “answer” part of the methods into the function FullSimplify.

\n

By the 2010s we’d had the experience of producing step-by-step explanations in Wolfram|Alpha, as well as exploring proofs in the context of representing pure-mathematical knowledge. And finally in 2018 we introduced FindEquationalProof, which provided a symbolic representation of proofs—at least ones based on successive pattern matching and substitution—as well as a graphical representation of the relationships between lemmas.

\n

After the arrival of our Physics Project—as well as my exploration of combinators—I returned to questions about the foundations of mathematics and developed a whole “physicalization of metamathematics” based on tracing what amount to multiway networks of proofs. But the steps in these proofs were still in a sense purely structural, involving only pattern matching and substitution.

\n

I explored other applications of “multicomputation”, generating multiway systems based on numbers, multiway systems representing games, and so on. And I kept on wondering—and sometimes doing livestreamed discussions about—how best to create a language design around multicomputation. And as a first step towards that, we developed the TraceGraph function in the Wolfram Function Repository, which finally provided a somewhat readable graphical rendering of the output of Traceand began to show the causal dependencies in at least single-way computation. But what about the multiway case? For the Physics Project we’d already developed MultiwaySystem and related functions in the Wolfram Function Repository. So now the question was: how could one streamline this and have it provide essentially a multiway generalization of TraceGraph? We began to think about—and implement—concepts like Multi, and imagine ways in which general multicomputation could encompass things like logic programming and probabilistic programming, as well as nondeterministic and quantum computation.

\n

But meanwhile, the “ question” that had launched my whole adventure in recursion control in SMP was still showing up—43 years later—in the Wolfram Language. It had been there since Version 1.0, though it never seemed to matter much, and we’d always handled it just by having a global “recursion limit”—and then “holding” all further subevaluations:

\n

\n

But over the years there’d been increasing evidence that this wasn’t quite adequate, and that for example further processing of the held form (even, for example, formatting it) could in extreme cases end up triggering even infinite cascades of evaluations. So finally—in Version 13.2 at the end of last year—we introduced the beginnings of a new mechanism to cut off “runaway” computations, based on a construct called TerminatedEvaluation:

\n
\n
\n

\n

And from the beginning we wanted to see how to encode within TerminatedEvaluation information about just what evaluation had been terminated. But to do this once again seemed to require having a way to represent the “ongoing process of evaluation”—leading us back to Trace, and making us think about evaluation graphs, causal graphs, etc.

\n

At the beginning x = x + 1 might just have seemed like an irrelevant corner case—and for practical purposes it basically is. But already four decades ago it led me to start thinking not just about the results of computations, but also how their internal processes can be systematically organized. For years, I didn’t really connect this to my work on explicit computational processes like those in systems such as cellular automata. Hints of such connections did start to emerge as I began to try to build computational models of fundamental physics. But looking back I realize that in x = x + 1 there was already in a sense a shadow of what was to come in our Physics Project and in the whole construction of the ruliad.

\n

Because x = x + 1 is something which—like physics and like the ruliad—necessarily generates an ongoing process of computation. One might have thought that the fact that it doesn’t just “give an answer” was in a sense a sign of uselessness. But what we’ve now realized is that our whole existence and experience is based precisely on “living inside a computational process” (which, fortunately for us, hasn’t just “ended with an answer”). Expression evaluation is in its origins intended as a “human-accessible” form of computation. But what we’re now seeing is that its essence also inevitably encompasses computations that are at the core of fundamental physics. And by seeing the correspondence between what might at first appear to be utterly unrelated intellectual directions, we can expect to inform both of them. Which is what I have started to try to do here.

\n

Notes & Thanks

\n

What I’ve described here builds quite directly on some of my recent work, particularly as covered in my books Combinators: A Centennial View and Metamathematics: Physicalization & Foundations. But as I mentioned above, I started thinking about related issues at the beginning of the 1980s in connection with the design of SMP, and I’d like to thank members of the SMP development team for discussions at that time, particularly Chris Cole, Jeff Greif and Tim Shaw. Thanks also to Bruce Smith for his 1990 work on Trace in Wolfram Language, and for encouraging me to think about symbolic representations of computational processes. In much more recent times, I’d particularly like to thank Jonathan Gorard for his extensive conceptual and practical work on multiway systems and their formalism, both in our Physics Project and beyond. Some of the directions described here have (at least indirectly) been discussed in a number of recent Wolfram Language design review livestreams, with particular participation by Ian Ford, Nik Murzin, and Christopher Wolfram, as well as Dan Lichtblau and Itai Seggev. Thanks also to Wolfram Institute fellows Richard Assar and especially Nik Murzin for their help with this piece.

\n", - "category": "Computational Science", - "link": "https://writings.stephenwolfram.com/2023/09/expression-evaluation-and-fundamental-physics/", - "creator": "Stephen Wolfram", - "pubDate": "Fri, 29 Sep 2023 21:48:31 +0000", + "title": "Comment automatiser un tweet intelligent à partir d’un flux RSS grâce à ChatGPT ?", + "description": "Vous êtes-vous déjà demandé comment rendre votre compte Twitter qui poste vos news de blog, un peu plus « intelligent », ou du moins, un peu moins monotone ? Et bien, aujourd’hui, je vais vous montrer comment faire exactement cela. Dans cette vidéo, on va décortiquer ensemble un script Python qui permet … Suite", + "content": "

\"\"

\n

Vous êtes-vous déjà demandé comment rendre votre compte Twitter qui poste vos news de blog, un peu plus « intelligent », ou du moins, un peu moins monotone ?

\n\n\n\n
\r\n

Et bien, aujourd’hui, je vais vous montrer comment faire exactement cela.

\n\n\n\n

Dans cette vidéo, on va décortiquer ensemble un script Python qui permet de récupérer la dernière news d’un flux RSS, d’en faire un tweet unique grâce à ChatGPT et de poster tout ça sur Twitter. Oui, oui, vous avez bien lu : on va mixer l’automatisation de récupération de news et la magie de l’IA pour pondre des tweets qui ont du sens et de la saveur.

\n\n\n\n

Un grand merci à mes Patreons

\n\n\n\n

Je tenais à remercier du fond du cœur tous mes Patreons qui soutiennent ce genre de projets et permettent de continuer à explorer, à tester et à partager ces connaissances avec vous. Vous êtes les meilleurs ! ❤️

\n\n\n\n

Pour ceux qui sont abonnés Patreon, vous pouvez d’ores et déjà récupérer le code source. Pour les autres, n’hésitez pas à jeter un œil à ma vidéo pour une démo en direct !

\n\n\n\n
\n\n
\n\n\n\n
\r\n

Et en bonus « Rien à voir », un petit morceau de musique :

\n\n\n\n\n", + "category": "Développement", + "link": "https://korben.info/comment-automatiser-un-tweet-intelligent-a-partir-dun-flux-rss-grace-a-chatgpt.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 09:15:25 +0000", "enclosure": "", "enclosureType": "", "image": "", "id": "", - "language": "en", + "language": "fr", "folder": "", - "feed": "wolfram", + "feed": "korben.info", "read": false, "favorite": false, "created": false, "tags": [], - "hash": "7936f5db0afca7e042169bdf56dcba3d", + "hash": "c475bea07c7caa78ed769f438d14c49b", + "highlights": [] + }, + { + "title": "Explorez et optimisez vos images Docker avec Dive", + "description": "Dive est un outil permettant d'analyser et d'optimiser la taille des images Docker. Il facilite la gestion des images pour les développeurs et administrateurs système. Dive prend en charge plusieurs sources d'image, moteurs de conteneurs et est compatible avec diverses plateformes. L'outil peut être intégré au processus d'intégration continue et personnalisé grâce à des raccourcis clavier et fichiers de configuration.", + "content": "

\"\"

\n

Quand on commence à s’intéresser un peu à Docker, tout semble simple et léger, du moins en apparence. D’ailleurs, si vous débutez avec Docker, j’ai fait une vidéo d’initiation pour débutants pour mes Patreons que je vous offre à la fin de cet article.

\n\n\n\n
\r\n

Mais pour qu’une image Docker soit OK, il faut qu’elle ait été un minimum optimisé. Et ce n’est pas forcement instinctif, surtout quand on débute.

\n\n\n\n

C’est pourquoi , je vous présente un outil aussi magique qu’un Fabien Olicard sous Caprisun, qui va non seulement vous permettre de comprendre la structure de vos images Docker de fond en comble, mais également d’optimiser leur taille et de libérer cet espace disque précieux dont on manque tous sur nos ordis. Cet outil c’est Dive.

\n\n\n\n

Imaginez que vous êtes développeur ou administrateur système, et que vous devez régulièrement manipuler et gérer des images Docker. Vous savez qu’il est crucial d’optimiser ces images pour réduire leur taille et ainsi améliorer leur efficacité, mais vous ne savez pas par où commencer. Dive est là pour vous aider ! Avec cet outil, vous pourrez analyser facilement vos images Docker, découvrir les modifications effectuées à l’intérieur chaque couche et optimiser leur taille de manière efficace.

\n\n\n
\n
\"\"
\n\n\n

Tout d’abord, il suffit de remplacer la commande « docker build » par « dive build » pour analyser l’efficacité et l’espace gaspillé de votre image Docker.

\n\n\n\n
dive <tag/id/digest de votre image>
\n\n\n\n
\r\n

Dive prend en charge plusieurs sources d’image et moteurs de conteneurs (à l’heure actuelle, Docker et Podman). Pour l’installation, Dive est disponible pour Ubuntu/Debian, RHEL/Centos, Arch Linux, Mac et Windows.

\n\n\n\n

Pour l’installer sous macOS :

\n\n\n\n
brew install dive
\n\n\n\n

Pour l’installer sous Linux (Ubuntu / Debian) :

\n\n\n\n
export DIVE_VERSION=$(curl -sL \"https://api.github.com/repos/wagoodman/dive/releases/latest\" | grep '\"tag_name\":' | sed -E 's/.*\"v([^\"]+)\".*/\\1/')\n\ncurl -OL https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb\n\nsudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb
\n\n\n\n

Intégrer Dive dans votre processus de CI (intégration continue) est également possible en utilisant la variable d’environnement CI=true. Vous pouvez même configurer des règles dans un fichier .dive-ci pour automatiser certaines vérifications et optimisations de vos images Docker.

\n\n\n\n

Naviguer dans Dive est un jeu d’enfant grâce aux raccourcis clavier. Vous pourrez explorer les couches de vos images Docker, filtrer les fichiers, gérer les paramètres spécifiques à chaque couche et personnaliser l’interface utilisateur en créant un fichier de configuration.

\n\n\n\n

Pour en savoir plus sur Dive et ses fonctionnalités, je vous invite à consulter le dépôt GitHub officiel ici. Vous y trouverez toutes les informations nécessaires pour maîtriser cet outil fantastique, ainsi que des exemples et des astuces pour optimiser vos images Docker comme un pro.

\n\n\n\n
\r\n

Bonne optimisation à tous !

\n\n\n\n
\n\n
\n", + "category": "Administration Systeme Réseau", + "link": "https://korben.info/explorer-optimiser-images-docker-avec-dive.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "2e0c95cdf661612fcfbf0777a3f90df8", + "highlights": [] + }, + { + "title": "Blocks – La puzzle addictif à essayer de toute urgence !", + "description": "Si vous êtes comme moi, vous appréciez peut-être les jeux qui stimulent l’esprit sans trop se compliquer la tâche. Le genre de petits casse-têtes qui font travailler les méninges tout en offrant un moment de détente par exemple le fameux jeu « Gagne Ton Papa » , avec lequel je m’amuse beaucoup, … Suite", + "content": "

\"\"

\n

Si vous êtes comme moi, vous appréciez peut-être les jeux qui stimulent l’esprit sans trop se compliquer la tâche. Le genre de petits casse-têtes qui font travailler les méninges tout en offrant un moment de détente par exemple le fameux jeu « Gagne Ton Papa » , avec lequel je m’amuse beaucoup, surtout quand je joue avec des enfants.

\n\n\n\n
\r\n

C’est donc avec bonheur que je suis tombé sur Blocks, un nouveau jeu en ligne qui a su me rendra accro pendant un petit moment. Sa conception épurée rend l’expérience de jeu encore plus sympa.

\n\n\n
\n
\"\"
\n\n\n

Le principe du jeu est fondamentalement simple : on vous présente diverses figures géométriques, et votre défi est de les agencer correctement pour former un carré parfait. Cela peut sembler facile au début, mais ne vous y trompez pas ! Les 60 niveaux proposés augmentent progressivement en difficulté, ajoutant des couches de complexité à mesure que vous progressez.

\n\n\n\n

L’interface minimaliste permet aux joueurs de se concentrer entièrement sur le puzzle, éliminant toute distraction inutile et vous avez même de la musique sympa pour vous accompagner.

\n\n\n
\n
\"\"
\n\n\n

Bref, la beauté de Blocks réside dans sa capacité à offrir un équilibre parfait entre la détente et le défi cérébral. Que vous ayez quelques minutes à perdre en attendant un rendez-vous, ou que vous cherchiez un moyen d’échapper à la monotonie du travail, Blocks est l’outil idéal pour vous vider l’esprit tout en vous amusant.

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/blocks-la-puzzle-addictif-a-essayer-de-toute-urgence.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 06:13:50 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "ff679bfa2b58ad400d1d5e432828fd27", + "highlights": [] + }, + { + "title": "Légende de Super Mario – Un hack Zelda pour sauver le Royaume Champignon", + "description": "Ah, mes amis, découvrez un hack de The Legend of Zelda dans l'univers de Super Mario, nommé \"Légende de Super Mario - Sauvez le Royaume Champignon\". Incarnez Mario pour trouver les Starmen et sauver le Royaume Champignon de la tyrannie de Bowser. Mêlant exploration de Zelda et fun de Super Mario, redécouvrez ces deux franchises légendaires dans une expérience de jeu unique.", + "content": "

\"\"

\n

J’ai déniché pour vous une pépite qui ravira les fans de retrogaming et les nostalgiques de la grande époque des consoles 8-bits : un hack de The Legend of Zelda qui vous replonge dans l’univers de… Super Mario !

\n\n\n\n
\r\n

Vous vous souvenez de ces soirées passées à essayer de sauver la princesse Peach des griffes de ce stupide Bowser ?

\n\n\n\n

Et bien, préparez-vous à revivre de palpitants moments avec cette ROM NES custom intitulée « The Legend of Super Mario – Save Mushroom Kingdom (La Légende de Super Mario – Sauvez le Royaume Champignon) » !

\n\n\n
\n
\"\"
\n\n\n

Dans ce hack audacieux, Bowser a encore une fois capturé la Princesse Peach et plongé le Royaume Champignon dans la tyrannie. Évidemment, vous incarnez notre cher Mario, le plombier héroïque, qui doit trouver les Super Stars pour sauver le Royaume. Mais attention, ce ne sera pas une promenade de santé : des affrontements contre des Goombas, des Koopas et d’autres créatures que vous connaissez bien, vous attendront dans votre quête des huit Super Stars.

\n\n\n
\n
\"\"
\n\n\n

Comme vous pouvez l’imaginer, cela donne un mélange explosif entre l’aventure épique de Zelda et le fun déjanté de Super Mario. Vous devrez vous frayer un chemin à travers des donjons remplis d’ennemis et résoudre des énigmes pour avancer dans votre mission de sauvetage. Chaque Super Star trouvée vous rapprochera de la victoire finale et de la libération du Royaume Champignon.

\n\n\n\n
\r\n

Trop coooool, non ?

\n\n\n
\n
\"\"
\n\n
\n
\"\"
\n\n\n

Imaginez toutes les possibilités de gameplay avec cette rom : vous balader dans les niveaux de Super Mario comme on explore une map Zelda, résoudre des énigmes à la manière d’un héros légendaire qui porterait une bonne grosse moustache, et enfin vaincre Bowser pour sauver la princesse et le Royaume Champignon.

\n\n\n\n

Pour ceux qui voudraient essayer ce hack, rendez-vous sur le site : Légende de Super Mario – Sauvez le Royaume Champignon. Vous y trouverez toutes les infos pour vous lancer dans cette aventure épique. Attention cependant, vous aurez besoin d’une copie ROM originale (ah ah !) du jeu NES The Legend of Zelda pour appliquer le hack et ainsi profiter de cette expérience unique.

\n\n\n\n

Pour appliquer le patch, vous pouvez le faire en mode soft-patching directement via l’un de ces émulateurs : RetroArch, Snes9x, VBA où vous devrez ouvrir le jeu + le patch, ou en appliquant directement le patch sur la ROM avec Multipatch pour macOS ou LunarIPS pour Windows.

\n\n\n\n

Enfilez vos bottes de plombier et préparez-vous à explorer le Royaume Champignon comme jamais auparavant !

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/legend-super-mario-sauvez-royaume-champignon-hack-zelda-retrogaming.html", + "creator": "Korben", + "pubDate": "Tue, 24 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "6cad7a904cdd7ca06872f96d6cc0fb83", + "highlights": [] + }, + { + "title": "Revivez l’âge d’or LucasArts avec l’émulateur DREAMM !", + "description": "DREAMM est un émulateur de jeux LucasArts des années 90 pour Windows, MacOS et Linux 64 bits, conçu par Aaron Giles. Il prend en charge plusieurs éditions, langues et versions des jeux SCUMM, GrimE, Star Wars, Indiana Jones et autres. Il nécessite l'installation de libsdl2 et des fichiers ROM MT-32. Pour l'utiliser, ajoutez des jeux via Game Manager, puis configurez et exécutez-les. L'émulateur gère également les contrôles de joystick et permet la mise à niveau de certains jeux.", + "content": "

\"\"

\n

Les amis, laissez-moi vous présenter un logiciel fantastique qui va vous replonger dans les années 90 et raviver vos vieux souvenirs de jeux vidéo.

\n\n\n\n
\r\n

Vous souvenez-vous des aventures de Guybrush Threepwood dans Monkey Island ou des courses folles avec les TIE Fighters de Star Wars ?

\n\n\n\n

Et bien, préparez-vous à revivre ces moments avec DREAMM, un émulateur exclusif aux jeux LucasArts qui vous permettra de rejouer à de nombreux jeux DOS, Windows et FM-Towns identiques aux originaux.

\n\n\n\n

Alors, enfilez votre chapeau d’Indiana Jones et allons voir tout ça !

\n\n\n\n

Créé par Aaron Giles, DREAMM fonctionne sous Windows, macOS et Linux 64 bits avec un support natif pour les processeurs Intel et ARM. Il prend en charge diverses éditions, langues et versions des jeux SCUMM, GrimE, Star Wars, Indiana Jones et autres jeux LucasArts.

\n\n\n\n
\r\n

Vous pouvez télécharger la dernière version de DREAMM en allant sur ce site.

\n\n\n\n

Lorsque vous lancez DREAMM, vous accédez au Game Manager pour ajouter, configurer et exécuter les jeux. L’interface principale montre les icônes des jeux installés, et vous pouvez ajouter de nouveaux jeux à tout moment, sauf pendant une opération d’ajout en cours. Pour configurer et exécuter un jeu, cliquez simplement sur son icône ou naviguez avec les touches fléchées.

\n\n\n
\n
\"\"
\n\n\n

Sélectionnez un jeu et accédez à l’écran de configuration et de lancement, où des informations sur la compatibilité sont disponibles dans la zone d’état. Vous pouvez gérer l’installation en cliquant sur l’onglet MANAGE, où vous pourrez vérifier les fichiers, désinstaller le jeu et accéder aux données pertinentes du jeu.

\n\n\n\n

Avec DREAMM, vous pouvez facilement explorer et configurer les dossiers de jeux, ainsi que les options audio et vidéo. Vous pouvez également contrôler la taille de l’écran du gestionnaire de jeux, basculer entre le mode fenêtré et plein écran et ajuster la taille avec des raccourcis clavier.

\n\n\n\n

DREAMM nécessite les fichiers d’origine pour exécuter un jeu. Il prend en charge les images disque de disquettes (IMG, IMA, VFD) et de CD-ROM (ISO, CUE/BIN, MDS/MDF, CCD/IMG). Pour installer à partir d’images disque, sélectionnez toutes les images et faites-les glisser sur la fenêtre de DREAMM. Si vous possédez les disquettes ou CD-ROM d’origine, vous pouvez également les installer à partir de ces supports. Et si vous n’avez pas les jeux d’origine, sachez qu’il y a des démos sur Archive.org au moins pour tester.

\n\n\n
\n
\"\"
\n\n\n

Lors de l’installation d’un jeu via DREAMM, choisissez le lecteur C: comme cible et laissez l’installateur faire son travail. DREAMM détecte et transfère les jeux installés.

\n\n\n\n
\r\n

DREAMM émule vraiment les jeux au niveau du CPU et nécessite les fichiers exécutables originaux. Son concurrent ScummVM n’émule pas mais est une réécriture complète issu d’un reverse engineering. Donc le rendu n’est pas fidèle aux jeux d’origine, alors qu’avec DREAMM c’est 100% identique à l’expérience que vous avez pu avoir étant jeune. Mais les 2 outils fonctionnent très bien, on est sur du chipotage à ce niveau, il faut bien le reconnaitre.

\n\n\n\n

DREAMM gère également les contrôles de joystick. Utilisez Alt+U⌘U ou F12 pour récupérer le contrôle de la souris si nécessaire.

\n\n\n\n

Voilà, j’espère que ça vous aura donné envie de vous refaire un Indiana Jones ou de replonger dans un bon vieux Sam & Max.

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/dreamm-emulateur-lucasarts-jeux-retro-windows-macos-linux.html", + "creator": "Korben", + "pubDate": "Mon, 23 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "320887c72777b270125ceef849243c2a", + "highlights": [] + }, + { + "title": "Sauvez votre PC avec ESET SysRescue Live, l’anti-malware ultime", + "description": "ESET SysRescue Live est un outil anti-malware sur support amovible, indépendant du système d'exploitation. Il permet d'éliminer les menaces persistantes en accédant directement au disque dur et fichiers système. Utilisé en complément de l'antivirus habituel, il est idéal pour éradiquer les malwares tenaces qui résistent aux méthodes traditionnelles.", + "content": "

\"\"

\n

Ah, la guerre éternelle contre les malwares… Parfois, l’ordinateur fait tellement n’importe quoi, qu’on se demande si on n’a pas chopé un bon vieux virus. Oui, oui, vous vous reconnaissez, ceux qui ne font jamais leurs mises à jour Windows et qui disent en frimant : « Oh moi, j’ai pas besoin d’antivirus, car je sais ce que je fais.« 

\n\n\n\n
\r\n

LOL !

\n\n\n\n

Et bien, aujourd’hui, je vais vous parler d’un super-héros qui pourrait bien vous sauver la vie, enfin, celle de votre ordinateur : ESET SysRescue Live.

\n\n\n\n

Imaginez que vous êtes en train de travailler sur un projet important et, soudain, votre ordinateur commence à agir bizarrement. Les performances ralentissent et vos fichiers deviennent inaccessibles. Vous réalisez que votre ordinateur a été infecté par le dernier malware. Vous essayez tous les logiciels antivirus possibles, mais rien ne semble fonctionner.

\n\n\n\n

Alors, que faire à part m’envoyer un message sur Facebook si vous êtes ma mère ? C’est là qu’ESET SysRescue Live entre en jeu.

\n\n\n\n
\r\n

ESET SysRescue Live est un outil anti-malware qui fonctionne via un support amovible (CD, DVD ou clé USB) et qui peut être utilisé indépendamment du système d’exploitation installé sur votre ordinateur. Ce petit génie peut ainsi éliminer les menaces persistantes en accédant directement au disque dur et aux fichiers système. Compatible avec plusieurs versions de Windows, il est conçu pour analyser et éliminer les menaces à la demande.

\n\n\n
\n
\"\"
\n\n\n

Pour utiliser ESET SysRescue Live, vous devez d’abord télécharger l’image ISO / IMG et la graver sur un CD/DVD ou créer une clé USB bootable. Une fois cela fait, insérez le support amovible et redémarrez votre ordinateur. Assurez-vous que votre ordinateur est configuré pour démarrer depuis le support amovible (vous devrez peut-être accéder aux paramètres du BIOS pour cela).

\n\n\n\n

Une fois ESET SysRescue Live lancé, vous serez accueilli par une interface utilisateur simple et conviviale. L’outil vous proposera de mettre à jour sa base de données de signatures de virus. Il est fortement recommandé de le faire pour assurer une détection optimale des menaces.

\n\n\n
\n
\"\"
\n\n\n

Après la mise à jour, vous pouvez lancer une analyse de votre ordinateur. ESET SysRescue Live offre plusieurs options d’analyse, notamment une analyse rapide, une analyse intelligente et une analyse personnalisée. Les deux premières options analysent les zones les plus couramment infectées, tandis que l’option personnalisée vous permet de choisir les disques et dossiers spécifiques à analyser. Une fois l’analyse terminée, les menaces détectées seront affichées et vous pourrez les supprimer en toute sécurité.

\n\n\n\n

Il est important de noter qu’ESET SysRescue Live n’est pas conçu pour remplacer votre logiciel antivirus habituel. Il est plutôt destiné à être utilisé en complément, en particulier dans les situations où un malware persistant empêche le bon fonctionnement de votre système. Cet outil est idéal pour les situations où vous devez éradiquer un malware tenace qui résiste aux méthodes de suppression traditionnelles.

\n\n\n\n

Vous y trouverez également des utilitaires pratiques comme memtest, Midnight Commander ou Gparted pour ceux qui veulent partitionner leur disque ou augmenter la taille de leurs partitions existantes.

\n\n\n
\n
\"\"
\n\n\n
\r\n

En résumé, ESET SysRescue Live est un outil pratique et puissant pour nettoyer votre ordinateur des menaces persistantes qui refusent de partir ou pour effectuer des petites opérations de maintenance sur l’ordi.

\n", + "category": "Sécurité", + "link": "https://korben.info/eradiquer-malwares-persistants-eset-sysrescue-live.html", + "creator": "Korben", + "pubDate": "Sun, 22 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "c41b775ca689ab0b3ace8cb81157e2b5", + "highlights": [] + }, + { + "title": "Découvrez Godspeed et révolutionnez votre gestion du temps et tâches", + "description": "\"Salut les amis! Aujourd'hui, je vais vous parler de Godspeed, une application géniale pour gérer votre temps et vos tâches. Elle combine simplicité, efficacité et personnalisation avec des fonctionnalités avancées pour organiser et suivre les projets. Vous pouvez personnaliser l'interface avec différents thèmes et couleurs. Inscrivez-vous sur leur site et prenez votre vie en main!\"", + "content": "

\"\"

\n

Salut les gens pressés et très occupés !

\n\n\n\n
\r\n

Aujourd’hui, je vais vous parler d’une application qui va vous soulager mentalement si vous galérer à faire tout ce que vous avez à faire dans la journée voire dans l’année.

\n\n\n\n

Il s’agit de Godspeed ! Pas de panique, je ne vous parle pas de l’expression anglaise qui veut dire « Bon vent » ou « Bonne chance ». Non, ici, je vous parle d’une application géniale qui porte le même nom et qui va révolutionner la façon dont vous gérez votre temps et vos tâches !

\n\n\n\n

Vous pouvez la trouver tout de suite sur le site, Godspeedapp.com.

\n\n\n\n

Qui n’a jamais été submergé par des tâches à réaliser, des rendez-vous à ne pas rater, des projets à gérer et des objectifs à atteindre ? Alors si vous êtes comme moi, vous avez déjà surement essayé plusieurs méthodes de gestion du temps (coucou Pomodoro) et différentes applications, mais aucune n’a vraiment répondu à vos attentes sans vous entrainer dans le burnout.

\n\n\n\n
\r\n

Eh bien, mes amis, je vous annonce que votre quête est enfin terminée ! J’ai testé Godspeed et je peux vous dire qu’elle tient toutes ses promesses.

\n\n\n\n

Alors, pourquoi cette application est-elle si géniale, me direz-vous ?

\n\n\n
\n
\"\"
Ma todo list très occupée du jour
\n\n\n

Tout simplement parce qu’elle allie simplicité, efficacité et personnalisation. Oui, vous avez bien lu. Godspeed vous permet de gérer vos tâches et votre emploi du temps de manière ultra-simple et intuitive. Pas de fonctionnalités inutiles ou compliquées, tout est pensé pour vous faciliter la vie et tout peut se faire au clavier avec des raccourcis bien pensés. Rassurez-vous, y’a un bon petit didacticiel qui vous permettra d’apprendre les raccourcis de base pour vous lancer.

\n\n\n\n

Mais ce n’est pas tout ! Godspeed va encore plus loin en vous proposant des fonctionnalités avancées pour ceux qui souhaitent aller au-delà de la simple gestion de tâches. Par exemple, vous pouvez créer des tâches principales et leur attribuer des sous-tâches pour une organisation encore plus poussée. Vous pouvez également définir des priorités et des échéances pour chaque tâche, histoire de ne plus jamais rater un deadline. Et vous pouvez aussi paramétrer vos tâches pour qu’elles vous soit proposées de manière récurrentes (toutes les semaines par exemple).

\n\n\n\n

Il est également possible d’associer des notes pour chaque tâche et d’y joindre des URLs (de la documentation par exemple) pour ouvrir ensuite ça d’un petit coup de raccourci clavier.

\n\n\n\n

Godspeed est utilisable via son API si vous souhaitez intégrer tout ça dans vos outils comme IFTTT / Zapier, vous pouvez exporter les data au format JSON et vous avez la possibilité de l’utiliser en mode clair ou sombre pour ne pas vous flinguer les yeux.

\n\n\n\n
\r\n

Et pour les puristes, il existe même au sein de Godspeed, un mode « hardcore » pour désactiver la souris et tout faire au clavier tel un pianiste sous amphétamine.

\n\n\n
\n
\"\"
\n\n\n

En conclusion, je ne peux que vous recommander de tester Godspeed si vous êtes à la recherche d’une solution simple et efficace pour gérer votre temps et vos tâches. Que vous soyez un simple utilisateur ou un véritable « power user », vous trouverez forcément votre bonheur avec cette application. Alors, qu’attendez-vous ? Allez, prenez votre vie en main et foncez sur godspeedapp.com ! Vous ne le regretterez pas. Et n’oubliez pas, comme disent nos amis anglophones : « Godspeed » !

\n", + "category": "MacOS", + "link": "https://korben.info/godspeed-application-gestion-temps-taches-revolutionnaire.html", + "creator": "Korben", + "pubDate": "Sat, 21 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "922899c9608a057c1732c0e3519c420a", + "highlights": [] + }, + { + "title": "BitLocker réduirait jusqu’à 45% vitesse SSD ? – Que faire ?", + "description": "Chers lecteurs, BitLocker, intégré à Windows 11 Pro, pourrait ralentir les SSD jusqu'à 45%. Des alternatives comme VeraCrypt sont disponibles, mais peuvent également impacter les performances. Il est important de vérifier le chiffrement utilisé et d'expérimenter pour trouver la meilleure solution pour vos besoins et performances.", + "content": "

\"\"

\n

Voici une mauvaise surprise : L’utilisation de BitLocker, le fameux outil de chiffrement intégré à Windows 11 Pro, pourrait ralentir nos disques SSD jusqu’à 45% (selon la marque et le modèle de SSD que vous utilisez) ?

\n\n\n\n
\r\n

Oui, vous avez bi-en lu, c’est pas des blagues. Tom’s Hardware a publié un rapport édifiant à ce sujet et il semblerait que nos chers SSD en pâtissent.

\n\n\n\n

Commençons par le début : BitLocker, disponible uniquement sur les appareils équipés de Windows 11 Pro, est activé automatiquement pour protéger nos données chéries en les chiffrant. Mais en y regardant de plus près, les tests effectués ont montré une diminution significative des performances des disques chiffrés par ce logiciel. C’est pas ouf.

\n\n\n\n

Alors que faire ?

\n\n\n\n

Et bien si vous êtes un utilisateur de Windows 11 Pro, la première chose à faire est de vérifier si BitLocker est activé, et s’il utilise un chiffrement logiciel (XTS-AES). Pour ce faire, ouvrez le menu Démarrer et entrez « cmd« .

\n\n\n\n
\r\n

Ensuite, choisissez l’option « Exécuter en tant qu’administrateur » pour ouvrir une fenêtre d’invite de commandes avec les droits admin qui vont bien. Une fois dans l’invite de commandes, copiez et collez la commande suivante :

\n\n\n\n
manage-bde -status
\n\n\n\n

Puis faites « Entrée ». Cette commande affichera alors le statut de tous vos volumes connectés. Enfin, pour savoir si le chiffrement BitLocker est activé ou non, recherchez la mention « Protection Status« .

\n\n\n\n

Si le chiffrement est activé, vérifiez alors la méthode de chiffrement utilisée. Si vous trouvez la mention « XTS-AES« , cela signifie que le chiffrement logiciel est utilisé et que par conséquent, Bitlocker a un impact négatif sur votre SSD.

\n\n\n
\n
\"\"
\n\n\n

Maintenant, plusieurs choix s’offrent à vous. Vous pouvez vous amuser à reformater votre PC et réinstaller Windows 11 Pro en tenant compte de bien activer le chiffrement hardware si votre ordinateur et votre SSD le supportent. C’est vraiment la meilleure des options même si cela implique d’effacer tout et de tout refaire au propre.

\n\n\n\n

Vous pouvez également désactiver BitLocker et ne plus rien chiffrer. C’est pas ouf niveau sécurité mais c’est un choix qui ne regarde que vous. Pour désactiver Bitlocker, ouvrez une nouvelle fois un terminal en mode admin et entrez la commande suivante en indiquant l’emplacement de votre disque (ici c’est « c: »)

\n\n\n\n
manage-bde off C:
\n\n\n
\n
\"\"
\n\n\n

Et si vous voulez quand même chiffrer sérieusement un disque dur, sans pour autant passer par Bitlocker, il y a toujours Veracrypt qui peut vous aider notamment grâce à sa fonctionnalité de chiffrement du système Windows. Attention quand même, ce genre d’outils peut également impacter les performances de certains SSD, donc renseignez-vous bien avant de le mettre en place, car pas sûr que ça arrange la situation. Même chose pour les bons disques durs (HDD), qui peuvent aussi être impactés dans une moindre mesure.

\n\n\n\n
\r\n

Bon courage 🙂

\n\n\n\n

Source

\n", + "category": "Windows", + "link": "https://korben.info/bitlocker-ralentit-ssd-windows-11-pro-veracrypt-alternative.html", + "creator": "Korben", + "pubDate": "Fri, 20 Oct 2023 09:24:07 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "6f857b29e12635f662184af45b14f73e", + "highlights": [] + }, + { + "title": "Gardez un œil sur vos sites favoris avec web.Monitor", + "description": "Ah, Internet ! Un océan de connaissances et de ressources, mais comment suivre les mises à jour des sites préférés ? La solution : web.Monitor, un outil pour suivre les modifications des sites Web en temps réel. Rapide, convivial et avec notifications sur Telegram, Slack et Discord. Facile à utiliser, à installer et à configurer, web.Monitor permet de rester informé sans effort.", + "content": "

\"\"

\n

Il est facile de se perdre dans les profondeurs de cet océan qu’est Internet, et peut-être que vous vous demandez comment garder un œil sur tous ces sites qui vous intéressent tant, sans avoir à les visiter frénétiquement chaque jour pour vérifier si quelque chose a changé. Alors bien sûr il y a les flux RSS mais quand on parle d’un site vitrine ou institutionnel, à part y passer de temps en temps, y’a pas grand chose à faire.

\n\n\n\n
\r\n

Mais que vous soyez passionné de tech, développeur web, ou simplement quelqu’un qui veut se tenir à jour avec les mises à jour de vos sites préférés, j’ai une solution pour vous : web.Monitor.

\n\n\n\n

web.Monitor est un outil génial qui vous permet de suivre les modifications apportées aux sites Web en temps réel. Plus besoin de vérifier manuellement les sites pour les mises à jour ! Imaginez être averti dès que votre site préféré publie un nouvel article, ou dès qu’une nouvelle version de votre logiciel favori est disponible. Grâce à web.Monitor, vous pouvez désormais le faire facilement.

\n\n\n\n

Ce petit logiciel libre et en ligne de commande est rapide et facile à utiliser, offrant une surveillance continue, une configuration flexible, un stockage persistant, une journalisation détaillée, des notifications, la visualisation des modifications, le filtrage des domaines, l’automatisation et la personnalisation. Cerise sur le gâteau, il prend en charge les notifications ce qui vous permettra ensuite d’envoyer des updates vers vos Telegram, Slack et Discord pour ne jamais manquer une alerte !

\n\n\n\n

Pour configurer web.Monitor, commencez par définir le chemin des binaires dans le fichier web-monitor.ini.

\n\n\n\n
\r\n

Pour ajouter une URL à la base de données, vous pouvez utiliser les commandes suivantes pour suivre une liste de sites ou un site seulement :

\n\n\n\n
python3 web.monitor.py --add-urls urls.txt\npython3 web.monitor.py --add korben.info
\n\n\n\n

Les notifications seront alors envoyées après le premier scan.

\n\n\n\n

Pour scanner toutes les URL d’un domaine racine, vous pouvez également utiliser :

\n\n\n\n
python3 web.monitor.py -df roots.txt --check -H 1\npython3 web.monitor.py -D korben.info --check -H 1
\n\n\n
\n
\"\"
\n\n\n

Le paramètre -df est utilisé pour analyser toutes les URL d’un domaine racine. Par exemple, si les URL admin.site.com et admin.site2.com se trouvent dans la base de données et que le fichier roots.txt contient uniquement *.site.com, l’analyse portera sur *.site.com.

\n\n\n\n

L’indicateur -D , quand à lui, analyse uniquement les URL du site indiqué dans la commande. Le paramètre -H est utilisé pour spécifier que le domaine sera scanné toutes les 1 heures, et bien sûr, vous pouvez personnaliser cela. La recommandation c’est de scanner toutes les 12 ou 24 heures afin de ne pas vous faire blacklister ou Ddos les sites.

\n\n\n\n

Et si vous voulez afficher les changements d’un domaine spécifique, voici la commande qu’il vous faut :

\n\n\n\n
\r\n

python3 web.monitor.py -D korben.info --show-changes

\n\n\n\n

Voilà ! Grâce à web.Monitor, vous pouvez maintenant suivre les modifications de vos sites préférés sans effort. Fini les vérifications manuelles et les actualisations frénétiques. Il est temps de vous détendre et de laisser ce script python faire le travail pour vous !

\n", + "category": "Script", + "link": "https://korben.info/suivre-mises-a-jour-sites-web-automatiquement-avec-web-monitor.html", + "creator": "Korben", + "pubDate": "Fri, 20 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "25176e0f5b8b3cdb9412159034af69fc", + "highlights": [] + }, + { + "title": "Seal – L’outil ultime pour télécharger vidéos et audios sur Android", + "description": "Salut à tous ! Aujourd'hui, je vous présente Seal, un téléchargeur vidéo/audio tout-en-un pour Android. Il permet de télécharger du contenu de différentes plateformes, d'organiser vos fichiers avec des métadonnées, et d'ajouter des sous-titres. Il est également possible de télécharger des listes de lecture entières. Seal est gratuit, open-source et disponible sur GitHub et F-Droid.", + "content": "

\"\"

\n

En cette belle matinée ensoleillée (en vrai l’article est programmé et je n’ai aucune idée de la météo du jour, mais bon, on va partir du principe qu’il fait beau), j’aimerai vous présente un trésor pour les amateurs de vidéos et de musique (tout le monde donc…). Cela s’appelle Seal.

\n\n\n\n
\r\n

Que ce soit pour emporter votre playlist préférée en vacances loin de tout accès à Internet ou pour savourer un podcast lors de vos trajets quotidiens, Seal vous facilite la vie sous Android en vous offrant une solution tout-en-un.

\n\n\n\n

Laissez-moi vous donner quelques détails sur les fonctionnalités de ce merveilleux logiciel libre et gratuit.

\n\n\n\n

Tout d’abord, il permet de télécharger des vidéos et de l’audio à partir de toutes les plateformes les plus connues. Que vous vouliez enregistrer cette vidéo virale de chatons sur votre téléphone pour la montrer à vos amis plus tard, ou que vous ayez besoin de cette conférence masterclass pour votre prochain projet, Seal vous aidera à récupérer tout ça.

\n\n\n
\n
\"\"
\n\n\n

Ensuite, Seal organise vos fichiers téléchargés, en intégrant des métadonnées pour vous aider à garder tout en ordre. Fini les fichiers audio avec des titres étranges et imprononçables, ou les vidéos sans vignette qui rendent la navigation dans votre galerie si pénible.

\n\n\n\n
\r\n

Et s’il y a une playlist complète que vous souhaitez télécharger pour votre prochain road trip, pani problème ! Seal vous permet de la télécharger d’un seul coup, vous faisant gagner un temps précieux.

\n\n\n
\n
\"\"
\n\n
\n
\"\"
\n\n\n

Et pour tous ceux qui aiment regarder des films ou des vidéos en langues étrangères, Seal vous permet d’ajouter des sous-titres à vos vidéos téléchargées, pour que vous puissiez profiter de votre contenu sans souci de compréhension.

\n\n\n\n

L’outil dispose également d’une interface utilisateur conviviale qui rendra votre expérience de téléchargement fluide et agréable.

\n\n\n\n

Vous pouvez télécharger Seal sur GitHub et F-Droid.

\n", + "category": "Android", + "link": "https://korben.info/seal-telechargeur-video-audio-android-fonctionnalites-solution-hors-ligne.html", + "creator": "Korben", + "pubDate": "Thu, 19 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "f2769171bd6df1d0ddeb5a8fd2f89b58", "highlights": [] }, { @@ -109,28 +307,6 @@ "hash": "320dd32e82e253f0b7c0b7b8282d0a27", "highlights": [] }, - { - "title": "Remembering the Improbable Life of Ed Fredkin (1934–2023) and His World of Ideas and Stories", - "description": "\"\"Programmer of the Universe “OK, so let me tell you…” And so it would begin. A long and colorful story. An elaborate description of a wild idea. In the forty years I knew Ed Fredkin I heard countless wild ideas and colorful stories from him. He always radiated a certain adventurous joy—together with supreme, almost-childlike […]", - "content": "\"\"\n

Programmer of the Universe

\n

Click to enlarge

\n

“OK, so let me tell you…” And so it would begin. A long and colorful story. An elaborate description of a wild idea. In the forty years I knew Ed Fredkin I heard countless wild ideas and colorful stories from him. He always radiated a certain adventurous joy—together with supreme, almost-childlike confidence. Ed was someone who wanted to independently figure things out for himself, and delighted in presenting his often somewhat-outlandish conclusions—whether about technology, science, business or the world—with dramatic showman-like panache.

\n

In all the years I knew Ed, I’m not sure he ever really listened to anything I said (though he did use tools I built). He used to like to tell people I’d learned a lot from him. And indeed we had intellectual interests that should have overlapped. But in actuality our ways of thinking about them mostly didn’t connect much at all. But at a personal and social level it was still always a lot of fun being around Ed and being exposed to his unique intense opportunistic energy—with its repeating themes but ever-changing directions.

\n

And there was one way in which Ed and I were very much aligned: both of our lives were deeply influenced by computers and computing. Ed had started with computers in 1956—as part of one of the very first cohorts of programmers. And perhaps on the basis of that experience, he would still, even at the end of his life, matter-of-factly refer to himself as “the world’s best programmer”. Indeed, so confident was he of his programming prowess that he became convinced that he should in effect be able to write a program for the universe—and make all of physics into a programming problem. It didn’t help that his knowledge of physics was at best spotty (and, for example, I don’t think he ever really learned calculus). But his almost lifelong desire to “program physics” did successfully lead him to the concept of reversible logic, and to what’s now called the “Fredkin gate”. But it also led him to the idea that the universe must be a giant cellular automaton—whose program he could invent.

\n

I first met Ed in 1982—on an island in the Caribbean he had bought with money from taking public a tech company he’d founded. The year before, I had started studying cellular automata, but, unlike Ed, I wasn’t trying to “program” them—to be the universe or anything else. Instead, I was mostly doing what amounted to empirical science, running computer experiments to see what they did, and treating them as part of a computational universe of possible programs “out there to explore”. It wasn’t a methodology I think Ed ever really understood—or cared about. He was a programmer (and inventor), not an empirical scientist. And he was convinced—like a modern analog of an ancient Greek philosopher—that by pure thought he could come up with the whole “clockwork” of the universe.

\n

Central to his picture was the idea that at the bottom of everything was a cellular automaton, with its grid of cells somehow laid out in space. I told Ed countless times that what was known from twentieth-century physics implied this really couldn’t be how things worked at a fundamental level. I tried to interest Ed in my way of using cellular automata. But Ed wasn’t interested. He was going for what he saw as the big prize: using them to “construct the universe”.

\n

Every few years Ed would tell me he’d made progress—and rather dramatically say things like that he’d “found the electron”. I’d politely ask for details. Then start pointing out that it couldn’t work that way. But soon Ed would be telling a story or talking about some completely different idea—about technology, business or something else.

\n

By the mid-1980s I’d discovered a lot about cellular automata. And I always felt a bit embarrassed by Ed’s attempt to use them in what seemed to me like a very naive way for fundamental physics—and I worried (as did happen a few times) that people would dismiss my efforts by identifying them with his.

\n

My own career had begun in the 1970s with traditional fundamental physics. And while I didn’t think cellular automata as such could be directly applied to fundamental physics, I did think that the core computational phenomena I’d discovered through studying cellular automata might be very relevant. And then in the early 1990s I had an idea. In a cellular automaton, space has a fixed grid-like structure. But what if the structure of space is in fact dynamic, and everything in the universe emerges just from the dynamics of that structure? Finally I felt as if there might be a plausible computational foundation for fundamental physics.

\n

I wrote about this in one chapter of my 2002 book A New Kind of Science. I don’t know if Ed ever read what I wrote, but in any case it didn’t seem to affect his idea that the universe was a cellular automaton—and to confuse things further, he told quite a few people that was what I was saying too. At first I found this frustrating—and upsetting—but eventually I realized it was just “Ed being Ed”, and there were still plenty of things to like about Ed.

\n

Nearly twenty years passed. I would see Ed with some regularity. And sometimes I would mention physics. But Ed would just keep talking about his idea that the universe is a cellular automaton. And when we finally made the breakthrough that led in 2020 to our Physics Project it made me a little sad that I didn’t even try to explain it to Ed. The universe isn’t a cellular automaton. But it is computational. And I think that knowing this would have brought a certain intellectual closure to Ed’s long journey and aspirations around physics.

\n

Ed might have considered physics his single most important quest. But Ed’s life as a whole was filled with a remarkably rich assortment of activities and interests. Computers. Inventions. Companies. Airplanes. MIT. His island. The Soviet Union. Not to mention people, like Marvin Minsky, John McCarthy and Richard Feynman (as well as Tom Watson, Richard Branson, and many more). And he would tell stories about all these people and things, and more. Sometimes (particularly later in his life) the stories would repeat. But with remarkable regularity Ed would surprise me with yet another—often at first hard-to-believe—story about a situation or topic that I had no idea he’d ever been involved in.

\n

But what was the “whole Ed story”? I knew a lot of fragments, often quite colorful. But they didn’t seem to fit together into the narrative of a life. And now that Ed is sadly no longer with us, I decided I should really try to “understand Ed” and his story. A few times over the years I had made efforts to ask Ed for systematic historical accounts—and in 2014 I even recorded many hours of oral history with him. But there was clearly much more. And in writing this piece I found myself going through lots of documents and archives—and having quite a few conversations— and unearthing even yet more stories than I already knew. And in the end there’s a lot to say—and indeed this has turned into the most difficult and complicated biographical piece I’ve ever written. But I hope that everything I’ve assembled will help tell the often so-wild-you-can’t-make-this-stuff-up story of that most singular individual who I knew all those years.

\n

The Beginning of the Story

\n

Ed never said much to me about his early life. And in fact I think it was only in writing this piece that I even learned he’d grown up in Los Angeles (specifically, East Hollywood). His parents were both (Jewish) Russian immigrants (his father was born in St. Petersburg; his mother in Odessa; they met in LA). His father’s university engineering studies had been cut short by the Russian Revolution, and he now had a one-man wholesale electronic parts business. His mother had in her youth been trained as a concert pianist, and died when Ed was 11, leaving a somewhat fragmented family situation. Ed had a half-sister, 14 years older than him, a brother 6 years older, and a sister a year older. As he told it in later oral histories, he got interested in both machines and money very early, repairing appliances for a fee even as a tween, and soon learning about the idea of owning stock in companies.

\n

But Ed Fredkin’s first piece of public visibility seems to have come in 1948, when he was 13 years old—and it reminds me so much of many of Ed’s later “self-imposed” adventures. There was at that time an exhibition of historic US documents traveling around the country on a train named the Freedom Train. And when the train came to Los Angeles, the young Ed Fredkin decided he had to be the first person to see it:

\n

Click to enlarge

\n

The Los Angeles Times published his account of his adventure—a younger but “quintessentially Ed” story:

\n

Click to enlarge

\n

Ed’s record in high school was at best spotty. But as he tells it, he figured out very early a system for improving the odds in multiple-choice tests, and for example in 9th grade got a top score on a newly instituted (multiple-choice) California-wide IQ test. At the end of high school, Ed applied to Caltech (which was only 13 miles away from where he lived), and largely on the basis of his test scores, was admitted. He ended up spending time working various jobs to support himself, didn’t do much homework, and by his sophomore year—before having to pick a major—dropped out. In 2015 Ed told me a nice story about his time at Caltech:

\n
\n

In 1952–53, I was a student in Linus Pauling’s class where he lectured Freshman Chemistry at Caltech. After class, one day, I asked Pauling “What is a superconductor at the highest known temperature?” Pauling immediately replied “Niobium Nitride, 18 Kelvin”. I was puzzled because I had never heard of Niobium, so I looked it up and, with some difficulty found a reference that defined it as a European name for the metal Columbium.

\n
\n
\n

Later that same day, reading a Pasadena newspaper, I saw an article about Pauling: It announced that Pauling had just returned from Europe (London is what I recall) where Pauling, as Chairman of the International Committee on the naming of the elements, had decided that henceforth the metal Columbium would be renamed Niobium.

\n
\n
\n

I recently looked into that matter and discovered that evidently that renaming was part of a USA–Europe Compromise… In Europe it had been Wolfram and Niobium, in the USA it had been Tungsten and Columbium.

\n
\n
\n

Europe got its way re Niobium and the USA got its way re Tungsten… Perhaps it was a flip of a coin? Someone might know.

\n
\n
\n

As a Wolfram, I thought you might be interested (and, of course, perhaps all this is old hat to you…).

\n
\n

(For what it’s worth, I actually didn’t know this “Wolfram story”, though the details weren’t quite as dramatic as Ed said: the “niobium” decision was actually made in 1949, without Pauling specifically involved, though Pauling did indeed travel to London just before the beginning of the 1952 school year.)

\n

With his interest in machinery, Ed had always been keen on cars, and in his freshman year at Caltech, he also decided to learn to fly a plane. Ed’s older brother, Norman, had joined the Air Force five years earlier. And when he left Caltech—in 1954 at age 19—Ed joined the Air Force too. (If he hadn’t done that, he would have been drafted into the Army.) Ed’s brother Norman (who would spend his whole career in aviation) had been involved in the Korean War, particularly doing aerial reconnaissance—here pictured with his plane (and, no, there don’t seem to be any Air Force pictures of Ed himself):

\n

Click to enlarge

\n

By the time Ed joined the Air Force, the Korean War was over. Ed was assigned to an airbase in Arizona, and by the summer of 1955 he had qualified as a fighter pilot. Ed was never officially a “test pilot”, but he told me stories about figuring out how to take his plane higher than anyone else—and achieving weightlessness by flying his plane in a perfect free-fall trajectory by maintaining an eraser floating in midair in front of him.

\n

By 1956 Ed had been grounded from flying as a result of asthma, and was now at an airbase in Florida as an “intercept controller”—essentially an air traffic controller responsible for guiding fighters to intercept bombers. It was a time when the Air Force was developing the SAGE (Semi-Automatic Ground Environment) air defense system—a huge project whose concept was to use computers to coordinate data from many radars so as to be able to intercept Soviet bombers that might attack the US (cf. Dr. Strangelove, etc.). The center of SAGE development was Lincoln Lab (then part of MIT) in Lexington, MA—with IBM providing computers, Bell (AT&T) providing telecommunications, RAND providing algorithms, etc. And in mid-1956 the Air Force sent a group—including Ed—to test the next phase of SAGE. But as Ed tells it, they were soon informed that actually there would be a one-year delay.

\n

At the time, the SAGE project was busily trying to train people about computers, and some people from the Air Force stayed in the Boston area to participate in this. As Ed tells it, however, he was the only one who didn’t drop out of the training—and over the course of a year it taught him “much of what was then known about computer programming and computer hardware design”. There were at the time only a few hundred people in the world who could call themselves programmers. And Ed was now one of them. (Perhaps he was even “the world’s best”.)

\n

Computers!

\n

Having learned to program, Ed remained at Lincoln Lab, paid by the Air Force, doing what amounted to computational “odd jobs”. Often this had to do with connecting systems together, or coming up with “clever hacks” to overcome particular system limitations. Occasionally it was a little more algorithmic—like when Sputnik was launched in 1957, and Ed got pulled into a piece of “emergency programming” for orbit calculations.

\n

Ed told many stories about “hacking” the bureaucracy at the Air Force (being given a “Secret” stamp so he could read his own documents; avoiding being sent for a year to the Canadian Arctic by finding a loophole associated with his wife being pregnant, etc.)—and in 1958 he left the Air Force (though he would remain a captain in the reserves for many years), but stayed on at Lincoln Lab. Officially he was there as an “administrative assistant”, because—without a degree—that was all they could offer him. But by then he was becoming known as a “computer person”—with lots of ideas. He wanted to start his own company. And (as he tells it) the very first potential customer he visited was an MIT-spinoff acoustics firm called Bolt Beranek & Newman (BBN). And the person he saw there was their “vice president of engineering psychology”—a certain J. C. R. “Lick” Licklider—who persuaded Ed to join BBN to “teach them about computers”.

\n

It didn’t really come to light until he was at BBN, but while at Lincoln Lab Ed had made what would eventually become his first lasting contribution to computer science. He thought of it as a new way of storing textual information in a computer, and he called it “TRIE memory” (after “reTRIEval”). Nowadays we’d call it the trie (or prefix tree) data structure. Here it is for some common words in English made from the letters of “wolf”:

\n
\n
\n

\n

Licklider persuaded Ed to write a paper about tries—which appeared in 1960, and for a couple of decades was essentially Ed’s only academic-style publication:

\n

Click to enlarge

\n

The paper has a pretty clear description of tries, even with some nice diagrams:

\n

Click to enlarge

\n

Even in analyzing the performance of tries, there was only the faintest hint of math in the paper—though Ed realized (probably with input from Licklider) that the efficiency of tries would depend on the Shannon-style redundancy of what they were storing, and he ran Monte Carlo simulations to investigate this:

\n

Click to enlarge

\n

(He explains: “The test program was written in FORTRAN for the IBM 709. The program is composed of 42 subroutines, of which 19 were coded specially for this program and 23 were taken from the library.”)

\n

Tries didn’t make a splash when Ed first introduced them—not least because computers didn’t really have the memory then to make use of them. I think I first heard about them in the late 1970s in connection with spellchecking, and nowadays they’re widely used in lots of text search, bioinformatics and other applications.

\n

Ed had apparently first started talking about tries when he was still in the Air Force. As he explained it to me in 2014:

\n
\n

The Air Force [people] had no idea [what I was talking about]. But I kept on [saying] “I need to find someone who knows something about this that can critique it for me.” And someone says to me, “There’s a guy at MIT who deals in something similar, he calls it lists”. And that was John McCarthy. So, I call up, I get a secretary and, you know, I make a date, and I go to MIT and in building 56 with the computation center, I go to his office and the secretary says he’s somewhere out in the hall. I see some guy wandering back and forth. I go up and say, “You John McCarthy?” He says, “Yes.” So, I say, “I’ve had this idea—” I can’t remember if I was in uniform or not; I might’ve been. I said, “I had this idea, and I’ve written a program and tested it. And might you take a look?” Then he takes this thing, and he starts to read it.

\n
\n
\n

Then he did something that struck me as very weird. He turned around slowly and started walking away, he’s reading and walk, walk, walk, walk, stop. Turns around, walk, walk, walk, walk, back slowly, you know. Finally, he comes back and he stops and he reads and reads. And he’s obviously angry. And I thought, “This is weird.” I said “Does it make sense or anything?” He says, “Yes, it makes sense.” And I said, “Well, what’s up?” He says, “Well, I’ve had the same idea.” And I said, “Oh.” He says, “But I’ve never written it down.” And I said, “Oh, okay. So, do you think I ought to work on it or do something?” He says, “Yeah”. So, that’s how I met John McCarthy.

\n
\n

Ed remained friends with McCarthy for the rest of McCarthy’s life, and involved him in many of his endeavors. In 1956 McCarthy had been one of the organizers of the conference that coined the term “artificial intelligence”, and in 1958 McCarthy began the development of LISP (which was based on linked lists). I have to say I wish I’d known Ed’s story with McCarthy much earlier; I would have handled my own interactions with McCarthy differently—because, as it was, over the course of various encounters from 1981 to 2003 I never persisted very far beyond the curmudgeon stage.

\n

Back around 1958, the circle of “serious computer people” in the Boston area wasn’t very large—and another was Marvin Minsky (who I knew for many years). Between Ed and Licklider, both McCarthy and Minsky became consultants at BBN, and all of them would have many interactions in the years to come.

\n

But in late 1959 there was another entrant in the Boston computer scene: the PDP-1 computer, designed by a certain Ben Gurley for a new company named Digital Equipment Corporation (DEC) that had essentially spun off from Lincoln Lab and MIT. BBN was the first customer for the PDP-1, and Ed was its anchor user:

\n

Click to enlarge

\n

John McCarthy had had the “theoretical” idea of timesharing, whereby multiple users could work on a single computer. Ed figured out how to make it practical on the PDP-1, in the process inventing what would now be called asynchronous interrupts (then the “sequence break system”). And so began a process which led BBN to become a significant force in computing, the creation of the internet, etc.

\n

But in 1961, Ed and a certain Roland Silver, who also worked at BBN, decided to quit BBN—and, strangely enough, to move to Brazil, where they were enamored of the recently elected new president. But when that new president unexpectedly resigned, they abandoned their plan. And when BBN didn’t want them back, Ed decided to start a company, initially doing consulting for DEC. As Ed tells it, he and Roland Silver were such good friends and had so much they talked about that together they couldn’t get anything done, so they decided they’d better split up.

\n

As I was writing this piece, I decided to look up more about Roland Silver—who I found out had been a college roommate of Marvin Minsky’s at Harvard, and had had a long career in math, etc. at MITRE (the holding company for Lincoln Lab). But I also remembered that many years ago I’d received letters and a rather new-age newsletter from a certain “Rollo Silver”:

\n

Click to enlarge

\n

Could it be the same person? Yes! And in my archives I also found an ad:

\n

Click to enlarge

\n

Some time after my work on cellular automata in the 1980s, Roland Silver—together with my longtime friend Rudy Rucker—started a newsletter about cellular automata, notably not mentioning Ed, but including a colorful bio for Silver:

\n

Click to enlarge

\n

“Triple-I” (III)

\n

But back to Ed and his story. It was 1961, and Ed had quit his job at BBN. In 1957, he’d met on a Cape Cod beach a woman from Western Massachusetts named Dorothy Abair (who was at the time working at a beauty salon)—and six weeks later they’d married, and now had a 3-year-old daughter. Ed had already lined up some consulting with DEC, and as Ed tells it, with a little “hacking” of bank loans, etc. he was able to officially start Information International Incorporated (III)—with a tiny office in Maynard, MA (home of DEC). But then, one day he gets a call from the Woods Hole Oceanographic Institute. He drives down to Woods Hole with a certain Henry Stommel—an oceanography professor at Harvard—who tells him about a “vortex ocean model”, and asks Ed if he can program it on a PDP-1 so that it displays ocean currents on a screen. And the result is that III soon has a contract for $10k (about $100k today) to do this.

\n

I might add a small footnote here. Years later I was talking to Ed about the origins of cellular automata, and he tells me that a certain Henry Stommel had told him that there were cellular automaton models of sand dunes from the 1930s. At the time—before the web—I couldn’t easily track down who Henry Stommel was (and I had no idea how Ed knew him), and to this day I don’t know what those sand dune models might have been.

\n

But in any case, Ed’s interaction with Woods Hole led to what became III’s first major business: digital reading of film. As Ed tells it:

\n
\n

At Woods Hole … they had these meters which would measure how fast the ocean current was going and which way—and recorded it on 16 mm film with little tiny lights and a little fiber optic thing. And they had built a machine to read that film. I looked at the machine and said “That’ll never work”. And they said “Who are you? Of course it’ll work”, and so on, so forth. OK, so some months later they call me up and say it didn’t work.

\n
\n
\n

I have to tell you this but this is insanely funny. So I decide I’m going to make a film reader and here’s how I’m going to do it. I knew there was a 16 mm projector you could rent from a company and you could stop it and then say “Advance one frame” by clicking and it would just advance one frame at a time. So I thought: say I take the lightbulb out and put a photomultiplier in and point it at the screen of the computer. Then light will come from the screen, go through the lens and be focused on the film, and some would go through the film to the photomultiplier and I would be able to tell how much light got through. And we could write a program to do the rest.

\n
\n
\n

That was my idea, OK.

\n
\n
\n

So not having any money, we rented that projector and I got Digital (DEC) to let me use their milling machine and I bought the photomultiplier tube, and I got Ben Gurley to design the circuitry and connect it to the computer. But there was one more thing. The photomultiplier tube was like a vacuum tube but it had like 16 pins and a very odd connector that no one had. But I thought “Lincoln Labs has parts for everything in their electronics warehouse”. So I called someone I used to work with there, and said “Look, do me a favor and sneak into the parts area, take that part and just give it to me. I’ve ordered one but I’m not going to get it for a while and when I get it I’ll give it to you and you can put it back so it’s not actually a theft.” And he said “OK, I’ll do it” but he asked me why I wanted it and I told him “Well, I’m doing this stuff for Woods Hole to read some film with a computer”.

\n
\n
\n

OK, so he gave me the part and we get it going right away and we’re reading the film, and that solved the problem. But meanwhile this very funny thing happened. Someone from Lincoln Labs found out about all this and said “Hey, you’re reading some kind of film. Is that what you used that thing for?” And I said “Yeah”. And they said “Well, we tried to read some films so we built a gadget and did the same thing you did: we pointed it at the screen of the computer, but we can’t make the software work”. And I said “OK, well, come down and tell me about it”. So they come down and what happens is this. There’s some army people and they have a radar that’s looking at a missile coming in and records on film from an oscilloscope. And they asked could we read this. And to make a long story short they signed another contract….

\n
\n

The whole setup was eventually captured in a patent entitled simply “High-Speed Film Reading”:

\n

Click to enlarge

\n

And actually this wasn’t Ed’s first patent. That had been filed in 1960, while Ed was at BBN—and it was for a mechanical punched card sorter, with arrays of metal pins and the like, and no computer in evidence:

\n

Click to enlarge

\n

III ended up discovering that there were many applications—military and otherwise—for film readers. But their Woods Hole relationship led in another direction as well: computer graphics and data visualization. By 1963 there were perhaps 300,000 oceanographic stations recording their data on punched cards, and the idea was to take this data and produce from it a “computer-compiled oceanographic atlas”. The result was a paper:

\n

Click to enlarge

\n

And with statements like “Only a high-speed computer has the capacity and speed to follow the quickly shifting demands and questions of a human mind exploring a large field of numbers” the paper presented visualizations like:

\n

Click to enlarge

\n

These various developments put III in the center of the emerging field of film-meets-computers systems. The company grew, moving its center of operations to Los Angeles, not least to be near the Systems Development Corporation (SDC) which RAND had spun off as its software arm in response to the SAGE project.

\n

But Ed was always having new ideas for III, and defining new directions. Ed had brought Minsky and McCarthy into III as board members and consultants, and for example in 1964 III was proposing to SDC a project to make a new version of LISP (and, yes, with no obvious film-meets-computers applications). The proposal gives some insight into the state of III at the time. It says that “From a one-man operation [in 1962], I.I.I. has grown to the point where our gross volume of business for 1964 is in the neighborhood of $1 million [about $10 million today]”. It explains that III has four divisions: Mathematical and Programming Services, Behavioral Science, Operations, and “New York”. It goes on to list various things III is doing: (1) LISP; (2) Inductive Inference on Sequences; (3) Computer Time-Sharing; (4) Programmable Film Readers; (5) The World Oceanographic Data Display System; and (6) Computer Display Systems.

\n

It’s certainly an eclectic collection, reflecting, as such things often do, the character of the company’s founder. From a modern perspective, one item that catches one’s attention is:

\n

Click to enlarge

\n

One can think of it as an early attempt at AI/machine learning—which 60 years later still hasn’t been solved. (GPT-4 says the next letter should be Q, not O.)

\n

But distractions or not, it was a talented team that assembled at III—with lots of cross-fertilization with MIT. III’s business progressively grew, and perhaps it outgrew Ed—and in 1965 Ed stepped down as CEO. In 1968 he left entirely and (as we’ll discuss below) went to MIT, leaving III in the hands of Al Fenaughty, who, years later (and after nearly 30 years at III), would become the chairman of Yandex.

\n

As someone who’s curious about the ways of company founders, I asked Ed many times about his departure from III. He usually just said: “I had a partner who died”. But it’s only now that I’ve pieced together, partly from my 2014 oral history with Ed, what happened. Ed described it to me as the greatest tragedy of his life.

\n

Shortly after he set up III, Ed persuaded Ben Gurley (designer of the PDP-1) to leave DEC and join him at III. I think Ed had hoped to build computers at III, with Gurley as their designer. But on November 7, 1963, in Concord, MA, just a few miles from where I am as I write this, Ben Gurley was murdered—by a single revolver shot through his dining room window as he was about to sit down for dinner with his wife and 7 children. An engineer from DEC (and Lincoln Labs)—about whom Gurley had recently complained to the police—was arrested, and eventually convicted of the crime (after Ed hired a private detective to help). It later turned out that a few years earlier the same engineer was likely also responsible for shooting (though not killing) another engineer from DEC.

\n

I had always assumed that Ed’s decision to leave III happened just after his “partner had died”. But I now realize that Gurley’s death early in the history of III caused III to go on its path of making things like film readers, rather than the DEC- or IBM-challenging computers I think Ed had hoped for.

\n

Even after Ed left active management of III, he was still its chairman. And in late 1968 something would happen that would change his life forever. Taking tech companies public on the “over-the-counter” market had become a thing, and a broker offered to take III public. And on November 26, 1968, III filed its SEC paperwork:

\n

Click to enlarge

\n

III’s “principal product to date” is described as a “programmable film reader”, but the paperwork notes that as of October 31, 1968, the company has no film readers on order—though there are orders for its new microfilm reader, which it hasn’t delivered yet. It also says that proceeds from the offering will be used to fund its “proposed optical character recognition project”. But for our purposes what’s perhaps more significant is that the paperwork records that Ed owns 57.7% of the company, with the Edward Fredkin Charitable Foundation owning 0.4%.

\n

On January 8, 1969, III went public, and Ed was suddenly, at least on paper, worth more than $10M (or more than $80M today). Two years later (perhaps as soon as a lockup period expired), Ed cashed out, with the SEC notice indicating that Ed would be “repaying personal indebtedness to a bank incurred by him for reasons unrelated to the company or its business” (presumably a loan he’d taken out before he could achieve liquidity):

\n

Click to enlarge

\n

So now Ed—at age 37—was wealthy. And in fact the money he made from III would basically last the rest of his life, even through a long sequence of subsequent business failures.

\n

III’s OCR project was never a great success, but III became a key company in digital-to-film systems (relevant to both movies and printing), and in the early 1970s created some of the very first computer-generated special effects, that eventually made it into movies like Star Wars. III’s stock price hovered around $10 per share for years, and in 1996—after PostScript had pretty much taken the market for prepress printing systems—III was sold to Autologic for $35M in stock, then in 2001 Autologic was sold to Agfa for $42M.

\n

The Island

\n

When III went public in 1969 it was the height of the Cold War (which probably didn’t hurt III’s military sales). And many people—including Ed—thought World War III might be imminent. And so it was that in 1970 Ed decided to buy an island in the Caribbean, close enough to the tropics, he told me subsequently, that, he assumed (incorrectly according to current models), radioactive fallout from a nuclear war wouldn’t reach it.

\n

Apparently Ed was sitting in a dentist’s office when he saw an “Island for Sale” ad in a newspaper. The seller was a shipwreck-scavenging treasure hunter named Bert Kilbride—sometimes called “the last pirate of the Caribbean”—who had started to develop the island (and for several years would manage it for Ed). It’s a fairly small island (about 125 acres, or 0.2 square miles)—in the British Virgin Islands. And its name is Mosquito Island (or sometimes, with some historical justification, Moskito Island). And when Ed bought it, it probably cost something under $1M. (Richard Branson bought the nearby but smaller Necker Island in 1978.)

\n

I visited Ed’s island in January 1982—the first time I met Ed. And, yes, there was a certain “lair of a Bond villain” (think: Dr. No) vibe to the whole thing. Here are pictures I took from a boat leaving the island (notice the just-visible seaplane parked at the island):

\n

Click to enlarge

\n

There was a small resort (and restaurant) on the island, named Drake’s Anchorage (built by the previous owner):

\n

Click to enlarge

\n

And, yes, there were beaches on the island (though I myself have never been much of a beach-goer):

\n

Click to enlarge

\n

And, in keeping with the Bond vibe, there was a seaplane too:

\n

Click to enlarge

\n

There was one house on the island, here pictured from the plane (it so happened that when I visited the island, I was learning to fly small planes myself—so I was interested in the plane):

\n

Click to enlarge

\n

Visiting a nearby island—with its very rundown airport sign—gives some sense of the overall area:

\n

Click to enlarge

\n

Ed claimed it was difficult to run the resort on his island, not least because, he said, “the British Virgin Islands have the lowest average worker productivity in the world”. But he nevertheless, for example, had a functioning restaurant, and here I am there in 1982, along with Charles Bennett, about whom we’ll hear more later:

\n

Click to enlarge

\n

When people talked about Ed, his island was often mentioned, and it projected a general image of overall mystique and extreme wealth. In 1983 a movie called WarGames came out, featuring a reclusive military-oriented computer expert named “Professor Falken”—who had an island. Many people assumed Falken was based on Fredkin (and it now says so all over the internet). However, in writing this piece, I decided to find out what was actually true—so I asked one of the writers of the movie, Walter Parkes. He responded, and, yes, fact is often even stranger than fiction:

\n
\n

Unfortunately I can confirm that Ed was not the inspiration for Stephen Falken. The character was inspired by Steven [sic] Hawking. (Falken = Falcon = Hawking) The movie was first conceived to be about two characters, a young super-genius born into a family incapable of acknowledging his gifts, and a dying scientist in need of a protégé. In the first several drafts Falken was confined to a wheel-chair and was working on understanding the big bang, for which he had created a computer simulation. Little known fact—while writing the character, we had one person in mind to play the role: John Lennon, who was murdered shortly before we finished the script.

\n
\n

(By the way, in a moment of “fact follows fiction”, WarGames featured a computer with lots of flashing lights. I happened to see the movie with Danny Hillis, and as we were walking out of the movie, I said to Danny “Perhaps your computer should have flashing lights too”. And indeed flashing lights became a signature feature of Danny’s Connection Machine computer, as later seen in movies like Jurassic Park.)

\n

Project MAC

\n

After he left III in 1968, Ed’s next stop would be MIT, and specifically Project MAC (the “Multiple Access Computer” Project). But actually Ed had already been involved much earlier with Project MAC. In many ways the project was a follow-on to what Ed had been doing at BBN on timesharing.

\n

In 1963 Ed wrote a long survey article on timesharing:

\n

Click to enlarge

\n

The introduction contains a rather charming window onto the view of computers at the time:

\n

Click to enlarge

\n

And the ads interspersed through the article give a further sense of the time:

\n

Click to enlarge

\n

As illustrations of what can be done with an interactive timeshared computer, there’s a picture from Ed’s vortex ocean simulation—as well as an example of an online “book” about LISP:

\n

Click to enlarge

\n

And, yes, already a kind of “cloud computing” story:

\n

Click to enlarge

\n

There’s also a description of Project MAC—that had just been funded by the Advanced Research Projects Agency (now DARPA). The article said that the “MAC” stood either for “Multiple Access Computer” or “Machine-Aided Cognition”. It included various sections on what might be possible with timesharing:

\n

Click to enlarge

\n

The main text of the article ends with a rousing (?) vision of AI taking over from humans (and, yes, even though this is from 60 years ago it’s not so different from what at least some people might say about the “AI future” today):

\n

Click to enlarge

\n

But there’s a curious piece of backstory to Project MAC—from 1961—that appears as a footnote to Ed’s article:

\n

Click to enlarge

\n

Ed told me versions of this story many times. McCarthy had failed to get tenure at MIT, and was looking for another job. (Yes, in retrospect this seems remarkable given all the things he’d already done by then. But those things were computer science—and MIT didn’t yet have a CS department; McCarthy was in the EE department.) Ed, Minsky and McCarthy were going to an SDC meeting in Los Angeles, and while he was out there McCarthy was going to interview at Caltech (his undergraduate alma mater). They had a free evening, and Ed suggested they meet “someone interesting”. Ed remembered Linus Pauling from his time at Caltech. But Pauling wasn’t in. So Minsky suggested they call Richard Feynman. And he was in, and invited them over to his house.

\n

Feynman apparently showed them things like his nanotech-inspiring tiny motor, etc., but somehow the discussion shifted to AI. And Minsky mentioned work a student of his was doing on the “AI problem” of symbolic integration. Then McCarthy started to explain ways a computer could do algebra. Then, as Ed told it to me in 2014:

\n
\n

Feynman produces this sheaf of papers to show us. It was all algebra. And he says “There’s a problem. I’ve done this calculation, and it’s close to 50 pages. A graduate student has done it too, and Murray Gell-Mann has done it. And the only thing we know for sure is that our three results are mutually inconsistent. And the only conclusion we can arrive at is that a person can’t do this much algebra with the hope of getting it right.” And so the question was could there be some system that could help do a problem like that? So what happened is Marvin [Minsky] and I basically fleshed out the idea of a mathematical thing. And it was agreed that we would do it. Marvin and I decided to divide this task up, that I would do one part, and he would do another. Now, we had one bad idea in there, OK. It’s partly Feynman’s fault, but it’s also Marvin and my fault. He was convinced you could not do [math] by typing it. It had to have some kind of handwriting recognition. So, it was decided I would do the handwriting recognition…

\n
\n

And although I didn’t know this until I was writing this piece, it turns out the original proposal for Project MAC was actually based on the idea of building a system for mathematics, and “Project MAC” was originally the “Project on Mathematics and Computation”. Pretty soon, though, the emphasis of Project MAC would shift to the “infrastructure” of timeshared computing. But there was still a math effort, which in time became the MACSYMA system for computer algebra (written in LISP by students and grandstudents of Minsky).

\n

And here this intersects with my personal story. Because many years later (starting in 1976) I would use that system—along with other early computer algebra systems—to do all sorts of physics calculations. My archives still contain an example of what it was like in 1980 to log in to “Project MAC” over the ARPANET (my username was “swolf” in those days; note the system message, the presence of 15 MITishly-named “lusers” altogether, and yes, mail):

\n

Click to enlarge

\n

But, actually, in late 1979 I had already decided to “do my own thing” and build my own system for doing mathematical computation, and eventually much more. And indeed when I first met Ed in 1982 I had recently finished the first version of SMP, and to commercialize it I had started my first company. In 1986 I started to build Mathematica (and what’s now Wolfram Language)—which was released in 1988. Ed started using Mathematica very soon after it was released, and basically continued to do so for the rest of his life.

\n

But picking up the original Project MAC narrative from 1963: the old group from BBN had dispersed but were still writing together about timesharing (and when they said a “debugging system” they meant essentially what we would now call an operating system):

\n

Click to enlarge

\n

And when Project MAC launched in 1963, its “steering committee” included Minsky, Gurley—and Ed. (John McCarthy had landed at Stanford, where he would remain for the rest of his life. I first met him in 1981, at a time when Stanford was trying to recruit me. There was a lunch with the CS department; people went around the room and introduced themselves. McCarthy unhelpfully—and confusingly—said he was “John Smith”.)

\n

Ed at MIT

\n

In 1968, Ed left III—and Minsky, together with Licklider (who had by then become director of Project MAC), persuaded the MIT EE department to hire Ed as a visiting professor for the year. Ed had been spending most of his time at III in Los Angeles, but III also had a pied-à-terre in the Boston area, and indeed its IPO documents listed its address as 545 Technology Square, Cambridge—the very building in which Project MAC was located.

\n

At MIT, Ed invented and taught a freshman course on “Problem Solving”. He told me many times one of his favorite “problem exercises”. Imagine there’s a person who can cure anyone who’s sick just by touching them. How could one set things up to make the best use of this? I must say I never find such implausible hypotheticals terribly interesting. But Ed was proud of a solution that he’d come up with (I think in discussion with Minsky and McCarthy) that involved systematically shuttling millions of people past the healer.

\n

This probably didn’t come from that particular course, but here are some notes I found in an archive of Ed’s papers at MIT that perhaps suggest some of the flavor of the course (we’ll talk about Ed’s interest in the Soviet Union later):

\n

Click to enlarge

\n

In 1968 MIT—and Project MAC in particular—was at the very center of emerging ideas about computer science and AI. A picture from that time captures Ed (third from left) with a few of the people involved: Claude Shannon, John McCarthy and Joe Weizenbaum (creator of ELIZA, the original chatbot):

\n

Click to enlarge

\n

At the end of the 1968 academic year student reviews from Ed’s course were unexpectedly good, and MIT needed faculty members who could be principal investigators on the government grants that were becoming plentiful for computing—and one of those typical-for-Ed “surprising things” happened: MIT agreed to hire him as a full professor with tenure, despite his lack of academic qualifications. It was a watershed moment for Ed, and I think a piece of validation that he carried with pride for the rest of his life. (For what it’s worth, while Ed was an extreme case, MIT was at that time also hiring at least some other people without the usual PhD qualifications into CS professor positions.)

\n

In 1971 Licklider stepped down from his position as director of Project MAC—and Ed assumed the position. His archives from the time contain lots of administrative material—studies, reports, proposals, budgets, etc.—including many pieces reflecting things like the birth of the ARPANET, the maturing of operating systems and the general enthusiasm about the promise of AI.

\n

One item (conceivably from an earlier time) is Ed’s summary of “Information Processing Terminology” for PDP-1 users, complete with definitions like: “A bit is a binary digit or any thing or state that represents a binary digit. Equivalently, a bit is a set with exactly two members. Note that a bit is not one of the members of such a set”:

\n

Click to enlarge

\n

Ed does not seem to have been very central to the intellectual activities around Project MAC, and the emerging Lab for Computer Science and AI Lab. But his name shows up from time to time. And, for example, in the classic “HAKMEM” collection of 191 math and CS “hacks” from the AI Lab, there are two—both very number oriented—attributed to Ed:

\n

Click to enlarge

\n

Rollo Silver gets mentioned too—notably in connection with “random number generators” involving XORs (and, yes, the code is assembly code—for a PDP-10):

\n

Click to enlarge

\n

Also in HAKMEM is the “munching squares” algorithm—that I was later shown by Bill Gosper:

\n

Click to enlarge

\n

And talking of Gosper (whom I’ve known since 1979, and who almost every week seems to send me mail with a surprising new piece of math he’s found with Mathematica): in 1970 the Game of Life cellular automaton had come on the scene, and Gosper and others at MIT were intensely studying it, with Gosper triumphantly discovering the glider gun in November 1970. Curiously—in view of all his emphasis on cellular automata—Ed doesn’t seem to have been involved.

\n

But he did do other things. In 1972, for example, as a kind of spinoff from his Problem Solving course, he formed a group called “The Army to End the War” (i.e. the Vietnam War), whose idea was that it was time to stop the government fighting an unwinnable war, and this could be achieved by having an organization that would coordinate citizens to threaten a run on banks unless the war was ended. Needless to say, though, this didn’t really fit well with the project Ed ran being funded by the Department of Defense.

\n

Between MIT being what it is, and Ed being who he was, there were often strange things that happened. As Ed tells it, one day he was in Marvin Minsky’s office talking about unrecognized geniuses, and a certain Patrick Gunkel walks in, and identifies himself as such. Ed ended up having a long association with Gunkel, who produced such documents as:

\n

Click to enlarge

\n

(Gunkel’s major goal was to create what he called “ideonomy”, or the “science of ideas”, with divisions like isology, chorology, morology and crinology. I met Gunkel once, in Woods Hole, where he had become something of a local fixture, riding around town with his cat in his bicycle basket.)

\n

But after a few years as director of Project MAC, in 1974 Ed was onto something new: being a visiting scholar at Caltech. After his 1961 encounter, he had gotten to know Richard Feynman—who always enjoyed spending time with “out of the box” people like Ed. And so in 1974 Ed went for a year to Caltech, to be with Feynman.

\n

The Universe as a Cellular Automaton

\n

My own efforts (and successes) with cellular automata may perhaps have had something to do with it. But I think at least in the later part of his life, Ed felt his greatest achievements related to cellular automata and in particular his idea that the universe is a giant cellular automaton. I’m not sure when Ed really first hatched this idea, or indeed started to think about cellular automata. Ed had told me many times that when he’d told John McCarthy “the idea”, McCarthy suggested testing it by looking for “roundoff error” in physics, analogous to roundoff error from finite precision in computers. Ed scoffed at this, accusing McCarthy of imagining that there was literally “an IBM 709 computer in the sky”. And Ed’s implication was that he had gotten further than that, imagining the universe to be made more abstractly from a cellular automaton.

\n

I didn’t know quite when this exchange with McCarthy was supposed to have taken place (and, by the way, some of the emerging experimental implications of our Physics Project are precisely about finding evidence of discrete space through something quite analogous to “roundoff errors” in the equations for spacetime). But Ed’s implication to me was always that he’d started exploring cellular automata sometime before 1960.

\n

In the mid-1990s, researching history for my book A New Kind of Science, (as I’ll discuss below) I had a detailed email exchange and long phone conversation with Ed about this. The result was a statement in my notes about the history of cellular automata:

\n

Click to enlarge

\n

At the time, Ed made it sound very convincing. But in writing this piece, I’ve come to the conclusion it’s almost certainly not correct. And of course that’s disappointing given all the effort I put into the history notes in my book, and the almost complete lack of other errors that have surfaced even after two decades of scrutiny. But in any case, it’s interesting to trace the actual development of Ed’s ideas.

\n

One useful piece of evidence is a 25-page document from 1969 in his archives, entitled “Thinking about New Things”—that seems to outline Ed’s thinking at the time. Ed explains “I am not a Physicist, in fact I know very little about modern physics”—but says he wants to suggest a new way of thinking about physics:

\n

Click to enlarge

\n

Soon he starts talking about the possibility that the universe is “merely a simulation on a giant computer”, and relates a version of what he told me about his interaction with John McCarthy:

\n

Click to enlarge

\n

He talks (in a rather programmer kind of way) about the beginning of the universe:

\n

Click to enlarge

\n

He goes on—again in a charmingly “programmer” way:

\n

Click to enlarge

\n

A bit later, Ed is beginning to get to the concept of cellular automata:

\n

Click to enlarge

\n

And there we have it: Ed gets to (3D) cellular automata, though he calls them “spatial automata”:

\n

Click to enlarge

\n

And now he claims that spatial automata can exhibit “very complex behavior”—although his meaning of that will turn out to be a pale shadow of what I discovered in the early 1980s with things like rule 30:

\n

Click to enlarge

\n

But at this point Ed already seems to think he’s almost there—that he’s almost reproduced physics:

\n

Click to enlarge

\n

A little later he’s discussing doing something very much in my style: enumerating possible rules:

\n

Click to enlarge

\n

And still further on he actually talks about 1D rules. And in some sense it might seem like he’s getting very close to what I did in the early 1980s. But his approach is very different. He’s not doing “science” and “empirically seeing what cellular automata do”. Or even being very interested in cellular automata for their own sake. Instead, he’s trying to engineer cellular automata that can “be the universe”. And so for example he wants to consider only left-right symmetric cellular automata “because the universe is isotropic”. And having also decided he wants cellular automata that are symmetric under interchange of black and white (a property he calls “syntactic symmetry”), he ends up with just 8 rules. He could just have simulated these by running them on a computer. But instead he tries to “prove” by pure thought what the rules will do—and comes up with this table:

\n

Click to enlarge

\n

Had he done simulations he might have made pictures like these (labeled using my rule-numbering scheme):

\n
\n
\n

\n

But as it was he didn’t really come to any particular conclusion, other than what amount to a few simple “theorems” about what “data processing” these cellular automata can do:

\n

Click to enlarge

\n

I must say I find it very odd that—particularly given all the stories about his activities and achievements he told me—Ed never in the four decades I knew him mentioned anything about having thought about 1D cellular automata. Perhaps he didn’t remember, or perhaps—even after everything I wrote about them—he never really knew that I was studying 1D cellular automata.

\n

But in any case, what comes next in the 1969 document is Ed getting back to “pure thought” arguments about how cellular automata might “make physics”:

\n

Click to enlarge

\n

It’s a bit muddled (though, to be fair, this was a document Ed never published), but at the end it’s basically saying that if the universe really is just a cellular automaton then one should be able to replace physical experiments (that would, for example, need particle accelerators) with “digital hardware” that just runs the cellular automaton. The next section is entitled “The Design of a Simulator”, and discusses how such hardware could be constructed, concluding that a 1000×1000×1000 3D grid of cells could be built for $50M (or nearly half a billion dollars today).

\n

After that, there’s one final (perhaps unfinished) section that reads a bit like a caricature of “I’ve-got-a-theory-of-physics-too” mechanical models of physics:

\n

Click to enlarge

\n

But, OK, so what does this all mean? Well, first, I think it makes it rather clear that (despite what he told me) by 1969—let alone 1961—Ed hadn’t actually implemented or run cellular automata in any serious way. It’s also notable that in this 1969 piece Ed isn’t using the term “cellular automaton”. The concept of cellular automata had been invented many times, under many different names. But by 1969 the term “cellular automaton” was pretty firmly established, and in fact 1969 might have represented the very peak up to that point of interest in cellular automata in the world at large. But somehow Ed didn’t know about this—or at least wasn’t choosing to connect with it.

\n

Even at MIT Frederick Hennie in the EE department had actually been studying cellular automata—albeit under the name “iterative arrays”—since the very beginning of the 1960s. In 1968 E. F. Codd from IBM (who laid the foundations for SQL—and who worked with Ed’s friend John Cocke) had published a book entitled Cellular Automata. Alvy Ray Smith—in the same department as John McCarthy at Stanford—was writing his PhD thesis on “cellular automata”. In 1969 Marvin Minsky and Seymour Papert published their Perceptrons book, and were apparently talking a lot about cellular automata. And for example by the fall of 1969 Papert’s student Terry Beyer had written a thesis about the “recognition and transformation of figures by iterative arrays of finite state automata”—under the auspices of Project MAC, presumably right under Ed’s nose. (And, no, the thesis doesn’t mention Ed, though it mentions Minsky.)

\n

Right around that time, though, something happens. Ed had been convinced—probably by Minsky and McCarthy—that any cellular automaton capable of “being the universe” better be computation universal. And now there’s a student named Roger Banks who’s working on seeing what kind of (2D) cellular automaton would be needed to get computation universality. Banks had found examples requiring much fewer than the 29 states von Neumann and Burks had used in the 1950s. But—as he related to me many times—Ed challenged Banks to find a 2-state example (“implementable purely with logic gates”), and Banks soon found it, first describing it in June 1970:

\n

Click to enlarge

\n

Banks had apparently been interacting with the “Life hackers” at MIT, and in November 1970 some of the thunder of his result was stolen when Bill Gosper at MIT discovered the glider gun, which suggested that even the rules of the Game of Life (albeit involving 9 rather than 5 2D neighbors) were likely to be sufficient for computation universality.

\n

But for our efforts to trace history, Banks’s June 1970 report has a number of interesting elements. It relates the history of cellular automata, without any mention of Ed. But then—in its one mention of Ed—it says:

\n

Click to enlarge

\n

The “mod-2 rule” that Ed told me he’d simulated in 1961 has finally made an appearance. In an oral history years later Terry Winograd reported that in 1970 he “went to a lecture of Papert’s in which he described a conjecture about cellular automata [which Winograd] came back with a proof of”.

\n

By January 1971, Banks is finishing his thesis, which is now officially supervised by Ed (even though it’s nominally in the mechanical engineering department):

\n

Click to enlarge

\n

Most of Banks’s work is presented as what amount to “engineering drawings”, but he mentions that he has done some simulations. I don’t know if these included simulations of the mod-2 rule but it seems likely.

\n

So was 1969 or 1970 the first time the mod-2 rule had been heard from? I’m not sure, but I suspect so. But to confuse things there’s a “display hack” known as “munching squares” (described in HAKMEM) that looks in some ways similar, and that was probably already seen in 1962 on the PDP-1. Here are the frames in a small example of munching squares:

\n
\n
\n

\n

Here’s a video of a bigger example:

\n
\n
\n

\n

I expect Ed saw munching squares, perhaps even in 1962. But it’s not the mod-2 rule—or actually a cellular automaton at all. And even though Ed certainly had the capability to simulate cellular automata back at the beginning of the 1960s (and could even have recorded videos of 2D ones with III’s film technology) the evidence we have so far is that he didn’t. And in fact my suspicion is that it was probably only around the time I met Ed in 1982 when it finally happened.

\n

My First Encounter with Ed

\n

In May 1981 there’d been a conference at MIT on the Physics of Computation. I’d been invited, but in the end I couldn’t go—because (in a pattern that has repeated many times in my life) it coincided with the initial release of my SMP software system. Still, in December 1981 I got the following invitation:

\n

Click to enlarge

\n

In January 1982 I was planning to go to England to do a few weeks of intensive SMP development on a computer that a friend’s startup had—and I figured I would go to the Caribbean “on the way”.

\n

It was an interesting group that assembled on January 18, 1982, on Mosquito Island. It was the first time I met my now-longtime friend Greg Chaitin. There were physicists there, like Ken Wilson and David Finkelstein. (Despite the promise of the invitation, Feynman’s health prevented him from coming.) And then there were people who’d worked on reversible computation, like Rolf Landauer and Charles Bennett. There were Tom Toffoli and Norm Margolus, who had their cellular automaton machine with them. And finally there was Ed. At first he seemed a little Gatsby-like, watching and listening, but not saying much. I think it was the next morning that Ed pulled me aside rather conspiratorially and said I should come and see something.

\n

Click to enlarge

\n

There was just one real house (as opposed to cabin) on the island (with enough marble to clinch the Bond-villain-lair vibe). Ed led me to a narrow room in the house—where there was a rather-out-of-place-for-a-tropical-island modern workstation computer. I’d seen workstation computers before; in fact, the company I’d started was at the time (foolishly) thinking of building one. But the computer Ed had was from a company he was CEOing. It was a PERQ 1, made by Three Rivers Computer Corporation, which had been founded by a group from CMU including McCarthy’s former student Raj Reddy. I learned that Three Rivers was a company in trouble, and that Ed had recently jumped in to save it. I also learned that in addition to any other challenges the engineers there might have had, he’d added the requirement that the PERQ be able to successfully operate on a tropical island with almost 100% humidity.

\n

But in any case, Ed wanted to show me something on the screen. And here’s basically what it was:

\n
\n
\n
\n

Ed pressed a button and now this is what happened:

\n
\n
\n

\n

I’d seen plenty of “display hacks” before. Bill Gosper had shown me ones at Xerox PARC back in 1979, and my archives even contain some of the early color laser printer outputs he gave me:

\n

Click to enlarge

\n

I don’t remember the details of what Ed said. And what I saw looked like “display hacks flashing on the screen”. But Ed also mentioned the more science-oriented idea of reversibility. And I’m pretty sure he mentioned the term “cellular automaton”. It wasn’t a long conversation. And I remember that at the end I said I’d like to understand better what he was showing me.

\n

And so it was that Ed handed me a PERQ 8” floppy disk. And now, 41 years later, here it is, sitting— still unread—in my archives:

\n

Click to enlarge

\n

It’s not so easy these days to read something like this—and I’m not even sure it will have “magnetically survived”. But fortunately—along with the floppy—there’s something else Ed gave me that day. Two copies of a 9-page printout, presumably of what’s on the floppy:

\n

Click to enlarge

\n

And what’s there is basically a Pascal program (and the PERQ was a very Pascal-oriented machine; “PERQ” is said to have stood for “Pascal Engine that Runs Quicker”). But what does the program do? The main program is called “CA1”, suggesting that, yes, it was supposed to do something with cellular automata.

\n

There are a few comments:

\n

Click to enlarge

\n

And there’s code for making help text:

\n

Click to enlarge

\n

Apparently you press “b” to “clear the Celluar [sic] Automata boundary”, “n” for “Fredkin’s Pattern” and “p” for “EF1”. And at the end there’s a reference to munching squares. The first pattern above is what you get by pressing “n”; the second by pressing “p”.

\n

Both patterns look pretty messy. But if instead you press “a”, you get something with a lot more structure:

\n
\n
\n

\n

I think Ed showed this to me in passing. But he was more interested in the more complicated patterns, and in the fact that you could get them to reverse what they were doing. And in this animated form, I suspect this just looked to me like another munching squares kind of thing.

\n

But, OK, given that we have the program, can we tell what it actually does? The core of it is a bunch of calls to the function rasterop(). Functions like rasterop() were common in computers with bitmapped displays. Their purpose was to apply a certain Boolean operation to the array of black and white pixels in a region of the screen. Here it’s always rasterop(6, …) which means that the function being applied is Boolean function 6, or Xor (or “sum mod 2”).

\n

And what’s happening is that chunks of the screen are getting Xor’ed together: specifically, chunks that are offset by one pixel in each of the four directions. And this is all happening in two phases, swapping between different halves of the framebuffer. Here are the central parts of the sequence of frames that get generated starting from a single cell:

\n
\n
\n

\n

It helps a lot to see the separate frames explicitly. And, yes, it’s a cellular automaton. In fact, it’s exactly the “reversible mod-2 rule”. Here it is for a few more steps, with its simple “self-reproduction” increasingly evident:

\n
\n
\n

\n

Back in 1982 I think I only saw the PERQ that one time. But in one of the resort cabins on the other side of the island—there was this (as captured in a slightly blurry photograph that I took):

\n

Click to enlarge

\n

It was a “cellular automaton machine” built out of “raw electronics” by Tom Toffoli and Norm Margolus—who were the core of Ed’s “Information Mechanics” group at MIT. It didn’t feel much like science, but more like a video DJ performance. Patterns flashing and dancing on the screen. Constant rewiring to produce new effects. I wanted to slow it all down and “sciencify” it. But Tom and Norm always wanted to show yet another strange thing they’d found.

\n

Looking in my archives today, I find just one other photograph I took of the machine. I think I considered this the most striking pattern I saw the machine produce. And, yes, presumably it’s a 2D cellular automaton—though despite my decades of experience with cellular automata I don’t today immediately recognize it:

\n

Click to enlarge

\n

What did I make of Ed back in 1982? Remember, those were days long before the web, and before one could readily look up people’s backgrounds. So pretty much all I knew was that Ed was connected to MIT, and that he owned the island. And I had the impression that he was some kind of technology magnate (and, yes, the island and the plane helped). But it was all quite mysterious. Ed didn’t engage much in technical conversations. He would make statements that were more like pronouncements—that sounded interesting, but were too vague and general for me to do much more than make up my own interpretations for them. Sometimes I would try to ask for clarification, but the response was usually not an explanation, but instead a tangentially related—though often rather engaging—story.

\n

All these years later, though, one particular exchange stands out in my memory. It was at the end of the conference. We were standing around in the little restaurant on the island, waiting for a boat to arrive. And Ed said out of the blue: “I’ll make a deal with you. You teach me how to write a paper and I’ll teach you how to build a company.” At the time, this struck me as quite odd. After all, writing papers seemed easy to me, and I assumed Ed was doing it if he wanted to. And I’d already successfully started a company the previous year, and didn’t think I particularly needed help with it. (Though, yes, I made plenty of mistakes with that company.) But that one comment from Ed somehow for years cemented my view of him as a business tycoon who didn’t quite “get” science, though had ideas about it and wanted to dabble in it.

\n

Ed and Feynman

\n

Ed would later describe Richard Feynman as his best friend. As we discussed above, they’d first met in 1961, and in 1974 Ed had spent the year at Caltech visiting Feynman, having, as Ed tells it, made a deal (analogous to the one he later proposed to me) that he would teach Feynman about computers, and Feynman would teach him about physics. I myself first got to know Feynman in 1978, and interacted extensively with him not only about physics, but also about symbolic computing—and cellular automata. And in retrospect I have to say I’m quite surprised that he mentioned Ed to me only a few times in passing, and never in detail.

\n

But I think the point was that Feynman and Ed were—more than anything else—personal friends. Feynman tended to find “traditional academics” quite dull, and much preferred to hang out with more “unusual” people—like Ed. Quite often the people Feynman hung out with had quite kooky ideas about things, and I think he was always a little embarrassed by this, even though he often seemed to find it fun to indulge and explore those ideas.

\n

Feynman always liked solving problems, and applying himself to different kinds of areas. But I have to say that even I was a little surprised when in writing this piece I was going through the archives of Ed’s papers at MIT, and found the following letter from Feynman to Ed:

\n

Click to enlarge

\n

Clearly he—like me—viewed Ed as an authority on business. But what on earth was this “cutting machine”, and why was Feynman trying to sell it?

\n

For what it’s worth, the next couple of pages tell the story:

\n

Click to enlarge

\n

Feynman’s next-door neighbor had a company that made swimwear, and this was a machine for cutting the necessary fabric—and Feynman had helped develop it. And much as Feynman had been prepared to help his neighbor with this, he was also prepared to help Ed with some of his ideas about physics. And in the archive of Ed’s papers, there’s a letter from Feynman:

\n

Click to enlarge

\n

I don’t know whether this is the first place the term “Fredkin gate” was ever used. But what’s here is a quintessential example of Feynman diving into some new subject, doing detailed calculations (by hand) and getting a useful answer—in this case about what would become Ed’s best-known invention: reversible logic, and the Fredkin gate.

\n

Feynman had always been interested in “computing”. And indeed when he was recruited to the Manhattan Project it was to run a team of human computers (equipped with mechanical desk calculators). I think Feynman always hoped that physics would “become computational” at least in some sense—and he would for example lament to me that Feynman diagrams were such a bad way to compute things. Feynman always liked the methodology of traditional continuous mathematics, but (as I just noticed) even in 1964 he was saying that “I believe that the theory that space is continuous is wrong, because we get these infinities and other difficulties…”. And elsewhere in his 1964 lectures that became The Character of Physical Law Feynman says:

\n

Click to enlarge

\n

Did Feynman say these things because of his conversations with Ed? I rather doubt it. But as I was writing this piece I learned that Ed thought differently. As he told it:

\n
\n

I never pressed any issue that would sort of give me credit, okay? It’s just my nature. A very weird thing happened toward the end of my time at Caltech. Richard Feynman and I would get into very fierce arguments. . . . I’m trying to convince him of my ideas, that at the bottom is something finite and so on. He suddenly says to me, “You know, I’m sure I had this same idea sometime quite a while ago, but I don’t remember where or how or whether I ever wrote it down.” I said, “I know what you’re talking about. It’s a set of lectures you gave someplace. In those lectures you said perhaps the world is finite.” He just has this little statement in this book. I saw the book on his shelf. I got it out, and he was so happy to see that there. What I didn’t tell him was he gave that lecture years after I’d been haranguing him on this subject. I knew he thought it was his idea, and I left it that way. That was just my nature.

\n
\n

Notwithstanding what he said, I rather suspect he did push the point. And for example when Feynman gave a talk on “Simulating Physics with Computers” at the 1981 MIT Physics of Computation conference that Ed co-organized, he was careful to write that:

\n

Click to enlarge

\n

Ed, by the way, arranged for Feynman to get his first personal computer: a Commodore PET. I don’t think Feynman ended up using it terribly much, though in 1984 he took it with him on a trip to Hawaii where he and his son Carl used it to work out probabilities to try to “crack” the randomness of my rule 30 cellular automaton (needless to say, without success).

\n

Digital Physics & Reversible Logic

\n

Back at MIT in 1975 after his year at Caltech, Ed was no longer the director of Project MAC, but was still on the books as a professor, albeit something of an outcast one. Soon, though, he was teaching a class about his ideas—under the title of “Digital Physics”:

\n

Click to enlarge

\n

Cellular automata weren’t specifically mentioned in the course description—though in the syllabus they were there, with the Game of Life as a key example:

\n

Click to enlarge

\n

Back in the 1960s, cellular automata had been a popular topic in theoretical computer science. But by the mid-1970s the emphasis of the field had switched to things like computational complexity theory—and, as Ed told me many times, his efforts to interest people at MIT in cellular automata failed, with influential CS professor Albert Meyer (whose advisor Patrick Fischer had worked quite extensively on cellular automata) apparently telling Ed that “one can tell someone is out of it if they don’t think cellular automata are dead”. (It’s an amusing irony that around this time, Meyer’s future wife Irene Greif would point John Moussouris—who we’ll meet later—to Ed and his work on cellular automata.)

\n

Ed’s ideas about physics were not well received by the physicists at MIT. And for example when students from Ed’s class asked the well-known MIT physics professor Philip Morrison what he thought of Ed’s approach, he apparently responded that “Of course Fredkin thinks the universe is a computer—he’s a computer person; if instead he were a cheese merchant he’d think it was a big cheese!”

\n

When Ed was at Caltech in 1974 a big focus there—led by Carver Mead—was VLSI design. And this led to increasing interest in the ultimate limits on computation imposed by physics. Ever since von Neumann in the 1950s it had been assumed that every step in a computation would necessarily require dissipation of energy—and this was something Carver Mead took as a given. But if this was true, how could Ed’s cellular automaton for the universe work? Somehow, Ed reasoned, it—and any computation, for that matter—had to be able to run reversibly, without dissipating any energy. And this is what led Ed to his most notable scientific contribution: the idea of reversible logic.

\n

Ordinary logic operations—like And and Or—take two bits of input and give one bit of output. And this means they can’t be reversible: with only one bit in the output there isn’t information to uniquely determine the two bits of input from the output. But if—like Ed—you consider a generalized logic operation that for example has both two inputs and two outputs, then this can be invertible, i.e. reversible.

\n

The concept of an invertible mapping had long existed in mathematics, and under the name “automorphisms of the shift” had even been studied back in the 1950s for the case of what amounted to 1D cellular automata (for applications in cryptography). And in 1973 Charles Bennett had shown that one could make a reversible analog of a Turing machine. But what Ed realized is that it’s possible to make something like a typical computer design—and have it be reversible, by building it out of reversible logic elements.

\n

Looking through the archive of Ed’s papers at MIT, I found what seem to be notes on the beginning of this idea:

\n

Click to enlarge

\n

And I also found this—which I immediately recognized as a sorting network, in which values get sorted through a sequence of binary comparisons:

\n

Click to enlarge

\n

Sorting networks are inevitably reversible. And this particular sorting network I recognized as the largest guaranteed-optimal sorting network that’s known—discovered by Milton Green at SRI (then “Stanford Research Institute”) in 1969. It’s implausible that Ed independently discovered this exact same network, but it’s interesting that he was drawing it (by hand) on a piece of paper.

\n

Ed’s archives also contain a 3-page draft entitled “Conservative Logic”:

\n

Click to enlarge

\n

Ed explains that he is limiting himself to gates that implement permutations

\n

Click to enlarge

\n

and then goes on to construct a “symmetric-majority-parity” gate—which he claims is “computation universal”:

\n

Click to enlarge

\n

It’s not quite a Fredkin gate, but it’s close. And, by the way, it’s worth pointing out that these gates alone aren’t “computation universal” in something like the Turing sense. Rather, the point is that—like with Nand for ordinary logic—any reversible logic operation (i.e. permutation) with any number of inputs can be constructed using just these gates, connected by wires.

\n

Ed didn’t at first publish anything about his reversible logic idea, though he talked about it in his class, and in 1978 there were already students writing term papers about it. But then in 1978, as Ed told it later:

\n
\n

I found this guy Tommaso Toffoli. He had written a paper that showed how you could build a reversible computer by storing everything that an ordinary computer would have to forget. I had figured out how to have a reversible computer that didn’t store anything because all the fundamental activity was reversible. Okay? So I decided to hire him because he was the only person who tried to do it and he didn’t succeed, really, and I had—and I hired him to help me.

\n
\n

Toffoli had done a first PhD in Italy building electronics for cosmic ray detectors, and in 1978 he’d just finished a second PhD, working on 2D cellular automata with Art Burks (who had coined the name “cellular automaton”). Ed brought Toffoli to MIT under a grant to build a cellular automaton machine—leading to the machine I saw on Ed’s island in 1982. But Ed also worked with Toffoli to write a paper about conservative logic—which finally appeared in 1982, and contained both the Fredkin gate, and the Toffoli gate. (Ed later griped to me that Toffoli “really hadn’t done much” for the paper—and that after all the Toffoli gate was just a special case of the Fredkin gate.)

\n

Back in 1980—on the way to this paper—Ed, with Feynman’s encouragement, had had another idea: to imagine implementing reversible logic not just abstractly, but through an explicit physical process, namely collisions between elastic billiard balls. And as we saw above, Feynman quickly got into analyzing this, for example seeing how a Fredkin gate could be implemented just with billiard balls.

\n

But ultimately Ed wanted to implement reversibility not just for things like circuits, but also—imitating the reversibility that he believed was fundamental to physics—for cellular automata. Now the fact is that reversibility for cellular automata had actually been quite well studied since the 1950s. But I don’t think Ed knew that—and so he invented his own way to “get reversibility” in cellular automata.

\n

It came from something Ed had seen on the PDP-1 back in 1961. As Ed tells it, in playing around with the PDP-1 he had come up with a piece of code that surprised him by drawing something close to a circle in pixels on the screen. Minsky had apparently “gone into the debugger” to see how it worked—and in 1972 HAKMEM attributed the algorithm to Minsky (though in the Pascal program I got from Ed in 1982, it appears as a function called efpattern()). Here’s a version of the algorithm:

\n
\n
\n

\n
\n
\n

\n

And, yes, with different divisors d it can give rather different (and sometimes wild) results:

\n
\n
\n

\n

But for our purposes here what’s important is that Ed found out that this algorithm is reversible—and he realized that in some sense the reason is that it’s based on a second-order recurrence. And, once again, the basic ideas here are well known in math (cf. reversibility of the wave equation, which is second order). But Ed had a more computational version: a second-order cellular automaton in which one adds mod 2 the value of a cell two steps back. And I think in 1982 Ed was already talking about this “mod-2 trick”—and perhaps the PERQ program was intended to implement it (though it didn’t).

\n

Ed’s work on reversible logic and “digital physics” in a sense came to a climax with the 1981 Physics of Computation conference at MIT—that brought in quite a Who’s Who of people who’d been interested in related topics (as I mentioned above, I wasn’t there because of a clash with the release of SMP Version 1.0, though I did meet or at least correspond with most of the attendees at one time or another):

\n

Click to enlarge

\n

Originally Ed wanted to call the conference “Physics and Computation”. But Feynman objected, and the conference was renamed. In the end, though, Feynman gave a talk entitled “Simulating Physics with Computers”—which most notably talked about the relation between quantum mechanics and computation, and is often seen as a key impetus for the development of quantum computing. (As a small footnote to history, I worked with Feynman quite a bit on the possibility of both quantum computing and quantum randomness generation, and I think we were both convinced that the process of measurement was ultimately going to get in the way—something that with our Physics Project we are finally now beginning to be able to analyze in much more detail.)

\n

But despite his interactions with Feynman, Ed was never too much into the usual ideas of quantum mechanics, hoping (as he said in the flyer for his course on digital physics) that perhaps quantum mechanics would somehow fall out of a classical cellular-automaton-based universe. But when quantum computing finally became popular in the 1990s, reversible logic was a necessary feature, and the Fredkin gate (also known as CSWAP or “controlled-swap”) became famous. (The Toffoli gate—or CCNOT—is a bit more famous, though.)

\n

In tracing the development of Ed’s ideas, particularly about “digital physics”, there’s another event worthy of mention. In late 1969 Ed learned about an older German tech entrepreneur named Konrad Zuse who’d published an article in 1967 (and a book in 1969) on Rechnender Raum (Calculating Space)—mentioning the term “cellular automata”:

\n

Click to enlarge

\n

Although Zuse was 24 years older than Ed, there were definitely similarities between them. Zuse had been very early to computers, apparently building one during World War II that suffered an air raid (and may yet still lie buried in Berlin). After the war, Zuse started a series of computer companies—and had ideas about many things. He’d been trained as an engineer, and perhaps it was having worked on solving his share of PDEs using finite differences that led him to the idea—a bit like Ed’s—that space might fundamentally be a discrete grid. But unlike Ed, Zuse for the most part seemed to think that—as with finite differences—the values on the grid should be continuous, or at least integers. Ed arranged for Zuse’s book to be translated into English, and for Zuse to visit MIT. I don’t know how much influence Zuse had on Ed, and when Ed talked to me about Zuse it was mostly just to say that people had treated his ideas—like Ed’s—as rather kooky. (I exchanged letters with Zuse in the 1980s and 1990s; he seemed to find my work on cellular automata interesting.)

\n

Ideas & Inventions Galore

\n

It wasn’t just physics that Ed had ideas about. It was lots of other things too. Sometimes the ideas would turn into businesses; more often they’d just stay as ideas. Ed’s archive, for example, contains a document on the “Intermon Idea” that Ed hoped would “provide a permanent solution to the world’s problem of not having a stable medium of exchange”:

\n

Click to enlarge

\n

And, no, Ed wasn’t Satoshi Nakamoto—though he did tell me several times that (although, to his displeasure, it was never acknowledged) he had suggested to Ron Rivest (the “R” of RSA cryptography) the idea of “using factoring as a trapdoor”. And—not content with solving the financial problems of the world, or, for that matter, fundamental physics—Ed also had his “algorithmic plan” to prevent the possibility of World War III.

\n

And then there was the Muse. Marvin Minsky had long been involved with music, and had assembled out of electronic modules a system that generated sequences of musical notes. But in 1970 Ed and Minsky developed what they called the Muse—whose idea was to be a streamlined system that would use integrated circuits to “automatically compose music”:

\n

Click to enlarge

\n

In actuality, the Muse produced sequences of notes determined by a linear feedback shift register—in essence a 1D additive cellular automaton—in which the details of the rule were set on its front panel as “themes”. The results were interesting—if rather R2-D2-like—but weren’t what people usually thought of as “music”. Ed and Minsky started a company named Triadex (note the triangular shape of the Muse), and manufactured a few hundred Muses. But the venture was not a commercial success.

\n

Particularly through interacting with Minsky, Ed was quite involved in “things that should be possible with AI”. The Muse had been about music. But Ed also for example thought about chess—where he wanted to build an array of circuits that could tree out possible moves. Working with Richard Greenblatt (who had developed an earlier chess machine) my longtime friend John Moussouris ended up designing CHEOPS (a “Chess-Oriented Processing System”) while Ed was away at Caltech. (Soon thereafter, curiously enough, Moussouris would go to Oxford and work with Roger Penrose on discrete spacetime—in the form of spin networks. Then in later years he would found two important Silicon Valley microprocessor companies.)

\n

Keeping on the chess theme, Ed would in 1980 (through his Fredkin Foundation) put up the Fredkin Prize for the first computer to beat a world champion at chess. The first “pre-prize” of $5k was awarded in 1981; the second pre-prize of $10k in 1988—and the grand prize of $100k was awarded in 1997 with some fanfare to the IBM Deep Blue team.

\n

Ed also put up a prize for “math AI”, or, more specifically, automated theorem proving. It was administered through the American Math Society and a few “milestone prizes” were given out. But the grand Leibniz Prize “for the proof of a ‘substantial’ theorem in which the computer played a major role” was never claimed, the assets of the Fredkin Foundation withered, and the prize was withdrawn. (I wonder if some of the things done in the 1980s and 1990s by users of Mathematica should have qualified—but Ed and I never made this connection, and it’s too late now.)

\n

Ed the Consultant

\n

Particularly during his time at MIT, Ed did a fair amount of strategy consulting for tech companies—and Ed would tell me many stories about this, particularly related to IBM and DEC (which were in the 1980s the world’s two largest computer companies).

\n

One story (whose accuracy I’ve never been able to determine) related to DEC’s ultimately disastrous decision not to enter the personal computer business. As Ed tells it, a team at DEC did a focus group about PCs—with Ken Olsen (CEO of DEC) watching. There was a young teacher in the group who was particularly enthusiastic. And Olsen seemed to be getting convinced that, yes, PCs were a good idea. As the focus group was concluding, the teacher listed off all sorts of ways PCs could change the world. But then, fatefully, he added right at the end: “And I don’t just mean here on Earth”. Ed claims this was the moment when Olsen decided to kill the PC project at DEC.

\n

Ed told a story from the early 1970s about a giant IBM project called FS (for “Future Systems”):

\n
\n

IBM has this project. They’re going to completely revolutionize everything. The project is to design everything from the smallest computer to the new largest. They’re all to be multiprocessors. The specs were just fantastic. They promised to guarantee their customers 100% uptime. Their plans were, for instance, when you have a new OS, it’s updated. They guarantee 24-hour operation at all times. They plan to be able to update the OS without stopping this process. Things like that, a lot of goals that are very lofty, and so on.

\n
\n
\n

Someone at IBM whom I knew very well, a very senior guy, came to me one day and said, “Look, these guys are in trouble, and maybe MIT could help them.” I organized something. Just under 30 professors of computer science came down to IBM. We got there on Sunday night and starting Monday morning, we got one lecture an hour, eight on Monday, Tuesday, Wednesday, Thursday, and four on Friday, describing the system. It was just spectacular, everything they were trying to do, but it was full of all kinds of idiocy. They were designing things that they’d never used. This whole thing was to be oriented about people looking at displays.

\n
\n
\n

No one at IBM had done anything like that. They think, “Okay, you should have a computer display,” and they came up with certain problems that hadn’t occurred to the rest of us. If you’re looking at the display, how can you tell the difference between what you had put into the computer and what the computer had put in? This worried them. They came up with a hardware fix. When you typed, it always went on the right half of the screen; when the computer did something, it always went on the left half, or I may have it backwards, but that was the hardware.

\n
\n
\n

\n
\n
\n

What happened is I came to realize that they were so over their head in their goal that they were going to annihilate themselves with this thing. It was just going to be the world’s greatest fiasco for it. I started cornering people and saying, “Look, do you realize that you’re never going to make this work?” and so on, so forth. This came to the attention of people at IBM, and it annoyed them. I got a call from someone saying, “Look, you’re driving us nuts. We want to hear you out, so we’re going to conduct a debate.” There’s a guy named Bob [Evans], who was the head of the project. What happened was we’re in the boardroom with IBM, lots of officials there, and he and I have a debate.

\n
\n
\n

I’m debating that they have to kill the project and do something else. He’s debating that they shouldn’t kill the project. I made all my points. He made all his points. Then a guy named Mannie Piore, who was the one who thought of the idea of having a research laboratory, a very senior guy said to me, he said, “Hey, Ed,” he said, “We’ve heard you out.” He says, “This is our company. We can do this product even if you think we shouldn’t.” I said, “Yes, I admit that’s true.” He said, “You presented your case. We’ve heard you out, and we want to do it.” I said, “Okay.” He said, “Can you do us a favor?” I said, “What’s that?’ He said, “Can you stop going around talking to people about why it has to be killed?” I said, “Look, I’ve said my piece. I’ve been heard out.” “Yes. Okay.” “I quit.”

\n
\n
\n

I had only one ally in that room; that was John Cocke. As we were walking out of the room, he came over to me and said, “Don’t worry, Ed.” He said, “It’s going to fall over of its own weight.” I’ll never forget that. Ten days later, it was canceled. A lot of people were very mad at me.

\n
\n

I’m not sure what Ed was like as an operational manager of businesses. But he certainly had no shortage of opinions about how businesses should be run, or at least what their strategies should be. He was always keen on “do-the-big-thing” ideas. I remember him telling me multiple times about a company that did airplane navigation. It had put a certain number of radio navigation beacons into its software. Ed told me he’d asked about others, and the company had said “Well, we only put in the beacons lots of people care about”. Ed said “Just put all of them in”. They didn’t. And eventually they were overtaken by a company that did.

\n

Ed the Businessman

\n

Ed’s great business success—and windfall—was III. But Ed was also involved with a couple dozen other companies—almost all of which failed. There’s a certain charm in the diversity of Ed’s companies. There was Three Rivers Computer Corporation, that made the PERQ computer. There was Triadex, that made the Muse. There was a Boston television station. There was an air taxi service. There was Fredkin Enterprises, importing PCs into the Soviet Union. There was Drake’s Anchorage, the resort on his island. There was Gensym, a maker of AI-oriented process control systems, which was a rare success. And then there was Reliable Water.

\n

Ed’s island—like many tropical islands—had trouble getting fresh water. So Ed decided to invent a solution, coming up with a new, more energy-optimized way to do reverse osmosis—with a dash of AI control. Reliable Water announced its product in May 1987, desalinating water taken from Boston Harbor and serving it to journalists to drink. (Ed told me he was a little surprised how willingly they did so.)

\n

Click to enlarge

\n

Looking at my archives I see I was sufficiently charmed by the picture of Ed posing with his elaborate “intelligent” glass tubing that I kept the article from New Scientist:

\n

Click to enlarge

\n

As Ed told it to me, Reliable Water was just about to sell a major system to an Arab country when his well-pedigreed CEO somehow cheated him, and the deal fell through.

\n

But what about the television station? How did Ed get involved with that? Apparently in 1969 Jerry Wiesner, then president of MIT, encouraged Ed to support a group of Black investors (led by a certain Bertram Lee) who were challenging the broadcasting license of Boston’s channel 7. Years went by, other suitors showed up, and litigation about the license went all the way to the Supreme Court (which described the previous licensee as having shown an “egregious lack of candor” with the FCC). For a while it seemed like channel 7 might just “go dark”. But in early January 1982 (just a couple of weeks before I first met him) Ed took over as president of New England Television Corporation (NETV)—and in May 1982 NETV took over channel 7, leaving Ed with a foot of acquisition documents in his home library, and a television channel to run:

\n

Click to enlarge

\n

There’d been hopes of injecting new ideas, and adding innovative educational and other content. But things didn’t go well and it wasn’t long before Ed stepped down from his role.

\n

A major influence on Ed’s business activities came out of something that happened in his personal life. In 1977 Ed had been married for 20 years and had three almost-grown children. But then he met Joyce. On a flight back from the Caribbean he sat next to a certain Joyce Wheatley who came from a prominent family in the British Virgin Islands and had just graduated with a BS in economics and finance from Bentley College (now Bentley University) in Waltham, MA. As both Ed and Joyce tell it, Ed immediately gave advice like that the best way to overcome a fear of flying was to learn to fly (which much later, Joyce in fact did).

\n

Joyce was starting work at a bank in Boston, but matters with Ed intervened, and in 1980 the two of them were married in the Virgin Islands, with Feynman serving as Ed’s best man (and at the last minute lending Ed a tie for the occasion). In 1981, Ed and Joyce had a son, who they named Richard after Richard Feynman (though now themed as “Rick”)—of whom Ed was very proud.

\n

When Ed died, Joyce and he had been married for 43 years—and Joyce had been Ed’s key business partner all that time. They made many investments together. Sometimes it’d start with a friend or vendor. Sometimes Ed (or Joyce) would meet students or others—who’d be invited over to the house some evening, and leave with a check. Sometimes the investments would be fairly hands-off. Sometimes Ed would get deeply involved, even at times playing CEO (as he did with Three Rivers and NETV).

\n

When the web started to take off, Ed and Joyce created a company called Capital Technologies which did angel investing—and ended up investing in many companies with names like Sourcecraft, SqueePlay, EchoMail, Individual Inc. and Radnet. And—like so many startups of this kind—most failed.

\n

Ed also continued to have all sorts of ideas of his own, some of which turned into patents. And—like so much to do with Ed—they were eclectic. In 1995 (with a couple of other people) there was one based on using evanescent waves (essentially photon tunneling) to more accurately find the distance between the read/write head and the disk in a disk drive or CD-ROM drive. Then in 1999 there was the “Automatic Refueling Station”—using machine vision plus a car database to automate pumping gas into cars:

\n

Click to enlarge

\n

That was followed in 2003 by a patent about securely controlling telephone switching from web clients. In 2006, there was a patent application named simply “Contract System” about an “algorithmic contract system” in which the requirements of buyers and sellers of basically anything would be matched up in a kind of tiling-oriented geometrical way:

\n

Click to enlarge

\n

In 2011 there was “Traffic Negotiation System”, in which cars would have rather-airplane-like displays installed that would get them in effect to “drive in formation” to avoid traffic jams:

\n

Click to enlarge

\n

Ed’s last patent was filed in 2015, and was essentially for a scheme to cache large chunks of the web locally on a user’s computer—a kind of local CDN.

\n

But all these patents represented only a small part of Ed’s “idea output”. And for example Ed told me many other tech ideas he had—a few of which I’ll mention later.

\n

And Ed’s business activities weren’t limited to tech. He did his share of real-estate transactions too. And then there was his island. For years Joyce and Ed continued to operate Drake’s Anchorage, and tried to improve the infrastructure of the island—with Ed, as Joyce tells it, more often to be found helping to fix the generator on the island than partaking of its beaches.

\n

Back in 1978 Ed had acquired a “neighbor” when Richard Branson bought Necker Island, which was a couple of miles further out towards the Atlantic than Moskito Island. Ed told me quite a few stories about Branson, and for years had told me that Branson wanted to buy his island. Ed hadn’t been interested in selling, but eventually agreed to give Branson right of first refusal. Then in 2007 a Czech (or were they a Russian?) showed up and offered to buy the island for cash “to be delivered in a suitcase”. It was all rather sketchy, but Ed and Joyce decided it was finally time to sell, and let Branson exercise his right of first refusal, and buy the island for about $10M.

\n

Ed and His Toys

\n

Ed liked to buy things. Computers. Cars. Planes. Boats. Oh, and extra houses too (Vermont, Martha’s Vineyard, Portola Valley, …)—as well as his island. Ed would typically make decisions quickly. A house he drove by. New tech when it first came out. He was always proud of being an early adopter, and he’d often talk almost conspiratorially about the “secret” features he’d figured out in new tech he’d bought.

\n

But I think Ed’s all-time favorite “toys” were planes—and over the course of his life he owned a long sequence of them. Ed was a serious (and, by all reports, exceptionally good) pilot—with an airplane transport pilot license (plus seaplane and glider licenses). And I always suspected that his cut-and-dried approach to many things reflected his experience in making decisions as a pilot.

\n

Ed at different times had a variety of kinds of planes, usually registered with the vanity tail number N1EF. There were twin-propellor planes. There were high-performance single-propellor planes. There was the seaplane that I’d “met” in the Caribbean. At one time there was a jet—and in typical fashion Ed got himself certified to fly the jet singlehandedly, without a copilot. Ed had all sorts of stories about flying. About running into Tom Watson (CEO of IBM) who was also a pilot. About getting a new type of plane where he thought he was getting #5 off the production line, but it was actually #1—and one day its engine basically melted down, but Ed was still able to land it.

\n

Ed also had gliders, and competed in gliding competitions. Several times he told me a story—as a kind of allegory—about another pilot in a gliding competition. Gliders are usually transported with their wings removed, with the wings attached in order to fly. Apparently there was an extra locking pin used, which the other pilot decided to remove to save weight, because it didn’t seem necessary. But when the glider was flying in the competition its wings fell off. (The pilot had a parachute, but landed embarrassed.) The very pilot-oriented moral as far as Ed was concerned: just because you don’t understand why something is there, don’t assume it’s not necessary.

\n

Ed and the Soviet Union

\n

One of the topics about which Ed often told “you-can’t-make-this-stuff-up” stories was the Soviet Union. Ed’s friend John McCarthy had parents who were active communists, had learned Russian, and regularly took trips to the Soviet Union. And as Ed tells it McCarthy came to Ed one day and said (perhaps as a result of having gotten involved with a Russian woman) “I’m moving to the Soviet Union”, and talked about how he was planning to dramatically renounce his US citizenship. McCarthy began to make arrangements. Ed tried to talk him out of it. And then it was 1968 and the Soviets send their tanks into Czechoslovakia—and McCarthy is incensed, and according to Ed, sends a telegram to a very senior person in the Soviet Union saying “If you invade Czechoslovakia then I’m not coming”. Needless to say, the Soviets ignored him. Ed told me he’d said at the time: “If the Russians were really smart and really understood things, and they had to choose between John McCarthy and Czechoslovakia, they should have chosen John McCarthy.” (McCarthy would later “flip” and become a staunch conservative.)

\n

Perhaps through McCarthy, Ed started visiting the Soviet Union. He didn’t like the tourist arrangements (required to be through the government’s Intourist organization)—and decided to try to do something about it, sending a survey to Americans who’d visited the Soviet Union:

\n

Click to enlarge

\n

A year later, Ed was back in the Soviet Union, attending a somewhat all-star conference (along with McCarthy) on AI—with a rather modern-sounding collection of topics:

\n

Click to enlarge

\n

Here’s a photograph of a bearded Ed in action there—with a very Soviet simultaneous translation booth behind him:

\n

Click to enlarge

\n

Ed used to tell a story about Soviet computers that probably came from that visit. The Soviet Union had made a copy of an IBM mainframe computer—labeling it as a “RYAD” computer. There was a big demo—and the computer didn’t work. The generals in charge asked “Well, did you copy everything?” As it turned out, there was active circuitry in the “IBM” logo—and that needed to be copied too. Or at least that’s what Ed told me.

\n

But Ed’s most significant interaction with the Soviet Union came in the early 1980s. The US had in place its CoCom list that embargoed export of things like personal computers to the Soviet Union. Meanwhile, within the Soviet Union, photocopiers were strictly controlled—to prevent non-state-sanctioned flow of information. But as Ed tells it, he hatched a plan and sold it to the Reagan administration, telling them: “You’re on the wrong track. If we can get personal computers into the Soviet Union, it breaks their lock on the flow of information.” But the problem was he had to convince the Soviets they wanted personal computers.

\n

In 1984 Ed was in Moscow—supposedly tagging along to a physics conference with an MIT physicist named Roman Jackiw. He “dropped in” at the Computation Center of the Academy of Sciences (which, secretly, was a supplier to the KGB of things like speech recognition tech). And there he was told to talk to a certain Evgeny Velikhov, a nuclear physicist who’d just been elected vice president of the Academy of Sciences. Velikhov arranged for Ed to give a talk at the Kremlin to pitch the importance of computers, which apparently he successfully did, after convincing the audience that his motivation was to make the world a safer place by balancing the technical capabilities of East and West.

\n

And as if to back up this point, while he was in the Soviet Union, Ed wrote a 5-page piece from “A Concerned Citizen, Planet Earth” addressed “To whom it may concern” in Moscow and Washington—ending with the suggestion that its plan might be discussed at an upcoming meeting between Andrei Gromyko and Ronald Reagan at the UN:

\n

Click to enlarge

\n

The piece mentions another issue: the fate of prominent, but by then dissident, Soviet physicist Andrei Sakharov, who was in internal exile and reportedly on hunger strike. Ed hatched a kind of PCs-for-Sakharov plan in which the Soviets would get PCs if they freed Sakharov.

\n

Meanwhile, in true arms-dealer-like fashion, he’d established Fredkin Enterprises, S.A. which planned to export PCs to the Soviet Union. He had his student Norm Margolus spend a summer analyzing the CoCom regulations to see what characteristics PCs needed to have to avoid embargo.

\n

In the Reagan Presidential Library there’s now a fairly extensive file entitled “Fredkin Computer Exports to USSR”—which for example contains a memo reporting a call made on August 25, 1984, by then-vice-president George H. W. Bush to Sakharov’s stepdaughter, who was by that time living in Massachusetts (and, yes, Ed was described as a “PhD in computer science” with a “flourishing computer business”):

\n

Click to enlarge

\n

Soon the White House is communicating with the US embassy in Moscow to get a message to Ed:

\n

Click to enlarge

\n

And things are quickly starting to sound as if they were from a Cold War spy drama (there’s no evidence Ed was ever officially involved with the US intelligence services, though):

\n

Click to enlarge

\n

I don’t think Ed ever ended up talking to Sakharov, but on November 6, 1984, Fredkin Enterprises was sent a letter by Velikhov ordering 100 PCs for the Academy of Sciences, and saying they hoped to order 10,000 more. But the US was not as speedy, and in 1985 there was still back and forth about CoCom issues. Ed of course had a plan:

\n

\n

And indeed in the end Ed did succeed in shipping at least some computers to the Soviet Union, adding a hack to support Cyrillic characters. Ed often took his family with him to Moscow, and he told me that his son Rick created quite a stir when at age 6 he was seen there playing a game on a computer. Up to then, computers had always been viewed as expensive tools for adults. But after Rick’s example there were suddenly all sorts of academicians’ kids using computers.

\n

(In the small world that it is, one person Ed got to know in the Academy of Sciences was a certain Arkady Borkovsky—who in 1989 would leave Russia to come work at our company, and who would later co-found Yandex.)

\n

By the way, to fill in a little color of the time, I might relate a story of my own. In 1987 I went to a (rather Soviet) conference in Moscow on “Logic, Methodology and Philosophy of Science.” Like everyone, I was assigned a “guide”. Mine continually tried to pump me for information about the American computer industry. Eventually I just said: “So what do you actually want to know?” He said: “We’ve cloned the Intel 8086 microprocessor, and we want to know if it’s worth cloning the Motorola 68000. Motorola has put a layer of epoxy that makes it hard to reverse engineer.” He assumed that the epoxy was at the request of the US government, to defeat Soviet efforts—and he didn’t believe me when I said I thought it was much more likely there to defeat Intel.

\n

Ed told me another story about his interactions with Soviet computer efforts after Gorbachev came to power:

\n
\n

Before the days of integrated circuits the way IBM and Digital built computers was they put the whole computer together, and then it would sit for six weeks in “system integration” while they made the pieces work together and slowly got the bugs out.

\n
\n
\n

The Russians built computers differently because that seemed logical to them. They’d send all the components down there and then some guy was supposed to plug them together, and they were supposed to work. But they didn’t. With these big computers, they never made any of them work.

\n
\n
\n

The Academy of Sciences had one. And one time I went to see their big computer, so they unlock the doors to this dusty room where the computer is, where it’s not being used because it doesn’t work, and all this information is being kept secret, not from the United States, but from the leadership. When I discovered all this I documented it … and I wrote a 40-page document that explained it.

\n
\n
\n

I was making trips with Rick often and Mike [his older son] very often. On one trip when I arrived, they tell me, “Oh, you have to come to this meeting.”

\n
\n
\n

I don’t speak Russian. I never knew it. I’m seated at this meeting, and there’s a Russian friend of mine [head of the Soviet Space Research Institute] next to me. We’re just sitting there, and things are going on. I still don’t know what that meeting was, but I had this 40-page document. I gave it to my friend. He starts reading. He says, “Oh, this is so interesting.” It got to be about ten o’clock at night and they said, “Everyone come back in the morning. Nine o’clock.”

\n
\n
\n

My friend said, “Can I borrow this [document]? I’ll bring it back in the morning”. I said, “Sure, go ahead.” He comes back next morning. He says to me, “I have good news, and I have bad news.” I said, “What’s the good news?” He says, “Your document has been translated into Russian.” I said, “You left here with a 40-page typewritten document. I don’t believe you.” He said, “Well, my institute recently took on the task of translating scientific American into Russian.

\n
\n
\n

“When I left here, I went to my institute, called in the translators, and they all came in. We divided the document up between them, and it’s all been translated into Russian.”

\n
\n
\n

The document was the analysis of the RYAD situation with the recommendation that the only thing they could do was to cancel it all.

\n
\n
\n

I said, “Okay, what’s the bad news?” He says, “The bad news is it’s classified secret.” When you made a copy or did something, you had to have a government person look at it. They classified it. I said to him, “You can’t classify my documents.” He said, “Of course not. We haven’t. It’s just the Russian one that’s secret.”

\n
\n
\n

Then maybe a week later, he said, “Gorbachev’s read your document.” He canceled it. RYAD. Some people I know were looking to kill me.

\n
\n
\n

In Moscow, there’s a building that’s so unusual. It’s on a highway leading into the city. It’s about five stories high. It’s about a kilometer long, okay? It’s a giant building. I was in it a few years ago, and it’s just a beehive of startups, almost all software startups. That was the RYAD Software Center, okay? 100,000 people got put out of work.

\n
\n

Ed Becomes a Physics Professor

\n

When I first met Ed in 1982, he was in principle a professor at MIT. But he was also CEOing a computer company (Three Rivers), and, though I didn’t know it at the time, had just become president of a television channel. Not to mention a host of other assorted business activities. MIT had a policy that professors could do other things “one day a week”. But Ed was doing other things a lot more than that. Ed used to say he was “tricked” out of his tenured professorship. Because in 1986 he was convinced that with all the other things he had going on, he should become an adjunct professor. But apparently he didn’t realize that tenure doesn’t apply to adjunct professors. And, as Ed told it, the people in the department considered him something of a kook, and without tenure forcing them to keep him, were keen to eject him.

\n

Minsky’s neighbor in Brookline, MA, was a certain Larry Sulak—the very energetic chairman of the physics department at Boston University (and someone I have known since the 1970s). Ed knew Sulak and when Ed was ejected from MIT, Sulak seized the opportunity to bring Ed in as a physics professor at Boston University. Sulak asked me to write a letter about Ed (and, yes, particularly after the research for this piece, there are some things I would change today):

\n

\n
\n
\n
Subject: Re: Ed Fredkin
\n
Date: Aug 24, 1988
\n
From: Stephen Wolfram
\n
To: Larry Sulak
\n
\n

\n
\nDear Larry:

\n

In this century, people like Ed Fredkin have been very rare. Ed Fredkin
\nis a gentleman scientist. He has made several fortunes in business, yet
\nhe chooses to spend much of his time thinking about science.

\n

The main thing he thinks about is what ideas from computing can tell us
\nabout physics. This is an area that I believe has fundamental importance
\nfor physics. There are many issues about the behaviour of complex
\nphysical systems where the best hope for analysis and understanding comes
\nfrom computational ideas. There are also many traditional problems
\nin quantum physics and other fundamental areas that I suspect are most
\nlikely to be solved by thinking about things from a computational point
\nof view.

\n

Ed Fredkin has had some very good ideas about physics and its relation
\nto computation. Probably the single most important was his independent discovery
\nof the possibility of thermodynamically reversible computation.
\nvon Neumann got this wrong — by thinking about things from a computational
\npoint of view, Fredkin got it right.

\n

Fredkin has been convinced for many years that cellular automata —
\nbasically computational models — could describe fundamental physical
\nprocesses. As you know, I have worked on using cellular automata to
\nmodel various specific physical processes. Fredkin is trying to do something
\ngrander — he wants to show that all of physics can be reproduced by
\na cellular automaton. If he is right the discovery would be one whose
\nimportance could be compared to the discovery of quantization.
\nOf course, what he is trying to show may not be true, but that is a risk
\nthat any new fundamental idea in physics faces.

\n

Ed Fredkin’s style is not typical of scientists. He is more used to
\naddressing boards of directors than lecture audiences. He learned
\nthe kind of physics that is in the Feynman lectures by spending time
\nwith Dick Feynman rather than reading his books. To some standard
\nscientists, Fredkin at first seems like a nut. To be sure, some of his
\nideas are pretty nutty. But if you listen and think about it, there
\nis much substance to what Fredkin has to say.

\n

I gather that Fredkin has decided to spend some time around “ordinary
\nphysicists”, to try and work out how his ideas fit in with current
\nphysical thinking. I believe you are very lucky that Fredkin wants
\nto do this in your department.

\n

Best wishes,
\nStephen

\n
\n
\n

\n

And so it was that Ed became a research professor of physics at Boston University (BU). At MIT he’d gotten a DARPA grant that supported Tom Toffoli and Ed’s only “physics PhD student” Norm Margolus in building ever-larger “cellular automaton machines”. And when Ed moved to BU, this effort moved with him, leaving in effect “no trace of Ed” at MIT.

\n

When Ed arrived at BU he found he was assigned to an office with a certain Gerard ‘t Hooft—who happens to be one of the more creative and productive theoretical physicists of the past half-century (and would win a Nobel Prize in 1999 for his efforts). Ed became friends with ‘t Hooft, inviting him and his family to spend time on his island, and later on the boat that Ed bought in the south of France. Feynman died in 1988, and Ed would tell me that he thought he’d “traded” one great physicist for another. (Feynman had suggested Ed try Sidney Coleman, but Coleman wasn’t into it.)

\n

Like Feynman, I think ‘t Hooft felt a little uneasy with Ed’s statements about physics. But in 2016 ‘t Hooft ended up publishing a book entitled The Cellular Automaton Interpretation of Quantum Mechanics. I thought it was a nice recognition of ‘t Hooft’s friendship with Ed. But Ed told me in no uncertain terms that he thought ‘t Hooft hadn’t given him the credit he was due—though in reality I don’t think what ‘t Hooft did was much related to Ed’s actual work and ideas. (And, by the way, it’s not directly related to my efforts either, though conceivably looking at “generational states” in our Physics Project may give something at least somewhat analogous.)

\n

In 1994 Ed’s direct affiliation with BU ended—though he remained on good terms with the department, and after I moved to the Boston area in 2002 I would often see him at an annual dinner the BU physics department put on for “Boston-area physics people”.

\n

In 1998 Ed would summarize himself like this:

\n
\n

Ed Fredkin has worked with a number of companies in the computer field and has held academic positions at a number of universities. He is a computer programmer, a pilot, advisor to businesses and an amatuer [sic] physicist. His main interests concern digital computer like models of basic processes in physics.

\n
\n

For a while, Ed didn’t have a “university affiliation” (except, through Minsky, as a visitor at the MIT Media Lab), but in 2003—through his friend Raj Reddy—he became a professor (now of computer science) at Carnegie Mellon University, for a while spending time at their West Coast outpost, but mostly just making occasional trips in his plane to Pittsburgh.

\n

Forty Years of Interactions with Ed

\n

For a few years after I first met Ed in 1982, I’d see him fairly regularly. In 1983 I invited him to the first “modern” conference on cellular automata, that I co-organized at Los Alamos. I visited his house in Brookline, MA, a few times. I saw him at the Aspen Center for Physics, and at other places around the world. He was always fun and lively—and told great stories about all sorts of things. He gave the impression that he was mostly spending his time doing big things in business, and that science was an avocation for him. Sometimes he would talk about cellular automata—though I now realize that what he said was either very general and philosophical (leaving me to interpret things in my own way), or very specific to particular rules he’d engineered.

\n

It was always a bit uncomfortable when it came to physics. Because the things Ed was saying always seemed to me pretty naive. Quite often I would challenge them—and frustratedly tell Ed that he should learn twentieth-century physics. But Ed would glide over it—and be off telling some other (engaging) story, or some such.

\n

In 1986 I co-organized (with Tom Toffoli and Charles Bennett) a conference called Cellular Automata ’86—at MIT. Ed didn’t come—and I think I had the impression that he’d rather lost interest in cellular automata by that time. I myself went off to start my Center for Complex Systems Research, and then to found Wolfram Research and start the development of Mathematica. Mathematica was released on June 23, 1988—and our records (yes, we’ve kept them!) show that Ed registered his first copy on December 14, 1988. In March 1991 I did a lecture tour about Mathematica 2.0, and saw Ed one last time before diving into work on my book A New Kind of Science—which led me for more than a decade to became an almost complete scientific hermit.

\n

I saw Ed (now 62 years old) when I briefly “came up for air” in connection with the release of Mathematica 3.0 in 1996, and we continued occasionally to exchange pleasant emails:

\n

\n
\n
\n
Date: Sun, 29 Jun 1997 15:49:41 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\n…

\n

[Reporting the birth of my second child]

\n

\n

For many children its worst when they are teenagers. Some glide through
\nthat period of life without hassle. Rick is doing great (at 15) despite
\nhis unorthodox education. He relishes calling his parents dopes, but
\naside from arguments about subjects like how late he should be able to
\nhang out with his buddies, its clear that he doesn’t think we’re dopes.

\n

\n

I promise to read your book as soon as I get it!

\n

\n

Its nice to hear from you. News here is that I am no longer needed at
\nRadnet as they now have a great CEO. I got a new airplane in December.
\nIt’s called a Cessna CitationJet. It can carry 7 people at about 440
\nmph. So far its been a lot of fun. We’ll have to think of an excuse to
\ngo for a ride. We are planning to spend some time at Drake’s Anchorage
\nin July. Its great for kids so if that interests you, let me or Joyce
\nknow.

\n

I have taken as a challenge to architect a computer (that weighs a few
\nkilos) that assumes another 100 years of Moore’s Law (10^15 in cost
\nperformance). There are a lot of unsuspected problems lurking in the
\ndetails, but everyone of them seems to have easy solutions. I have
\ngiven a number of talks (IBM Almaden and Watson labs, Intel, NYU,
\netc.). Interest in reversible computing has picked up since heat
\ndissipation has gotten to be a really hot topic (no pun intended). The
\nnext high end Alpha may dissipate as much as 150 watts. Think of a
\nlight bulb!

\n

I use Mathematica for something almost every week… keep it up!

\n

Best regards,

\n

Ed\n

\n
\n

\n

Although I didn’t see Ed myself for quite a few years, Ed would always write to ask for betas of new versions of Mathematica, and he would sometimes chat with staff from my company at trade shows. I thought it a bit odd in 1999 when I heard that in such an encounter he said that he was the one who had “introduced me to cellular automata”. And, moreover, that he, Feynman and Murray [Gell-Mann] were the people who’d suggested I write SMP—which was particularly bizarre since, among other things, I hadn’t met (or even heard of) Ed until about 3 years later.

\n

Then, out of the blue on September 13, 2000, Ed calls my assistant, and follows up with an email:

\n

\n
\n
\n
Subject: Invitation
\n
Date: Wed, 13 Sep 2000 23:53:09 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nHi,

\n

The primary reason I’m contacting you has to do with a program I’m
\norganizing at Carnegie Mellon (CMU). I wrote a proposal to the NSF, called
\n“The Digital Perspective” and got funded. The idea is to invite a number (8
\nto 10) of guests to come to CMU for a few days, to meet with students and to
\ngive a Distinguished Lecture. The NSF would also like to arrange for the
\nguests to come to Washington D.C. and give the same lecture there.

\n

By “Digital Perspective” I mean looking at aspects of the world as Digital
\nProcesses. As you know, I am most interested in looking at physics this
\nway. I have just started getting commitments from potential participants.
\nGerard ‘t Hooft has agreed to come and a number of other good physicists are
\nthinking about it.

\n

\n

Please consider this to be a formal invitation. Of course, CMU will pay
\nexpenses and an honorarium. If the timing works out, it can probably be
\narranged for many of the students to have read your book before you come.
\nYou might get some good feedback from bright students who have also gained
\nfamiliarity with the thoughts of others who are thinking about the “Digital
\nPerspective”. The seminar will run throughout the 2000-2001 academic year.

\n

If you can make it to CMU, I expect that it will be fun and interesting;
\nboth for you, for me and for many others.

\n

…\n

\n
\n

\n

I responded:

\n

\n
\n
\n
Subject: RE: Invitation
\n
Date: Thu, 14 Sep 2000 06:49:19 -0500
\n
From: Stephen Wolfram
\n
To: Ed Fredkin
\n
\n

\n
Thanks for the invitation, etc.

\n

It sounds like a thing I’d like to do, but I can only consider
\n*anything* after my book is finished.

\n

\n

If my book is done in time for your program, then, yes, I’d like to
\nparticipate (though of course I’d want more details about the actual
\nplans etc. etc.). But if the book isn’t done, then sadly I just can’t.
\nIf the cutoff time is June 2001, I am not extremely hopeful that the
\nbook will be done … but if it’s fall 2001 the probabilities go up
\nsubstantially (though, sadly, they are still not 100%).

\n

\n

And what are you up to these days? Business? Science? Other?

\n

On another topic:
\nIn my book, I’m trying very hard to write accurate history notes about
\nthe things I discuss. And for the notes on the history of cellular
\nautomata I’ve been meaning for ages to ask you some questions…

\n

I’m not sure this is a complete list, but here are a few I’ve been
\ncurious about for a long time that I’d really like to know the answers
\nto…

\n

I know that history is hard … even if it’s about oneself. I consider
\nthat I have a good memory, but it’s often hard for me to keep straight
\nwhat happened when, and why, etc. But anything you can tell me about
\nthese questions … or about other aspects of CA history … I’d be very
\ngrateful for.

\n

1. As far as you know, did you invent the 2D XOR CA rule? (I’m assuming
\nthe answer is “yes”…)

\n

2. In what year did you first simulate this CA? On what computer?
\nWhere?

\n

3. What other CA rules did you study at that time?

\n

4. Do you still have any material from the simulations you did
\n(printouts, tapes, programs, etc.)?

\n

5. When you learn about the “munching squares” display hack? How did it
\nrelate to your work on the XOR CA?

\n

6. What did you know about the work done by Unger etc. on cellular image
\nprocessors? How did this relate to your work?

\n

7. What did you know about von Neumann’s work on cellular automata? How
\ndid it relate to your work?

\n

8. What did you know about Ulam and others’ work at Los Alamos on
\nsimulating cellular automata? How did it relate to your work?

\n

9. Were you aware of work on cryptographic applications of CA-like
\nsystems?

\n

…\n

\n
\n

\n

Ed responded:

\n

\n
\n
\n
Subject: RE: Invitation
\n
Date: Fri, 15 Sep 2000 01:25:23 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nHi,

\n

Here are some answers and some free association type ramblings.

\n

\n

> And what are you up to these days? Business? Science? Other?

\n

I’m winding down on business (I’m into one last e-business project) and like
\nyou, working on a book. My guess is that mine is nowhere as ambitious as
\nyours… It’s just to document my ideas about Digital Mechanics (Physics).
\nIn any case, these ideas have made more progress in the last 2 years than in
\nthe previous 40.

\n

I bought a sailboat which is moored in Antibes, France. I spent most of the
\nsummer there and got more science done than in the prior several years.
\nIt’s absolutely the perfect place and circumstance for me to work on my
\nstuff. Gerard ‘t Hooft (plus wife and daughter) came down and joined us for
\na while. You know (I hope) about his interest in CA’s? I’m going back
\nthere for a few weeks on Tuesday.

\n

Here’s a formal proof that you can, at any time, escape all your normal
\nresponsibilities and concentrate exclusively on one really important thing
\n(hint, hint). The proof is that, at any time, YOU CAN DIE. I don’t mean to
\nbe morbid, but sometimes it makes good sense to consider that proof and
\ntemporarily abandon all but some very important task (or some very exciting
\nor fun thing).\n

\n
\n

\n

Ed continued with a long response to my “history questionnaire”:

\n

\n
\n
\n
> 1. As far as you know, did you invent the 2D XOR CA rule? (I’m assuming
\n> the answer is “yes”…)

\n

Yes, as far as I know I did invent it. Here is what I did. I decided to
\nlook for the simplest possible rule that met certain criteria. I wanted
\nspatial symmetry and a symmetric rule vis-à-vis the states of the cells.
\nThe thought was to find something so simple that its behavior could be
\nunderstood while not so simple as to be totally dull. The first such rule I
\ntried was the XOR rule. I programmed it first on the PDP-1 (1961, at BBN
\nand III) where I could see it on the display, and later I wrote a program
\nfor CTSS using a model 33 teletype as a terminal. My motivation was then,
\nas it is now, to be able to capture more and more properties of physics
\nwithin a Digital model. I found an easy proof as to why patterns reappeared
\nin any number of dimensions. I also found, at the beginning, a formula for
\nthe number of ones as a function of time from a single one as the initial
\nstate. My recollection was that it was something like 2D 2^b(t) where D is
\nthe number of dimensions, t is the time step, and b(t) is the number of bits
\nthat are one in the binary representation of t (the tally function). After
\nI showed all this to Seymour Papert, he generalized the proof re self
\nreplication from XOR (sum mod 2) to sum mod any prime. (Some time around
\n1967)

\n

> 2. In what year did you first simulate this CA? On what computer?

\n

Where?

\n

See above.

\n

> 3. What other CA rules did you study at that time?

\n

I found a simple proof that a von Neumann neighborhood CA could exactly
\nemulate any other (such as the 3×3 neighborhood) and used this as a reason
\nto look at nothing else. I explored so many different rules that I probably
\nwould have found the game of Life had I not put blinders on. After I came
\nto MIT (1968), I had 2 things in mind, to find a really simple Universal CA
\n(I call them UCA’s )and to find Reversible, Universal CA’s (RUCA’s)
\nAs you may know, the search for UCA’s went slowly until I had the idea to
\nabandon the Turing Machine model and look at modeling digital logic and
\nwires. Within 15 minutes after this idea occurred to me, I had a 4 state
\nUCA on my blackboard. At that time the best known was in Codd’s thesis; an
\n8 state UCA. I showed this to a student of mine, Roger Banks, who had been
\nstruggling for a few years trying to complete an AI PhD thesis. The next
\nmorning both he and I showed up with 3 state UCA’s. He switched his PhD topic
\nand found a 2 state, von Neumann neighborhood UCA, a thing that Codd
\npurported to have proved impossible.

\n

While at BBN, after seeing all my 2-D CA’s expanding with simple
\nkaleidoscope like symmetries, (like the diamond shapes in the XOR rule),
\nMarvin Minsky challenged me to find a rule (any rule) that showed spherical
\npropagation. I took the challenge and shortly came up with such a rule.

\n

With respect to reversibility, the first satisfactory RUCA was done by
\nNorman Margolus. I shortly thereafter found a simple RUCA that didn’t need
\nthe use of the Margolus Neighborhood trick.

\n

> 4. Do you still have any material from the simulations you did
\n> (printouts, tapes, programs, etc.)?

\n

Yes, Probably, quite a bit

\n

> 5. When you learn about the “munching squares” display hack? How did it
\n> relate to your work on the XOR CA?

\n

I don’t recall it having any effect. It’s very unlikely that I knew of it
\nprior to the XOR CA.

\n

> 6. What did you know about the work done by Unger etc. on cellular image
\n> processors? How did this relate to your work?

\n

I knew of it second hand, but I don’t think it had any effect. Do you know
\nabout Farley and Clark (Wes Clark) and their publication while at MIT’s
\nLincoln Labs in the late 50’s?

\n

> 7. What did you know about von Neumann’s work on cellular automata? How
\n> did it relate to your work?

\n

At the time I did the XOR work I had not read anything about the von Neumann
\nCA, but I was told about it and I understood the concept very well. Many
\nyears later I read something (by Burkes, I think). I remember knowing that
\nit was a 29 state system and that it knew left from right in order to extend
\nand turn its construction arm.

\n

> 8. What did you know about Ulam and others’ work at Los Alamos on
\n> simulating cellular automata? How did it relate to your work?

\n

All I knew about Ulam and CA is that, like the Hydrogen Bomb, he had key
\nideas but probably didn’t get as much credit as he deserved. All my
\nknowledge re Ulam was anecdotal. As to what he did vs. what von Neumann did
\nI didn’t really know anything.
\nI didn’t know anything about anyone else actually simulating CA’s however
\nI’m pretty sure I assumed that others must have done so. It was so easy and
\nso obvious. While the use of a computer with a display (such as the Lincoln
\nLab TX-0 and TX-2, the Digital PDP-1 and the IBM 709 and 7090 all had or
\ncould have CRT displays, it was easy enough to display simple CA’s with a
\nprinter, even a 10 CPS teletype.

\n

> 9. Were you aware of work on cryptographic applications of CA-like
\n> systems?

\n

I thought I invented that idea! As soon as I found ways to make RUCA’s it
\noccurred to me that they could be used for cryptography. As an aside, when
\nWitt Diffey [Whit Diffie] came up with the idea of public key cryptography,
\nwhich needed a trapdoor function, I thought of using the product of 2 large primes.
\nI had just written the first program, in LISP, to implement Michael Rabin’s first
\nversion of a probabilistic prime test. As soon as I implemented it I
\nstarted a search at 10^100 and discovered that 10^100 +35,737 and 10^100
\n+35,739 were prime. A week later I met Rich Schroeppel in LA (he was
\nworking for my company, III) and knowing a larger prime pair than anyone
\nelse on Earth I told Rich and he was blown away. He was seated at a PDP-10
\nterminal and all he said was an emphatic “Really!” He then went type, type,
\ntype for a few seconds and turned around and said “You’re right!” which blew
\nme away! I asked what he did and he said (while knowing nothing of Rabin’s
\nmethod) “all I did was look at 3^(n-1) mod n, you know, Fermat’s little
\ntheorem, it usually gives 1 for primes.”

\n

I’m rambling, probably about stuff of no interest to you. Anyway, I stopped
\nRon Rivest in the hallway at Tech Square and asked if he had heard of
\nDiffey’s [Diffie’s] stuff. I don’t remember exactly what he said but I know that when
\nI told him that Rabin’s new method to find large primes meant that the
\nproduct of 2 primes was a good trapdoor function he was surprised and
\nthought it was a good idea! I never thought any more about it and hadn’t
\ncome up with the idea of using the phi function… Years later, long after
\nRSA was a big thing Ron reminded me of the event… Don Knuth told me that
\nhe also thought of using the product of 2 primes before RSA, but he couldn’t
\nhave known about Rabin’s method when I did (as Rabin told it to me right
\nwhen he thought it up!)

\n

By the way, I have an interesting algorithm for factoring smaller numbers,
\nsuch as can be done in less than an hour with Mathematica (normal
\nFactorInteger or ECM). I’ve written a few terribly unoptimized Mathematica
\nfunctions that implement the method. For what its good for, my Mathematica
\nfunctions (not compiled or anything) make Mathematica factor in a lot less
\nreal time than Mathematica does with FactorInteger or ECM.

\n

The big news re me and my work is what’s happening right now. Whatever one
\nthinks about my stuff (Digital Mechanics), it’s vastly improved. However
\nit’s still very far from a complete theory. Of course, Digital Mechanics is
\nabout CA’s.

\n

If you have any interest in reversibility, I’ve done lots in that area,
\nranging from RUCAs, conservative logic, and my transforms. The transforms
\nare general methods of converting algorithms that calculate the approximate
\ntime evolution of a system (approximate because of round off, truncation and
\nthe finite delta t) which is approximately reversible (by changing delta t
\nto minus delta t) into an equivalent algorithm that calculates approximately
\nthe same thing going forwards, but which is exactly reversible (being
\ncalculated on a computer with round off and truncation error). I also have
\na lot of methods for making RUCA’s with particular properties.

\n

You’ve criticized me in the past for not publishing stuff, but I’m so
\nambitious as to what I’m trying to do that I haven’t had the motivation to
\npublish all the little things I’ve uncovered along the way.

\n

I’m sure I discovered more and better ways to make all kinds of RUCAs before
\nanyone else with the exception of the rule found by my student, Margolus.

\n

Finally, one last anecdote. You and I were at some meeting long ago (maybe
\nSanta Fe?) and you brought along an early Sun to demonstrate your collection
\nof different kinds of 1-D CA’s. After your talk, I asked you why none of
\nthe CA’s you showed were reversible. Your response was “Because all
\nreversible CA’s are trivial.” That really was a very common belief,
\ncoincident with most people’s intuition. On the spot, I made up a rule,
\nusing your convention for specifying it, of an “interesting” reversible CA.
\nYou typed it in and ran it. Being surprised is one of the best kinds of
\nexperiences we ever have.

\n

As Emerson once quipped, “My apologies for such a long email, I didn’t have
\nthe time to write you a short one.”

\n

I’m having fun; it’s a good thing to do!

\n

Best regards

\n

Ed F

\n

PS If you have any interest in having parts of your book read so that you
\ncan get comments prior to publication, I have an idea that might be useful.

\n
\n

\n

A little later he added:

\n

\n
\n
\n
Subject: error
\n
Date: Fri, 15 Sep 2000 10:12:15 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nHi,

\n

Looking at my long email I noticed a boo boo.

\n

Where I wrote, quoting Schroeppel talking about 3^(n-1) mod n, “…it
\nusually give a 1 for primes…” very true but a bit of an understatement.
\nOf course, it ALWAYS gives a 1 for primes! What Schroeppel said was that it
\nusually doesn’t give a 1 for non-primes. It’s incorrect for 91 and 121 and
\nlots of other small numbers, but seems to work better for large numbers…
\nbut then you probably know much more about such things than I do. Also
\nlooking at your questions, I had the feeling that some might have been
\nprompted by my circa 1990 Digital Mechanics paper. If so, I guess I
\nrepeated stuff already in the paper and I apologise.

\n

Regards,

\n

Ed F\n

\n
\n

\n

I responded, asking for various pieces of clarification (and now that I’m writing this piece I would have asked even more, because some key parts of what Ed said I now realize don’t add up):

\n

\n
\n
\n
Subject: Re: your mail
\n
Date: Wed, 20 Sep 2000 21:04:54 -0500
\n
From: Stephen Wolfram
\n
To: Ed Fredkin
\n
\n

\n
\n…

\n

>> 1. As far as you know, did you invent the 2D XOR CA rule?
\n>>

\n> Yes, as far as I know I did invent it. Here is what I did. ….
\n>

\n

Very interesting.

\n

1a. Did you ever look at 1D CAs? If not, why not?

\n

1b. Did you think about analogies between XOR rules and linear feedback
\nshift registers?

\n

1c. Did you think about analogies between XOR rules and Pascal’s
\ntriangle?

\n

By the way, the result about the number of binomial coefficients mod a
\nprime has been independently discovered a remarkable number of times
\n(including by me). The earliest references I know are Edouard Lucas
\n(1877) and James Glaisher (1899).

\n

….

\n

>> 3. What other CA rules did you study at that time?

\n

> … I explored so many different rules that I probably
\nwould have found the game of Life had I not put blinders on.

\n

By the way, I happened to have a long phone conversation recently with
\nJohn Conway about the history of the Game of Life. I still haven’t
\nquite got to the bottom of exactly what Conway was doing and why (I
\nthink he wants some of the history lost, which is a pity, because it is
\ninteresting and reflects much better on him than he seems to
\nbelieve…) But what is clear is that Conway (and his various helpers)
\nhad much more serious motivations from recursive function theory etc.
\nthan is ever usually mentioned. It was just not a “find an amusing
\ngame” etc. piece of work.

\n

> Marvin Minsky challenged me to find a rule (any rule) that showed spherical
\npropagation. I took the challenge and shortly came up with such a rule.

\n

I don’t believe I’ve ever seen your rule of this kind. I showed such a
\nrule to Marvin in 1984 and he said “that’s very interesting; we were
\nlooking for these but hadn’t found any”. So I’m confused about
\nthis….

\n

\n

>> 6. What did you know about the work done by Unger etc. on cellular image
\nprocessors? How did this relate to your work?

\n

> I knew of it second hand, but I don’t think it had any effect.

\n

Wasn’t BBN quite involved with cellular image processing? And I believe
\nyou worked on aerial photography analysis. Did you use cellular
\nautomata for image processing?

\n

\n

>> 9. Were you aware of work on cryptographic applications of CA-like
\nsystems?

\n

> I thought I invented that idea!

\n

There was a lot of work done on 1D CAs by some distinguished
\nmathematicians consulting for the NSA in the late 1950s. I think much
\nof it is still classified. But over the years I’ve talked to many of
\nthe people involved (Gustav Hedlund, Andrew Gleason, John Milnor, some
\nNSA folk, etc. etc.), and read their unclassified papers. They figured
\nout some interesting stuff. They thought of it as related to nonlinear
\nfeedback shift registers.

\n

> As soon as I found ways to make RUCA’s it
\noccurred to me that they could be used for cryptography.

\n

How?

\n

There’s a 1D CA (rule 30) that I studied in 1984 that has been
\nextensively used as a randomness generator (e.g. Random[Integer] in
\nMathematica uses it), and that has been used a bit as a cryptosystem.

\n

I tried to make a good public key system out of CAs in the mid-1980s
\n(mostly in collaboration with John Milnor), but did not come up with
\nanything satisfactory. …

\n

\n

> I also have a lot of methods for making RUCA’s with particular properties.

\n

I am definitely somewhat interested in these things. They don’t happen
\nto be central to my grand scheme. But they are obviously worthwhile …
\nAND WORTH (you) WRITING DOWN!!

\n

I’m sure I discovered more and better ways to make all kinds of RUCAs before
\nanyone else with the exception of the rule found by my student, Margolus.

\n

Interesting. You probably know that the general problem of telling
\nwhether an arbitrary 2D CA is reversible is undecidable (the question
\ncan be mapped to the tiling problem).

\n

So I’m taking it that you have some good methods for generating 2D
\nreversible CAs. That’s obviously interesting.

\n

> Finally, one last anecdote. … I asked you why none of
\nthe CA’s you showed were reversible. Your response was “Because all
\nreversible CA’s are trivial.” …

\n

This anecdote can’t be quite right. I have known since 1982 that there
\nare nontrivial things that can happen in CAs that are made reversible by
\nyour mod 2 trick. What is true (and may have been what I was saying)
\nis that none of the 2-color nearest neighbor CAs that are reversible are
\nnon-trivial. With more colors or more neighbors, that changes. I’m
\nguessing that what you showed me was a 4-color nearest neighbor CA that
\nis reversible … and that is of course quite easy to get by recoding a
\n2-color one that has your mod 2 trick.

\n

By the way, I heard third hand a while back that you had “introduced me
\nto CAs”. For what it’s worth, that isn’t correct. My first “CA
\nexperience” was actually in 1973 (when I was 13) when I tried to program
\nmolecular dynamics on a very small computer, and ended up with something
\nequivalent to the square CA fluid model. My next CA experience was in
\nsummer 1981. I was trying to make models of “self organizing” systems
\n(now I hate that term), particularly self-gravitating gases. I ended up
\nsimplifying the models until I got 1D CAs. That fall I spent a month at
\nthe Institute for Advanced Study, and spent a lot of time studying von
\nNeumann’s work, etc., and analysing all sorts of features of 1D CAs. I
\ncame for a day to give a talk at MIT, and was having dinner with some
\nLCS people (Rich Zippel was one of them), and they told me about your
\nwork. Later that fall I talked with Feynman a certain amount about what
\nI was doing with CAs, and he again mentioned you. (I think he had been
\nto your Physics of Computation meeting, which was perhaps in June 1981,
\nbut I didn’t discuss the CA aspects of the meeting with him.) Then in
\n[January 1982] I came to the meeting you had on your island, and Tom Toffoli
\nshowed me his 2D CA machine (at the time he gave me the impression of
\n95% hackery, 5% science), and you showed me the 2D XOR CA on a PERQ
\ncomputer.\n

\n
\n

\n

Ed didn’t respond to this, but three days later we talked on the phone. I sent some (unvarnished) notes from the call to a research assistant of mine:

\n

\n
\n
\n
Subject: Fredkin conversation
\n
Date: Sat, 23 Sep 2000 03:05:43 -0500
\n
From: Stephen Wolfram
\n
\n

\n
\nI had a long conversation with Ed this evening.

\n

About his work in science, my work in science, etc.

\n

A few things mentioned:

\n

– He feels bitter that his paper on reversible logic, coauthored with
\nTom Toffoli, was actually all his (Ed’s) work

\n

– He is pleased that I will discuss history even when people haven’t
\npublished things (of course he has published little)

\n

– He says he has written about 150 pages about his views of physics; he
\nis planning to prepare something, perhaps for publication, in about a
\nyear

\n

– He says he missed not being able to bounce ideas off Dick Feynman …
\neven though Feynman often ended up screaming at him (Ed) about how dumb
\nhis ideas were

\n

– He said that his main problem was that he has been trying to get
\npeople to steal his ideas for years, but nobody was interested

\n

– He said that now “for some reason” he is becoming more concerned about
\nmatters of credit

\n

– He is a serious fan of Mathematica, the Mathematica Book, etc.

\n

– He made an effort again (he’s been trying for 20 years) to get me to
\ncoauthor a paper with him. He recognizes that he can’t write a credible
\nscientific paper, but he’s “sure he has some ideas I haven’t thought
\nof”. I told him that unfortunately I haven’t written a paper for 15
\nyears.

\n

– I told him that particularly when I’m in the Boston area, I’ll look
\nforward to chatting with him about physics etc.

\n

– He said he’s tried to interact some with Gerhardt ‘t Hooft, but that
\n‘t Hooft keeps on rushing off in traditional physics directions that Ed
\n(and I, by the way) think are stupid

\n

– He wanted to know if I really believed that all of physics etc. was
\nultimately discrete; he expressed the opinion that he and I may be the
\nonly people in the world who actually believe that right now

\n

– He told a bizarre story about how Don Knuth gave a talk at MIT
\nrecently on computers and religion, and how 1/4 of it was stuff that Don
\nhad heard about from Ed. Apparently Guy Steele asked a question about
\nhow Don’s stuff related to Ed’s, and Don said something meaningless.

\n

I talked to him a little more about the CA history stuff. He mentioned
\nthat around 1961 a certain Henry Stommel (sp?) told him that CA-like
\nmodels had been used in studying sand dunes in the 1930s. I have a
\nfeeling this may be another cat gut search, but perhaps we can follow
\nup. (You could email Ed at the appropriate time.)

\n

I asked Ed if he had ever looked at cryptography (as in NSA style stuff)
\nwith CAs. He said no. But that in the late 1960’s he had had a student
\nwho had studied ways to make counters out of JK flip flops … and that
\nthat person’s work had made something that Ed thought could be used for
\ncryptography. This was followed up by a certain Vera Pless
\nsubsequently.

\n
\n
\n

\n

I didn’t hear anything more from Ed for a while, though a public records search indicates that, yes, he had successfully “worked the system” to get $100k from the NSF for “The Digital Perspective Project”. And on May 1, 2001, I received a rather formal email from Ed (for some reason Americans born before about 1955 seem to reflexively call me “Steve”):

\n

\n
\n
\n
Subject: Workshop on the Digital Perspective 24-26 July, Washington DC
\n
Date: Tue, 1 May 2001 21:20:45 -0400
\n
From: Ed Fredkin
\n
To: Steve Wolfram
\n
\n

\n
\nWe are sending this email to invite you to an NSF-sponsored workshop on the
\nDigital Perspective in Physics planned for July 24th through the 26th,
\nTuesday, Wednesday and Thursday. It will be held in the NSF building,
\nArlington Virginia. Gerard ‘t Hooft has already agreed to present a paper
\nand we hope that you will also be willing to contribute. We intend to
\ncombine the papers presented at the workshop into a monograph that will be
\npublished later this year. Two earlier workshops on related subjects were
\nheld at Moskito Island and this was a central theme at a meeting held at
\nMIT’s Endicott house in 1982. Participants at previous meetings included
\nCharles Bennett, Richard Feynman, Ed Fredkin, Leo Kadanoff, Rolf Landauer,
\nNorman Margolus, Tomasso Toffoli, John Wheeler, Ken Wilson, Stephen Wolfram
\nand others.

\n

…\n

\n
\n

\n

When I didn’t immediately respond, Ed called my assistant, saying that he was “calling regarding a meeting he spoke with [me] about on the phone”. I responded by email later the same day:

\n

\n
\n
\n
Subject: I gather you called…
\n
Date: Tue, 15 May 2001 15:18:57 -0500
\n
From: Stephen Wolfram
\n
To: Ed Fredkin
\n
\n

\n
\nSorry for not getting back to you sooner….

\n

I myself am right now trying to work at absolutely full capacity to finish my
\nbook/project. I haven’t done any travelling at all for a long time, and won’t
\nuntil my book is done.

\n

And I also don’t yet have anything public to say about my work on physics.

\n

Hopefully by the end of the year my book will be done and I will have quite a
\nbit to say.

\n

However, it occurs to me that one or two of my assistants might be very good
\npeople to come to your workshop.

\n

Who all is coming?

\n

One person you should definitely invite is someone who has been an assistant of
\nmine, and now works part time for me, and part time on his own projects. His
\nname is David Hillman, and he’s been interested in discrete models of spacetime
\nfor a long time. (He got his PhD working on some kind of generalization of
\ncellular automata intended as a spacetime model.)

\n

I have two physics assistants, and one math one, who might be relevant for your
\nworkshop.

\n

Just let me know in more detail who might be coming, and I’ll try to figure out
\nthe correct person/people to suggest.

\n

Of course I’d love to come myself if I were a free man. But not until the book
\nis done.

\n

In haste,

\n

— Stephen\n

\n
\n

\n

Ed responded pleasantly enough:

\n

\n
\n
\n
Subject: RE: I gather you called…
\n
Date: Tue, 15 May 2001 17:08:39 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nHi,

\n

Sorry you can’t make it.

\n

About half of those coming are veterans of some Moskito Island workshop.
\nNewcomers include Gerry Sussman, Tom Knight, Gerard ‘t Hooft, John Negele,
\nJohn Conway, Raj Reddy, Jack Wisdom, Seth Lloyd, David di Vincenzo, plus a
\nnumber of students, etc. A couple of those mentioned are still struggling
\nwith scheduling issues.

\n

But, in any case, I would be pleased to have David Hillman come to the
\nworkshop. Send me his email address and I will send him an invitation.

\n

Best regards and good luck on the book!

\n

Ed\n

\n
\n

\n

I responded and suggested an additional person from our team for his workshop. Nearly a month passed with no word from Ed, so I pinged him asking what was going on. No response. It was a very busy time for me, and this wasn’t something I wanted to be chasing (I saw myself as doing Ed a favor by suggesting sending people to his workshop) … so I sent a slightly exasperated email:

\n

\n
\n
\n
Subject: your conference, again
\n
Date: Fri, 15 Jun 2001 06:08:39 -0500
\n
From: Stephen Wolfram
\n
To: Ed Fredkin
\n
\n

\n
\nLook … I’m now in a bit of an embarrassing situation: following your
\ninitial response, I told David Hillman and David Reiss about your conference
\n… assuming you’d want to invite them … and they both became quite
\ninterested in it. But they never heard from anyone about it. So now of
\ncourse they’re wondering what’s going on. And so am I. What should I tell
\nthem? I’m now embarrassed about having suggested this…

\n

This seems peculiarly un-you-like. I was thinking you must have been away
\nor something. But isn’t the conference coming up very soon?

\n

I hope everything’s OK…\n

\n
\n

\n

Still no response from Ed. A week later I called him, and we talked for two hours. It wasn’t clear why he hadn’t already reached out to the people I’d suggested, but he quickly said he would. And then Ed launched into telling me about the “astounding” cellular automaton models he said he’d just created that “had charge, energy, momentum, angular momentum, etc.”. He talked about things like the idea of what he called an “infoton” that would be an “information particle” that would “make Feynman diagrams reversible”. I explained why that didn’t make any real sense given how Feynman diagrams actually work. It was the same kind of conversation I had many times with Ed. I kept trying to explain what was known in physics, and he kept on coming back with things that, yes, I think I understood, but that seemed close to typical crackpot fare to me. But Ed seemed convinced he had discovered something great (though exactly what I couldn’t divine). And eventually—having obviously not convinced me of what he was doing “on its merits”—he just came out and said “It must be related to stuff you’re doing, one way or another”.

\n

I explained that I really didn’t think that was very likely, not least because I emphatically wasn’t trying to use cellular automata as models of fundamental physics. And with that, Ed launched into a long speech about giving credit, particularly to him. I explained that I was trying hard to write correct history, and reiterated some of the questions I’d asked him before. He didn’t really tell me more, but instead regaled me with stories (that I’d mostly heard many times before from him) about how he’d been the first to figure out this and that—apparently oblivious to historical research I tried to tell him. But eventually we both had to go—and the conversation ended pleasantly enough, with him confirming the email addresses for the two people for his workshop.

\n

As the workshop approached, the people from my team had made arrangements to go to Washington, DC—but still didn’t know where exactly the workshop was. With days to go, one of them simply called Ed to ask. But Ed told them that actually they couldn’t come, because “Raj Reddy says there is no room for you”. Really? No extra chair to be found? Ed was the organizer, wasn’t he? Why was he laying this on someone else? It seemed to me that Ed was playing some kind of game. But at that moment I was too busy trying to finish my book to think about it. (Now that I’m writing this piece, however, I realize that Ed was perhaps following an “algorithm” he’d established years earlier when he was proud to have organized a meeting to push forward his ideas about timesharing—by inviting just people who supported his ideas, and not inviting ones who didn’t. I don’t know if the meeting actually happened, or what went on there. I don’t think the writeup promised in the invitation and in the NSF contract ever materialized.)

\n

In January 2002 A New Kind of Science was off to the printer, and review copies were starting to be sent out. In late March a seasoned journalist named Steven Levy (who had written about my work on cellular automata in the mid-1980s) was talking to someone from my team and reported that Ed had told him that “Minsky had told [Ed] to publish his stuff on the web to stake out priority” before my book came out. (And it’s a pity Ed didn’t do that, because it might have made it clear to him and everyone else how different what he was saying was from what I was saying.) But in any case Levy said that Ed seemed to be saying the same things as he’d said 15 years ago—and Levy knew that regardless of anything else I’d done incredibly much more since then.

\n

After his conversation with Levy, Ed sent me mail:

\n

\n
\n
\n
Subject: The Book
\n
Date: Fri, 22 Mar 2002 16:38:29 -0800 (PST)
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nCongratulations on finishing!!!

\n

I ordered the book from someplace, so long ago I can’t
\nremember from who. I’m wondering if, when its
\npossible, I could get a copy in advance of whenever my
\nordered copy is going to appear. I just don’t want to
\nbe the last on the block to see it. Of course I’d be
\nhappy to pay if you can tell me how to do it.

\n

Thanks,

\n

Ed Fredkin\n

\n
\n

\n

The book was going to be published on May 14; on May 4 I signed a copy for Ed:

\n

Click to enlarge

\n

The book mentioned Ed a total of 7 times. (The person with the most mentions overall was Alan Turing, at 19; Minsky had 13; Feynman 10.)

\n

Ed never told me he’d received the book. And I’m not sure he ever seriously looked at it. But somehow he was convinced that since he knew it talked a lot about cellular automata, and had a section about physics, it must be about his big idea—that the universe is a cellular automaton. As one witty friend pointed out to me in connection with writing this piece, my book says only one thing about the universe being a cellular automaton: that it isn’t! But in any case, Ed apparently seemed to feel that I was stealing credit from him for his big idea—and, as I now realize, started an urgent campaign to right the perceived wrong, basically by telling people that somehow (despite all my efforts to describe the history) I wasn’t giving anyone enough credit and that “he was there first”. The New York Times rather diplomatically quoted Ed as saying “For me this is a great event. Wolfram is the first significant person to believe in this stuff. I’ve been very lonely”. It followed up by saying that “Mr. Fredkin, who said he was a longtime friend, said Dr. Wolfram had ‘an egregious lack of humility’”. (In some contexts, I suppose that might be a compliment.)

\n

In writing this piece I asked Steven Levy what Ed had actually said in the interview he did. His first summary in reviewing his notes was “He says he considers you a friend and then goes on endlessly about what an egomaniac you are”. But then he sent me his actual notes, and they’re somewhat revealing. Ed doesn’t claim he introduced me to cellular automata, perhaps because he realizes that Levy knows from the 1980s that that isn’t true. But then Ed tells the story about showing me reversible cellular automata, which I’d explained to Ed wasn’t true. Ed goes on to say that “Everyone who’s in science wants credit, driven probably by wanting to become famous. [Wolfram] has a larger than normal dose”. Ed says that when he had said that cellular automata underlie physics, I’d said that was crazy. (Yup, that’s true.) But then Ed said “Now he denies this”. Huh? Ed went on: “He’s a prisoner of some kind of overactive ego. I believe he might not know. Wolfram deserves loads & loads of credit, but he has this personality flaw”. And so on.

\n

A month later Ed writes to me:

\n

\n
\n
\n
From: Ed Fredkin
\n
To: Steve Wolfram
\n
Sent: Friday, June 14, 2002 2:48 PM
\n
Subject: ANKOS critics
\n
\n

\n
\nSteve,

\n

Sometime soon I’d like to get together and talk.

\n

I’ve read a lot of your book.

\n

Take a look at the draft of a little paper of mine (attached). I’d
\nappreciate comments.

\n

Ed F

\n

The following is my response someone else’s response [Gerry Sussman] to a review of ANKOS.

\n

My comments are only with regard to Wolfram’s ideas on modeling physics.
\nI don’t happen to like his network model but we are in agreement that
\nsome kind of discrete process might underlie QM.

\n

Not everything Wolfram says is wrong.

\n

\n

The ideas that some kinds of discrete space-time processes (such as
\nCA’s) might underlie physics or other processes in nature is the BABY.
\nEverything else in ANKOS (or missing from ANKOS) is the BATH WATER.\n

\n
\n

\n

Ed’s attached paper was basically yet another restatement of cellular automata as models of fundamental physics.

\n

A few weeks later there was a strange (if in some ways charming) incident when a reporter for the San Francisco Chronicle decided to investigate what seemed to be a science feud between Ed and me. After a nod to medieval metaphysicians, the article (under the title “Cosmic Computer”) opens with “Nowadays, with a daring that might have dazzled St. Augustine and St. Thomas Aquinas, two titans of the computer world argue that everything in the universe is a kind of computer.” After analogizing me to Britney Spears, the article goes on to say “The excitement has also brought tension to the long-standing friendship between Wolfram and Fredkin, who are now wrestling with one of the bigger bummers of any scientist’s life: a dispute over originality.” The article reports: “Last week, the two men had a long, heartfelt phone conversation with each other, in which they tried to resolve their strong disagreement over priority. The conversation was amicable, but they failed to reach agreement.”

\n

And so things remained until March 2003 when Ed sent the following:

\n

\n
\n
\n
Subject: Re: NKS 2003 Conference & Minicourse
\n
Date: Thu, 20 Mar 2003 17:24:59 -0500
\n
From: Edward Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nDear Stephen,

\n

I guess I’m on a Wolfram mailing list for potential attendees for your
\nBoston conference. I hope you don’t mind a little plain speaking. I
\nconsider that I am a friend of yours and therefor I take the risk of
\ntelling the emperor about his new clothes. Of course, few others
\nwould do so as a friend. Please don’t be offended as the plain talking
\nthat follows is my attempt at trying to be constructive.

\n

Your work is acquiring a reputation amongst the scientific community
\nthat is much less than it deserves. I find myself often in the
\nposition of defending you, your work and your accomplishments against
\nthe negative views that many hold, even though they have little
\nunderstanding of the significance of what you have done. They are
\nturned off by your egregious behavior; it distracts much of the
\nscientific community rendering it barely possible for them to take you
\nseriously . You have invented and discovered quite a few things, but
\nso have others. You told me you would try to give credit in ANKOS
\nwhere credit was due; I believed you and I believe that you tried your
\nbest but nevertheless you failed miserably. I guess you simply didn’t
\nknow how. Consider this conference: Must this conference be a one man
\nshow or might it actually be better for the ideas in ANKOS and better
\nfor SW and his overall scientific reputation if it were a real
\nconference where others might address the same questions? Please don’t
\nkid yourself into thinking that no one else has anything original,
\nnovel, important or interesting to say.

\n

Of course, this so-called “…first ever conference” devoted to the “…
\nideas and implications…” of concepts found in ANKOS might be nothing
\nmore than a marketing tool for Mathematica and for sales of the ANKOS
\nbook. If so, you ought to call a spade “spade”.

\n

You’ve done enough things (and hopefully will continue to do so) to
\nensure your reputation as a pioneer in various areas. This flood of
\nself puffery simply detracts, in the minds of many whose opinions you
\nought to value, from the positive reputation you deserve.

\n

I’m not one of those whose opinion of your work is in any way affected
\nby your unfortunate behavior. I see and understand exactly what you’ve
\ndone and I know and understand what your work is based on. I am human,
\nso I find it interesting when you now and then claim to have discovered
\nan idea or fact that I personally explained to you when it was
\nperfectly clear at the time that to you, the idea was absolutely novel.
\nMy model of you is that your overpowering motivation results in your
\nmind playing tricks on you. I really believe that you actually forget;
\nthat you actually re-remember the past differently than it happened.

\n

But I am the eternal optimist. I believe that even Stephen Wolfram
\nmight someday come around and join the collegial scientific community
\nwhere you receive credit and give credit; both nearly effortlessly.
\nThe world actually might voluntarily heap honors on you as opposed to
\nSW having to orchestrate “conferences” for the glorification of SW and
\nall the ideas claimed by SW. No one knows better than me how slow and
\ntorturous this process can be for new and novel big concepts, but
\npatience and modestly [sic] still seems like the better path.

\n

Please try to not be offended. I actually mean well. If you ever have
\nan actual, real conference, invite me to be a speaker; I’ll come. If I
\norganize another conference you can rest assured that you will be
\ninvited again (as you were for the NSF Workshop) and I hope you will
\ncome to talk about your ideas and maybe — maybe even stay to hear what
\nothers have to say on the subject. It’s not too healthy to the
\nscientific mind to be the only real speaker at conferences you organize
\nand hype for yourself.

\n

Among the very few who really are able to appreciate what you’ve done,
\nI am one of your greatest supporters. But I am not your average person
\nwith more or less normal reactions. When you reach for extra glory
\nand credit by stealing one of my ideas, my reaction is: “I admire your
\ngood taste”.

\n

Best regards

\n

Ed F

\n

On Thursday, March 20, 2003, at 02:19 PM, Stephen Wolfram wrote:
\n
\n> In June of this year we’re going to be holding the first-ever
\n> conference devoted to the ideas and implications of A NEW KIND OF
\n> SCIENCE. I think it’ll be an exciting and unique event. And if you’re
\n> interested in any facet of NKS or its implications, you should plan
\n> to come!
\n>
\n> I’ll be giving a series of in-depth lectures to explain the core
\n> ideas of NKS. There’ll be more specialized sessions exploring
\n> implications and applications in areas such as computer science,
\n> biology, social science, physics, mathematics, philosophy, and future
\n> of technology. And there’ll also be workshops and case studies about
\n> such issues as modelling, computer experimentation, defining NKS
\n> problems, NKS-based education–as well as a gallery of NKS-based
\n> art pieces.
\n>
\n> I’d expected that it’d be a few years before it would make sense to
\n> start having NKS conferences. But things have gone faster than I
\n> expected, and the enthusiasm and energy we’ve seen in the ten months
\n> since the book was published has made it clear that it’s time to have
\n> the first NKS conference.
\n>
\n> In planning NKS 2003, we want to cater to as broad a range of
\n> attendees as possible. There’ll be many professional scientists
\n> coming, as well as technologists and other researchers from a very
\n> wide range of fields. There’ll also be a large number of educators
\n> and students, as well as all sorts of individuals with general
\n> interests in the ideas and implications of NKS.
\n>
\n> We’ll be holding NKS 2003 near Boston over the weekend of June 27-29,
\n> 2003. There’s more information and registration details at
\n> http://www.wolframscience.com/nks2003
\n>
\n> It’s going to be an extremely stimulating weekend–and a unique
\n> opportunity to meet a broad cross-section of people interested in new
\n> ideas.
\n>
\n> I hope you’ll be able to be part of this pioneering event!
\n>
\n>
\n> — Stephen Wolfram
\n

\n
\n

\n

I responded:

\n

\n
\n
\n
Subject: Re: NKS 2003 Conference & Minicourse
\n
Date: Sat, 22 Mar 2003 22:19:33 -0500
\n
From: Stephen Wolfram
\n
To: Edward Fredkin
\n
\n

\n
\nEd —

\n

I must say that I am reluctant to respond to a note like the one below, but
\nit seems a pity to let things end this way.

\n

I can tell you’re very angry … but beyond that I really can’t tell too
\nmuch.

\n

I’d always thought we had a fine, largely social, relationship. We talked
\nabout many kinds of things. It was fun. Occasionally we talked about
\nscience. In the early 1980s I learned a few things about cellular automata
\nfrom you. None were extremely influential to me, but they were fine things
\nthat you should be proud of having figured out—and in fact I took some
\ntrouble to mention them in the notes to NKS.

\n

You also told me some of your thinking about fundamental physics. I was (I
\nhope) polite, and tried to be helpful. But I always found what you were
\nsaying quite vague and slippery—and when it became definite it usually
\nseemed very naive. I think it’s a great pity that you’ve never taken the
\ntime to learn the technical details of physics as it’s currently practiced.
\nThere’s a lot known. And if you understood it, I think you’d be able to
\ntell quite quickly which of your ideas are totally naive, and which might
\nactually be interesting.

\n

I think it’s also a pity that—so far as I can tell—you’ve never really
\ntaken the time to understand what I’ve done. It’s in the end pretty
\nnontrivial stuff. It’s not just saying something like “the universe is a
\ncellular automaton” or “I have a philosophy that the universe is like a
\ncomputer”. It’s a big and rich intellectual structure, built on a lot of
\nsolid results and detailed, careful, analysis. That among other things
\nhappens to give a bunch of ideas about how physics might actually
\nwork—that have (so far as I know) almost nothing to do with things you’ve
\nbeen talking about.

\n

I do agree with your belief that the universe is ultimately discrete. But
\nof course many people have for a long time said that they thought the
\nuniverse might at some level be discrete. Some of those people (like
\nWheeler, Penrose, Finkelstein, etc.) are sophisticated physicists, and what
\nthey’ve said has lots of real content—it’s not just vague essay-type
\nstuff. Now, I don’t happen to think what they’ve specifically proposed is
\ncorrect. But you would be completely wrong to think (as you seem to) that
\nsomehow the idea that the universe might be discrete originated with you.

\n

I really encourage you to read NKS in detail, including the notes at the
\nback. I think there’s a lot more there than you imagine. And I think if
\nyou really understood it, you would be completely embarrassed to write a
\nnote like the one below.

\n

You’ve never struck me as being someone who is terribly interested in other
\npeoples’ ideas. And that’s of course fine. But you shouldn’t assume you
\nknow their ideas just on the basis of a few buzzphrases or some such. In
\nsome areas of business, that approach often works. Because, as we both
\nknow, the ideas typically aren’t that deep. But it won’t work with a
\ncharacter like me doing science. There’s too much nontrivial content. You
\nhave to actually dig in to understand it. And from the things you say you
\nobviously haven’t.

\n

For twenty years I thought we had a fine personal relationship. I thought
\nit was a little odd that you seemed to go around telling people that you had
\nintroduced me to cellular automata. We talked about this a few times, and
\nyou admitted this wasn’t a true story. But while I thought it was a little
\nunreasonable for you to keep on saying something you knew wasn’t true, I
\ndidn’t pay much attention. It never really got in the way of our
\nrelationship.

\n

And then there was the incident of your NSF-funded conference. You invited
\nme. I said I couldn’t come. And suggested two alternates. You said fine.
\nBut then you never contacted these people. Which was rather embarrassing
\nfor me. And then, when David Reiss contacted you, you told him the
\nconference “was full”.

\n

Later, when we talked about it, you admitted that that was a lie—and then
\nblamed the lie on Raj Reddy.

\n

Frankly, I was flabbergasted by all this. That’s not the kind of
\ninteraction someone like me expects to have with a seasoned high-level
\noperative like yourself. Yes, that’s the kind of thing some sleazy young
\nbusinessperson might do. But not a mature businessperson who has run
\ncompanies and things.

\n

I still have no idea what you were thinking of. But it thoroughly shook my
\nconfidence in you as someone I could interact straightforwardly with.

\n

And then, of course, there’s the question of what you’ve said to journalists
\netc. about NKS. In detail, I don’t have much idea. But something fishy
\nwas surely going on. I haven’t gone and studied all the quotes from you.
\nBut certainly my impression was that you were trying to claim that really
\nlots of key things in NKS were things you had done or said first.

\n

You know that I tried to research the history carefully. And unless I
\nmissed something quite huge, your contributions to NKS were extremely minor,
\nand are certainly accurately represented in the history notes. Now of
\ncourse if you don’t actually understand what I’ve done in NKS, that may be
\nhard to see. But I can’t really help you with that.

\n

OK, where do we go from here?

\n

We talked at some length when that reporter from a San Francisco paper was
\ntrying to write a story about you and NKS. I thought we had a decent
\nconversation. But then, so far as I could tell, you went right ahead and
\ntold the reporter—again—exactly a bunch of things we’d agreed in our
\nconversation weren’t true.

\n

It was the same pattern as with telling people that you’d introduced me to
\ncellular automata. And it resonated in a bad way with the lie you told
\nabout your conference.

\n

I would have expected vastly better from you. I must say that I was
\npersonally most disappointed. And I concluded with much regret that I must
\nhave seriously misjudged you all these years.

\n

I would like nothing more than to be able to mend our relationship, and go
\nback to the kind of pleasant social interactions we have always had.

\n

How can that be achieved? Perhaps it’s impossible. But one step is that
\nyou might actually try to understand what I’ve done in NKS. That would
\nsurely help.

\n

— Stephen\n

\n
\n

\n

\n
\n
\n
Subject: Delayed reply
\n
Date: Thu, 3 Apr 2003 23:34:17 -0500
\n
From: Edward Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nStephen,

\n

I have been traveling and more recently have had my time gobbled up by
\na most urgent matter.

\n

I appreciate your quick reply to my email and I will get back to you
\nsometime soon. Rather than trying to respond to everything you brought up,
\nI will be limited to dealing with a couple of issues at a time.

\n

What I can tell you is that I am not angry, and was not angry or upset.
\nI have always been a non-emotional observer with regard to whatever it is
\nthat comes my way. That’s just my nature. It has come in handy at times,
\nsuch as when someone’s stupid mistake caused the single engine jet fighter
\nI was flying have an engine fire on take off. This required shutting down the
\nengine and taking other drastic actions very quickly; no time to get mad.

\n

The gist of my comments to you was not related to the work you
\ndocumented in NKS, but rather to the style and methodology you are using
\nwhile trying to get people to understand and appreciate what it is you
\nhave done. I certainly agree with the fact that it is extraordinarily
\ndifficult to get the scientific establishment to pay attention, listen,
\nunderstand and appreciate what you’ve done. Nevertheless, I think there
\nmight be a better approach to that problem than the one you are following.

\n

So, as soon as I can get a little breathing room, I’ll respond to some
\nof your comments. I do value our friendship and whatever I do in this regard
\nwill be an attempt at honest and unemotional communication with the goal of
\nsome better mutual understanding.

\n

By the way, I have taken the time to read and understand what you’ve
\ndone in NKS. I’m pretty sure that I am better able than most to appreciate
\nthe effort, persistence and creativity that went into that work.

\n

You have made some comments about me and my own work, and I wonder what
\nyou actually know about it beyond our conversations and the things you
\nreferenced in NKS.

\n

As soon as I can get some time I’ll continue with some further thoughts.

\n

Best regards,

\n

Ed

\n
\n
\n

\n

Ed didn’t send the promised followup. But a couple of months later New Scientist sent our media email address a note titled: “cover feature on Fredkin, Wolfram right to reply”, which asked for “comment on the suggestion that you first became familiar with cellular automata first at Fredkin’s lab in the 1970s and that examples in A New Kind of Science came out of work done in the lab”. I told Ed he should correct that—and he responded to me:

\n

\n
\n
\n
Subject: Re: cover feature on Fredkin, Wolfram right to reply.
\n
Date: Thu, 29 May 2003 13:55:02 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nStephen,

\n

I carefully and clearly told the author of the NS article that to my
\nknowledge it is not true “… that Wolfram first became familiar with
\ncellular automata at Fredkin’s lab in the ’70’s…” and further that
\nyou already knew about CA’s.

\n

My guess is that magazines see value in controversy and they would like
\nto attribute statements to each of us that helps them titillate their
\nreaders. I tried in every way I could to correct any wrong impressions
\nthe author had. But what they end up doing is beyond my control.

\n

As to cracking the fundamental theory of physics, I did read and did
\nunderstand what you wrote about in NKS, however my interests lie in
\nmodels that are regular and based on a simple underlying Cartesian
\nlattice. The models I have been working on for the past few years are
\ncalled “Salt” as they are CA’s similar to an NaCl crystal. You can
\nread about it at www.digitalphilosophy.org.

\n

My approach to being consistent with QM, SR and GR is related to the
\nfact that CA models of physics can exactly conserve such quantities as
\nmomentum, energy, charge etc. By means of a variant of Noether’s
\nTheorem, the physics of such CA’s can exhibited the all the symmetries
\nwe currently attribute to physics, but doing so asymptotically at
\nscales above the lattice.

\n

Thus, in my concept of a theory of physics, translation symmetry,
\nrotation symmetry etc. would all be violated as we currently understand
\nis true for time symmetry, parity symmetry and charge symmetry .

\n

No one suggests that you should agree with all my ideas, however your
\ncomment in your prior email to me is unnecessarily condescending:

\n

> “I think it’s a great pity that you’ve never taken
\n> the time to learn the technical details of physics as it’s
\n> currently practiced. There’s a lot known. And if you understood
\n> it, I think you’d be able to tell quite quickly which of
\n> your ideas are totally naive, and which might actually be interesting.”

\n

What is certain is that there’s no “great pity” necessary. I actually
\ndo know a lot about the technical details of physics. In any case,
\nthirty years ago Feynman thought that I needed to learn more about
\ncertain aspects of QM. He was specific in what he felt was everything
\nmore that I needed to know (in order to make progress with my CA
\nideas). He offered to work with me, which was accomplished during the
\ncourse of the year I spent at Caltech (1974-1975). I studied, learned
\nmore about QM and passed the final exam that Feynman gave me. While
\nwe argued a lot, Feynman never accused me of having naive ideas.

\n

As to NKS 2003, it doesn’t make a lot of sense for me to come to be a
\nmember of the audience. If you would like me to participate in some
\nmeaningful way, let me know.

\n

Best regards,

\n

Ed F

\n
\n

\n

And after that exchange, Ed and I basically went back to being as we had been before—having pleasant interactions, without any particular scientific engagement. And in a sense for many years I kept out of Ed’s scientific way—not seriously working on physics again until 2019.

\n

Since 2002 I’d been living in the Boston area, so Ed and I ran into each other more often. And although Ed’s behavior over A New Kind of Science had disappointed and upset me, it gave me a better understanding of Ed as a human being, and a vulnerable one at that.

\n

The Later Ed

\n

It was always a little hard to tell just what was going on with Ed. In July 2003, for example, he wrote to me:

\n

\n
\n
\n
Subject: Gunkel
\n
Date: Thu, 24 Jul 2003 19:07:56 -0400
\n
From: Ed Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nStephen,

\n

First I must apologize for this long letter. Pat Gunkel sent me an
\nemail telling of your visit. It prompted me (who hardly ever writes
\nanything) to type up my thoughts for whatever they’re worth.

\n

\n

You might be surprised at the number of wise and intelligent people who
\nreally appreciate Pat and his works. Yet after more than 30 years of
\nfitful, diverse yet nearly continuous support, Pat has come to a
\nsituation that, to him, looks like the end of the line.

\n

\n

I, unfortunately, am no longer in a position to personally provide the
\nkind of modest support that Pat needs to continue his church-mouse kind
\nof existence.

\n

\n

There is no doubt that Pat can be a difficult person to help, but I
\nnotice that he has mellowed with age. Of course, Wolfram Research is
\nnot a charitable institution. But I believe that Pat’s ideas on
\nideonomy are really important and that those ideas may form the basis
\nof interesting future applications. The point of all this is that if
\nwhat Pat is doing seems interesting to you, some arrangement with
\nWolfram Research might make sense.

\n
\n
\n

\n

(True to form, Gunkel followed up with a very forthright note, including a scathing critique he’d written of A New Kind of Science—as well as of Ed’s theories. That wouldn’t have deterred me, but I couldn’t see anything Gunkel could actually do for us, so I never pursued this.)

\n

But did Ed’s note imply that Ed was running out of money? I’d always assumed some kind of vast business empire lurking in the background, but now I wasn’t sure.

\n

I saw Ed only a few times in the next couple of years—at events like a Festschrift for Sulak and a bat mitzvah for one of Feynman’s granddaughters. But as usual, he was eager to tell stories, some of which I hadn’t heard before—mostly about things far in the past. He said that in the early 1960s John Cocke had stolen the idea of RISC architecture from his murdered friend Ben Gurley, though it had taken him two decades to get it taken seriously. He said that around the same time he’d been pulled in by the Air Force to help with analysis of blast waves from nuclear tests (and that story came with descriptions of B-52s doing loop-the-loop maneuvers when they dropped atomic bombs). He said that he’d once demoed the Muse music system (which, he emphasized, he, not Minsky, had invented) to an astonished audience in the Soviet Union. He said that he’d advised Richard Branson on his transatlantic balloon trip, telling him his butane burners weren’t correctly mounted—and in fact they fell off. And so on.

\n

In 2005 Ed told me he’d been working with a programmer in California named Dan Miller (who’d developed audio compression software [and been at the NKS 2003 conference that Ed had been so upset about]) on the new 3D cellular automaton he’d invented that he called the “SALT architecture” because its pattern of updates were like the Na and Cl in a salt crystal.

\n

But then in 2008 Ed told me he’d sold his island—presumably relieving whatever financial issues he’d had before—and suddenly Ed started to show up much more. He told me (as he did quite a few times) that he was working on a book (which never materialized). He told me he was teaching a course at Carnegie Mellon on the “Physics of Theoretical Computation”—which was apparently actually a very-much-as-before “engineering-style” effort to explore building features of physics from a cellular automaton, now with his SALT architecture. He invited me to a dinner at his house in honor of ‘t Hooft, photographed here with Ed, me and Sulak:

\n

Click to enlarge

\n

That fall, Ed came to the Midwest NKS Conference in Indiana, here photographed in a discussion with Greg Chaitin, me and others:

\n

Click to enlarge

\n

I would interact with Ed quite regularly after that—most often with him telling me about his use of Mathematica and soon Wolfram|Alpha. In 2012 Ed—now aged 78—sent me a nice “I have an idea” email (I made the requested introduction, though I’m not sure if this ever went anywhere):

\n

\n
\n
\n
Subject: Alpha and Problem Solving
\n
Date: Fri, 19 Oct 2012 20:12:01 +0000
\n
From: Edward Fredkin
\n
To: Steve Wolfram
\n
\n

\n
\nSteve,

\n

The first thing I taught at MIT was a course in general problem solving (in 1968).
\nI’m now developing a new course on General Problem Solving which I expect to
\noffer first at Harvard’s HILR program. Part of the motivation came from watching
\nJoyce struggle with a Harvard course on Chemistry, where a lot of the homework
\ninvolved units conversions. I noticed that Alpha promptly solved many of Joyce’s
\nhomework problems including some involving chemical reactions. (The course
\nwas really for students planning to take the MCAT Exam in order to get into Medical
\nSchool). One clue that you might give to the Alpha developers, is to work toward
\ngetting Alpha to have more of the capabilities necessary to pass different standard
\ntests that involve various kinds of quantitative analysis. (Of course, you might
\nhave already done so.)

\n

You might recall that I discussed the issue of units conversion with you long ago
\n(before Mathematica), and you described the idea you then had that turned into
\nConvert in Mathematica.

\n

In any case, Alpha is fantastic, and getting better all the time. My plan is that every
\none of my students must use Alpha for every problem that involves numbers, along
\nwith some that don’t involve numbers. My motto is John McCarthy’s dictum:
\n“Those who refuse to do arithmetic are doomed to talk nonsense!” However, with
\nAlpha, the problem solver doesn’t have to do the arithmetic or the units
\nconversions; Alpha can do it!

\n

It would be helpful if I could get a little bit of cooperation from someone in the Alpha
\ngroup. Basically, I will want to talk to an Alpha expert from time to time to make sure
\nI’m taking advantage of the best that Alpha can do along with resources already
\ndeveloped for introducing Alpha to new users. My initial students will be drawn from
\na group of retirees who, while clearly above average in intelligence, may have few
\nrecently used skills in mathematics. I also expect that almost all of my initial
\nstudents will be first time Alpha users. Again, I might profit from discussion
\nwith someone who has thought about how to introduce Alpha to beginners.

\n

Let me know what you think or, if you like, we could get together to talk about it.

\n

Best regards and Congratulations!

\n

Ed\n

\n
\n

\n

In 2014, when I recorded some oral history with Ed—now age 80—he was again brimming with ideas. The one he was most excited about had to do with weather prediction. It started from the observation that most smartphones have pressure sensors in them. Ed’s idea was to use these—and more—to create a sensor net that would continuously collect billions of pressure measurements, to be fed as input to weather forecast codes. Channeling his lifelong interest in reversible computing he imagined that the codes could be made reversible, and that running backwards from an incorrect prediction could tell one where more data had to be collected. Then Ed imagined doing this by having tiny balloons all over the place—with nothing that would cause trouble if a plane ran into it. He had a whole plan for partners he wanted to get (and, yes, he wanted us to be part of it too). And in typical Ed fashion, it was all laced with stories:

\n
\n

You know, I had this personal experience with weather. I was flying a glider along at 16,000 feet, and I encountered sink. You know, sink is wind blowing down. And the speed of the sink was 10,000 feet a minute. I was at 16,000 feet. And two minutes later, I was on the ground landing. Not on purpose. You know my attitude was—if I don’t see a big grading on the ground—[the wind] can’t keep going this way all the way down, so I won’t be killed. Actually, in that same storm, one of the pilots was killed.

\n
\n
\n

\n
\n
\n

The weather people just aren’t into the vertical movement of air. They do everything in layers. But this went through a lot of layers all at once in an organized fashion. So the point is that to talk about thousands or even millions of sensors makes no sense. You’re not going to do good weather until you get billions of sensors. That’s my opinion.

\n
\n

We talked about whether sensitive dependence on initial conditions destroys all predictability in fluid dynamics. I have theoretical and computational reasons to think it doesn’t. But Ed had a story:

\n
\n

There’s a mountain in California I happen to know, and I have a picture of a cloud street that starts on that mountain because it has a very peculiar geometry, and then runs for 2,000 miles.

\n
\n
\n

So this particular mountain has an area of its rock that faces towards the east and it’s big. And what happens is when the Sun is shining on that and the wet wind is coming from the Pacific and so on, you get this big cumulus cloud that flows back this way, and then you get another one and it pulses. You get one after another. And these are very stable things and they travel a very long way. So my point is that amidst all the randomness there’s a lot of order that can be found and understood. There are regions that have funny properties. They’re much more temperature stable. There’s like islands of stability. And things like that get ignored by everything people are doing today, you know what I mean?

\n
\n

I would send things I’d written to Ed. I didn’t really think he’d read them. But I thought he might at least enjoy their concepts. And often he would respond with ideas of his own. I sent him an announcement about our Tweet-a-Program project (now reconfigured because of Twitter changes) with the one-line comment (reflecting his “best programmer” self-characterization): “A new frontier of programming prowess?” He responded, in typical Ed fashion, with an idea—that’s actually a little reminiscent of modern AI image generation:

\n

\n
\n
\n
Subject: Re: Tweet-a-Program
\n
Date: Fri, 19 Sep 2014 21:25:47 +0000
\n
From: Edward Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nHi,

\n

I like it! As usual, it gave me ideas that might be outside of your
\ncurrent concept.

\n

We should talk sometime, so that I can explain something closely related
\nto [Tweet-a-Program] but decidedly different and perhaps even more fun.
\nStrangely, it has to do with Haiku.

\n

What I have figured out is that there could be a new kind of Haiku, where
\nthe text is interpreted by Mathematica to generate an image.
\n …
\nThe trick will be having the image reflect something of the Haiku meaning,
\neven if only abstractly. I don’t know how to do this so that it does the perfect
\nthing every time, but I have thought of something that could be fun, and a
\nperson could become skilled at creating Mathematica Haikus that seem to reflect
\nsome aspects of the feeling of the words in an image with some increasing
\nprobability of doing it well, as a result of practice.

\n

\n

Ed\n

\n
\n

\n

Late in 2014 Ed sent me another piece of mail saying he was starting a project to produce a “new cellular automaton system”—and he wanted to use our technology to do it. He also sent me a paper he’d written about his SALT cellular automaton:

\n

Click to enlarge

\n

Finally—and without my help—Ed seemed to have mastered the art of academic papers. This one was on the arXiv preprint server. Others—with titles like “An Introduction to Digital Philosophy”—had appeared in academic journals. (Ones with titles like “A New Cosmogony” and “Finite Nature ” were more privately circulated.) But what most struck me about this particular paper was that—for the first time—it seemed to have actual images of cellular automaton behavior. Ever since those few minutes with the PERQ computer on Ed’s island in 1982 I hadn’t seen Ed ever show anything like that. And now Ed was again chasing that old question Minsky had asked, of making a circle with a cellular automaton.

\n

At the time, I didn’t have a chance to see what Ed had actually done, and whether he’d finally solved it. But in writing this piece, I decided I’d better try to find out. The actual rule—that Ed and Dan Miller called “BusyBoxes”—is quite complicated, involving knight’s-move neighborhoods, etc. Their claim was that starting with a string of cells in a particular configuration, the average of their positions would trace out what in the limit of a long string would be a circle:

\n
\n
\n

\n

At first it looks like a kind of magic trick (and no, nothing is bouncing off any “walls”; the direction changes are just a consequence of the initial pattern of cells). But if you keep all the locations that get visited, things start to seem less mysterious—because what you realize is that the “basket” that gets “woven” is actually just a cube, viewed from a corner:

\n
\n
\n

\n

Where does the apparent circle come from? The details are a bit complicated—and I’ve put them in an appendix below. But suffice it say to that Ed’s old nemesis—calculus—comes in very handy. And in fact it lets one show that although one gets almost a circle, it’s not quite a circle; even with an infinite string, its radius is still wiggling by about 0.5% as one goes around the “circle”:

\n
\n
\n

\n

And—as we’ll see below—remarkably enough one can get a closed-form result for the amount of wiggliness (here computed as the ratio of maximum to minimum radius):

\n
\n
\n

\n

In earlier years, Ed might have tried to say that generating a circle (which this doesn’t) was tantamount to showing that a cellular automaton could reproduce physics. But by now I think he realized that it was really much more complicated than that. And he wasn’t mentioning physics much to me anymore. But—perhaps not least because many of his longtime interlocutors had by then died—he was interacting with me more than before. And perhaps he was even beginning to think that I might have a bit more to contribute than he’d assumed.

\n

In December 2015 I sent Ed a piece I’d written to celebrate the bicentenary of Ada Lovelace, and he responded:

\n

\n
\n
\n
Date: Fri, 11 Dec 2015 15:58:14 +0000
\n
From: Edward Fredkin
\n
To: Stephen Wolfram
\n
\n

\n
\nStephen,

\n

I was truly blown away by your essay re Ada Lovelace! You’ve got a lot
\nmore to give the world than I had imagined, and I, more than anyone else,
\nappreciate what you might still be capable of accomplishing.

\n

It’s too bad that some persons at MIT, for far too long, hung onto one
\ndimensional views focussed on what Macsyma might have been. My own
\nimpressions have always been different, I recognized your potential long
\nago and consequently invited you to one of my Mosqito Island conferences
\nsome 3.5 decades ago.

\n

In any case, much of what Mathematica makes possible is very important and
\nvaluable to me. As you know I was an early user and continue to be a
\nuser.

\n

Many of my interests have run along many paths opened up by activities you
\nhave instigated at Wolfram. Wolfram Alpha and its connections to Siri,
\nare examples.

\n

Your new book “An Elementary Introduction to the Wolfram Language” (I
\ndon’t yet have a hard copy) fits in with a project I had in mind for my
\ngrandchild Robert, who at age 6 already seems to be extraordinarily
\ntalented mathematically.

\n

To cut to the chase, I want to make a proposal: Although I’m too old to
\nbe a regular employee, I’d nevertheless like to have an association with
\nWolfram, where I might be able to contribute ideas, and solve problems
\n(I’m still quite good at that).

\n

I won’t need much from you other than your opening the door to my
\ninvolvement at Wolfram. What I have in mind would be an arrangement
\nwhere I could work for Wolfram, with some kind of arrangement other than
\nfull time employment.

\n

I’ve attached something I wrote recently.

\n

Ed\n

\n
\n

\n

Gosh! That was an unexpected development. Flattering, I suppose. But my main reaction was a kind of sadness. Yes, after all these years, Ed had finally read something I’d written. But somehow his response sounded like he was surrendering. This wasn’t the “I-want-to-do-everything-for-myself” Ed I had known all this time. This was an Ed who somehow felt he needed us to support him. And while our company has been able to absorb a great many “unusual” people—with terrific success—Ed seemed like he was pretty far outside our envelope.

\n

At the time, I didn’t look at the attachment Ed sent with his email. But opening it now adds to my sense of sadness. It was a 13-page document about a system Ed imagined that would help people with “various forms of cognitive disabilities”, including a section on “Dementia and Alzheimer’s”:

\n

Click to enlarge

\n

It wasn’t until 2017 that Ed explicitly mentioned to me that his short-term memory was failing—though in talking to him it had been increasingly obvious for several years. He said he’d joined a group of people who were writing their memoirs. I told him I’d look forward to seeing his, though I’m not sure he ever made much progress on them.

\n

Ed continued to send me ideas and proposals. There was a very Ed-like “global idea” about creating a system “GM” (presumably for “General Mathematician”) that would effectively “learn all of mathematics” by automatically reading math books, etc. (yes, definite overtones of what’s happening with LLM-meets-Wolfram-Language):

\n

Click to enlarge

\n

Later there were several pieces of mail about a new idea for factoring integers. In the first of them (from 2016), Ed told me that when the NeXT computer first came out (in 1989) he’d used Mathematica on it to simulate a reversible hardware multiplier. And being reminded of this by a historical piece I’d written, he said it had “started me thinking, again, about that problem and I had a new insight that appears to so greatly reduce the complexity of a reversible multiplier so as to possibly make it better at factoring large integers than current algorithms.” He wrote me about this several more times, suggesting various kinds of collaborations. Finally, in 2018 he told me how the method worked, saying it involved doing reversible arithmetic using balanced ternary. (Strangely enough, years earlier Ed had told me about Soviet computers that also used balanced ternary.)

\n

I think that was the last technical conversation I had with Ed. A couple of years later I sent him the book about our Physics Project with the inscription:

\n

Click to enlarge

\n

And I would see him at least once a year at the Boston-area physics get-together organized by Boston University. He would always tell me stories. Often the same stories, and sometimes stories about me. And indeed as I was writing this piece I actually found a video Ed made in November 2020 that has such a story, albeit by this point seriously muddled (and, no, I’ve basically never “run” a cellular automaton by hand in my life!):

\n
\n

I used to organize meetings in the Caribbean and I did this because I had an island in the Caribbean … I invited Wolfram to come down. Wolfram had done pioneering work in cellular automata. … He was a great guy, you know, and I wanted him to get on the bandwagon … He shows up at the meeting and he had done all his work by hand as had everyone else in cellular automata. He didn’t think of using a computer. [!] I had a display processor that I modified to be able to run a cellular automaton with the stuff that it used to put text up on the screen. And so I’m showing him a cellular automata running at 60 frames a second continuously like a movie. This was 10,000 times faster than doing it by hand which is what he’d always done. He never thought of using a computer to do cellular automata and he turns around and walks out and and he left the island and went back to someplace else. So [later] I went to his meeting at Los Alamos and I ran into him again and he was now doing computer work. And I said to him “How come in all your work you don’t have a reversible [rule]”, and he says to me “Oh, reversible ones are all trivial”. And I went up and this is the most telling thing about his intellect: he’s a very smart guy [and when I] showed him how he could change his rule slightly and make it reversible his eyes just about popped out of his head and he knew I was correct.

\n
\n
\n

I may have introduced him to this field but what he has done is he is far better than I at getting other people involved. I’ve never bothered and I don’t have the talent that he has for that. What he did was he came up with similar ideas and initially he didn’t give me the credit I thought I deserved. But it became apparent to me that he did this independently and he’s better at writing things and better at hiring bright people who can do things than I ever was.

\n
\n

And right after that, Ed ends the video with:

\n
\n

As I look back on my career I’ve had a fantastic life and I’m not unhappy about any aspect of it because, you know, I’ve accomplished everything I might have done and in spite of various handicaps—like not being a writer—I still have done a lot and the world, uh, understands me, I think, and appreciates what I’ve done.

\n
\n

When I saw Ed in 2022 he wasn’t able to say much. But, though it was a struggle, he was keen to make one point to me, that seemed to matter a lot to him: “You’ve managed to get people to follow you”, he said “I was never able to do that”. I saw Ed one last time this May. Joyce explained that Ed had “bumped his head”, and, in a very Ed-like way, she was avoiding a repeat by getting him to wear a bike helmet. She wanted someone to snap a picture of me and her with Ed:

\n

Click to enlarge

\n

Six weeks later, Ed died, at the age of 88.

\n

I went to see Joyce and Rick a few weeks later, among other things to check facts for this piece. I’d heard from Ed that his ancestors had provided wood for the imperial palace in St. Petersburg. But I’d also heard from someone else that Ed had said he was descended from Mongolian royalty. And as I was about to leave, I thought I might as well ask. “Oh yes”, they said. “And Ed’s father even wrote a historical novel about it”. And they showed me two books (both from the mid-1980s):

\n

Click to enlarge

\n

I’m not sure who Sarah, Queen of Mongolia was, but the book blurb claims that Ed’s father was her great-great-great-grandson—and goes on to speak of the “strong family inheritance of a mind that analyzes not only the injustice of human oppression but offers realistic and beneficial solutions”.

\n

Summing Up Ed

\n

“Can that really be true?” I often asked myself when hearing yet another of Ed’s implausible stories. And of course it didn’t help that stories he told—even to me—about me weren’t true. But the remarkable thing in writing this piece is that I’ve been able to verify that a lot of Ed’s stories—implausible though they may have sounded—were in fact true. Yes, they were often embellished, and parts that didn’t reflect so well on Ed were omitted. But together they defined a remarkable tapestry of a life.

\n

It was in many ways a very independent life. Ed had friends and family members to whom he stayed close throughout his life. But mostly it was “Ed for himself, against the world”. He didn’t want to learn anything from anyone else; he wanted to figure out everything for himself. He wanted to invent his own ideas; he wasn’t too interested in other people’s. In a rather Air-Force-pilot kind of way (“eject or not?”) he liked to be decisive—and he liked to be incisive too, always figuring out a clear, simple thing to say. Sometimes that came across as naive. And sometimes it was in fact naive. But mostly Ed didn’t seem to mind much; he would just go on to another idea.

\n

Ed was a great storyteller, and an engaging speaker. For some reason he developed the theory that he couldn’t write—but there’s ample evidence, going back even to his teenage years, that this wasn’t true. If there was a problem, it was with content, not writing. And the issue with the content was that it tended to just be too Ed-specific—too insular—and not connected enough for other people to be able to understand or appreciate it.

\n

I don’t know what Ed was like as a manager; I rather suspect he may have suffered from trying to be a bit too clever, with too many ideas and too much gamification. In the end, he felt he’d failed as a leader, and perhaps that was inevitable given how independent he always wanted to be. Despite his stints as an academic administrator and as a CEO, Ed was in the end fundamentally a lone warrior (and problem solver), not a general.

\n

And what about all those ideas? Most never developed very far. Some were pretty wild. But many had at least a kernel of visionary insight. The details of the universe as a cellular automaton didn’t make sense. But the idea that the universe is somehow computational is surely correct. And spread over the course of more than six decades, Ed spun out nuggets of ideas that would later appear—usually much more developed—in a remarkable range of areas.

\n

Ed projected a kind of personal serenity—yet he was in many ways deeply competitive. Most of the time, though, he was able to define the arena of his competitiveness so idiosyncratically that there really weren’t other contenders. And I think in the end Ed felt pretty good about all the things he’d managed to do in his life. It was fitting that he owned an actual island. Because somehow an island was a metaphor for Ed’s life: separate, independent and unique.

\n

Thanks

\n

I’ve had help with information for this piece from many people, including Joyce Fredkin, Rick Fredkin, Simson Garfinkel, Andrea Gerlach, Bill Gosper, Howard Gutowitz, Steven Levy, Norm Margolus, Margaret Minsky, Dave Moon, John Moussouris, Mark Nahabedian, Walter Parkes, David Reiss, Brian Silverman, George Sulak, Larry Sulak and Matthew Szudzik. (Tom Toffoli agreed to talk, but didn’t show up.) I thank the Department of Distinctive Collections at the MIT Library for access to the Fredkin papers archive there. Thanks also to Brad Klee and Nik Murzin for technical help.

\n

Appendix: Analyzing the Not-Quite-Circle

\n

Here’s what the SALT cellular automaton does for two sizes of initial “string”:

\n
\n
\n

\n

For an initial string of length n (with n > 2), the overall period is 54n – 43, and the envelope “woven” going through all configurations is:

\n
\n
\n

\n

The “circle” is obtained by averaging the positions of all cells present at a given time step. The “circle” is always planar, but its effective radius varies with direction (i.e. as the system steps through each cycle):

\n
\n
\n

\n

Ed and Dan Miller looked at the standard deviation of the effective radius as a function of n, computing it up to n = 20, and getting the following results:

\n

Click to enlarge

\n

It looked as if the standard deviation was just going to go smoothly to zero—so that for an infinite string one would get a perfect circle. But that turns out not to be true, as one can see by extending the computation to slightly larger values of n:

\n
\n
\n

\n

And actually there’s a minimum at n = 43, with standard deviation 0.0012 (and fractional size discrepancy 0.0048)—and it doesn’t look like even for n ∞ one will get a perfect circle.

\n

But how can one work out the n ∞ case? It’s actually a nice application for calculus.

\n

First, notice that the “basket” consists of a series of layers of a cube viewed from one of its corners, or in other words a sequence of shapes like this:

\n
\n
\n

\n

Here’s how these are formed as one sweeps through the cube:

\n
\n
\n

\n

One can think of the string in the cellular automaton as spanning these “layers”, and successively moving around all of them as the cellular automaton evolves. In the continuum limit, there’s effectively a parameter t that defines where on each “layer curve” one is at a particular time. Conveniently enough, the length of all the layer curves is the same (for a unit cube it is 3 ≈ 4.2). With successive layers parametrized by a variable s (running from 0 to 1) the corners of the layer curves (all normalized to have length 1) are given by:

\n
\n
\n

\n

Now we need to find the actual x, y positions of string elements (AKA infinitesimal cells) as a function of s and t. Since the edges of the layer polygons are always straight, in each of a series of “piecewise regions” in s and t (with breakpoints defined by the corners of the polygons), we get expressions for x and y that are linear in s and t:

\n
\n
\n

\n

One subtlety is that the string in essence turns as time progresses, so that it effectively samples a different t value for different layers s. To correct for this, we have to find for which t we get x = 0 for a given s. It’s convenient to put the center of all our layer curves at {0, 0}, and we can do this now by subtracting . Then the (first) value of t at which x = 0 is given simply by:

\n
\n
\n

\n

The parametric surface we now get as a function of t is (with discrete lines indicating particular values of s):

\n
\n
\n

\n

Now we can slice the parametric surface not in discrete s values but instead in discrete t values—thus getting what’s basically a sequence of effective strings at discrete times:

\n
\n
\n

\n

The centroids of the strings are indicated in green, and these are then points on our potential circle. Using what we did above, the radius of this “circle” as a function of t can then be found by integrating over s. The result is algebraically complicated, but has a closed form:

\n
\n
\n

\n

Integrating this over t we get the “average radius”, normalized to “circumference 1” from the fact that t varies from 0 to 1 going “around the circle”:

\n
\n
\n

\n

(This means that the “effective π” for this circle is about 3.437.)

\n

Now we can plot the “wiggle” of the radius as a function of “angle” (i.e. t):

\n
\n
\n

\n

It looks a bit like a sine curve, but it’s not one. And, for example, it isn’t even symmetrical. Its maxima (which occur at odd multiples of 30°) are

\n
\n
\n

\n

while its minima (at even multiples of 30°) are

\n
\n
\n

\n

and dividing by the average radius these are about 1.00734 and 0.992175.

\n

The ratio of maximum to minimum (effectively “wiggle amplitude”) is:

\n
\n
\n

\n

Meanwhile, the standard deviation can be obtained as an integral over t, and the final result is

\n
\n
\n

\n

which is about 2.4 times larger than what we get at n = 100. We can see the approach to the asymptotic value by computing integrals over t for progressively larger numbers of discrete values of s (which, we should emphasize, is similar to values of n, but not quite the same, particularly for small n):

\n
\n
\n

\n", - "category": "Historical Perspectives", - "link": "https://writings.stephenwolfram.com/2023/08/remembering-the-improbable-life-of-ed-fredkin-1934-2023-and-his-world-of-ideas-and-stories/", - "creator": "Mark Long", - "pubDate": "Tue, 22 Aug 2023 20:03:54 +0000", - "enclosure": "https://content.wolfram.com/sites/43/2023/08/PERQ-1.mov", - "enclosureType": "video/quicktime", - "image": "https://content.wolfram.com/sites/43/2023/08/PERQ-1.mov", - "id": "", - "language": "en", - "folder": "", - "feed": "wolfram", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "427cfd5d97716dee9a34369b72a7b686", - "highlights": [] - }, { "title": "Generative AI Space and the Mental Imagery of Alien Minds", "description": "\"\"Click on any image in this post to copy the code that produced it and generate the output on your own computer in a Wolfram notebook. AIs and Alien Minds How do alien minds perceive the world? It’s an old and oft-debated question in philosophy. And it now turns out to also be a question […]", @@ -153,28 +329,6 @@ "hash": "f51ac7a3875bd5279a95ee7f047858c0", "highlights": [] }, - { - "title": "LLM Tech and a Lot More: Version 13.3 of Wolfram Language and Mathematica", - "description": "\"\"The Leading Edge of 2023 Technology … and Beyond Today we’re launching Version 13.3 of Wolfram Language and Mathematica—both available immediately on desktop and cloud. It’s only been 196 days since we released Version 13.2, but there’s a lot that’s new, not least a whole subsystem around LLMs. Last Friday (June 23) we celebrated 35 […]", - "content": "\"\"

\"LLM

\n

The Leading Edge of 2023 Technology … and Beyond

\n

Today we’re launching Version 13.3 of Wolfram Language and Mathematica—both available immediately on desktop and cloud. It’s only been 196 days since we released Version 13.2, but there’s a lot that’s new, not least a whole subsystem around LLMs.

\n

Last Friday (June 23) we celebrated 35 years since Version 1.0 of Mathematica (and what’s now Wolfram Language). And to me it’s incredible how far we’ve come in these 35 years—yet how consistent we’ve been in our mission and goals, and how well we’ve been able to just keep building on the foundations we created all those years ago.

\n

And when it comes to what’s now Wolfram Language, there’s a wonderful timelessness to it. We’ve worked very hard to make its design as clean and coherent as possible—and to make it a timeless way to elegantly represent computation and everything that can be described through it.

\n

Last Friday I fired up Version 1 on an old Mac SE/30 computer (with 2.5 megabytes of memory), and it was a thrill see functions like Plot and NestList work just as they would today—albeit a lot slower. And it was wonderful to be able to take (on a floppy disk) the notebook I created with Version 1 and have it immediately come to life on a modern computer.

\n

But even as we’ve maintained compatibility over all these years, the scope of our system has grown out of all recognition—with everything in Version 1 now occupying but a small sliver of the whole range of functionality of the modern Wolfram Language:

\n

Versions 1.0 and 13.3 of Wolfram Language compared

\n

So much about Mathematica was ahead of its time in 1988, and perhaps even more about Mathematica and the Wolfram Language is ahead of its time today, 35 years later. From the whole idea of symbolic programming, to the concept of notebooks, the universal applicability of symbolic expressions, the notion of computational knowledge, and concepts like instant APIs and so much more, we’ve been energetically continuing to push the frontier over all these years.

\n

Our long-term objective has been to build a full-scale computational language that can represent everything computationally, in a way that’s effective for both computers and humans. And now—in 2023—there’s a new significance to this. Because with the advent of LLMs our language has become a unique bridge between humans, AIs and computation.

\n

The attributes that make Wolfram Language easy for humans to write, yet rich in expressive power, also make it ideal for LLMs to write. And—unlike traditional programming languages— Wolfram Language is intended not only for humans to write, but also to read and think in. So it becomes the medium through which humans can confirm or correct what LLMs do, to deliver computational language code that can be confidently assembled into a larger system.

\n

The Wolfram Language wasn’t originally designed with the recent success of LLMs in mind. But I think it’s a tribute to the strength of its design that it now fits so well with LLMs—with so much synergy. The Wolfram Language is important to LLMs—in providing a way to access computation and computational knowledge from within the LLM. But LLMs are also important to Wolfram Language—in providing a rich linguistic interface to the language.

\n

We’ve always built—and deployed—Wolfram Language so it can be accessible to as many people as possible. But the advent of LLMs—and our new Chat Notebooks—opens up Wolfram Language to vastly more people. Wolfram|Alpha lets anyone use natural language—without prior knowledge—to get questions answered. Now with LLMs it’s possible to use natural language to start defining potential elaborate computations.

\n

As soon as you’ve formulated your thoughts in computational terms, you can immediately “explain them to an LLM”, and have it produce precise Wolfram Language code. Often when you look at that code you’ll realize you didn’t explain yourself quite right, and either the LLM or you can tighten up your code. But anyone—without any prior knowledge—can now get started producing serious Wolfram Language code. And that’s very important in seeing Wolfram Language realize its potential to drive “computational X” for the widest possible range of fields X.

\n

But while LLMs are “the biggest single story” in Version 13.3, there’s a lot else in Version 13.3 too—delivering the latest from our long-term research and development pipeline. So, yes, in Version 13.3 there’s new functionality not only in LLMs but also in many “classic” areas—as well as in new areas having nothing to do with LLMs.

\n

Across the 35 years since Version 1 we’ve been able to continue accelerating our research and development process, year by year building on the functionality and automation we’ve created. And we’ve also continually honed our actual process of research and development—for the past 5 years sharing our design meetings on open livestreams.

\n

Version 13.3 is—from its name—an “incremental release”. But—particularly with its new LLM functionality—it continues our tradition of delivering a long list of important advances and updates, even in incremental releases.

\n

LLM Tech Comes to Wolfram Language

\n

LLMs make possible many important new things in the Wolfram Language. And since I’ve been discussing these in a series of recent posts, I’ll just give only a fairly short summary here. More details are in the other posts, both ones that have appeared, and ones that will appear soon.

\n
\n

To ensure you have the latest Chat Notebook functionality installed and available, use:

\n
PacletInstall[\"Wolfram/Chatbook\" \"\" \"1.0.0\", UpdatePacletSites \"\" True].
\n

\n

\n

The most immediately visible LLM tech in Version 13.3 is Chat Notebooks. Go to File > New > Chat-Enabled Notebook and you’ll get a Chat Notebook that supports “chat cells” that let you “talk to” an LLM. Press ' (quote) to get a new chat cell:

\n

Plot two sine curves

\n

You might not like some details of what got done (do you really want those boldface labels?) but I consider this pretty impressive. And it’s a great example of using an LLM as a “linguistic interface” with common sense, that can generate precise computational language, which can then be run to get a result.

\n

This is all very new technology, so we don’t yet know what patterns of usage will work best. But I think it’s going to go like this. First, you have to think computationally about whatever you’re trying to do. Then you tell it to the LLM, and it’ll produce Wolfram Language code that represents what it thinks you want to do. You might just run that code (or the Chat Notebook will do it for you), and see if it produces what you want. Or you might read the code, and see if it’s what you want. But either way, you’ll be using computational language—Wolfram Language—as the medium to formalize and express what you’re trying to do.

\n

When you’re doing something you’re familiar with, it’ll almost always be faster and better to think directly in Wolfram Language, and just enter the computational language code you want. But if you’re exploring something new, or just getting started on something, the LLM is likely to be a really valuable way to “get you to first code”, and to start the process of crispening up what you want in computational terms.

\n

If the LLM doesn’t do exactly what you want, then you can tell it what it did wrong, and it’ll try to correct it—though sometimes you can end up doing a lot of explaining and having quite a long dialog (and, yes, it’s often vastly easier just to type Wolfram Language code yourself):

\n

Draw red and green semicircles

\n

Redraw red and green semicircles

\n

Sometimes the LLM will notice for itself that something went wrong, and try changing its code, and rerunning it:

\n

Make table of primes

\n

And even if it didn’t write a piece of code itself, it’s pretty good at piping up to explain what’s going on when an error is generated:

\n

Error report

\n

And actually it’s got a big advantage here, because “under the hood” it can look at lots of details (like stack trace, error documentation, etc.) that humans usually don’t bother with.

\n

To support all this interaction with LLMs, there’s all kinds of new structure in the Wolfram Language. In Chat Notebooks there are chat cells, and there are chatblocks (indicated by gray bars, and generating with ~) that delimit the range of chat cells that will be fed to the LLM when you press shiftenter on a new chat cell. And, by the way, the whole mechanism of cells, cell groups, etc. that we invented 36 years ago now turns out to be extremely powerful as a foundation for Chat Notebooks.

\n

One can think of the LLM as a kind of “alternate evaluator” in the notebook. And there are various ways to set up and control it. The most immediate is in the menu associated with every chat cell and every chatblock (and also available in the notebook toolbar):

\n

Chat cell and chatblock menu

\n

The first items here let you define the “persona” for the LLM. Is it going to act as a Code Assistant that writes code and comments on it? Or is it just going to be a Code Writer, that writes code without being wordy about it? Then there are some “fun” personas—like Wolfie and Birdnardo—that respond “with an attitude”. The Advanced Settings let you do things like set the underlying LLM model you want to use—and also what tools (like Wolfram Language code evaluation) you want to connect to it.

\n

Ultimately personas are mostly just special prompts for the LLM (together, sometimes with tools, etc.) And one of the new things we’ve recently launched to support LLMs is the Wolfram Prompt Repository:

\n

Wolfram Prompt Repository

\n

The Prompt Repository contains several kinds of prompts. The first are personas, which are used to “style” and otherwise inform chat interactions. But then there are two other types of prompts: function prompts, and modifier prompts.

\n

Function prompts are for getting the LLM to do something specific, like summarize a piece of text, or suggest a joke (it’s not terribly good at that). Modifier prompts are for determining how the LLM should modify its output, for example translating into a different human language, or keeping it to a certain length.

\n

You can pull in function prompts from the repository into a Chat Notebook by using !, and modifier prompts using #. There’s also a ^ notation for saying that you want the “input” to the function prompt to be the cell above:

\n

ScientificJargonize

\n

This is how you can access LLM functionality from within a Chat Notebook. But there’s also a whole symbolic programmatic way to access LLMs that we’ve added to the Wolfram Language. Central to this is LLMFunction, which acts very much like a Wolfram Language pure function, except that it gets “evaluated” not by the Wolfram Language kernel, but by an LLM:

\n
\n
\n

\n

You can access a function prompt from the Prompt Repository using LLMResourceFunction:

\n
\n
\n

\n

There’s also a symbolic representation for chats. Here’s an empty chat:

\n
\n
\n

\n

And here now we “say something”, and the LLM responds:

\n
\n
\n

\n

There’s lots of depth to both Chat Notebooks and LLM functionsas I’ve described elsewhere. There’s LLMExampleFunction for getting an LLM to follow examples you give. There’s LLMTool for giving an LLM a way to call functions in the Wolfram Language as “tools”. And there’s LLMSynthesize which provides raw access to the LLM as its text completion and other capabilities. (And controlling all of this is $LLMEvaluator which defines the default LLM configuration to use, as specified by an LLMConfiguration object.)

\n

I consider it rather impressive that we’ve been able to get to the level of support for LLMs that we have in Version 13.3 in less than six months (along with building things like the Wolfram Plugin for ChatGPT, and the Wolfram ChatGPT Plugin Kit). But there’s going to be more to come, with LLM functionality increasingly integrated into Wolfram Language and Notebooks, and, yes, Wolfram Language functionality increasingly integrated as a tool into LLMs.

\n

Line, Surface and Contour Integration

\n

“Find the integral of the function ___” is a typical core thing one wants to do in calculus. And in Mathematica and the Wolfram Language that’s achieved with Integrate. But particularly in applications of calculus, it’s common to want to ask slightly more elaborate questions, like “What’s the integral of ___ over the region ___?”, or “What’s the integral of ___ along the line ___?”

\n

Almost a decade ago (in Version 10) we introduced a way to specify integration over regions—just by giving the region “geometrically” as the domain of the integral:

\n
\n
\n

\n

It had always been possible to write out such an integral in “standard Integrate” form

\n
\n
\n

\n

but the region specification is much more convenient—as well as being much more efficient to process.

\n

Finding an integral along a line is also something that can ultimately be done in “standard Integrate” form. And if you have an explicit (parametric) formula for the line this is typically fairly straightforward. But if the line is specified in a geometrical way then there’s real work to do to even set up the problem in “standard Integrate” form. So in Version 13.3 we’re introducing the function LineIntegrate to automate this.

\n

LineIntegrate can deal with integrating both scalar and vector functions over lines. Here’s an example where the line is just a straight line:

\n
\n
\n

\n

But LineIntegrate also works for lines that aren’t straight, like this parametrically specified one:

\n
\n
\n

\n

To compute the integral also requires finding the tangent vector at every point on the curve—but LineIntegrate automatically does that:

\n
\n
\n

\n

Line integrals are common in applications of calculus to physics. But perhaps even more common are surface integrals, representing for example total flux through a surface. And in Version 13.3 we’re introducing SurfaceIntegrate. Here’s a fairly straightforward integral of flux that goes radially outward through a sphere:

\n
\n
\n

\n

Here’s a more complicated case:

\n
\n
\n

\n
\n
\n

\n

And here’s what the actual vector field looks like on the surface of the dodecahedron:

\n
\n
\n

\n

LineIntegrate and SurfaceIntegrate deal with integrating scalar and vector functions in Euclidean space. But in Version 13.3 we’re also handling another kind of integration: contour integration in the complex plane.

\n

We can start with a classic contour integral—illustrating Cauchy’s theorem:

\n
\n
\n

\n

Here’s a slightly more elaborate complex function

\n
\n
\n

\n

and here’s its integral around a circular contour:

\n
\n
\n

\n

Needless to say, this still gives the same result, since the new contour still encloses the same poles:

\n
\n
\n

\n

More impressively, here’s the result for an arbitrary radius of contour:

\n
\n
\n

\n

And here’s a plot of the (imaginary part of the) result:

\n
\n
\n

\n

Contours can be of any shape:

\n
\n
\n

\n

The result for the contour integral depends on whether the pole is inside the “Pac-Man”:

\n
\n
\n

\n

Another Milestone for Special Functions

\n

One can think of special functions as a way of “modularizing” mathematical results. It’s often a challenge to know that something can be expressed in terms of special functions. But once one’s done this, one can immediately apply the independent knowledge that exists about the special functions.

\n

Even in Version 1.0 we already supported many special functions. And over the years we’ve added support for many more—to the point where we now cover everything that might reasonably be considered a “classical” special function. But in recent years we’ve also been tackling more general special functions. They’re mathematically more complex, but each one we successfully cover makes a new collection of problems accessible to exact solution and reliable numerical and symbolic computation.

\n

Most of the “classic” special functions—like Bessel functions, Legendre functions, elliptic integrals, etc.—are in the end univariate hypergeometric functions. But one important frontier in “general special functions” are those corresponding to bivariate hypergeometric functions. And already in Version 4.0 (1999) we introduced one example of such as a function: AppellF1. And, yes, it’s taken a while, but now in Version 13.3 we’ve finally finished doing the math and creating the algorithms to introduce AppellF2, AppellF3 and AppellF4.

\n

On the face of it, it’s just another function—with lots of arguments—whose value we can find to any precision:

\n
\n
\n

\n

Occasionally it has a closed form:

\n
\n
\n

\n

But despite its mathematical sophistication, plots of it tend to look fairly uninspiring:

\n
\n
\n

\n

Series expansions begin to show a little more:

\n
\n
\n

\n

And ultimately this is a function that solves a pair of PDEs that can be seen as a generalization to two variables of the univariate hypergeometric ODE. So what other generalizations are possible? Paul Appell spent many years around the turn of the twentieth century looking—and came up with just four, which as of Version 13.3 now all appear in the Wolfram Language, as AppellF1, AppellF2, AppellF3 and AppellF4.

\n

To make special functions useful in the Wolfram Language they need to be “knitted” into other capabilities of the language—from numerical evaluation to series expansion, calculus, equation solving, and integral transforms. And in Version 13.3 we’ve passed another special function milestone, around integral transforms.

\n

When I started using special functions in the 1970s the main source of information about them tended to be a small number of handbooks that had been assembled through decades of work. When we began to build Mathematica and what’s now the Wolfram Language, one of our goals was to subsume the information in such handbooks. And over the years that’s exactly what we’ve achieved—for integrals, sums, differential equations, etc. But one of the holdouts has been integral transforms for special functions. And, yes, we’ve covered a great many of these. But there are exotic examples that can often only “coincidentally” be done in closed form—and that in the past have only been found in books of tables.

\n

But now in Version 13.3 we can do cases like:

\n
\n
\n

\n

And in fact we believe that in Version 13.3 we’ve reached the edge of what’s ever been figured out about Laplace transforms for special functions. The most extensive handbook—finally published in 1973—runs to about 400 pages. A few years ago we could do about 55% of the forward Laplace transforms in the book, and 31% of the inverse ones. But now in Version 13.3 we can do 100% of the ones that we can verify as correct (and, yes, there are definitely some mistakes in the book). It’s the end of a long journey, and a satisfying achievement in the quest to make as much mathematical knowledge as possible automatically computable.

\n

Finite Fields!

\n

Ever since Version 1.0 we’ve been able to do things like factoring polynomials modulo primes. And many packages have been developed that handle specific aspects of finite fields. But in Version 13.3 we now have complete, consistent coverage of all finite fields—and operations with them.

\n

Here’s our symbolic representation of the field of integers modulo 5 (AKA ℤ5 or GF(5)):

\n
\n
\n

\n

And here are symbolic representations of the elements of this field—which in this particular case can be rather trivially identified with ordinary integers mod 5:

\n
\n
\n

\n

Arithmetic immediately works on these symbolic elements:

\n
\n
\n

\n

But where things get a bit trickier is when we’re dealing with prime-power fields. We represent the field GF(23) symbolically as:

\n
\n
\n

\n

But now the elements of this field no longer have a direct correspondence with ordinary integers. We can still assign “indices” to them, though (with elements 0 and 1 being the additive and multiplicative identities). So here’s an example of an operation in this field:

\n
\n
\n

\n

But what actually is this result? Well, it’s an element of the finite field—with index 4—represented internally in the form:

\n
\n
\n

\n

The little box opens out to show the symbolic FiniteField construct:

\n

FormField construct

\n

And we can extract properties of the element, like its index:

\n
\n
\n

\n

So here, for example, are the complete addition and multiplication tables for this field:

\n
\n
\n

\n

For the field GF(72) these look a little more complicated:

\n
\n
\n

\n

There are various number-theoretic-like functions that one can compute for elements of finite fields. Here’s an element of GF(510):

\n
\n
\n

\n

The multiplicative order of this (i.e. power of it that gives 1) is quite large:

\n
\n
\n

\n

Here’s its minimal polynomial:

\n
\n
\n

\n

But where finite fields really begin to come into their own is when one looks at polynomials over them. Here, for example, is factoring over GF(32):

\n
\n
\n

\n

Expanding this gives a finite-field-style representation of the original polynomial:

\n
\n
\n

\n

Here’s the result of expanding a power of a polynomial over GF(32):

\n
\n
\n

\n

More, Stronger Computational Geometry

\n

We originally introduced computational geometry in a serious way into the Wolfram Language a decade ago. And ever since then we’ve been building more and more capabilities in computational geometry.

\n

We’ve had RegionDistance for computing the distance from a point to a region for a decade. In Version 13.3 we’ve now extended RegionDistance so it can also compute the shortest distance between two regions:

\n
\n
\n

\n

We’ve also introduced RegionFarthestDistance which computes the furthest distance between any two points in two given regions:

\n
\n
\n

\n

Another new function in Version 13.3 is RegionHausdorffDistance which computes the largest of all shortest distances between points in two regions; in this case it gives a closed form:

\n
\n
\n

\n
\n
\n

\n

Another pair of new functions in Version 13.3 are InscribedBall and CircumscribedBall—which give (n-dimensional) spheres that, respectively, just fit inside and outside regions you give:

\n
\n
\n

\n

In the past several versions, we’ve added functionality that combines geo computation with computational geometry. Version 13.3 has the beginning of another initiative—introducing abstract spherical geometry:

\n
\n
\n

\n

This works for spheres in any number of dimensions:

\n
\n
\n

\n

In addition to adding functionality, Version 13.3 also brings significant speed enhancements (often 10x or more) to some core operations in 2D computational geometry—making things like computing this fast even though it involves complicated regions:

\n
\n
\n

\n
\n
\n

\n

Visualizations Begin to Come Alive

\n

A great long-term strength of the Wolfram Language has been its ability to produce insightful visualizations in a highly automated way. In Version 13.3 we’re taking this further, by adding automatic “live highlighting”. Here’s a simple example, just using the function Plot. Instead of just producing static curves, Plot now automatically generates a visualization with interactive highlighting:

\n
\n
\n

\n

The same thing works for ListPlot:

\n
\n
\n

\n

The highlighting can, for example, show dates too:

\n
\n
\n

\n

There are many choices for how the highlighting should be done. The simplest thing is just to specify a style in which to highlight whole curves:

\n
\n
\n

\n

But there are many other built-in highlighting specifications. Here, for example, is \"XSlice\":

\n
\n
\n

\n

In the end, though, highlighting is built up from a whole collection of components—like \"NearestPoint\", \"Crosshairs\", \"XDropline\", etc.—that you can assemble and style for yourself:

\n
\n
\n

\n

The option PlotHighlighting defines global highlighting in a plot. But by using the Highlighted “wrapper” you can specify that only a particular element in the plot should be highlighted:

\n
\n
\n

\n

For interactive and exploratory purposes, the kind of automatic highlighting we’ve just been showing is very convenient. But if you’re making a static presentation, you’ll need to “burn in” particular pieces of highlighting—which you can do with Placed:

\n
\n
\n

\n

\n

In indicating elements in a graphic there are different effects one can use. In Version 13.1 we introduced DropShadowing[]. In Version 13.3 we’re introducing Haloing:

\n
\n
\n

\n

Haloing can also be combined with interactive highlighting:

\n
\n
\n

\n

By the way, there are lots of nice effects you can get with Haloing in graphics. Here’s a geo example—including some parameters for the “orientation” and “thickness” of the haloing:

\n
\n
\n

\n

Publishing to Augmented + Virtual Reality

\n

Throughout the history of the Wolfram Language 3D visualization has been an important capability. And we’re always looking for ways to share and communicate 3D geometry. Already back in the early 1990s we had experimental implementations of VR. But at the time there wasn’t anything like the kind of infrastructure for VR that would be needed to make this broadly useful. In the mid-2010s we then introduced VR functionality based on Unity—that provides powerful capabilities within the Unity ecosystem, but is not accessible outside.

\n

Today, however, it seems there are finally broad standards emerging for AR and VR. And so in Version 13.3 we’re able to begin delivering what we hope will provide widely accessible AR and VR deployment from the Wolfram Language.

\n

At a underlying level what we’re doing is to support the USD and GLTF geometry representation formats. But we’re also building a higher-level interface that allows anyone to “publish” 3D geometry for AR and VR.

\n

Given a piece of geometry (which for now can’t involve too many polygons), all you do is apply ARPublish:

\n
\n
\n

\n

The result is a cloud object that has a certain underlying UUID, but is displayed in a notebook as a QR code. Now all you do is look at this QR code with your phone (or tablet, etc.) camera, and press the URL it extracts.

\n

The result will be that the geometry you published with ARPublish now appears in AR on your phone:

\n

Augmented reality triptych

\n

Move your phone and you’ll see that your geometry has been realistically placed into the scene. You can also go to a VR “object” mode in which you can manipulate the geometry on your phone.

\n

“Under the hood” there are some slightly elaborate things going on—particularly in providing the appropriate data to different kinds of phones. But the result is a first step in the process of easily being able to get AR and VR output from the Wolfram Language—deployed in whatever devices support AR and VR.

\n

Getting the Details Right: The Continuing Story

\n

In every version of Wolfram Language we add all sorts of fundamentally new capabilities. But we also work to fill in details of existing capabilities, continually pushing to make them as general, consistent and accurate as possible. In Version 13.3 there are many details that have been “made right”, in many different areas.

\n

Here’s one example: the comparison (and sorting) of Around objects. Here are 10 random “numbers with uncertainty”:

\n
\n
\n

\n

These sort by their central value:

\n
\n
\n

\n

But if we look at these, many of their uncertainty regions overlap:

\n
\n
\n

\n

So when should we consider a particular number-with-uncertainty “greater than” another? In Version 13.3 we carefully take into account uncertainty when making comparisons. So, for example, this gives True:

\n
\n
\n

\n

But when there’s too big an uncertainty in the values, we no longer consider the ordering “certain enough”:

\n
\n
\n

\n

Here’s another example of consistency: the applicability of Duration. We introduced Duration to apply to explicit time constructs, things like Audio objects, etc. But in Version 13.3 it also applies to entities for which there’s a reasonable way to define a “duration”:

\n
\n
\n

\n
\n
\n

\n

Dates (and times) are complicated things—and we’ve put a lot of effort into handling them correctly and consistently in the Wolfram Language. One concept that we introduced a few years ago is date granularity: the (subtle) analog of numerical precision for dates. But at first only some date functions supported granularity; now in Version 13.3 all date functions include a DateGranularity option—so that granularity can consistently be tracked through all date-related operations:

\n
\n
\n

\n

Also in dates, something that’s been added, particularly for astronomy, is the ability to deal with “years” specified by real numbers:

\n
\n
\n

\n

And one consequence of this is that it becomes easier to make a plot of something like astronomical distance as a function of time:

\n
\n
\n

\n

Also in astronomy, we’ve been steadily extending our capabilities to consistently fill in computations for more situations. In Version 13.3, for example, we can now compute sunrise, etc. not just from points on Earth, but from points anywhere in the solar system:

\n
\n
\n

\n

By the way, we’ve also made the computation of sunrise more precise. So now if you ask for the position of the Sun right at sunrise you’ll get a result like this:

\n
\n
\n

\n

How come the altitude of the Sun is not zero at sunrise? That’s because the disk of the Sun is of nonzero size, and “sunrise” is defined to be when any part of the Sun pokes over the horizon.

\n

Even Easier to Type: Affordances for Wolfram Language Input

\n

Back in 1988 when what’s now Wolfram Language first existed, the only way to type it was like ordinary text. But gradually we’ve introduced more and more “affordances” to make it easier and faster to type correct Wolfram Language input. In 1996, with Version 3, we introduced automatic spacing (and spanning) for operators, as well as brackets that flashed when they matched—and things like -> being automatically replaced by . Then in 2007, with Version 6, we introduced—with some trepidation at first—syntax coloring. We’d had a way to request autocompletion of a symbol name all the way back to the beginning, but it’d never been good or efficient enough for us to make it happen all the time as you type. But in 2012, for Version 9, we created a much more elaborate autocomplete system—that was useful and efficient enough that we turned it on for all notebook input. A key feature of this autocomplete system was its context-sensitive knowledge of the Wolfram Language, and how and where different symbols and strings typically appear. Over the past decade, we’ve gradually refined this system to the point where I, for one, deeply rely on it.

\n

In recent versions, we’ve made other “typability” improvements. For example, in Version 12.3, we generalized the -> to transformation to a whole collection of “auto operator renderings”. Then in Version 13.0 we introduced “automatching” of brackets, in which, for example, if you enter [ at the end of what you’re typing, you’ll automatically get a matching ].

\n

Making “typing affordances” work smoothly is a painstaking and tricky business. But in every recent version we’ve steadily been adding more features that—in very “natural” ways—make it easier and faster to type Wolfram Language input.

\n

In Version 13.3 one major change is an enhancement to autocompletion. Instead of just showing pure completions in which characters are appended to what’s already been typed, the autocompletion menu now includes “fuzzy completions” that fill in intermediate characters, change capitalization, etc.

\n

So, for example, if you type “lp” you now get ListPlot as a completion (the little underlines indicate where the letters you actually type appear):

\n

ListPlot autocompletion menu

\n

From a design point of view one thing that’s important about this is that it further removes the “short name” premium—and weights things even further on the side of wanting names that explain themselves when they’re read, rather than that are easy to type in an unassisted way. With the Wolfram Function Repository it’s become increasingly common to want to type ResourceFunction. And we’d been thinking that perhaps we should have a special, short notation for that. But with the new autocompletion, one can operationally just press three keys—rfenterto get to ResourceFunction:

\n

ResourceFunction autocompletion menu

\n

When one designs something and gets the design right, people usually don’t notice; things just “work as they expect”. But when there’s a design error, that’s when people notice—and are frustrated by—the design. But then there’s another case: a situation where, for example, there are two things that could happen, and sometimes one wants one, and sometimes the other. In doing the design, one has to pick a particular branch. And when this happens to be the branch people want, they don’t notice, and they’re happy. But if they want the other branch, it can be confusing and frustrating.

\n

In the design of the Wolfram Language one of the things that has to be chosen is the precedence for every operator: a + b × c means a + (b × c) because × has higher precedence than +. Often the correct order of precedences is fairly obvious. But sometimes it’s simply impossible to make everyone happy all the time. And so it is with and &. It’s very convenient to be able to add & at the end of something you type, and make it into a pure function. But that means if you type a b & it’ll turn the whole thing into a function: a b &. When functions have options, however, one often wants things like name function. The natural tendency is to type this as name body &. But this will mean (name body) & rather than name (body &). And, yes, when you try to run the function, it’ll notice it doesn’t have correct arguments and options specified. But you’d like to know that what you’re typing isn’t right as soon as you type it. And now in Version 13.3 we have a mechanism for that. As soon as you enter & to “end a function”, you’ll see the extent of the function flash:

\n
\n
\n

\n

And, yup, you can see that’s wrong. Which gives you the chance to fix it as:

\n
\n
\n

\n

There’s another notebook-related update in Version 13.3 that isn’t directly related to typing, but will help in the construction of easy-to-navigate user interfaces. We’ve had ActionMenu since 2007—but it’s only been able to create one-level menus. In Version 13.3 it’s been extended to arbitrary hierarchical menus:

\n
\n
\n

\n

Again not directly related to typing, but now relevant to managing and editing code, there’s an update in Version 13.3 to package editing in the notebook interface. Bring up a .wl file and it’ll appear as a notebook. But its default toolbar is different from the usual notebook toolbar (and is newly designed in Version 13.3):

\n

New default toolbar

\n

Go To now gives you a way to immediately go to the definition of any function whose name matches what you type, as well as any section, etc.:

\n

Go To results

\n

The numbers on the right here are code line numbers; you can also go directly to a specific line number by typing :nnn.

\n

The Elegant Code Project

\n

One of the central goals—and achievements—of the Wolfram Language is to create a computational language that can be used not only as a way to tell computers what to do, but also as a way to communicate computational ideas for human consumption. In other words, Wolfram Language is intended not only to be written by humans (for consumption by computers), but also to be read by humans.

\n

Crucial to this is the broad consistency of the Wolfram Language, as well as its use of carefully chosen natural-language-based names for functions, etc. But what can we do to make Wolfram Language as easy and pleasant as possible to read? In the past we’ve balanced our optimization of the appearance of Wolfram Language between reading and writing. But in Version 13.3 we’ve got the beginnings of our Elegant Code project—to find ways to render Wolfram Language to be specifically optimized for reading.

\n

As an example, here’s a small piece of code (from my An Elementary Introduction to the Wolfram Language), shown in the default way it’s rendered in notebooks:

\n
\n
\n

\n

But in Version 13.3 you can use Format > Screen Environment > Elegant to set a notebook to use the current version of “elegant code”:

\n
\n
\n

\n

(And, yes, this is what we’re actually using for code in this post, as well as some other recent ones.) So what’s the difference? First of all, we’re using a proportionally spaced font that makes the names (here of symbols) easy to “read like words”. And second, we’re adding space between these “words”, and graying back “structural elements” like and . When you write a piece of code, things like these structural elements need to stand out enough for you to “see they’re right”. But when you’re reading code, you don’t need to pay as much attention to them. Because the Wolfram Language is so based on “word-like” names, you can typically “understand what it’s saying” just by “reading these words”.

\n

Of course, making code “elegant” is not just a question of formatting; it’s also a question of what’s actually in the code. And, yes, as with writing text, it takes effort to craft code that “expresses itself elegantly”. But the good news is that the Wolfram Language—through its uniquely broad and high-level character—makes it surprisingly straightforward to create code that expresses itself extremely elegantly.

\n

But the point now is to make that code not only elegant in content, but also elegant in formatting. In technical documents it’s common to see math that’s at least formatted elegantly. But when one sees code, more often than not, it looks like something only a machine could appreciate. Of course, if the code is in a traditional programming language, it’ll usually be long and not really intended for human consumption. But what if it’s elegantly crafted Wolfram Language code? Well then we’d like it to look as attractive as text and math. And that’s the point of our Elegant Code project.

\n

There are many tradeoffs, and many issues to be navigated. But in Version 13.3 we’re definitely making progress. Here’s an example that doesn’t have so many “words”, but where the elegant code formatting still makes the “blocking” of the code more obvious:

\n
\n
\n

\n

Here’s a slightly longer piece of code, where again the elegant code formatting helps pull out “readable” words, as well as making the overall structure of the code more obvious:

\n
\n
\n

\n

Particularly in recent years, we’ve added many mechanisms to let one write Wolfram Language that’s easier to read. There are the auto operator renderings, like m[[i]] turning into . And then there are things like the notation for pure functions. One particularly important element is Iconize, which lets you show any piece of Wolfram Language input in a visually “iconized” form—which nevertheless evaluates just like the corresponding underlying expression:

\n
\n
\n

\n

Iconize lets you effectively hide details (like large amounts of data, option settings, etc.) But sometimes you want to highlight things. You can do it with Style, Framed, Highlighted—and in Version 13.3, Squiggled:

\n
\n
\n

\n

By default, all these constructs persist through evaluation. But in Version 13.3 all of them now have the option StripOnInput, and with this set, you have something that shows up highlighted in an input cell, but where the highlighting is stripped when the expression is actually fed to the Wolfram Language kernel.

\n

These show their highlighting in the notebook:

\n
\n
\n

\n

But when used in input, the highlighting is stripped:

\n
\n
\n

\n

See More Also…

\n

A great strength of the Wolfram Language (yes, perhaps initiated by my original 1988 Mathematica Book) is its detailed documentation—which has now proved valuable not only for human users but also for AIs. Plotting the number of words that appear in the documentation in successive versions, we see a strong progressive increase:

\n

Words graph

\n

But with all that documentation, and all those new things to be documented, the problem of appropriately crosslinking everything has increased. Even back in Version 1.0, when the documentation was a physical book, there were “See Also’s” between functions:

\n

Versioni 1.0 documentation

\n

And by now there’s a complicated network of such See Also’s:

\n
\n
\n

\n

But that’s just the network of how functions point to functions. What about other kinds of constructs? Like formats, characters or entity types—or, for that matter, entries in the Wolfram Function Repository, Wolfram Data Repository, etc. Well, in Version 13.3 we’ve done a first iteration of crosslinking all these kinds of things.

\n

So here now are the “See Also” areas for Graph and Molecule:

\n

Graph see also options

\n

Molecule see also options

\n

Not only are there functions here; there are also other kinds of things that a person (or AI) looking at these pages might find relevant.

\n

It’s great to be able to follow links, but sometimes it’s better just to have material immediately accessible, without following a link. Back in Version 1.0 we made the decision that when a function inherits some of its options from a “base function” (say Plot from Graphics), we only need to explicitly list the non-inherited option values. At the time, this was a good way to save a little paper in the printed book. But now the optimization is different, and finally in Version 13.3 we have a way to show “All Options”—tucked away so it doesn’t distract from the typically-more-important non-inherited options.

\n

Here’s the setup for Plot. First, the list of non-inherited option values:

\n

Plot non-inherited option values

\n

Then, at the end of the Details section

\n

Details and options

\n

which opens to:

\n

Expanded list of all options

\n

Pictures from Words: Generative AI for Images

\n

One of the remarkable things that’s emerged as a possibility from recent advances in AI and neural nets is the generation of images from textual descriptions. It’s not yet realistic to do this at all well on anything but a high-end (and typically server) GPU-enabled machine. But in Version 13.3 there’s now a built-in function ImageSynthesize that can get images synthesized, for now through an external API.

\n

You give text, and ImageSynthesize will try to generate images for which that text is a description:

\n
\n
\n

\n

Sometimes these images will be directly useful in their own right, perhaps as “theming images” for documents or user interfaces. Sometimes they will provide raw material that can be developed into icons or other art. And sometimes they are most useful as inputs to tests or other algorithms.

\n

And one of the important things about ImageSynthesize is that it can immediately be used as part of any Wolfram Language workflow. Pick a random sentence from Alice in Wonderland:

\n
\n
\n

\n

Now ImageSynthesize can “illustrate” it:

\n
\n
\n

\n

Or we can get AI to feed AI:

\n
\n
\n

\n
\n
\n

\n

ImageSynthesize is set up to automatically be able to synthesize images of different sizes:

\n
\n
\n

\n

You can take the output of ImageSynthesize and immediately process it:

\n
\n
\n

\n

ImageSynthesize can not only produce complete images, but can also fill in transparent parts of “incomplete” images:

\n
\n
\n

\n

In addition to ImageSynthesize and all its new LLM functionality, Version 13.3 also includes a number of advances in the core machine learning system for Wolfram Language. Probably the most notable are speedups of up to 10x and beyond for neural net training and evaluation on x86-compatible systems, as well as better models for ImageIdentify. There are also a variety of new networks in the Wolfram Neural Net Repository, particularly ones based on transformers.

\n

Digital Twins: Fitting System Models to Data

\n

It’s been five years since we first began to introduce industrial-scale systems engineering capabilities in the Wolfram Language. The goal is to be able to compute with models of engineering and other systems that can be described by (potentially very large) collections of ordinary differential equations and their discrete analogs. Our separate Wolfram System Modeler product provides an IDE and GUI for graphically creating such models.

\n

For the past five years we’ve been able to do high-efficiency simulation of these models from within the Wolfram Language. And over the past few years we’ve been adding all sorts of higher-level functionality for programmatically creating models, and for systematically analyzing their behavior. A major focus in recent versions has been the synthesis of control systems, and various forms of controllers.

\n

Version 13.3 now tackles a different issue, which is the alignment of models with real-world systems. The idea is to have a model which contains certain parameters, and then to determine these parameters by essentially fitting the model’s behavior to observed behavior of a real-world system.

\n

Let’s start by talking about a simple case where our model is just defined by a single ODE:

\n
\n
\n

\n

This ODE is simple enough that we can find its analytical solution:

\n
\n
\n

\n

So now let’s make some “simulated real-world data” assuming a = 2, and with some noise:

\n
\n
\n

\n

Here’s what the data looks like:

\n
\n
\n

\n

Now let’s try to “calibrate” our original model using this data. It’s a process similar to machine learning training. In this case we make an “initial guess” that the parameter a is 1; then when SystemModelCalibrate runs it shows the “loss” decreasing as the correct value of a is found:

\n
\n
\n

\n

The “calibrated” model does indeed have a ≈ 2:

\n
\n
\n

\n

Now we can compare the calibrated model with the data:

\n
\n
\n

\n

As a slightly more realistic engineering-style example let’s look at a model of an electric motor (with both electrical and mechanical parts):

\n
\n
\n

\n

Let’s say we’ve got some data on the behavior of the motor; here we’ve assumed that we’ve measured the angular velocity of a component in the motor as a function of time. Now we can use this data to calibrate parameters of the model (here the resistance of a resistor and the damping constant of a damper):

\n
\n
\n

\n

Here are the fitted parameter values:

\n
\n
\n

\n

And here’s a full plot of the angular velocity data, together with the fitted model and its 95% confidence bands:

\n
\n
\n

\n

SystemModelCalibrate can be used not only in fitting a model to real-world data, but also for example in fitting simpler models to more complicated ones, making possible various forms of “model simplification”.

\n

Symbolic Testing Framework

\n

The Wolfram Language is by many measures one of the world’s most complex pieces of software engineering. And over the decades we’ve developed a large and powerful system for testing and validating it. A decade ago—in Version 10—we began to make some of our internal tools available for anyone writing Wolfram Language code. Now in Version 13.3 we’re introducing a more streamlined—and “symbolic”—version of our testing framework.

\n

The basic idea is that each test is represented by a symbolic TestObject, created using TestCreate:

\n
\n
\n

\n

On its own, TestObject is an inert object. You can run the test it represents using TestEvaluate:

\n
\n
\n

\n

Each test object has a whole collection of properties, some of which only get filled in when the test is run:

\n
\n
\n

\n

It’s very convenient to have symbolic test objects that one can manipulate using standard Wolfram Language functions, say selecting tests with particular features, or generating new tests from old. And when one builds a test suite, one does it just by making a list of test objects.

\n

This makes a list of test objects (and, yes, there’s some trickiness because TestCreate needs to keep unevaluated the expression that’s going to be tested):

\n
\n
\n

\n

But given these tests, we can now generate a report from running them:

\n
\n
\n

\n

TestReport has various options that allow you to monitor and control the running of a test suite. For example, here we’re saying to echo every \"TestEvaluated\" event that occurs:

\n
\n
\n

\n

Did You Get That Math Right?

\n

Most of what the Wolfram Language is about is taking inputs from humans (as well as programs, and now AIs) and computing outputs from them. But a few years ago we started introducing capabilities for having the Wolfram Language ask questions of humans, and then assessing their answers.

\n

In recent versions we’ve been building up sophisticated ways to construct and deploy “quizzes” and other collections of questions. But one of the core issues is always how to determine whether a person has answered a particular question correctly. Sometimes that’s easy to determine. If we ask “What is 2 + 2?”, the answer better be “4” (or conceivably “four”). But what if we ask a question where the answer is some algebraic expression? The issue is that there may be many mathematically equal forms of that expression. And it depends on what exactly one’s asking whether one considers a particular form to be the “right answer” or not.

\n

For example, here we’re computing a derivative:

\n
\n
\n

\n

And here we’re doing a factoring problem:

\n
\n
\n

\n

These two answers are mathematically equal. And they’d both be “reasonable answers” for the derivative if it appeared as a question in a calculus course. But in an algebra course, one wouldn’t want to consider the unfactored form a “correct answer” to the factoring problem, even though it’s “mathematically equal”.

\n

And to deal with these kinds of issues, we’re introducing in Version 13.3 more detailed mathematical assessment functions. With a \"CalculusResult\" assessment function, it’s OK to give the unfactored form:

\n
\n
\n

\n

But with a \"PolynomialResult\" assessment function, the algebraic form of the expression has to be the same for it to be considered “correct”:

\n
\n
\n

\n

There’s also another type of assessment function—\"ArithmeticResult\"—which only allows trivial arithmetic rearrangements, so that it considers 2 + 3 equivalent to 3 + 2, but doesn’t consider 2/3 equivalent to 4/6:

\n
\n
\n

\n

Here’s how you’d build a question with this:

\n
\n
\n

\n

And now if you type “2/3” it’ll say you’ve got it right, but if you type “4/6” it won’t. However, if you use, say, \"CalculusResult\" in the assessment function, it’ll say you got it right even if you type “4/6”.

\n

Streamlining Parallel Computation

\n

Ever since the mid-1990s there’s been the capability to do parallel computation in the Wolfram Language. And certainly for me it’s been critical in a whole range of research projects I’ve done. I currently have 156 cores routinely available in my “home” setup, distributed across 6 machines. It’s sometimes challenging from a system administration point of view to keep all those machines and their networking running as one wants. And one of the things we’ve been doing in recent versions—and now completed in Version 13.3—is to make it easier from within the Wolfram Language to see and manage what’s going on.

\n

It all comes down to specifying the configuration of kernels. And in Version 13.3 that’s now done using symbolic KernelConfiguration objects. Here’s an example of one:

\n
\n
\n

\n

There’s all sorts of information in the kernel configuration object:

\n
\n
\n

\n

It describes “where” a kernel with that configuration will be, how to get to it, and how it should be launched. The kernel might just be local to your machine. Or it might be on a remote machine, accessible through ssh, or https, or our own wstp (Wolfram Symbolic Transport Protocol) or lwg (Lightweight Grid) protocols.

\n

In Version 13.3 there’s now a GUI for setting up kernel configurations:

\n

Kernel configuration editor

\n

The Kernel Configuration Editor lets you enter all the details that are needed, about network connections, authentication, locations of executables, etc.

\n

But once you’ve set up a KernelConfiguration object, that’s all you ever need—for example to say “where” to do a remote evaluation:

\n
\n
\n

\n

ParallelMap and other parallel functions then just work by doing their computations on kernels specified by a list of KernelConfiguration objects. You can set up the list in the Kernels Settings GUI:

\n

Parallel kernels settings

\n

Here’s my personal default collection of parallel kernels:

\n
\n
\n

\n

This now counts the number of individual kernels running on each machine specified by these configurations:

\n
\n
\n

\n

In Version 13.3 a convenient new feature is named collections of kernels. For example, this runs a single “representative” kernel on each distinct machine:

\n
\n
\n

\n

Just Call That C Function! Direct Access to External Libraries

\n

Let’s say you’ve got an external library written in C—or in some other language that can compile to a C-compatible library. In Version 13.3 there’s now foreign function interface (FFI) capability that allows you to directly call any function in the external library just using Wolfram Language code.

\n

Here’s a very trivial C function:

\n

Trivial C function

\n

This function happens to be included in compiled form in the compilerDemoBase library that’s part of Wolfram Language documentation. Given this library, you can use ForeignFunctionLoad to load the library and create a Wolfram Language function that directly calls the C addone function. All you need do is specify the library and C function, and then give the type signature for the function:

\n
\n
\n

\n

Now ff is a Wolfram Language function that calls the C addone function:

\n
\n
\n

\n

The C function addone happens to have a particularly simple type signature, that can immediately be represented in terms of compiler types that have direct analogs as Wolfram Language expressions. But in working with low-level languages, it’s very common to have to deal directly with raw memory, which is something that never happens when you’re purely working at the Wolfram Language level.

\n

So, for example, in the OpenSSL library there’s a function called RAND_bytes, whose C type signature is:

\n

RAND_bytes

\n

And the important thing to notice is that this contains a pointer to a buffer buf that gets filled by RAND_bytes. If you were calling RAND_bytes from C, you’d first allocate memory for this buffer, then—after calling RAND_bytes—read back whatever was written to the buffer. So how can you do something analogous when you’re calling RAND_bytes using ForeignFunction in Wolfram Language? In Version 13.3 we’re introducing a family of constructs for working with pointers and raw memory.

\n

So, for example, here’s how we can create a Wolfram Language foreign function corresponding to RAND_bytes:

\n
\n
\n

\n

But to actually use this, we need to be able to allocate the buffer, which in Version 13.3 we can do with RawMemoryAllocate:

\n
\n
\n

\n

This creates a buffer that can store 10 unsigned chars. Now we can call rb, giving it this buffer:

\n
\n
\n

\n

rb will fill the buffer—and then we can import the results back into Wolfram Language:

\n
\n
\n

\n

There’s some complicated stuff going on here. RawMemoryAllocate does ultimately allocate raw memory—and you can see its hex address in the symbolic object that’s returned. But RawMemoryAllocate creates a ManagedObject, which keeps track of whether it’s being referenced, and automatically frees the memory that’s been allocated when nothing references it anymore.

\n

Long ago languages like BASIC provided PEEK and POKE functions for reading and writing raw memory. It was always a dangerous thing to do—and it’s still dangerous. But it’s somewhat higher level in Wolfram Language, where in Version 13.3 there are now functions like RawMemoryRead and RawMemoryWrite. (For writing data into a buffer, RawMemoryExport is also relevant.)

\n

Most of the time it’s very convenient to deal with memory-managed ManagedObject constructs. But for the full low-level experience, Version 13.3 provides UnmanageObject, which disconnects automatic memory management for a managed object, and requires you to explicitly use RawMemoryFree to free it.

\n

One feature of C-like languages is the concept of a function pointer. And normally the function that the pointer is pointing to is just something like a C function. But in Version 13.3 there’s another possibility: it can be a function defined in Wolfram Language. Or, in other words, from within an external C function it’s possible to call back into the Wolfram Language.

\n

Let’s use this C program:

\n

C program

\n

You can actually compile it right from Wolfram Language using:

\n
\n
\n

\n

Now we load frun as a foreign function—with a type signature that uses \"OpaqueRawPointer\" to represent the function pointer:

\n
\n
\n

\n

What we need next is to create a function pointer that points to a callback to Wolfram Language:

\n
\n
\n

\n

The Wolfram Language function here is just Echo. But when we call frun with the cbfun function pointer we can see our C code calling back into Wolfram Language to evaluate Echo:

\n
\n
\n

\n

ForeignFunctionLoad provides an extremely convenient way to call external C-like functions directly from top-level Wolfram Language. But if you’re calling C-like functions a great many times, you’ll sometimes want to do it using compiled Wolfram Language code. And you can do this using the LibraryFunctionDeclaration mechanism that was introduced in Version 13.1. It’ll be more complicated to set up, and it’ll require an explicit compilation step, but there’ll be slightly less “overhead” in calling the external functions.

\n

The Advance of the Compiler Continues

\n

For several years we’ve had an ambitious project to develop a large-scale compiler for the Wolfram Language. And in each successive version we’re further extending and enhancing the compiler. In Version 13.3 we’ve managed to compile more of the compiler itself (which, needless to say, is written in Wolfram Language)—thereby making the compiler more efficient in compiling code. We’ve also enhanced the performance of the code generated by the compiler—particularly by optimizing memory management done in the compiled code.

\n

Over the past several versions we’ve been steadily making it possible to compile more and more of the Wolfram Language. But it’ll never make sense to compile everything—and in Version 13.3 we’re adding KernelEvaluate to make it more convenient to call back from compiled code to the Wolfram Language kernel.

\n

Here’s an example:

\n
\n
\n

\n

We’ve got an argument n that’s declared as being of type MachineInteger. Then we’re doing a computation on n in the kernel, and using TypeHint to specify that its result will be of type MachineInteger. There’s at least arithmetic going on outside the KernelEvaluate that can be compiled, even though the KernelEvaluate is just calling uncompiled code:

\n
\n
\n

\n

There are other enhancements to the compiler in Version 13.3 as well. For example, Cast now allows data types to be cast in a way that directly emulates what the C language does. There’s also now SequenceType, which is a type analogous to the Wolfram Language Sequence construct—and able to represent an arbitrary-length sequence of arguments to a function.

\n

And Much More…

\n

In addition to everything we’ve already discussed here, there are lots of other updates and enhancements in Version 13.3—as well as thousands of bug fixes.

\n

Some of the additions fill out corners of functionality, adding completeness or consistency. Statistical fitting functions like LinearModelFit now accept input in all various association etc. forms that machine learning functions like Classify accept. TourVideo now lets you “tour” GeoGraphics, with waypoints specified by geo positions. ByteArray now supports the “corner case” of zero-length byte arrays. The compiler can now handle byte array functions, and additional string functions. Nearly 40 additional special functions can now handle numeric interval computations. BarcodeImage adds support for UPCE and Code93 barcodes. SolidMechanicsPDEComponent adds support for the Yeoh hyperelastic model. And—twenty years after we first introduced export of SVG, there’s now built-in support for import of SVG not only to raster graphics, but also to vector graphics.

\n

There are new “utility” functions like RealValuedNumberQ and RealValuedNumericQ. There’s a new function FindImageShapes that begins the process of systematically finding geometrical forms in images. There are a number of new data structures—like \"SortedKeyStore\" and \"CuckooFilter\".

\n

There are also functions whose algorithms—and output—have been improved. ImageSaliencyFilter now uses new machine-learning-based methods. RSolveValue gives cleaner and smaller results for the important case of linear difference equations with constant coefficients.

\n

\n

\n\n

\n", - "category": "Mathematica", - "link": "https://writings.stephenwolfram.com/2023/06/llm-tech-and-a-lot-more-version-13-3-of-wolfram-language-and-mathematica/", - "creator": "Stephen Wolfram", - "pubDate": "Wed, 28 Jun 2023 18:02:59 +0000", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "en", - "folder": "", - "feed": "wolfram", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "01c17fc689829b984c851232821521e3", - "highlights": [] - }, { "title": "Introducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm", "description": "\"\"This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm A New […]", @@ -197,28 +351,6 @@ "hash": "a976f2a02784da5470b3d8edb1a5ebaa", "highlights": [] }, - { - "title": "Prompts for Work & Play: Launching the Wolfram Prompt Repository", - "description": "\"\"This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm Building Blocks […]", - "content": "\"\"\n

This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm

\n

\"Prompts

\n

Building Blocks of “LLM Programming”

\n

Prompts are how one channels an LLM to do something. LLMs in a sense always have lots of “latent capability” (e.g. from their training on billions of webpages). But prompts—in a way that’s still scientifically mysterious—are what let one “engineer” what part of that capability to bring out.

\n
\n

The functionality described here will be built into the upcoming version of Wolfram Language (Version 13.3). To install it in the now-current version (Version 13.2), use

\n
PacletInstall[\"Wolfram/Chatbook\"]
\n

and

\n
PacletInstall[\"Wolfram/LLMFunctions\"].
\n

You will also need an API key for the OpenAI LLM or another LLM.

\n
\n

There are many different ways to use prompts. One can use them, for example, to tell an LLM to “adopt a particular persona”. One can use them to effectively get the LLM to “apply a certain function” to its input. And one can use them to get the LLM to frame its output in a particular way, or to call out to tools in a certain way.

\n

And much as functions are the building blocks for computational programming—say in the Wolfram Language—so prompts are the building blocks for “LLM programming”. And—much like functions—there are prompts that correspond to “lumps of functionality” that one can expect will be repeatedly used.

\n

Today we’re launching the Wolfram Prompt Repository to provide a curated collection of useful community-contributed prompts—set up to be seamlessly accessible both interactively in Chat Notebooks and programmatically in things like LLMFunction:

\n

Wolfram Prompt Repository home page

\n

As a first example, let’s talk about the "Yoda" prompt, that’s listed as a “persona prompt”. Here’s its page:

\n

Wolfram Prompt Repository Yoda persona

\n

So how do we use this prompt? If we’re using a Chat Notebook (say obtained from File > New > Chat-Driven Notebook) then just typing @Yoda will “invoke” the Yoda persona:

\n

Should I eat a piece of chocolate now?

\n

At a programmatic level, one can “invoke the persona” through LLMPrompt (the result is different because there’s by default randomness involved):

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t

\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

There are several initial categories of prompts in the Prompt Repository:

\n

\n

There’s a certain amount of crossover between these categories (and there’ll be more categories in the future—particularly related to generating computable results, and calling computational tools). But there are different ways to use prompts in different categories.

\n

Function prompts are all about taking existing text, and transforming it in some way. We can do this programmatically using LLMResourceFunction:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

We can also do it in a Chat Notebook using !ActiveVoiceRephrase, with the shorthand ^ to refer to text in the cell above, and > to refer to text in the current chat cell:

\n

The AI was switched off by him.

\n

Modifier prompts have to do with specifying how to modify output coming from the LLM. In this case, the LLM typically produces a whole mini-essay:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t

\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

But with the YesNo modifier prompt, it simply says “Yes”:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

In a Chat Notebook, you can introduce a modifier prompt using #:

\n

Is a watermelon bigger than a human head?

\n

Quite often you’ll want several modifier prompts:

\n

Is a watermelon bigger than a human head?

\n

What Does Having a Prompt Repository Do for One?

\n

LLMs are powerful things. And one might wonder why, if one has a description for a prompt, one can’t just use that description directly, rather than having to store a prewritten prompt. Well, sometimes just using the description will indeed work fine. But often it won’t. Sometimes that’s because one needs to clarify further what one wants. Sometimes it’s because there are not-immediately-obvious corner cases to cover. And sometimes there’s just a certain amount of “LLM wrangling” to be done. And this all adds up to the need to do at least some “prompt engineering” on almost any prompt.

\n

The YesNo modifier prompt from above is currently fairly simple:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

But it’s still already complicated enough one that doesn’t want to have to repeat it every time one’s trying to force a yes/no answer. And no doubt there’ll be subsequent versions of this prompt (that, yes, will have versioning handled seamlessly by the Prompt Repository) that will get increasingly elaborate, as more cases show up, and more prompt engineering gets done to address them.

\n

Many of the prompts in the Prompt Repository even now are considerably more complicated. Some contain typical “general prompt engineering”, but others contain for example special information that the LLM doesn’t intrinsically know, or detailed examples that home in on what one wants to have happen.

\n

In the simplest cases, prompts (like the YesNo one above) are just plain pieces of text. But often they contain parameters, or have additional computational or other content. And a key feature of the Wolfram Prompt Repository is that it can handle this ancillary material, ultimately by representing everything using Wolfram Language symbolic expressions.

\n

As we discussed in connection with LLMFunction, etc. in another post, the core “textual” part of a prompt is represented by a symbolic StringTemplate that immediately allows positional or named parameters. Then there can be an interpreter that applies a Wolfram Language Interpreter function to the raw textual output of the LLM—transforming it from plain text to a computable symbolic expression. More sophisticatedly, there can also be specifications of tools that the LLM can call (represented symbolically as LLMTool constructs), as well as other information about the required LLM configuration (represented by an LLMConfiguration object). But the key point is that all of this is automatically “packaged up” in the Prompt Repository.

\n

But what actually is the Wolfram Prompt Repository? Well, ultimately it’s just part of the general Wolfram Resource System—the same one that’s used for the Wolfram Function Repository, Wolfram Data Repository, Wolfram Neural Net Repository, Wolfram Notebook Archive, and many other things.

\n

And so, for example, the "Yoda" prompt is in the end represented by a symbolic ResourceObject that’s part of the Resource System:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

Open up the display of this resource object, and we’ll immediately see various pieces of metadata (and a link to documentation), as well as the ultimate canonical UUID of the object:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

Everything that needs to use the prompt—Chat Notebooks, LLMPrompt, LLMResourceFunction, etc.—just works by accessing appropriate parts of the ResourceObject, so that for example the “hero image” (used for the persona icon) is retrieved like this:

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

There’s a lot of important infrastructure that “comes for free” from the general Wolfram Resource System—like efficient caching, automatic updating, documentation access, etc. And things like LLMPrompt follow the exact same approach as things like NetModel in being able to immediately reference entries in a repository.

\n

What’s in the Prompt Repository So Far

\n

We haven’t been working on the Wolfram Prompt Repository for very long, and we’re just opening it up for outside contributions now. But already the Repository contains (as of today) about two hundred prompts. So what are they so far? Well, it’s a range. From “just for fun”, to very practical, useful and sometimes quite technical.

\n

In the “just for fun” category, there are all sorts of personas, including:

\n

In a sentence or two, what are you good for?

\n

In a sentence or two, what are you good for?

\n

In a sentence or two, what are you good for?

\n

In a sentence or two, what are you good for?

\n

In a sentence or two, what are you good for?

\n

There are also slightly more “practical” personas—like SupportiveFriend and SportsCoach too—which can be more helpful sometimes than others:

\n

I'm a bit tired of writing all these posts.

\n

Then there are “functional” ones like NutritionistBot, etc.—though most of these are still very much under development, and will advance considerably when they are hooked up to tools, so they’re able to access accurate computable knowledge, external data, etc.

\n

But the largest category of prompts so far in the Prompt Repository are function prompts: prompts which take text you supply, and do operations on it. Some are based on straightforward (at least for an LLM) text transformations:

\n

There are many prompts available.

\n

AIs are cool.

\n

!ShorterRephrase

\n

I hope you can come to my party.

\n

There are all sorts of text transformations that can be useful:

\n

Stephen Wolfram lives in Concord, MA

\n

A curated collection of prompts, personas, functions, & more for LLMs

\n

Some function prompts—like Summarize, TLDR, NarrativeToResume, etc.—can be very useful in making text easier to assimilate. And the same is true of things like LegalDejargonize, MedicalDejargonize, ScientificDejargonize, BizDejargonize—or, depending on your background, the *Jargonize versions of these:

\n

The rat ignored the maze and decided to eat the cheese

\n

Some text transformation prompts seem to perhaps make use of a little more “cultural awareness” on the part of the LLM:

\n

WOLFRAM PROMPT REPOSITORY (UNDER CONSTRUCTION)

\n

WOLFRAM PROMPT REPOSITORY (UNDER CONSTRUCTION)

\n

AIs provide excellent programming advice.

\n

An app to let cats interact with chatbots

\n

A dinosaur that can roll itself up in a ball

\n

Some function prompts are for analyzing text (or, for example, for doing educational assessments):

\n

I woz going to them place when I want stop

\n

I believe plants should be the only organisms on the planet

\n

Sometimes prompts are most useful when they’re applied programmatically. Here are two synthesized sentences:

\n

\n\n\n\n\n\n\n
\n
\n\n\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

Now we can use the DocumentCompare prompt to compare them (something that might, for example, be useful in regression testing):

\n

\n\n\n\n\n\n\n
\n
\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t&#10005

\n
\n

\n
\n

\n

There are other kinds of “text analysis” prompts, like GlossaryGenerate, CharacterList (characters mentioned in a piece of fiction) and LOCTopicSuggest (Library of Congress book topics):

\n

What is ChatGPT Doing and Why Does It Work?

\n

There are lots of other function prompts already in the Prompt Repository. Some—like FilenameSuggest and CodeImport—are aimed at doing computational tasks. Others make use of common-sense knowledge. And some are just fun. But, yes, writing good prompts is hard—and what’s in the Prompt Repository will gradually improve. And when there are bugs, they can be pretty weird. Like PunAbout is supposed to generate a pun about some topic, but here it decides to protest and say it must generate three:

\n

Parrot

\n

The final category of prompts currently in the Prompt Repository are modifier prompts, intended as a way to modify the output generated by the LLM. Sometimes modifier prompts can be essentially textual:

\n

How many legs does a spider have?

\n

How many legs does a spider have?

\n

How many legs does a spider have?

\n

But often modifier prompts are intended to create output in a particular form, suitable, for example, for interpretation by an interpreter in LLMFunction, etc.:

\n

How many legs does a spider have?

\n

Number of legs for the 5 common invertebrates

\n

Are AIs good?

\n

So far the modifier prompts in the Prompt Repository are fairly simple. But once there are prompts that make use of tools (i.e. call back into Wolfram Language during the generation process) we can expect modifier prompts that are much more sophisticated, useful and robust.

\n

Adding Your Own Prompts

\n

The Wolfram Prompt Repository is set up to be a curated public collection of prompts where it’s easy for anyone to submit a new prompt. But—as we’ll explain—you can also use the framework of the Prompt Repository to store “private” prompts, or share them with specific groups.

\n

So how do you define a new prompt in the Prompt Repository framework? The easiest way is to fill out a Prompt Resource Definition Notebook:

\n

Prompt Resource Definition Notebook

\n

You can get this notebook here, or from the Submit a Prompt button at the top of the Prompt Repository website, or by evaluating CreateNotebook[\"PromptResource\"].

\n

The setup is directly analogous to the ones for the Wolfram Function Repository, Wolfram Data Repository, Wolfram Neural Net Repository, etc. And once you’ve filled out the Definition Notebook, you’ve got various choices:

\n

Definition Notebook deployment options

\n

Submit to Repository sends the prompt to our curation team for our official Wolfram Prompt Repository; Deploy deploys it for your own use, and for people (or AIs) you choose to share it with. If you’re using the prompt “privately”, you can refer to it using its URI or other identifier (if you use ResourceRegister you can also just refer to it by the name you give it).

\n

OK, so what do you need to specify in the Definition Notebook? The most important part is the actual prompt itself. And quite often the prompt may just be a (carefully crafted) piece of plain text. But ultimately—as discussed elsewhere—a prompt is a symbolic template, that can include parameters. And you can insert parameters into a prompt using “template slots”:

\n

Template slots

\n

(Template Expression lets you insert Wolfram Language code that will be evaluated when the prompt is applied—so you can for example include the current time with Now.)

\n

In simple cases, all you’ll need to specify is the “pure prompt”. But in more sophisticated cases you’ll also want to specify some “outside the prompt” information—and there are some sections for this in the Definition Notebook:

\n

Definition Notebook sections

\n

Chat-Related Features is most relevant for personas:

\n

Chat features

\n

You can give an icon that will appear in Chat Notebooks for that persona. And then you can give Wolfram Language functions which are to be applied to the contents of each chat cell before it is fed to the LLM (“Cell Processing Function”), and to the output generated by the LLM (“Cell Post Evaluation Function”). These functions are useful in transforming material to and from the plain text consumed by the LLM, and supporting richer display and computational structures.

\n

Programmatic Features is particularly relevant for function prompts, and for the way prompts are used in LLMResourceFunction etc.:

\n

Programmatic Features

\n

There’s “function-oriented documentation” (analogous to what’s used for built-in Wolfram Language functions, or for functions in the Wolfram Function Repository). And then there’s the Output Interpreter: a function to be applied to the textual output of the LLM, to generate the actual expression that will be returned by LLMResourceFunction, or for formatting in a Chat Notebook.

\n

What about the LLM Configuration section?

\n

LLM configuration options

\n

The first thing it does is to define tools that can be requested by the LLM when this prompt is used. We’ll discuss tools in another post. But as we’ve mentioned several times, they’re a way of having the LLM call Wolfram Language to get particular computational results that are then returned to the LLM. The other part of the LLM Configuration section is a more general LLMConfiguration specification, which can include “temperature” settings, the requirement of using a particular underlying model (e.g. GPT-4), etc.

\n

What else is in the Definition Notebook? There are two main documentation sections: one for Chat Examples, and one for Programmatic Examples. Then there are various kinds of metadata.

\n

Of course, at the very top of the Definition Notebook there’s another very important thing: the name you specify for the prompt. And here—with the initial prompts we’ve put into the Prompt Repository—we’ve started to develop some conventions. Following typical Wolfram Language usage we’re “camel-casing” names (so it’s "TitleSuggest" not "title suggest"). Then we try to use different grammatical forms for different kinds of prompts. For personas we try to use noun phrases (like "Cheerleader" or "SommelierBot"). For functions we usually try to use verb phrases (like "Summarize" or "HypeUp"). And for modifiers we try to use past-tense verb forms (like "Translated" or "HaikuStyled").

\n

The overall goal with prompt names—like with ordinary Wolfram Language function names—is to provide a summary of what the prompt does, in a form that’s short enough that it appears a bit like a word in computational language input, chats, etc.

\n

OK, so let’s say you’ve filled out a Definition Notebook, and you Deploy it. You’ll get a webpage that includes the documentation you’ve given—and looks pretty much like any of the pages in the Wolfram Prompt Repository. And now if you want to use the prompt, you can just click the appropriate place on the webpage, and you’ll get a copyable version that you can immediately paste into an input cell, a chat cell, etc. (Within a Chat Notebook there’s an even more direct mechanism: in the chat icon menu, go to Add & Manage Personas, and when you browse the Prompt Repository, there’ll be an Install button that will automatically install a persona.)

\n

A Language of Prompts

\n

LLMs fundamentally deal with natural language of the kind we humans normally use. But when we set up a named prompt we’re in a sense defining a “higher-level word” that can be used to “communicate” with the LLM—at the least with the kind of “harness” that LLMFunction, Chat Notebooks, etc. provide. And we can then imagine in effect “talking in prompts” and for example building up more and more levels of prompts.

\n

Of course, we already have a major example of something that at least in outline is similar: the way in which over the past few decades we’ve been able to progressively construct a whole tower of functionality from the built-in functions in the Wolfram Language. There’s an important difference, however: in defining built-in functions we’re always working on “solid ground”, with precise (carefully designed) computational specifications for what we’re doing. In setting up prompts for an LLM, try as we might to “write the prompts well” we’re in a sense ultimately “at the mercy of the LLM” and how it chooses to handle things.

\n

It feels in some ways like the difference between dealing with engineering systems and with human organizations. In both cases one can set up plans and procedures for what should happen. In the engineering case, however, one can expect that (at least at the level of individual operations) the system will do exactly as one says. In the human case—well, all kinds of things can happen. That is not to say that amazing results can’t be achieved by human organizations; history clearly shows they can.

\n

But—as someone who’s managed (human) organizations now for more than four decades—I think I can say the “rhythm” and practices of dealing with human organizations differ in significant ways from those for technological ones. There’s still a definite pattern of what to do, but it’s different, with a different way of going back and forth to get results, different approaches to “debugging”, etc.

\n

How will it work with prompts? It’s something we still need to get used to. But for me there’s immediately another useful “comparable”. Back in the early 2000s we’d had a decade or two of experience in developing what’s now Wolfram Language, with its precise formal specifications, carefully designed with consistency in mind. But then we started working on Wolfram|Alpha—where now we wanted a system that would just deal with whatever input someone might provide. At first it was jarring. How could we develop any kind of manageable system based on boatloads of potentially incompatible heuristics? It took a little while, but eventually we realized that when everything is a heuristic there’s a certain pattern and structure to that. And over time the development we do has become progressively more systematic.

\n

And so, I expect, it will be with prompts. In the Wolfram Prompt Repository today, we have a collection of prompts that cover a variety of areas, but are almost all “first level”, in the sense that they depend only on the base LLM, and not on other prompts. But over time I expect there’ll be whole hierarchies of prompts that develop (including metaprompts for building prompts, etc. ) And indeed I won’t be surprised if in this way all sorts of “repeatable lumps of functionality” are found, that actually can be implemented in a direct computational way, without depending on LLMs. (And, yes, this may well go through the kind of “semantic grammar” structure that I’ve discussed elsewhere.)

\n

But as of now, we’re still just at the point of first launching the Wolfram Prompt Repository, and beginning the process of understanding the range of things—both useful and fun—that can be achieved with prompts. But it’s already clear that there’s going to be a very interesting world of prompts—and a progressive development of “prompt language” that in some ways will probably parallel (though at a considerably faster rate) the historical development of ordinary human languages.

\n

It’s going to be a community effort—just as it is with ordinary human languages—to explore and build out “prompt language”. And now that it’s launched, I’m excited to see how people will use our Prompt Repository, and just what remarkable things end up being possible through it.

\n", - "category": "Artificial Intelligence", - "link": "https://writings.stephenwolfram.com/2023/06/prompts-for-work-play-launching-the-wolfram-prompt-repository/", - "creator": "Stephen Wolfram", - "pubDate": "Thu, 08 Jun 2023 01:54:36 +0000", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "en", - "folder": "", - "feed": "wolfram", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "97c48c180c49516491bb916a04be7cd1", - "highlights": [] - }, { "title": "The New World of LLM Functions: Integrating LLM Technology into the Wolfram Language", "description": "\"\"This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm Turning LLM […]", @@ -241,28 +373,6 @@ "hash": "07eec75c985bfd334361e158a14dfe08", "highlights": [] }, - { - "title": "Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin Kit", - "description": "\"\"This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm", - "content": "\"\"\n

This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram Prompt RepositoryIntroducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm

\n

\"Instant

\n

Build a New Plugin in under a Minute…

\n

A few weeks ago, in collaboration with OpenAI, we released the Wolfram plugin for ChatGPT, which lets ChatGPT use Wolfram Language and Wolfram|Alpha as tools, automatically called from within ChatGPT. One can think of this as adding broad “computational superpowers” to ChatGPT, giving access to all the general computational capabilities and computational knowledge in Wolfram Language and Wolfram|Alpha.

\n

But what if you want to make your own special plugin, that does specific computations, or has access to data or services that are for example available only on your own computer or computer system? Well, today we’re releasing a first version of a kit for doing that. And building on our whole Wolfram Language tech stack, we’ve managed to make the whole process extremely easy—to the point where it’s now realistic to deploy at least a basic custom ChatGPT plugin in under a minute.

\n

There’s some (very straightforward) one-time setup you need—authenticating with OpenAI, and installing the Plugin Kit. But then you’re off and running, and ready to create your first plugin.

\n
\n

To run the examples here for yourself you’ll need:

\n\n
\n

Here’s a very simple example. Let’s say you make up the idea of a “strength” for a word, defining it to be the sum of the “letter numbers” (“a” is 1, “b” is 2, etc.). In Wolfram Language you can compute this as:

\n
\n
\n

\n

And for over a decade it’s been standard that you can instantly deploy such a computation as a web API in the Wolfram Cloud—immediately accessible through a web browser, external program, etc.:

\n
\n
\n

\n

But today there’s a new form of deployment: as a plugin for ChatGPT. First, you say you need the Plugin Kit:

\n
\n
\n

\n

Then you can immediately deploy your plugin. All it takes is:

\n
\n
\n

\n

The final step is that you have to tell ChatGPT about your plugin. Within the web interface (as it’s currently configured), select Plugins > Plugin store > Develop your own plugin and insert the URL from the ChatGPTPluginDeployment (which you get by pressing the click-to-copy button ) into the dialog you get:

\n

ChatGPT plugin dialog

\n

Now everything’s ready. And you can start talking to ChatGPT about “word strengths”, and it’ll call your plugin (which by default is called “WolframCustom”) to compute them:

\n
\n
\n

\n

Looking “inside the box” shows the communication ChatGPT had with the plugin:

\n
\n
\n

\n

Without the plugin it won’t know what “letter strength” is. But with the plugin, it’ll be able to do all kinds of (rather remarkable) things with it—like this:

\n
\n
\n

\n

The embellishment about properties of gnus is charming, but if one opens the boxes one can see how it got its answer—it just started trying different animals (“lion”, “zebra”, “gnu”):

\n
\n
\n

\n

Software engineers will immediately notice that the plugin we’ve set up is running against localhost, i.e. it’s executing on your own computer. As we’ll discuss, this is often an incredibly useful thing to be able to do. But you can also use the Plugin Kit to create plugins that execute purely in the Wolfram Cloud (so that, for example, you don’t have to have a Wolfram Engine available on your computer).

\n

All you do is use ChatGPTPluginCloudDeploy—then you get a URL in the Wolfram Cloud that you can tell ChatGPT as the location of your plugin:

\n
\n
\n

\n

And in fact you can do the whole setup directly in your web browser, without any local Wolfram installation. You just open a notebook in the Wolfram Cloud, and deploy your plugin from there:

\n

Wolfram Cloud notebook

\n

Let’s do some other examples. For our next example, let’s invent the concept of a “geo influence disk” and then deploy a plugin that renders such a thing (we’ll talk later about some details of what’s being done here):

\n
\n
\n

\n

Now we can install this new plugin—and then start asking ChatGPT about “geo influence disks”:

\n
\n
\n

\n

ChatGPT successfully calls the plugin, and brings back an image. Somewhat amusingly, it guesses (correctly, as it happens) what a “geo influence disk” is supposed to be. And remember, it can’t see the picture or read the code, so its guess has to be based only on the name of the API function and the question one asks. Of course, it has to effectively understand at least a bit in order to work out how to call the API function—and that x is supposed to be a location, and radius a distance.

\n

As another example, let’s make a plugin that sends the user (i.e. the person who deploys the plugin) a text message:

\n
\n
\n

\n

Now just say “send me a message”

\n
\n
\n

\n

and a text message will arrive—in this case with a little embellishment from ChatGPT:

\n

Rhinoceros alert

\n

Here’s a plugin that also sends an “alert picture” of an animal that’s mentioned:

\n
\n
\n

\n

And, yes, there’s a lot of technology that needs to work to get this to happen:

\n
\n
\n

\n

Gnu alert

\n

As another example, let’s make a plugin that retrieves personal data of mine—here heart rate data that I’ve been accumulating for several years in a Wolfram databin:

\n
\n
\n

\n

Now we can use ChatGPT to ask questions about this data:

\n
\n
\n

\n

And with the main Wolfram plugin also installed, we can immediately do actual computations on this data, all through ChatGPT’s “linguistic user interface”:

\n
\n
\n

\n

This example uses the Wolfram Data Drop system. But one can do very much the same kind of thing with something like an SQL database. And if one has a plugin set up to access a private database there are truly remarkable things that can be done through ChatGPT with the Wolfram plugin.

\n

Plugins That Control Your Own Computer

\n

When you use ChatGPT through its standard web interface, ChatGPT is running “in the cloud”—on OpenAI’s servers. But with plugins you can “reach back”—through your web browser—to make things happen on your own, local computer. We’ll talk later about how this works “under the hood”, but suffice it to say now that when you deploy a plugin using ChatGPTPluginDeploy (as opposed to ChatGPTPluginCloudDeploy) the actual Wolfram Language code in the plugin will be run on your local computer. So that means it can get access to local resources on your computer, like your camera, speakers, files, etc.

\n

For example, here I’m setting up a plugin to take a picture with my computer’s camera (using the Wolfram Language CurrentImage[ ])—and then blend the picture with whatever color I specify (we’ll talk about the use of CloudExport later):

\n
\n
\n

\n

Installing the plugin, I then say to ChatGPT “Just picture me in green!”, and, right then and there, ChatGPT will call the plugin, which gets my computer to take a picture of me—and then blends it with green (complete with my “I wonder if this is going to work” look):

\n
\n
\n

\n

OK let’s try a slightly more sophisticated example. Here we’re going to make a plugin to get ChatGPT to put up a notebook on my computer, and start writing content into it. To achieve this, we’re going to define several API endpoints (and we’ll name the whole plugin \"NotebookOperations\"):

\n
\n
\n

\n

First, let’s tell ChatGPT to create a new notebook

\n
\n
\n

\n

and up pops a new notebook on my screen:

\n

My cat notebook

\n

If we look at the symbol nb in the Wolfram Language session from which we deployed the plugin, we’ll find out that it was set by the API:

\n
\n
\n

\n

Now let’s use some of our other API endpoints to add content to the notebook:

\n
\n
\n

\n

Here’s what we get:

\n

Cat pictures

\n

The text was made up by ChatGPT; the pictures came from doing a web image search. (We could also have used the new ImageSynthesize[ ] function in the Wolfram Language to make de novo cats.)

\n

And as a final “bow”, let’s ask ChatGPT to show us an image of the notebook captured from our computer screen with CurrentNotebookImage:

\n
\n
\n

\n

We could also add another endpoint to publish the notebook to the cloud using CloudPublish, and maybe to send the URL in an email.

\n

We could think of the previous example as accumulating results in a notebook. But we can also just accumulate results in the value of a Wolfram Language symbol. Here we initialize the symbol result to be an empty list. Then we define an API that appends to this list, but we give a prompt that says to only do this appending when we have a single-word result:

\n
\n
\n

\n

Let’s set up an “exercise” for ChatGPT:

\n
\n
\n

\n

At this point, result is still empty:

\n
\n
\n

\n

Now let’s ask our first question:

\n
\n
\n

\n

ChatGPT doesn’t happen to directly show us the answer. But it calls our API and appends it to result:

\n
\n
\n

\n

Let’s ask another question:

\n
\n
\n

\n

Now result contains both answers:

\n
\n
\n

\n

And if we put Dynamic[result] in our notebook, we’d see this dynamically change whenever ChatGPT calls the API.

\n

In the last example, we modified the value of a symbol from within ChatGPT. And if we felt brave, we could just let ChatGPT evaluate arbitrary code on our computer, for example using an API that calls ToExpression. But, yes, giving ChatGPT the ability to execute arbitrary code of its own making does seem to open us up to a certain “Skynet risk” (and makes us wonder all the more about “AI constitutions” and the like).

\n

But much more safely than executing arbitrary code, we can imagine letting ChatGPT effectively “root around” in our filesystem. Let’s set up the following plugin:

\n
\n
\n

\n

First we set a directory that we want to operate in:

\n
\n
\n

\n

Now let’s ask ChatGPT about the files there:

\n
\n
\n

\n

With the Wolfram plugin we can get it to make a pie chart of those file types:

\n
\n
\n

\n

Now we ask it to do something very “LLM-ey”, and to summarize the contents of each file (in the API we used Import to import plaintext versions of files):

\n
\n
\n

\n

There are all sorts of things one can do. Here’s a plugin to compute ping times from your computer:

\n
\n
\n

\n
\n
\n

\n

Or, as another example, you can set up a plugin that will create scheduled tasks to provide email (or text, etc.) reminders at specified times:

\n
\n
\n

\n

ChatGPT dutifully queues up the tasks:

\n
\n
\n

\n

Then every 10 seconds or so, into my mailbox pops a (perhaps questionable) animal joke:

\n

Animal jokes

\n

As a final example, let’s consider the local-to-my-computer task of audibly playing a tune. First we’ll need a plugin that can decode notes and play them (the \"ChatGPTPluginDeploy\" is there to tell ChatGPT the plugin did its job—because ChatGPT has no way to know that by itself):

\n
\n
\n

\n

Here we give ChatGPT the notes we want—and, yes, this immediately plays the tune on my computer:

\n

\n
\n \n

\n

And now—as homage to a famous fictional AI—let’s try to play another tune:

\n

\n
\n \n

\n

And, yes, ChatGPT has come up with some notes, and packaged them up for the plugin; then the plugin played them:

\n

\n
\n \n

\n

And this works too:

\n

\n
\n \n

\n

But… wait a minute! What’s that tune? It seems ChatGPT can’t yet quite make the same (dubious) claim HAL does:

\n

“No [HAL] 9000 computer has ever made a mistake or distorted information. We are all, by any practical definition of the words, foolproof and incapable of error.”

\n

How It All Works

\n

We’ve now seen lots of examples of using the ChatGPT Plugin Kit. But how do they work? What’s under the hood? When you run ChatGPTPluginDeploy you’re basically setting up a Wolfram Language function that can be called from inside ChatGPT when ChatGPT decides it’s needed. And to make this work smoothly turns out to be something that uses a remarkable spectrum of unique capabilities of Wolfram Language—dovetailed with certain “cleverness” in ChatGPT.

\n

From a software engineering point of view, a ChatGPT plugin is fundamentally one or more web APIs—together with a “manifest” that tells ChatGPT how to call these APIs. So how does one set up a web API in Wolfram Language? Well, a decade ago we invented a way to make it extremely easy.

\n

Like everything in Wolfram Language, a web API is represented by a symbolic expression, in this case of the form APIFunction[…]. What’s inside the APIFunction? There are two pieces. A piece of Wolfram Language code that implements the function one wants, together with a specification for how the strings that will actually be passed to the APIFunction (say from a web API) should be interpreted before feeding them to the Wolfram Language code.

\n

Here’s a little piece of Wolfram Language code, in this case for negating a color, then making it lighter:

\n
\n
\n

\n

If we wanted to, we could refactor this as a “pure function” applied to two arguments:

\n
\n
\n

\n

On its own the pure function is just a symbolic expression that evaluates to itself:

\n
\n
\n

\n

If we want to, we can name the arguments of the pure function, then supply them in an association () with their names as keys:

\n
\n
\n

\n

But let’s say we want to call our function from a web API. The parameters in the web API are always strings. So how can we convert from a string (like \"lime green\") to a symbolic expression that Wolfram Language can understand? Well, we have to use the natural language understanding capabilities of Wolfram Language.

\n

Here’s an example, where we’re saying we want to interpret a string as a color:

\n
\n
\n

\n

What really is that color swatch? Like everything else in Wolfram Language, it’s just a symbolic expression:

\n
\n
\n

\n

OK, now we’re ready to package this all up into an APIFunction. The first argument says the API we’re representing has two parameters, and describes how we want to interpret these. The second argument gives the actual Wolfram Language function that the API computes. On its own, the APIFunction is just a symbolic expression that evaluates to itself:

\n
\n
\n

\n

But if we supply values for the parameters (here using an association) it’ll evaluate:

\n
\n
\n

\n

So far all this is just happening inside our Wolfram Language session. But to get an actual web API we just have to “cloud deploy” our APIFunction:

\n
\n
\n

\n

Now we can call this web API, say from a web browser:

\n

Web API

\n

And, yes, that’s the symbolic expression result. If we’d wanted something visual, we could tell the APIFunction to give its results, say as a PNG:

\n
\n
\n

\n

And now it’ll show up as an image in a web browser:

\n

Purple box in web browser

\n

(Note that CloudDeploy deploys a web API that by default has permissions set so that only I can run it. If you use CloudPublish instead, anyone will be able to run it.)

\n

OK, so how do we set up our web API so it can be called as a ChatGPT plugin? One immediate issue is that at the simplest level ChatGPT just deals with text, so we’ve somehow got to convert our result to text. So let’s do a little Wolfram Language programming to achieve that. Here’s a list of values and names of common colors from the Wolfram Knowledgebase:

\n
\n
\n

\n

Of course, we know about many other collections of named colors too, but let’s not worry about that here:

\n
\n
\n

\n

Now we can use Nearest to find which common color is nearest to the color we’ve got:

\n
\n
\n

\n

Now let’s put this into an APIFunction (we’ve “iconized” the list of colors here; we could also have defined a separate function for finding nearest colors, which would automatically be brought along by CloudDeploy):

\n
\n
\n

\n

Now we’re ready to use ChatGPTPluginDeploy. The way ChatGPT plugins work, we’ve got to give a name to the “endpoint” corresponding to our API. And this name—along with the names we used for the parameters in our API—will be used by ChatGPT to figure out when and how to call our plugin. But in this example, we just want to use some kind of unique name for the endpoint, so we’ll be able to refer to it in our chat without ChatGPT confusing it with something else. So let’s call it ColorMangle. So now let’s do the deployment:

\n
\n
\n

\n

Everything we’ve said so far about APIFunction and how it’s called works the same in ChatGPTPluginDeploy and ChatGPTPluginCloudDeploy. But what we’ll say next is different. Because ChatGPTPluginDeploy sets up the API function to execute on your local computer, while ChatGPTPluginCloudDeploy sets it up to run in the Wolfram Cloud (or it could be a Wolfram Enterprise Private Cloud, etc.).

\n

There are advantages and disadvantages to both local and cloud deployment. Running locally allows you to get access to local features of your computer, like camera, filesystem, etc. Running in the cloud allows you to let other people also run your plugin (though, currently, unless you register your plugin with OpenAI, only a limited number of people will be able to install your plugin at any one time).

\n

But, OK, let’s talk about local plugin deployment. ChatGPTPluginDeploy effectively sets up a minimal web server on your computer (implemented with 10 lines of Wolfram Language code), running on a port that ChatGPTPluginDeploy chooses, and calling the Wolfram Engine with your API function whenever it receives a request to the API’s URL.

\n

Here’s the operating system socket that ChatGPTPluginDeploy is using (and, yes, the Wolfram Language represents sockets—like everything else—as symbolic expressions):

\n
\n
\n

\n

OK, but how does ChatGPT know about your API? First, you have to tell it the port you’re using, which you do through the ChatGPT UI (Plugins > Plugin store > Develop your own plugin). You can find the port by clicking the icon in the ChatGPTPluginDeployment object, or programmatically with:

\n
\n
\n

\n

You enter this URL, then tell ChatGPT to “Find manifest file”:

\n

Find manifest file

\n

Let’s look at what it found:

\n

\n

It’s a “manifest” that tells it about the plugin you’re installing. We didn’t specify much, so most things here are just defaults. But an important piece of the manifest is the part that gives the URL for API spec: http://localhost:59353/.well-known/openapi.json

\n

And going there we find this “OpenAPI spec”:

\n

Validated OpenAPI spec

\n

Finally, click Install localhost plugin, and the plugin will show up in the list of installed plugins in your ChatGPT session:

\n
\n
\n

\n

And when ChatGPT starts with the plugin installed, it includes an extra piece in its “system prompt”, that lets it “learn” how to call the plugin:

\n

System prompt

\n

So now we’re ready to use the plugin:

\n
\n
\n

\n

And, yes, it works. But there’s a bit of magic here. Somehow ChatGPT had to “take apart” what we’d asked, realize that the API endpoint called ColorMangle was relevant, then figure out that its color parameter should be “lime green”, and its level should be “0.5”. Opening the box, we can see what it did:

\n
\n
\n

\n

And now we can start using “color mangling” in other places—though ChatGPT hastens to tell us that “color mangling” is a “fictional operation”, perhaps lest it’s accused of disrespecting a country’s flag colors:

\n
\n
\n

\n

In the case we’re dealing with here, ChatGPT manages to correctly “wire up” fragments of text to appropriate parameters in our API. And it does that (rather remarkably) just from the scrap of information it gleans from the names we used for the parameters (and the name we gave the endpoint).

\n

But sometimes we have to tell it a bit more, and we can do that by specifying a prompt for the plugin inside ChatGPTPluginDeploy:

\n
\n
\n

\n

Now we don’t have to just talk about colors:

\n
\n
\n

\n

At first, it didn’t successfully “untangle” the “colors of Iceland”, but then it corrected itself, and got the answers. (And, yes, we might have been able to avoid this by writing a better prompt.)

\n

And actually, there are multiple levels of prompts you can give. You can include a fairly long prompt for the whole plugin. Then you can give shorter prompts for each individual API endpoint. And finally, you can give prompts to help ChatGPT interpret individual parameters in the API, for example by replacing \"color\" \"Color\" with something like:

\n
\n
\n

\n

When you set up a plugin, it can contain many endpoints, that do different things. And—in addition to sharing prompts—one reason this is particularly convenient is that (at least right now, for security reasons) any given subdomain can have only one associated plugin. So if one wants to have a range of functionality, this has to be implemented by having different endpoints.

\n

For ChatGPTPluginCloudDeploy the one-plugin-per-subdomain limit currently means that any given user can only deploy one cloud plugin at a time. But for local plugins the rules are a bit different, and ChatGPTPluginDeploy can deploy multiple plugins by just having them run on different ports—and indeed by default ChatGPTPluginDeploy just picks a random unused port every time you call it.

\n

But how does a local plugin really work? And how does it “reach back” to your computer? The magic is basically happening in the ChatGPT web front end. The way all plugins work is that when the plugin is going to be called, the token-at-a-time generation process of the LLM stops, and the next action of the “outer loop” is to call the plugin—then add whatever result it gives to the string that will be fed to the LLM at the next step. Well, in the case of a local plugin, the outer loop uses JavaScript in the ChatGPT front end to send a request locally on your computer to the localhost port you specified. (By the way, once ChatGPTPluginDeploy opens a port, it’ll stay open until you explicitly call Close on its socket object.)

\n

When one’s using local plugins, they’re running their Wolfram Language code right in the Wolfram Language session from which the plugin was deployed. And this means, for example, that (as we saw in some cases above) values that get set in one plugin call are still there when another call is made.

\n

In the cloud it doesn’t immediately work this way, because each API call is effectively independent. But it’s straightforward to save state in cloud objects (say using CloudPut, or with CloudExpression, etc.) so that one can have “persistent memory” across many API calls.

\n

The LLM inside ChatGPT is (currently) set up to deal only with text. So what happens with images? Well, plugins can put them into the Wolfram Cloud, then pass their URLs to ChatGPT. And ChatGPT is set up to be able to render directly certain special kinds of things—like images.

\n

So—as we saw above—to “output” an image (or several) from a plugin, we can use CloudExport to put each image in a cloud object, say in PNG format. And then ChatGPT, perhaps with some prompting, can show the image inline in its output.

\n

There’s some slightly tricky “plumbing” in deploying Wolfram Language plugins in ChatGPT, most of which is handled automatically in ChatGPTPluginDeploy and ChatGPTPluginCloudDeploy. But by building on the fundamental symbolic structure of the Wolfram Language (and its integrated deployment capabilities) it’s remarkably straightforward to create elaborate custom Wolfram Language plugins for ChatGPT, and to contribute to the emerging ecosystem around LLMs and Wolfram Language.

\n", - "category": "Artificial Intelligence", - "link": "https://writings.stephenwolfram.com/2023/04/instant-plugins-for-chatgpt-introducing-the-wolfram-chatgpt-plugin-kit/", - "creator": "Stephen Wolfram", - "pubDate": "Thu, 27 Apr 2023 20:40:34 +0000", - "enclosure": "https://content.wolfram.com/sites/43/2023/04/hal9000.wav", - "enclosureType": "audio/wav", - "image": "https://content.wolfram.com/sites/43/2023/04/hal9000.wav", - "id": "", - "language": "en", - "folder": "", - "feed": "wolfram", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "89dc200fa2e975a5bf556c649003dd88", - "highlights": [] - }, { "title": "ChatGPT Gets Its “Wolfram Superpowers”!", "description": "\"\"See also: “What Is ChatGPT Doing … and Why Does It Work?” » This is part of an ongoing series about our LLM-related technology:ChatGPT Gets Its “Wolfram Superpowers”!Instant Plugins for ChatGPT: Introducing the Wolfram ChatGPT Plugin KitThe New World of LLM Functions: Integrating LLM Technology into the Wolfram LanguagePrompts for Work & Play: Launching the Wolfram […]", @@ -285,28 +395,6 @@ "hash": "01523c3af3d938dcb71bbb9c163d8af6", "highlights": [] }, - { - "title": "Will AIs Take All Our Jobs and End Human History—or Not? Well, It’s Complicated…", - "description": "\"\"The Shock of ChatGPT Just a few months ago writing an original essay seemed like something only a human could do. But then ChatGPT burst onto the scene. And suddenly we realized that an AI could write a passable human-like essay. So now it’s natural to wonder: How far will this go? What will AIs […]", - "content": "\"\"

\n

The Shock of ChatGPT

\n

Just a few months ago writing an original essay seemed like something only a human could do. But then ChatGPT burst onto the scene. And suddenly we realized that an AI could write a passable human-like essay. So now it’s natural to wonder: How far will this go? What will AIs be able to do? And how will we humans fit in?

\n

My goal here is to explore some of the science, technology—and philosophy—of what we can expect from AIs. I should say at the outset that this is a subject fraught with both intellectual and practical difficulty. And all I’ll be able to do here is give a snapshot of my current thinking—which will inevitably be incomplete—not least because, as I’ll discuss, trying to predict how history in an area like this will unfold is something that runs straight into an issue of basic science: the phenomenon of computational irreducibility.

\n

But let’s start off by talking about that particularly dramatic example of AI that’s just arrived on the scene: ChatGPT. So what is ChatGPT? Ultimately, it’s a computational system for generating text that’s been set up to follow the patterns defined by human-written text from billions of webpages, millions of books, etc. Give it a textual prompt and it’ll continue in a way that’s somehow typical of what it’s seen us humans write.

\n

The results (which ultimately rely on all sorts of specific engineering) are remarkably “human like”. And what makes this work is that whenever ChatGPT has to “extrapolate” beyond anything it’s explicitly seen from us humans it does so in ways that seem similar to what we as humans might do.

\n

Inside ChatGPT is something that’s actually computationally probably quite similar to a brain—with millions of simple elements (“neurons”) forming a “neural net” with billions of connections that have been “tweaked” through a progressive process of training until they successfully reproduce the patterns of human-written text seen on all those webpages, etc. Even without training the neural net would still produce some kind of text. But the key point is that it won’t be text that we humans consider meaningful. To get such text we need to build on all that “human context” defined by the webpages and other materials we humans have written. The “raw computational system” will just do “raw computation”; to get something aligned with us humans requires leveraging the detailed human history captured by all those pages on the web, etc.

\n

But so what do we get in the end? Well, it’s text that basically reads like it was written by a human. In the past we might have thought that human language was somehow a uniquely human thing to produce. But now we’ve got an AI doing it. So what’s left for us humans? Well, somewhere things have got to get started: in the case of text, there’s got to be a prompt specified that tells the AI “what direction to go in”. And this is the kind of thing we’ll see over and over again. Given a defined “goal”, an AI can automatically work towards achieving it. But it ultimately takes something beyond the raw computational system of the AI to define what us humans would consider a meaningful goal. And that’s where we humans come in.

\n

What does this mean at a practical, everyday level? Typically we use ChatGPT by telling it—using text—what we basically want. And then it’ll fill in a whole essay’s worth of text talking about it. We can think of this interaction as corresponding to a kind of “linguistic user interface” (that we might dub a “LUI”). In a graphical user interface (GUI) there’s core content that’s being rendered (and input) through some potentially elaborate graphical presentation. In the LUI provided by ChatGPT there’s instead core content that’s being rendered (and input) through a textual (“linguistic”) presentation.

\n

You might jot down a few “bullet points”. And in their raw form someone else would probably have a hard time understanding them. But through the LUI provided by ChatGPT those bullet points can be turned into an “essay” that can be generally understood—because it’s based on the “shared context” defined by everything from the billions of webpages, etc. on which ChatGPT has been trained.

\n

There’s something about this that might seem rather unnerving. In the past, if you saw a custom-written essay you’d reasonably be able to conclude that a certain irreducible human effort was spent in producing it. But with ChatGPT this is no longer true. Turning things into essays is now “free” and automated. “Essayification” is no longer evidence of human effort.

\n

Of course, it’s hardly the first time there’s been a development like this. Back when I was a kid, for example, seeing that a document had been typeset was basically evidence that someone had gone to the considerable effort of printing it on printing press. But then came desktop publishing, and it became basically free to make any document be elaborately typeset.

\n

And in a longer view, this kind of thing is basically a constant trend in history: what once took human effort eventually becomes automated and “free to do” through technology. There’s a direct analog of this in the realm of ideas: that with time higher and higher levels of abstraction are developed, that subsume what were formerly laborious details and specifics.

\n

Will this end? Will we eventually have automated everything? Discovered everything? Invented everything? At some level, we now know that the answer is a resounding no. Because one of the consequences of the phenomenon of computational irreducibility is that there’ll always be more computations to do—that can’t in the end be reduced by any finite amount of automation, discovery or invention.

\n

Ultimately, though, this will be a more subtle story. Because while there may always be more computations to do, it could still be that we as humans don’t care about them. And that somehow everything we care about can successfully be automated—say by AIs—leaving “nothing more for us to do”.

\n

Untangling this issue will be at the heart of questions about how we fit into the AI future. And in what follows we’ll see over and over again that what might at first essentially seem like practical matters of technology quickly get enmeshed with deep questions of science and philosophy.

\n

Intuition from the Computational Universe

\n

I’ve already mentioned computational irreducibility a couple of times. And it turns out that this is part of a circle of rather deep—and at first surprising—ideas that I believe are crucial to thinking about the AI future.

\n

Most of our existing intuition about “machinery” and “automation” comes from a kind of “clockwork” view of engineering—in which we specifically build systems component by component to achieve objectives we want. And it’s the same with most software: we write it line by line to specifically do—step by step—whatever it is we want. And we expect that if we want our machinery—or software—to do complex things then the underlying structure of the machinery or software must somehow be correspondingly complex.

\n

So when I started exploring the whole computational universe of possible programs in the early 1980s it was a big surprise to discover that things work quite differently there. And indeed even tiny programs—that effectively just apply very simple rules repeatedly—can generate great complexity. In our usual practice of engineering we haven’t seen this, because we’ve always specifically picked programs (or other structures) where we can readily foresee how they’ll behave, so that we can explicitly set them up to do what we want. But out in the computational universe it’s very common to see programs that just “intrinsically generate” great complexity, without us ever having to explicitly “put it in”.

\n
\n
\n
\n

\n

And having discovered this, we realize that there’s actually a big example that’s been around forever: the natural world. And indeed it increasingly seems as if the “secret” that nature uses to make the complexity it so often shows is exactly to operate according to the rules of simple programs. (For about three centuries it seemed as if mathematical equations were the ultimate way to describe the natural world—but in the past few decades, and particularly poignantly with our recent Physics Project, it’s become clear that simple programs are in general a more powerful approach.)

\n

How does all this relate to technology? Well, technology is about taking what’s out there in the world, and harnessing it for human purposes. And there’s a fundamental tradeoff here. There may be some system out in nature that does amazingly complex things. But the question is whether we can “slice off” certain particular things that we humans happen to find useful. A donkey has all sorts of complex things going on inside. But at some point it was discovered that we can use it “technologically” to do the rather simple thing of pulling a cart.

\n

And when it comes to programs out in the computational universe it’s extremely common to see ones that do amazingly complex things. But the question is whether we can find some aspect of those things that’s useful to us. Maybe the program is good at making pseudorandomness. Or distributedly determining consensus. Or maybe it’s just doing its complex thing, and we don’t yet know any “human purpose” that this achieves.

\n

One of the notable features of a system like ChatGPT is that it isn’t constructed in an “understand-every-step” traditional engineering way. Instead one basically just starts from a “raw computational system” (in the case of ChatGPT, a neural net), then progressively tweaks it until its behavior aligns with the “human-relevant” examples one has. And this alignment is what makes the system “technologically useful”—to us humans.

\n

Underneath, though, it’s still a computational system, with all the potential “wildness” that implies. And free from the “technological objective” of “human-relevant alignment” the system might do all sorts of sophisticated things. But they might not be things that (at least at this time in history) we care about. Even though some putative alien (or our future selves) might.

\n

OK, but let’s come back to the “raw computation” side of things. There’s something very different about computation from all other kinds of “mechanisms” we’ve seen before. We might have a cart that can move forward. And we might have a stapler that can put staples in things. But carts and staplers do very different things; there’s no equivalence between them. But for computational systems (at least ones that don’t just always behave in obviously simple ways) there’s my Principle of Computational Equivalence—which implies that all these systems are in a sense equivalent in the kinds of computations they can do.

\n

This equivalence has many consequences. One of them is that one can expect to make something equally computationally sophisticated out of all sorts of different kinds of things—whether brain tissue or electronics, or some system in nature. And this is effectively where computational irreducibility comes from.

\n

One might think that given, say, some computational system based on a simple program it would always be possible for us—with our sophisticated brains, mathematics, computers, etc.—to “jump ahead” and figure out what the system will do before it’s gone through all the steps to do it. But the Principle of Computational Equivalence implies that this won’t in general be possible—because the system itself can be as computationally sophisticated as our brains, mathematics, computers, etc. are. So this means that the system will be computationally irreducible: the only way to find out what it does is effectively just to go through the same whole computational process that it does.

\n

There’s a prevailing impression that science will always eventually be able do better than this: that it’ll be able to make “predictions” that allow us to work out what will happen without having to trace through each step. And indeed over the past three centuries there’s been lots of success in doing this, mainly by using mathematical equations. But ultimately it turns out that this has only been possible because science has ended up concentrating on particular systems where these methods work (and then these systems have been used for engineering). But the reality is that many systems show computational irreducibility. And in the phenomenon of computational irreducibility science is in effect “deriving its own limitedness”.

\n

Contrary to traditional intuition, try as we might, in many systems we’ll never be able find “formulas” (or other “shortcuts”) that describe what’s going to happen in the systems—because the systems are simply computationally irreducible. And, yes, this represents a limitation on science, and on knowledge in general. But while at first this might seem like a bad thing, there’s also something fundamentally satisfying about it. Because if everything were computationally reducible, we could always “jump ahead” and find out what will happen in the end, say in our lives. But computational irreducibility implies that in general we can’t do that—so that in some sense “something irreducible is being achieved” by the passage of time.

\n

There are a great many consequences of computational irreducibility. Some—that I have particularly explored recently—are in the domain of basic science (for example, establishing core laws of physics as we perceive them from the interplay of computational irreducibility and our computational limitations as observers). But computational irreducibility is also central in thinking about the AI future—and in fact I increasingly feel that it adds the single most important intellectual element needed to make sense of many of the most important questions about the potential roles of AIs and humans in the future.

\n

For example, from our traditional experience with engineering we’re used to the idea that to find out why something happened in a particular way we can just “look inside” a machine or program and “see what it did”. But when there’s computational irreducibility, that won’t work. Yes, we could “look inside” and see, say, a few steps. But computational irreducibility implies that to find out what happened, we’d have to trace through all the steps. We can’t expect to find a “simple human narrative” that “says why something happened”.

\n

But having said this, one feature of computational irreducibility is that within any computationally irreducible systems there must always be (ultimately, infinitely many) “pockets of computational reducibility” to be found. So for example, even though we can’t say in general what will happen, we’ll always be able to identify specific features that we can predict. (“The leftmost cell will always be black”, etc.) And as we’ll discuss later we can potentially think of technological (as well as scientific) progress as being intimately tied to the discovery of these “pockets of reducibility”. And in effect the existence of infinitely many such pockets is the reason that “there’ll always be inventions and discoveries to be made”.

\n

Another consequence of computational irreducibility has to do with trying to ensure things about the behavior of a system. Let’s say one wants to set up an AI so it’ll “never do anything bad”. One might imagine that one could just come up with particular rules that ensure this. But as soon as the behavior of the system (or its environment) is computationally irreducible one will never be able to guarantee what will happen in the system. Yes, there may be particular computationally reducible features one can be sure about. But in general computational irreducibility implies that there’ll always be a “possibility of surprise” or the potential for “unintended consequences”. And the only way to systematically avoid this is to make the system not computationally irreducible—which means it can’t make use of the full power of computation.

\n

“AIs Will Never Be Able to Do That”

\n

We humans like to feel special, and feel as if there’s something “fundamentally unique” about us. Five centuries ago we thought we lived at the center of the universe. Now we just tend to think that there’s something about our intellectual capabilities that’s fundamentally unique and beyond anything else. But the progress of AI—and things like ChatGPT—keep on giving us more and more evidence that that’s not the case. And indeed my Principle of Computational Equivalence says something even more extreme: that at a fundamental computational level there’s just nothing fundamentally special about us at all—and that in fact we’re computationally just equivalent to lots of systems in nature, and even to simple programs.

\n

This broad equivalence is important in being able to make very general scientific statements (like the existence of computational irreducibility). But it also highlights how significant our specifics—our particular history, biology, etc.—are. It’s very much like with ChatGPT. We can have a generic (untrained) neural net with the same structure as ChatGPT, that can do certain “raw computation”. But what makes ChatGPT interesting—at least to us—is that it’s been trained with the “human specifics” described on billions of webpages, etc. In other words, for both us and ChatGPT there’s nothing computationally “generally special”. But there is something “specifically special”—and it’s the particular history we’ve had, particular knowledge our civilization has accumulated, etc.

\n

There’s a curious analogy here to our physical place in the universe. There’s a certain uniformity to the universe, which means there’s nothing “generally special” about our physical location. But at least to us there’s still something “specifically special” about it, because it’s only here that we have our particular planet, etc. At a deeper level, ideas based on our Physics Project have led to the concept of the ruliad: the unique object that is the entangled limit of all possible computational processes. And we can then view our whole experience as “observers of the universe” as consisting of sampling the ruliad at a particular place.

\n

It’s a bit abstract (and a long story, which I won’t go into in any detail here), but we can think of different possible observers as being both at different places in physical space, and at different places in rulial space—giving them different “points of view” about what happens in the universe. Human minds are in effect concentrated in a particular region of physical space (mostly on this planet) and a particular region of rulial space. And in rulial space different human minds—with their different experiences and thus different ways of thinking about the universe—are in slightly different places. Animal minds might be fairly close in rulial space. But other computational systems (like, say, the weather, which is sometimes said to “have a mind of its own”) are further away—as putative aliens might also be.

\n

So what about AIs? It depends what we mean by “AIs”. If we’re talking about computational systems that are set up to do “human-like things” then that means they’ll be close to us in rulial space. But insofar as “an AI” is an arbitrary computational system it can be anywhere in rulial space, and it can do anything that’s computationally possible—which is far broader than what we humans can do, or even think about. (As we’ll talk about later, as our intellectual paradigms—and ways of observing things—expand, the region of rulial space in which we humans operate will correspondingly expand.)

\n

But, OK, just how “general” are the computations that we humans (and the AIs that follow us) are doing? We don’t know enough about the brain to be sure. But if we look at artificial neural net systems—like ChatGPT—we can potentially get some sense. And in fact the computations really don’t seem to be that “general”. In most neural net systems data that’s given as input just “ripples once through the system” to produce output. It’s not like in a computational system like a Turing machine where there can be arbitrary “recirculation of data”. And indeed without such “arbitrary recirculation” the computation is necessarily quite “shallow” and can’t ultimately show computational irreducibility.

\n

It’s a bit of a technical point, but one can ask whether ChatGPT, with its “re-feeding of text produced so far” can in fact achieve arbitrary (“universal”) computation. And I suspect that in some formal sense it can (or at least a sufficiently expanded analog of it can)—though by producing an extremely verbose piece of text that for example in effect lists successive (self-delimiting) states of a Turing machine tape, and in which finding “the answer” to a computation will take a bit of effort. But—as I’ve discussed elsewhere—in practice ChatGPT is presumably almost exclusively doing “quite shallow” computation.

\n

It’s an interesting feature of the history of practical computing that what one might consider “deep pure computations” (say in mathematics or science) were done for decades before “shallow human-like computations” became feasible. And the basic reason for this is that for “human-like computations” (like recognizing images or generating text) one needs to capture lots of “human context”, which requires having lots of “human-generated data” and the computational resources to store and process it.

\n

And, by the way, brains also seem to specialize in fundamentally shallow computations. And to do the kind of deeper computations that allow one to take advantage of more of what’s out there in the computational universe, one has to turn to computers. As we’ve discussed, there’s plenty out in the computational universe that we humans don’t (yet) care about: we just consider it “raw computation”, that doesn’t seem to be “achieving human purposes”. But as a practical matter it’s important to make a bridge between the things we humans do care about and think about, and what’s possible in the computational universe. And in a sense that’s at the core of the project I’ve put so much effort into in the Wolfram Language of creating a full-scale computational language that describes in computational terms the things we think about, and experience in the world.

\n

OK, people have been saying for years: “It’s nice that computers can do A and B, but only humans can do X”. What X is supposed to be has changed—and narrowed—over the years. And ChatGPT provides us with a major unexpected new example of something more that computers can do.

\n

So what’s left? People might say: “Computers can never show creativity or originality”. But—perhaps disappointingly—that’s surprisingly easy to get, and indeed just a bit of randomness “seeding” a computation can often do a pretty good job, as we saw years ago with our WolframTones music-generation system, and as we see today with ChatGPT’s writing. People might also say: “Computers can never show emotions”. But before we had a good way to generate human language we wouldn’t really have been able to tell. And now it already works pretty well to ask ChatGPT to write “happily”, “sadly”, etc. (In their raw form emotions in both humans and other animals are presumably associated with rather simple “global variables” like neurotransmitter concentrations.)

\n

In the past people might have said: “Computers can never show judgement”. But by now there are endless examples of machine learning systems that do well at reproducing human judgement in lots of domains. People might also say: “Computers don’t show common sense”. And by this they typically mean that in a particular situation a computer might locally give an answer, but there’s a global reason why that answer doesn’t make sense, that the computer “doesn’t notice”, but a person would.

\n

So how does ChatGPT do on this? Not too badly. In plenty of cases it correctly recognizes that “that’s not what I’ve typically read”. But, yes, it makes mistakes. Some of them have to do with it not being able to do—purely with its neural net—even slightly “deeper”computations. (And, yes, that’s something that can often be fixed by it calling Wolfram|Alpha as a tool.) But in other cases the problem seems to be that it can’t quite connect different domains well enough.

\n

It’s perfectly capable of doing simple (“SAT-style”) analogies. But when it comes to larger-scale ones it doesn’t manage them. My guess, though, is that it won’t take much scaling up before it starts to be able to make what seem like very impressive analogies (that most of us humans would never even be able to make)—at which point it’ll probably successfully show broader “common sense”.

\n

But so what’s left that humans can do, and AIs can’t? There’s—almost by definition—one fundamental thing: define what we would consider goals for what to do. We’ll talk more about this later. But for now we can note that any computational system, once “set in motion”, will just follow its rules and do what it does. But what “direction should it be pointed in”? That’s something that has to come from “outside the system”.

\n

So how does it work for us humans? Well, our goals are in effect defined by the whole web of history—both from biological evolution and from our cultural development—in which we are embedded. But ultimately the only way to truly participate in that web of history is to be part of it.

\n

Of course, we can imagine technologically emulating every “relevant” aspect of a brain—and indeed things like the success of ChatGPT may suggest that that’s easier to do than we might have thought. But that won’t be enough. To participate in the “human web of history” (as we’ll discuss later) we’ll have to emulate other aspects of “being human”—like moving around, being mortal, etc. And, yes, if we make an “artificial human” we can expect it (by definition) to show all the features of us humans.

\n

But while we’re still talking about AIs as—for example—“running on computers” or “being purely digital” then, at least as far as we’re concerned, they’ll have to “get their goals from outside”. One day (as we’ll discuss) there will no doubt be some kind of “civilization of AIs”—which will form its own web of history. But at this point there’s no reason to think that we’ll still be able to describe what’s going on in terms of goals that we recognize. In effect the AIs will at that point have left our domain of rulial space. And—as we’ll discuss—they’ll be operating more like the kind of systems we see in nature, where we can tell there’s computation going on, but we can’t describe it, except rather anthropomorphically, in terms of human goals and purposes.

\n

Will There Be Anything Left for the Humans to Do?

\n

It’s been an issue that’s been raised—with varying degrees of urgency—for centuries: with the advance of automation (and now AI), will there eventually be nothing left for humans to do? Back in the early days of our species, there was lots of hard work of hunting and gathering to do, just to survive. But at least in the developed parts of the world, that kind of work is now at best a distant historical memory.

\n

And yet at each stage in history—at least so far—there always seem to be other kinds of work that keep people busy. But there’s a pattern that increasingly seems to repeat. Technology in some way or another enables some new occupation. And eventually that occupation becomes widespread, and lots of people do it. But then there’s a technological advance, and the occupation gets automated—and people aren’t needed to do it anymore. But now there’s a new level of technology, that enables new occupations. And the cycle continues.

\n

A century ago the increasingly widespread use of telephones meant that more and more people worked as switchboard operators. But then telephone switching was automated—and those switchboard operators weren’t needed anymore. But with automated switching there could be huge development of telecommunications infrastructure, opening up all sorts of new types of jobs, that in aggregate employ vastly more people than were ever switchboard operators.

\n

Something somewhat similar happened with accounting clerks. Before there were computers, one needed to have people laboriously tallying up numbers. But with computers, that was all automated away. But with that automation came the ability to do more complex financial computations—which allowed for more complex financial transactions, more complex regulations, etc., which in turn led to all sorts of new types of jobs.

\n

And across a whole range of industries, it’s been the same kind of story. Automation obsoletes some jobs, but enables others. There’s quite often a gap in time, and a change in the skills that are needed. But at least so far there always seems to have been a broad frontier of jobs that have been made possible—but haven’t yet been automated.

\n

Will this at some point end? Will there come a time when everything we humans want (or at least need) is delivered automatically? Well, of course, that depends on what we want, and whether, for example, that evolves with what technology has made possible. But could we just decide that “enough is enough”; let’s stop here, and just let everything be automated?

\n

I don’t think so. And the reason is ultimately because of computational irreducibility. We try to get the world to be “just so”, say set up so we’re “predictably comfortable”. Well, the problem is that there’s inevitably computational irreducibility in the way things develop—not just in nature, but in things like societal dynamics too. And that means that things won’t stay “just so”. There’ll always be something unpredictable that happens; something that the automation doesn’t cover.

\n

At first we humans might just say “we don’t care about that”. But in time computational irreducibility will affect everything. So if there’s anything at all we care about (including, for example, not going extinct), we’ll eventually have to do something—and go beyond whatever automation was already set up.

\n

It’s easy to find practical examples. We might think that when computers and people are all connected in a seamless automated network, there’d be nothing more to do. But what about the “unintended consequence” of computer security issues? What might have seemed like a case where “technology finished things” quickly creates a new kind of job for people to do. And at some level, computational irreducibility implies that things like this must always happen. There must always be a “frontier”. At least if there’s anything at all we want to preserve (like not going extinct).

\n

But let’s come back to the situation here and now with AI. ChatGPT just automated all sorts of text-related tasks. It used to take lots of effort—and people—to write customized reports, letters, etc. But (at least so long as one’s dealing with situations where one doesn’t need 100% “correctness”) ChatGPT just automated a lot of that, so people aren’t needed for it anymore. But what will this mean? Well, it means that there’ll be a lot more customized reports, letters, etc. that can be produced. And that will lead to new kinds of jobs—managing, analyzing, validating etc. all that mass-customized text. Not to mention the need for prompt engineers (a job category that just didn’t exist until a few months ago), and what amount to AI wranglers, AI psychologists, etc.

\n

But let’s talk about today’s “frontier” of jobs that haven’t been “automated away”. There’s one category that in many ways seems surprising to still be “with us”: jobs that involve lots of mechanical manipulation, like construction, fulfillment, food preparation, etc. But there’s a missing piece of technology here: there isn’t yet good general-purpose robotics (as there is general-purpose computing), and we humans still have the edge in dexterity, mechanical adaptability, etc. But I’m quite sure that in time—and perhaps quite suddenly—the necessary technology will be developed (and, yes, I have ideas about how to do it). And this will mean that most of today’s “mechanical manipulation” jobs will be “automated away”—and won’t need people to do them.

\n

But then, just as in our other examples, this will mean that mechanical manipulation will become much easier and cheaper to do, and more of it will be done. Houses might routinely be built and dismantled. Products might routinely be picked up from wherever they’ve ended up, and redistributed. Vastly more ornate “food constructions” might become the norm. And each of these things—and many more—will open up new jobs.

\n

But will every job that exists in the world today “on the frontier” eventually be automated? What about jobs where it seems like a large part of the value is just “having a human be there”? Jobs like flying a plane where one wants the “commitment” of the pilot being there in the plane. Caregiver jobs where one wants the “connection” of a human being there. Sales or education jobs where one wants “human persuasion” or “human encouragement”. Today one might think “only a human can make one feel that way”. But that’s typically based on the way the job is done now. And maybe there’ll be different ways found that allow the essence of the task to be automated, almost inevitably opening up new tasks to be done.

\n

For example, something that in the past needed “human persuasion” might be “automated” by something like gamification—but then more of it can be done, with new needs for design, analytics, management, etc.

\n

We’ve been talking about “jobs”. And that term immediately brings to mind wages, economics, etc. And, yes, plenty of what people do (at least in the world as it is today) is driven by issues of economics. But plenty is also not. There are things we “just want to do”—as a “social matter”, for “entertainment”, for “personal satisfaction”, etc.

\n

Why do we want to do these things? Some of it seems intrinsic to our biological nature. Some of it seems determined by the “cultural environment” in which we find ourselves. Why might one walk on a treadmill? In today’s world one might explain that it’s good for health, lifespan, etc. But a few centuries ago, without modern scientific understanding, and with a different view of the significance of life and death, that explanation really wouldn’t work.

\n

What drives such changes in our view of what we “want to do”, or “should do”? Some seems to be driven by the pure “dynamics of society”, presumably with its own computational irreducibility. But some has to do with our ways of interacting with the world—both the increasing automation delivered by the advance of technology, and the increasing abstraction delivered by the advance of knowledge.

\n

And there seem to be similar “cycles” seen here as in the kinds of things we consider to be “occupations” or “jobs”. For a while something is hard to do, and serves as a good “pastime”. But then it gets “too easy” (“everybody now knows how to win at game X”, etc.), and something at a “higher level” takes its place.

\n

About our “base” biologically driven motivations it doesn’t seem like anything has really changed in the course of human history. But there are certainly technological developments that could have an effect in the future. Effective human immortality, for example, would change many aspects of our motivation structure. As would things like the ability to implant memories or, for that matter, implant motivations.

\n

For now, there’s a certain element of what we want to do that’s “anchored” by our biological nature. But at some point we’ll surely be able to emulate with a computer at least the essence of what our brains are doing (and indeed the success of things like ChatGPT makes it seems like the moment when that will happen is closer at hand than we might have thought). And at that point we’ll have the possibility of what amount to “disembodied human souls”.

\n

To us today it’s very hard to imagine what the “motivations” of such a “disembodied soul” might be. Looked at “from the outside” we might “see the soul” doing things that “don’t make much sense” to us. But it’s like asking what someone from a thousand years ago would think about many of our activities today. These activities make sense to us today because we’re embedded in our whole “current framework”. But without that framework they don’t make sense. And so it will be for the “disembodied soul”. To us, what it does may not make sense. But to it, with its “current framework”, it will.

\n

Could we “learn how to make sense of it”? There’s likely to be a certain barrier of computational irreducibility: in effect the only way to “understand the soul of the future” is to retrace its steps to get to where it is. So from our vantage point today, we’re separated by a certain “irreducible distance”, in effect in rulial space.

\n

But could there be some science of the future that will at least tell us general things about how such “souls” behave? Even when there’s computational irreducibility we know that there will always be pockets of computational reducibility—and thus features of behavior that are predictable. But will those features be “interesting”, say from our vantage point today? Maybe some of them will be. Maybe they’ll show us some kind of metapsychology of souls. But inevitably they can only go so far. Because in order for those souls to even experience the passage of time there has to be computational irreducibility. If too much of what happens is too predictable, it’s as if “nothing is happening”—or at least nothing “meaningful”.

\n

And, yes, this is all tied up with questions about “free will”. Even when there’s a disembodied soul that’s operating according to some completely deterministic underlying program, computational irreducibility means its behavior can still “seem free”—because nothing can “outrun it” and say what it’s going to be. And the “inner experience” of the disembodied soul can be significant: it’s “intrinsically defining its future”, not just “having its future defined for it”.

\n

One might have assumed that once everything is just “visibly operating” as “mere computation” it would necessarily be “soulless” and “meaningless”. But computational irreducibility is what breaks out of this, and what allows there to be something irreducible and “meaningful” achieved. And it’s the same phenomenon whether one’s talking about our life now in the physical universe, or a future “disembodied” computational existence. Or in other words, even if absolutely everything—even our very existence—has been “automated by computation”, that doesn’t mean we can’t have a perfectly good “inner experience” of meaningful existence.

\n

Generalized Economics and the Concept of Progress

\n

If we look at human history—or, for that matter, the history of life on Earth—there’s a certain pervasive sense that there’s some kind of “progress” happening. But what fundamentally is this “progress”? One can view it as the process of things being done at a progressively “higher level”, so that in effect “more of what’s important” can happen with a given effort. This idea of “going to a higher level” takes many forms—but they’re all fundamentally about eliding details below, and being able to operate purely in terms of the “things one cares about”.

\n

In technology, this shows up as automation, in which what used to take lots of detailed steps gets packaged into something that can be done “with the push of a button”. In science—and the intellectual realm in general—it shows up as abstraction, where what used to involve lots of specific details gets packaged into something that can be talked about “purely collectively”. And in biology it shows up as some structure (ribosome, cell, wing, etc.) that can be treated as a “modular unit”.

\n

That it’s possible to “do things at a higher level” is a reflection of being able to find “pockets of computational reducibility”. And—as we mentioned above—the fact that (given underlying computational irreducibility) there are necessarily an infinite number of such pockets means that “progress can always go on forever”.

\n

When it comes to human affairs we tend to value such progress highly, because (at least for now) we live finite lives, and insofar as we “want more to happen”, “progress” makes that possible. It’s certainly not self-evident that having more happen is “good”; one might just “want a quiet life”. But there is one constraint that in a sense originates from the deep foundations of biology.

\n

If something doesn’t exist, then nothing can ever “happen to it”. So in biology, if one’s going to have anything “happen” with organisms, they’d better not be extinct. But the physical environment in which biological organisms exist is finite, with many resources that are finite. And given organisms with finite lives, there’s an inevitability to the process of biological evolution, and to the “competition” for resources between organisms.

\n

Will there eventually be an “ultimate winning organism”? Well, no, there can’t be—because of computational irreducibility. There’ll in a sense always be more to explore in the computational universe—more “raw computational material for possible organisms”. And given any “fitness criterion” (like—in a Turing machine analog—“living longer before halting”) there’ll always be a way to “do better” with it.

\n

One might still wonder, however, whether perhaps biological evolution—with its underlying process of random genetic mutation—could “get stuck” and never be able to discover some “way to do better”. And indeed simple models of evolution might give one the intuition that this would happen. But actual evolution seems more like deep learning with a large neural net—where one’s effectively operating in an extremely high-dimensional space where there’s typically always a “way to get there from here”, at least given enough time.

\n

But, OK, so from our history of biological evolution there’s a certain built-in sense of “competition for scarce resources”. And this sense of competition has (so far) also carried over to human affairs. And indeed it’s the basic driver for most of the processes of economics.

\n

But what if resources aren’t “scarce” anymore? What if progress—in the form of automation, or AI—makes it easy to “get anything one wants”? We might imagine robots building everything, AIs figuring everything out, etc. But there are still things that are inevitably scarce. There’s only so much real estate. Only one thing can be “the first ___”. And, in the end, if we have finite lives, we only have so much time.

\n

Still, the more efficient—or high level—the things we do (or have) are, the more we’ll be able to get done in the time we have. And it seems as if what we perceive as “economic value” is intimately connected with “making things higher level”. A finished phone is “worth more” than its raw materials. An organization is “worth more” than its separate parts. But what if we could have “infinite automation”? Then in a sense there’d be “infinite economic value everywhere”, and one might imagine there’d be “no competition left”.

\n

But once again computational irreducibility stands in the way. Because it tells us there’ll never be “infinite automation”, just as there’ll never be an ultimate winning biological organism. There’ll always be “more to explore” in the computational universe, and different paths to follow.

\n

What will this look like in practice? Presumably it’ll lead to all sorts of diversity. So that, for example, a chart of “what the components of an economy are” will become more and more fragmented; it won’t just be “the single winning economic activity is ___”.

\n

There is one potential wrinkle in this picture of unending progress. What if nobody cares? What if the innovations and discoveries just don’t matter, say to us humans? And, yes, there is of course plenty in the world that at any given time in history we don’t care about. That piece of silicon we’ve been able to pick out? It’s just part of a rock. Well, until we start making microprocessors out of it.

\n

But as we’ve discussed, as soon as we’re “operating at some level of abstraction” computational irreducibility makes it inevitable that we’ll eventually be exposed to things that “require going beyond that level”.

\n

But then—critically—there will be choices. There will be different paths to explore (or “mine”) in the computational universe—in the end infinitely many of them. And whatever the computational resources of AIs etc. might be, they’ll never be able to explore all of them. So something—or someone—will have to make a choice of which ones to take.

\n

Given a particular set of things one cares about at a particular point, one might successfully be able to automate all of them. But computational irreducibility implies there will always be a “frontier”, where choices have to be made. And there’s no “right answer”; no “theoretically derivable” conclusion. Instead, if we humans are involved, this is where we get to define what’s going to happen.

\n

How will we do that? Well, ultimately it’ll be based on our history—biological, cultural, etc. We’ll get to use all that irreducible computation that went into getting us to where we are to define what to do next. In a sense it’ll be something that goes “through us”, and that uses what we are. It’s the place where—even when there’s automation all around—there’s still always something us humans can “meaningfully” do.

\n

How Can We Tell the AIs What to Do?

\n

Let’s say we want an AI (or any computational system) to do a particular thing. We might think we could just set up its rules (or “program it”) to do that thing. And indeed for certain kinds of tasks that works just fine. But the deeper the use we make of computation, the more we’re going to run into computational irreducibility, and the less we’ll be able to know how to set up particular rules to achieve what we want.

\n

And then, of course, there’s the question of defining what “we want” in the first place. Yes, we could have specific rules that say what particular pattern of bits should occur at a particular point in a computation. But that probably won’t have much to do with the kind of overall “human-level” objective that we typically care about. And indeed for any objective we can even reasonably define, we’d better be able to coherently “form a thought” about it. Or, in effect, we’d better have some “human-level narrative” to describe it.

\n

But how can we represent such a narrative? Well, we have natural language—probably the single most important innovation in the history of our species. And what natural language fundamentally does is to allow us to talk about things at a “human level”. It’s made of words that we can think of as representing “human-level packets of meaning”. And so, for example, the word “chair” represents the human-level concept of a chair. It’s not referring to some particular arrangement of atoms. Instead, it’s referring to any arrangement of atoms that we can usefully conflate into the single human-level concept of a chair, and from which we can deduce things like the fact that we can expect to sit on it, etc.

\n

So, OK, when we’re “talking to an AI” can we expect to just say what we want using natural language? We can definitely get a certain distance—and indeed ChatGPT helps us get further than ever before. But as we try to make things more precise we run into trouble, and the language we need rapidly becomes increasingly ornate, as in the “legalese” of complex legal documents. So what can we do? If we’re going to keep things at the level of “human thoughts” we can’t “reach down” into all the computational details. But yet we want a precise definition of how what we might say can be implemented in terms of those computational details.

\n

Well, there’s a way to deal with this, and it’s one that I’ve personally devoted many decades to: it’s the idea of computational language. When we think about programming languages, they’re things that operate solely at the level of computational details, defining in more or less the native terms of a computer what the computer should do. But the point of a true computational language (and, yes, in the world today the Wolfram Language is the sole example) is to do something different: to define a precise way of talking in computational terms about things in the world (whether concretely countries or minerals, or abstractly computational or mathematical structures).

\n

Out in the computational universe, there’s immense diversity in the “raw computation” that can happen. But there’s only a thin sliver of it that we humans (at least currently) care about and think about. And we can view computational language as defining a bridge between the things we think about and what’s computationally possible. The functions in our computational language (7000 or so of them in the Wolfram Language) are in effect like words in a human language—but now they have a precise grounding in the “bedrock” of explicit computation. And the point is to design the computational language so it’s convenient for us humans to think and express ourselves in (like a vastly expanded analog of mathematical notation), but so it can also be precisely implemented in practice on a computer.

\n

Given a piece of natural language it’s often possible to give a precise, computational interpretation of it—in computational language. And indeed this is exactly what happens in Wolfram|Alpha. Give a piece of natural language and the Wolfram|Alpha NLU system will try to find an interpretation of it as computational language. And from this interpretation, it’s then up to the Wolfram Language to do the computation that’s specified, and give back the results—and potentially synthesize natural language to express them.

\n

As a practical matter, this setup is useful not only for humans, but also for AIs—like ChatGPT. Given a system that produces natural language, the Wolfram|Alpha NLU system can “catch” natural language it is “thrown”, and interpret it as computational language that precisely specifies a potentially irreducible computation to do.

\n

With both natural language and computational language one’s basically “directly saying what one wants”. But an alternative approach—more aligned with machine learning—is just to give examples, and (implicitly or explicitly) say “follow these”. Inevitably there has to be some underlying model for how to do that following—typically in practice just defined by “what a neural net with a certain architecture will do”. But will the result be “right”? Well, the result will be whatever the neural net gives. But typically we’ll tend to consider it “right” if it’s somehow consistent with what we humans would have concluded. And in practice this often seems to happen, presumably because the actual architecture of our brains is somehow similar enough to the architecture of the neural nets we’re using.

\n

But what if we want to “know for sure” what’s going to happen—or, for example, that some particular “mistake” can never be made? Well then we’re presumably thrust back into computational irreducibility, with the result that there’s no way to know, for example, whether a particular set of training examples can lead to a system that’s capable of doing (or not doing) some particular thing.

\n

OK, but let’s say we’re setting up some AI system, and we want to make sure it “doesn’t do anything bad”. There are several levels of issues here. The first is to decide what we mean by “anything bad”. And, as we’ll discuss below, that in itself is very hard. But even if we could abstractly figure this out, how should we actually express it? We could give examples—but then the AI will inevitably have to “extrapolate” from them, in ways we can’t predict. Or we could describe what we want in computational language. It might be difficult to cover “every case” (as it is in present-day human laws, or complex contracts). But at least we as humans can read what we’re specifying. Though even in this case, there’s an issue of computational irreducibility: that given the specification it won’t be possible to work out all its consequences.

\n

What does all this mean? In essence it’s just a reflection of the fact that as soon as there’s “serious computation” (i.e. irreducible computation) involved, one isn’t going to be immediately able to say what will happen. (And in a sense that’s inevitable, because if one could say, it would mean the computation wasn’t in fact irreducible.) So, yes, we can try to “tell AIs what to do”. But it’ll be like many systems in nature (or, for that matter, people): you can set them on a path, but you can’t know for sure what will happen; you just have to wait and see.

\n

A World Run by AIs

\n

In the world today, there are already plenty of things that are being done by AIs. And, as we’ve discussed, there’ll surely be more in the future. But who’s “in charge”? Are we telling the AIs what to do, or are they telling us? Today it’s at best a mixture: AIs suggest content for us (for example from the web), and in general make all sorts of recommendations about what we should do. And no doubt in the future those recommendations will be even more extensive and tightly coupled to us: we’ll be recording everything we do, processing it with AI, and continually annotating with recommendations—say through augmented reality—everything we see. And in some sense things might even go beyond “recommendations”. If we have direct neural interfaces, then we might be making our brains just “decide” they want to do things, so that in some sense we become pure “puppets of the AI”.

\n

And beyond “personal recommendations” there’s also the question of AIs running the systems we use, or in fact running the whole infrastructure of our civilization. Today we ultimately expect people to make large-scale decisions for our world—often operating in systems of rules defined by laws, and perhaps aided by computation, and even what one might call AI. But there may well come a time when it seems as if AIs could just “do a better job than humans”, say at running a central bank or waging a war.

\n

One might ask how one would ever know if the AI would “do a better job”. Well, one could try tests, and run examples. But once again one’s faced with computational irreducibility. Yes, the particular tests one tries might work fine. But one can’t ultimately predict everything that could happen. What will the AI do if there’s suddenly a never-before-seen seismic event? We basically won’t know until it happens.

\n

But can we be sure the AI won’t do anything “crazy”? Could we—with some definition of “crazy”—effectively “prove a theorem” that the AI can never do that? For any realistically nontrivial definition of crazy we’ll again run into computational irreducibility—and this won’t be possible.

\n

Of course, if we’ve put a person (or even a group of people) “in charge” there’s also no way to “prove” that they won’t do anything “crazy”—and history shows that people in charge quite often have done things that, at least in retrospect, we consider “crazy”. But even though at some level there’s no more certainty about what people will do than about what AIs might do, we still get a certain comfort when people are in charge if we think that “we’re in it together”, and that if something goes wrong those people will also “feel the effects”.

\n

But still, it seems inevitable that lots of decisions and actions in the world will be taken directly by AIs. Perhaps it’ll be because this will be cheaper. Perhaps the results (based on tests) will be better. Or perhaps, for example, things will just have to be done too quickly and in numbers too large for us humans to be in the loop.

\n

But, OK, if a lot of what happens in our world is happening through AIs, and the AIs are effectively doing irreducible computations, what will this be like? We’ll be in a situation where things are “just happening” and we don’t quite know why. But in a sense we’ve very much been in this situation before. Because it’s what happens all the time in our interaction with nature.

\n

Processes in nature—like, for example, the weather—can be thought of as corresponding to computations. And much of the time there’ll be irreducibility in those computations. So we won’t be able to readily predict them. Yes, we can do natural science to figure out some aspects of what’s going to happen. But it’ll inevitably be limited.

\n

And so we can expect it to be with the “AI infrastructure” of the world. Things are happening in it—as they are in the weather—that we can’t readily predict. We’ll be able to say some things—though perhaps in ways that are closer to psychology or social science than to traditional exact science. But there’ll be surprises—like maybe some strange AI analog of a hurricane or an ice age. And in the end all we’ll really be able to do is to try to build up our human civilization so that such things “don’t fundamentally matter” to it.

\n

In a sense the picture we have is that in time there’ll be a whole “civilization of AIs” operating—like nature—in ways that we can’t readily understand. And like with nature, we’ll coexist with it.

\n

But at least at first we might think there’s an important difference between nature and AIs. Because we imagine that we don’t “pick our natural laws”—yet insofar as we’re the ones building the AIs we imagine we can “pick their laws”. But both parts of this aren’t quite right. Because in fact one of the implications of our Physics Project is precisely that the laws of nature that we perceive are the way they are because we are observers who are the way we are. And on the AI side, computational irreducibility implies that we can’t expect to be able to determine the final behavior of the AIs just from knowing the underlying laws we gave them.

\n

But what will the “emergent laws” of the AIs be? Well, just like in physics, it’ll depend on how we “sample” the behavior of the AIs. If we look down at the level of individual bits, it’ll be like looking at molecular dynamics (or the behavior of atoms of space). But typically we won’t do this. And just like in physics, we’ll operate as computationally bounded observers—measuring only certain aggregated features of an underlying computationally irreducible process. But what will the “overall laws of AIs” be like? Maybe they’ll show close analogies to physics. Or maybe they’ll seem more like psychological theories (superegos for AIs?). But we can expect them in many ways to be like large-scale laws of nature of the kind we know.

\n

Still, there’s one more difference between at least our interaction with nature and with AIs. Because we have in effect been “co-evolving” with nature for billions of years—yet AIs are “new on the scene”. And through our co-evolution with nature we’ve developed all sorts of structural, sensory and cognitive features that allow us to “interact successfully” with nature. But with AIs we don’t have these. So what does this mean?

\n

Well, our ways of interacting with nature can be thought of as leveraging pockets of computational reducibility that exist in natural processes—to make things seem at least somewhat predictable to us. But without having found such pockets for AIs, we’re likely to be faced with much more “raw computational irreducibility”—and thus much more unpredictability. It’s been a conceit of modern times that—particularly with the help of science—we’ve been able to make more and more of our world predictable to us, though in practice a large part of what’s led to this is the way we’ve built and controlled the environment in which we live, and the things we choose to do.

\n

But for the new “AI world”, we’re effectively starting from scratch. And to make things predictable in that world may be partly a matter of some new science, but perhaps more importantly a matter of choosing how we set up our “way of life” around the AIs there. (And, yes, if there’s lots of unpredictability we may be back to more ancient points of view about the importance of fate—or we may view AIs as a bit like the Olympians of Greek mythology, duking it out among themselves and sometimes having an effect on mortals.)

\n

Governance in an AI World

\n

Let’s say the world is effectively being run by AIs, but let’s assume that we humans have at least some control over what they do. Then what principles should we have them follow? And what, for example, should their “ethics” be?

\n

Well, the first thing to say is that there’s no ultimate, theoretical “right answer” to this. There are many ethical and other principles that AIs could follow. And it’s basically just a choice which ones should be followed.

\n

When we talk about “principles” and “ethics” we tend to think more in terms of constraints on behavior than in terms of rules for generating behavior. And that means we’re dealing with something more like mathematical axioms, where we ask things like what theorems are true according to those axioms, and what are not. And that means there can be issues like whether the axioms are consistent—and whether they’re complete, in the sense that they can “determine the ethics of anything”. But now, once again, we’re face to face with computational irreducibility, here in the form of Gödel’s theorem and its generalizations.

\n

And what this means is that it’s in general undecidable whether any given set of principles is inconsistent, or incomplete. One might “ask an ethical question”, and find that there’s a “proof chain” of unbounded length to determine what the answer to that question is within one’s specified ethical system, or whether there is even a consistent answer.

\n

One might imagine that somehow one could add axioms to “patch up” whatever issues there are. But Gödel’s theorem basically says that it’ll never work. It’s the same story as so often with computational irreducibility: there’ll always be “new situations” that can arise, that in this case can’t be captured by a finite set of axioms.

\n

OK, but let’s imagine we’re picking a collection of principles for AIs. What criteria could we use to do it? One might be that these principles won’t inexorably lead to a simple state—like one where the AIs are extinct, or have to keep looping doing the same thing forever. And there may be cases where one can readily see that some set of principles will lead to such outcomes. But most of the time, computational irreducibility (here in the form of things like the halting problem) will once again get in the way, and one won’t be able to tell what will happen, or successfully pick “viable principles” this way.

\n

So this means that there are going to be a wide range of principles that we could in theory pick. But presumably what we’ll want is to pick ones that make AIs give us humans some sort of “good time”, whatever that might mean.

\n

And a minimal idea might be to get AIs just to observe what we humans do, and then somehow imitate this. But most people wouldn’t consider this the right thing. They’d point out all the “bad” things people do. And they’d perhaps say “let’s have the AIs follow not what we actually do, but what we aspire to do”.

\n

But where should we get these aspirations from? Different people, and different cultures, can have very different aspirations—with very different resulting principles. So whose should we pick? And, yes, there are pitifully few—if any—principles that we truly find in common everywhere. (Though, for example, the major religions all tend to share things like respect for human life, the Golden Rule, etc.)

\n

But do we in fact have to pick one set of principles? Maybe some AIs can have some principles, and some can have others. Maybe it should be like different countries, or different online communities: different principles for different groups or in different places.

\n

Right now that doesn’t seem plausible, because technological and commercial forces have tended to make it seem as if powerful AIs always have to be centralized. But I expect that this is just a feature of the present time, and not something intrinsic to any “human-like” AI.

\n

So could everyone (and maybe every organization) have “their own AI” with its own principles? For some purposes this might work OK. But there are many situations where AIs (or people) can’t really act independently, and where there have to be “collective decisions” made.

\n

Why is this? In some cases it’s because everyone is in the same physical environment. In other cases it’s because if there’s to be social cohesion—of the kind needed to support even something like a language that’s useful for communication—then there has to be certain conceptual alignment.

\n

It’s worth pointing out, though, that at some level having a “collective conclusion” is effectively just a way of introducing certain computational reducibility to make it “easier to see what to do”. And potentially it can be avoided if one has enough computation capability. For example, one might assume that there has to be a collective conclusion about which side of the road cars should drive on. But that wouldn’t be true if every car had the computation capability to just compute a trajectory that would for example optimally weave around other cars using both sides of the road.

\n

But if we humans are going to be in the loop, we presumably need a certain amount of computational reducibility to make our world sufficiently comprehensible to us that we can operate in it. So that means there’ll be collective—“societal”—decisions to make. We might want to just tell the AIs to “make everything as good as it can be for us”. But inevitably there will be tradeoffs. Making a collective decision one way might be really good for 99% of people, but really bad for 1%; making it the other way might be pretty good for 60%, but pretty bad for 40%. So what should the AI do?

\n

And, of course, this is a classic problem of political philosophy, and there’s no “right answer”. And in reality the setup won’t be as clean as this. It may be fairly easy to work out some immediate effects of different courses of action. But inevitably one will eventually run into computational irreducibility—and “unintended consequences”—and so one won’t be able to say with certainty what the ultimate effects (good or bad) will be.

\n

But, OK, so how should one actually make collective decisions? There’s no perfect answer, but in the world today, democracy in one form or another is usually viewed as the best option. So how might AI affect democracy—and perhaps improve on it? Let’s assume first that “humans are still in charge”, so that it’s ultimately their preferences that matter. (And let’s also assume that humans are more or less in their “current form”: unique and unreplicable discrete entities that believe they have independent minds.)

\n

The basic setup for current democracy is computationally quite simple: discrete votes (or perhaps rankings) are given (sometimes with weights of various kinds), and then numerical totals are used to determine the winner (or winners). And with past technology this was pretty much all that could be done. But now there are some new elements. Imagine not casting discrete votes, but instead using computational language to write a computational essay to describe one’s preferences. Or imagine having a conversation with a linguistically enabled AI that can draw out and debate one’s preferences, and eventually summarize them in some kind of feature vector. Then imagine feeding computational essays or feature vectors from all “voters” to some AI that “works out the best thing to do”.

\n

Well, there are still the same political philosophy issues. It’s not like 60% of people voted for A and 40% for B, so one chose A. It’s much more nuanced. But one still won’t be able to make everyone happy all the time, and one has to have some base principles to know what to do about that.

\n

And there’s a higher-order problem in having an AI “rebalance” collective decisions all the time based on everything it knows about people’s detailed preferences (and perhaps their actions too): for many purposes—like us being able to “keep track of what’s going on”—it’s important to maintain consistency over time. But, yes, one could deal with this by having the AI somehow also weigh consistency in figuring out what to do.

\n

But while there are no doubt ways in which AI can “tune up” democracy, AI doesn’t seem—in and of itself—to deliver any fundamentally new solution for making collective decisions, and for governance in general.

\n

And indeed, in the end things always seem to come down to needing some fundamental set of principles about how one wants things to be. Yes, AIs can be the ones to implement these principles. But there are many possibilities for what the principles could be. And—at least if we humans are “in charge”—we’re the ones who are going to have to come up with them.

\n

Or, in other words, we need to come up with some kind of “AI constitution”. Presumably this constitution should basically be written in precise computational language (and, yes, we’re trying to make it possible for the Wolfram Language to be used), but inevitably (as yet another consequence of computational irreducibility) there’ll be “fuzzy” definitions and distinctions, that will rely on things like examples, “interpolated” by systems like neural nets. Maybe when such a constitution is created, there’ll be multiple “renderings” of it, which can all be applied whenever the constitution is used, with some mechanism for picking the “overall conclusion”. (And, yes, there’s potentially a certain “observer-dependent” multicomputational character to this.)

\n

But whatever its detailed mechanisms, what should the AI constitution say? Different people and groups of people will definitely come to different conclusions about it. And presumably—just as there are different countries, etc. today with different systems of laws—there’ll be different groups that want to adopt different AI constitutions. (And, yes, the same issues about collective decision making apply again when those AI constitutions have to interact.)

\n

But given an AI constitution, one has a base on which AIs can make decisions. And on top of this one imagines a huge network of computational contracts that are autonomously executed, essentially to “run the world”.

\n

And this is perhaps one of those classic “what could possibly go wrong?” moments. An AI constitution has been agreed on, and now everything is being run efficiently and autonomously by AIs that are following it. Well, once again, computational irreducibility rears its head. Because however carefully the AI constitution is drafted, computational irreducibility implies that one won’t be able to foresee all its consequences: “unexpected” things will always happen—and some of them will undoubtedly be things “one doesn’t like”.

\n

In human legal systems there’s always a mechanism for adding “patches”—filling in laws or precedents that cover new situations that have come up. But if everything is being autonomously run by AIs there’s no room for that. Yes, we as humans might characterize “bad things that happen” as “bugs” that could be fixed by adding a patch. But the AI is just supposed to be operating—essentially axiomatically—according to its constitution, so it has no way to “see that it’s a bug”.

\n

Similar to what we discussed above, there’s an interesting analogy here with human law versus natural law. Human law is something we define and can modify. Natural law is something the universe just provides us (notwithstanding the issues about observers discussed above). And by “setting an AI constitution and letting it run” we’re basically forcing ourselves into a situation where the “civilization of the AIs” is some “independent stratum” in the world, that we essentially have to take as it is, and adapt to.

\n

Of course, one might wonder if the AI constitution could “automatically evolve”, say based on what’s actually seen to happen in the world. But one quickly returns to the exact same issues of computational irreducibility, where one can’t predict whether the evolution will be “right”, etc.

\n

So far, we’ve assumed that in some sense “humans are in charge”. But at some level that’s an issue for the AI constitution to define. It’ll have to define whether AIs have “independent rights”—just like humans (and, in many legal systems, some other entities too). Closely related to the question of independent rights for AIs is whether an AI can be considered autonomously “responsible for its actions”—or whether such responsibility must always ultimately rest with the (presumably human) creator or “programmer” of the AI.

\n

Once again, computational irreducibility has something to say. Because it implies that the behavior of the AI can go “irreducibly beyond” what its programmer defined. And in the end (as we discussed above) this is the same basic mechanism that allows us humans to effectively have “free will” even when we’re ultimately operating according to deterministic underlying natural laws. So if we’re going to claim that we humans have free will, and can be “responsible for our actions” (as opposed to having our actions always “dictated by underlying laws”) then we’d better claim the same for AIs.

\n

So just as a human builds up something irreducible and irreplaceable in the course of their life, so can an AI. As a practical matter, though, AIs can presumably be backed up, copied, etc.—which isn’t (yet) possible for humans. So somehow their individual instances don’t seem as valuable, even if the “last copy” might still be valuable. As humans, we might want to say “those AIs are something inferior; they shouldn’t have rights”. But things are going to get more entangled. Imagine a bot that no longer has an identifiable owner but that’s successfully befriending people (say on social media), and paying for its underlying operation from donations, ads, etc. Can we reasonably delete that bot? We might argue that “the bot can feel no pain”—but that’s not true of its human friends. But what if the bot starts doing “bad” things? Well, then we’ll need some form of “bot justice”—and pretty soon we’ll find ourselves building a whole human-like legal structure for the AIs.

\n

So Will It End Badly?

\n

OK, so AIs will learn what they can from us humans, then they’ll fundamentally just be running as autonomous computational systems—much like nature runs as an autonomous computational system—sometimes “interacting with us”. What will they “do to us”? Well, what does nature “do to us”? In a kind of animistic way, we might attribute intentions to nature, but ultimately it’s just “following its rules” and doing what it does. And so it will be with AIs. Yes, we might think we can set things up to determine what the AIs will do. But in the end—insofar as the AIs are really making use of what’s possible in the computational universe—there’ll inevitably be computational irreducibility, and we won’t be able to foresee what will happen, or what consequences it will have.

\n

So will the dynamics of AIs in fact have “bad” effects—like, for example, wiping us out? Well, it’s perfectly possible nature could wipe us out too. But one has the feeling that—extraterrestrial “accidents” aside—the natural world around us is at some level enough in some kind of “equilibrium” that nothing too dramatic will happen. But AIs are something new. So maybe they’ll be different.

\n

And one possibility might be that AIs could “improve themselves” to produce a single “apex intelligence” that would in a sense dominate everything else. But here we can see computational irreducibility as coming to the rescue. Because it implies that there can never be a “best at everything” computational system. It’s a core result of the emerging field of metabiology: that whatever “achievement” you specify, there’ll always be a computational system somewhere out there in the computational universe that will exceed it. (A simple example is that there’s always a Turing machine that can be found that will exceed any upper bound you specify on the time it takes to halt.)

\n

So what this means is that there’ll inevitably be a whole “ecosystem” of AIs—with no single winner. Of course, while that might be an inevitable final outcome, it might not be what happens in the shorter term. And indeed the current tendency to centralize AI systems has a certain danger of AI behavior becoming “unstabilized” relative to what it would be with a whole ecosystem of “AIs in equilibrium”.

\n

And in this situation there’s another potential concern as well. We humans are the product of a long struggle for life played out over the course of the history of biological evolution. And insofar as AIs inherit our attributes we might expect them to inherit a certain “drive to win”—perhaps also against us. And perhaps this is where the AI constitution becomes important: to define a “contract” that supersedes what AIs might “naturally” inherit from effectively observing our behavior. Eventually we can expect the AIs to “independently reach equilibrium”. But in the meantime, the AI constitution can help break their connection with our “competitive” history of biological evolution.

\n

Preparing for an AI World

\n

We’ve talked quite a bit about the ultimate future course of AIs, and their relation to us humans. But what about the short term? How today can we prepare for the growing capabilities and uses of AIs?

\n

As has been true throughout history, people who use tools tend to do better than those who don’t. Yes, you can go on doing by direct human effort what has now been successfully automated, but except in rare cases you’ll increasingly be left behind. And what’s now emerging is an extremely powerful combination of tools: neural-net-style AI for “immediate human-like tasks”, along with computational language for deeper access to the computational universe and computational knowledge.

\n

So what should people do with this? The highest leverage will come from figuring out new possibilities—things that weren’t possible before but have now “come into range” as a result of new capabilities. And as we discussed above, this is a place where we humans are inevitably central contributors—because we’re the ones who must define what we consider has value for us.

\n

So what does this mean for education? What’s worth learning now that so much has been automated? I think the fundamental answer is how to think as broadly and deeply as possible—calling on as much knowledge and as many paradigms as possible, and particularly making use of the computational paradigm, and ways of thinking about things that directly connect with what computation can help with.

\n

In the course of human history a lot of knowledge has been accumulated. But as ways of thinking have advanced, it’s become unnecessary to learn directly that knowledge in all its detail: instead one can learn things at a higher level, abstracting out many of the specific details. But in the past few decades something fundamentally new has come on the scene: computers and the things they enable.

\n

For the first time in history, it’s become realistic to truly automate intellectual tasks. The leverage this provides is completely unprecedented. And we’re only just starting to come to terms with what it means for what and how we should learn. But with all this new power there’s a tendency to think something must be lost. Surely it must still be worth learning all those intricate details—that people in the past worked so hard to figure out—of how to do some mathematical calculation, even though Mathematica has been able to do it automatically for more than a third of a century?

\n

And, yes, at the right time it can be interesting to learn those details. But in the effort to understand and best make use of the intellectual achievements of our civilization, it makes much more sense to leverage the automation we have, and treat those calculations just as “building blocks” that can be put together in “finished form” to do whatever it is we want to do.

\n

One might think this kind of leveraging of automation would just be important for “practical purposes”, and for applying knowledge in the real world. But actually—as I have personally found repeatedly to great benefit over the decades—it’s also crucial at a conceptual level. Because it’s only through automation that one can get enough examples and experience that one’s able to develop the intuition needed to reach a higher level of understanding.

\n

Confronted with the rapidly growing amount of knowledge in the world there’s been a tremendous tendency to assume that people must inevitably become more and more specialized. But with increasing success in the automation of intellectual tasks—and what we might broadly call AI—it becomes clear there’s an alternative: to make more and more use of this automation, so people can operate at a higher level, “integrating” rather than specializing.

\n

And in a sense this is the way to make the best use of our human capabilities: to let us concentrate on setting the “strategy” of what we want to do—delegating the details of how to do it to automated systems that can do it better than us. But, by the way, the very fact that there’s an AI that knows how to do something will no doubt make it easier for humans to learn how to do it too. Because—although we don’t yet have the complete story—it seems inevitable that with modern techniques AIs will be able to successfully “learn how people learn”, and effectively present things an AI “knows” in just the right way for any given person to absorb.

\n

So what should people actually learn? Learn how to use tools to do things. But also learn what things are out there to do—and learn facts to anchor how you think about those things. A lot of education today is about answering questions. But for the future—with AI in the picture—what’s likely to be more important is to learn how to ask questions, and how to figure out what questions are worth asking. Or, in effect, how to lay out an “intellectual strategy” for what to do.

\n

And to be successful at this, what’s going to be important is breadth of knowledge—and clarity of thinking. And when it comes to clarity of thinking, there’s again something new in modern times: the concept of computational thinking. In the past we’ve had things like logic, and mathematics, as ways to structure thinking. But now we have something new: computation.

\n

Does that mean everyone should “learn to program” in some traditional programming language? No. Traditional programming languages are about telling computers what to do in their terms. And, yes, lots of humans do this today. But it’s something that’s fundamentally ripe for direct automation (as examples with ChatGPT already show). And what’s important for the long term is something different. It’s to use the computational paradigm as a structured way to think not about the operation of computers, but about both things in the world and abstract things.

\n

And crucial to this is having a computational language: a language for expressing things using the computational paradigm. It’s perfectly possible to express simple “everyday things” in plain, unstructured natural language. But to build any kind of serious “conceptual tower” one needs something more structured. And that’s what computational language is about.

\n

One can see a rough historical analog in the development of mathematics and mathematical thinking. Up until about half a millennium ago, mathematics basically had to be expressed in natural language. But then came mathematical notation—and from it a more streamlined approach to mathematical thinking, that eventually made possible all the various mathematical sciences. And it’s now the same kind of thing with computational language and the computational paradigm. Except that it’s a much broader story, in which for basically every field or occupation “X” there’s a “computational X” that’s emerging.

\n

In a sense the point of computational language (and all my efforts in the development of the Wolfram Language) is to be able to let people get “as automatically as possible” to computational X—and to let people express themselves using the full power of the computational paradigm.

\n

Something like ChatGPT provides “human-like AI” in effect by piecing together existing human material (like billions of words of human-written text). But computational language lets one tap directly into computation—and gives the ability to do fundamentally new things, that immediately leverage our human capabilities for defining intellectual strategy.

\n

And, yes, while traditional programming is likely to be largely obsoleted by AI, computational language is something that provides a permanent bridge between human thinking and the computational universe: a channel in which the automation is already done in the very design (and implementation) of the language—leaving in a sense an interface directly suitable for humans to learn, and to use as a basis to extend their thinking.

\n

But, OK, what about the future of discovery? Will AIs take over from us humans in, for example, “doing science”? I, for one, have used computation (and many things one might think of as AI) as a tool for scientific discovery for nearly half a century. And, yes, many of my discoveries have in effect been “made by computer”. But science is ultimately about connecting things to human understanding. And so far it’s taken a human to knit what the computer finds into the whole web of human intellectual history.

\n

One can certainly imagine, though, that an AI—even one rather like ChatGPT—could be quite successful in taking a “raw computational discovery” and “explaining” how it might relate to existing human knowledge. One could also imagine that the AI would be successful at identifying what aspects of some system in the world could be picked out to describe in some formal way. But—as is typical for the process of modeling in general—a key step is to decide “what one cares about”, and in effect in what direction to go in extending one’s science. And this—like so much else—is inevitably tied into the specifics of the goals we humans set ourselves.

\n

In the emerging AI world there are plenty of specific skills that won’t make sense for (most) humans to learn—just as today the advance of automation has obsoleted many skills from the past. But—as we’ve discussed—we can expect there to “be a place” for humans. And what’s most important for us humans to learn is in effect how to pick “where next to go”—and where, out of all the infinite possibilities in the computational universe, we should take human civilization.

\n

Afterword: Looking at Some Actual Data

\n

OK, so we’ve talked quite a bit about what might happen in the future. But what about actual data from the past? For example, what’s been the actual history of the evolution of jobs? Conveniently, in the US, the Census Bureau has records of people’s occupations going back to 1850. Of course, many job titles have changed since then. Switchmen (on railroads), chainmen (in surveying) and sextons (in churches) aren’t really things anymore. And telemarketers, aircraft pilots and web developers weren’t things in 1850. But with a bit of effort, it’s possible to more or less match things up—at least if one aggregates into large enough categories.

\n

So here are pie charts of different job categories at 50-year intervals:

\n
\n
\n
\n

\n

And, yes, in 1850 the US was firmly an agricultural economy, with just over half of all jobs being in agriculture. But as agriculture got more efficient—with the introduction of machinery, irrigation, better seeds, fertilizers, etc.—the fraction dropped dramatically, to just a few percent today.

\n

After agriculture, the next biggest category back in 1850 was construction (along with other real-estate-related jobs, mainly maintenance). And this is a category that for a century and a half hasn’t changed much in size (at least so far), presumably because, even though there’s been greater automation, this has just allowed buildings to be more complex.

\n

Looking at the pie charts above, we can see a clear trend towards greater diversification in jobs (and indeed the same thing is seen in the development of other economies around the world). It’s an old theory in economics that increasing specialization is related to economic growth, but from our point of view here, we might say that the very possibility of a more complex economy, with more niches and jobs, is a reflection of the inevitable presence of computational irreducibility, and the complex web of pockets of computational reducibility that it implies.

\n

Beyond the overall distribution of job categories, we can also look at trends in individual categories over time—with each one in a sense providing a certain window onto history:

\n
\n
\n

\n

One can definitely see cases where the number of jobs decreases as a result of automation. And this happens not only in areas like agriculture and mining, but also for example in finance (fewer clerks and bank tellers), as well as in sales and retail (online shopping). Sometimes—as in the case of manufacturing—there’s a decrease of jobs partly because of automation, and partly because the jobs move out of the US (mainly to countries with lower labor costs).

\n

There are cases—like military jobs—where there are clear “exogenous” effects. And then there are cases like transportation+logistics where there’s a steady increase for more than half a century as technology spreads and infrastructure gets built up—but then things “saturate”, presumably at least partly as a result of increased automation. It’s a somewhat similar story with what I’ve called “technical operations”—with more “tending to technology” needed as technology becomes more widespread.

\n

Another clear trend is an increase in job categories associated with the world becoming an “organizationally more complicated place”. Thus we see increases in management, as well as administration, government, finance and sales (which all have recent decreases as a result of computerization). And there’s also a (somewhat recent) increase in legal.

\n

Other areas with increases include healthcare, engineering, science and education—where “more is known and there’s more to do” (as well as there being increased organizational complexity). And then there’s entertainment, and food+hospitality, with increases that one might attribute to people leading (and wanting) “more complex lives”. And, of course, there’s information technology which takes off from nothing in the mid-1950s (and which had to be rather awkwardly grafted into the data we’re using here).

\n

So what can we conclude? The data seems quite well aligned with what we discussed in more general terms above. Well-developed areas get automated and need to employ fewer people. But technology also opens up new areas, which employ additional people. And—as we might expect from computational irreducibility—things generally get progressively more complicated, with additional knowledge and organizational structure opening up more “frontiers” where people are needed. But even though there are sometimes “sudden inventions”, it still always seems to take decades (or effectively a generation) for there to be any dramatic change in the number of jobs. (The few sharp changes visible in the plots seem mostly to be associated with specific economic events, and—often related—changes in government policies.)

\n

But in addition to the different jobs that get done, there’s also the question of how individual people spend their time each day. And—while it certainly doesn’t live up to my own (rather extreme) level of personal analytics—there’s a certain amount of data on this that’s been collected over the years (by getting time diaries from randomly sampled people) in the American Heritage Time Use Study. So here, for example, are plots based on this survey for how the amount of time spent on different broad activities has varied over the decades (the main line shows the mean—in hours—for each activity; the shaded areas indicate successive deciles):

\n
\n
\n

\n

And, yes, people are spending more time on “media & computing”, some mixture of watching TV, playing videogames, etc. Housework, at least for women, takes less time, presumably mostly as a result of automation (appliances, etc.). (“Leisure” is basically “hanging out” as well as hobbies and social, cultural, sporting events, etc.; “Civic” includes volunteer, religious, etc. activities.)

\n

If one looks specifically at people who are doing paid work

\n
\n
\n

\n

one notices several things. First, the average number of hours worked hasn’t changed much in half a century, though the distribution has broadened somewhat. For people doing paid work, media & computing hasn’t increased significantly, at least since the 1980s. One category in which there is systematic increase (though the total time still isn’t very large) is exercise.

\n

What about people who—for one reason or another—aren’t doing paid work? Here are corresponding results in this case:

\n
\n
\n

\n

Not so much increase in exercise (though the total times are larger to begin with), but now a significant increase in media & computing, with the average recently reaching nearly 6 hours per day for men—perhaps as a reflection of “more of life going online”.

\n

But looking at all these results on time use, I think the main conclusion that over the past half century, the ways people (at least in the US) spend their time have remained rather stable—even as we’ve gone from a world with almost no computers to a world in which there are more computers than people.

\n", - "category": "Artificial Intelligence", - "link": "https://writings.stephenwolfram.com/2023/03/will-ais-take-all-our-jobs-and-end-human-history-or-not-well-its-complicated/", - "creator": "Stephen Wolfram", - "pubDate": "Thu, 16 Mar 2023 01:41:02 +0000", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "en", - "folder": "", - "feed": "wolfram", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "01ae62a7a2d11bc234877631f5f25b58", - "highlights": [] - }, { "title": "What Is ChatGPT Doing … and Why Does It Work?", "description": "\"\"See also: “Wolfram|Alpha as the Way to Bring Computational Knowledge Superpowers to ChatGPT” »A discussion about the history of neural nets » It’s Just Adding One Word at a Time That ChatGPT can automatically generate something that reads even superficially like human-written text is remarkable, and unexpected. But how does it do it? And why does it […]", @@ -518,6 +606,72 @@ "image": null, "description": "xkcd.com: A webcomic of romance and math humor.", "items": [ + { + "title": "Daylight Saving Choice", + "description": "\"I", + "content": "\"I", + "category": "", + "link": "https://xkcd.com/2846/", + "creator": "", + "pubDate": "Wed, 25 Oct 2023 04:00:00 -0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "en", + "folder": "", + "feed": "xkcd", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "5ee8ca3fa4e78bba8f92715ce091f4c2", + "highlights": [] + }, + { + "title": "Extinction Mechanisms", + "description": "\"The", + "content": "\"The", + "category": "", + "link": "https://xkcd.com/2845/", + "creator": "", + "pubDate": "Mon, 23 Oct 2023 04:00:00 -0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "en", + "folder": "", + "feed": "xkcd", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "23ea0b91063a5228344c10b8dbab2734", + "highlights": [] + }, + { + "title": "Black Holes vs Regular Holes", + "description": "\"Created", + "content": "\"Created", + "category": "", + "link": "https://xkcd.com/2844/", + "creator": "", + "pubDate": "Fri, 20 Oct 2023 04:00:00 -0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "en", + "folder": "", + "feed": "xkcd", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "6a25ed57967941544f31d59fe9c9f924", + "highlights": [] + }, { "title": "Professional Oaths", "description": "\"Interpretations", @@ -2951,6 +3105,160 @@ "image": "\n\t", "description": "Upgrade your mind", "items": [ + { + "title": "Comment automatiser un tweet intelligent à partir d’un flux RSS grâce à ChatGPT ?", + "description": "Vous êtes-vous déjà demandé comment rendre votre compte Twitter qui poste vos news de blog, un peu plus « intelligent », ou du moins, un peu moins monotone ? Et bien, aujourd’hui, je vais vous montrer comment faire exactement cela. Dans cette vidéo, on va décortiquer ensemble un script Python qui permet … Suite", + "content": "

\"\"

\n

Vous êtes-vous déjà demandé comment rendre votre compte Twitter qui poste vos news de blog, un peu plus « intelligent », ou du moins, un peu moins monotone ?

\n\n\n\n
\r\n

Et bien, aujourd’hui, je vais vous montrer comment faire exactement cela.

\n\n\n\n

Dans cette vidéo, on va décortiquer ensemble un script Python qui permet de récupérer la dernière news d’un flux RSS, d’en faire un tweet unique grâce à ChatGPT et de poster tout ça sur Twitter. Oui, oui, vous avez bien lu : on va mixer l’automatisation de récupération de news et la magie de l’IA pour pondre des tweets qui ont du sens et de la saveur.

\n\n\n\n

Un grand merci à mes Patreons

\n\n\n\n

Je tenais à remercier du fond du cœur tous mes Patreons qui soutiennent ce genre de projets et permettent de continuer à explorer, à tester et à partager ces connaissances avec vous. Vous êtes les meilleurs ! ❤️

\n\n\n\n

Pour ceux qui sont abonnés Patreon, vous pouvez d’ores et déjà récupérer le code source. Pour les autres, n’hésitez pas à jeter un œil à ma vidéo pour une démo en direct !

\n\n\n\n
\n\n
\n\n\n\n
\r\n

Et en bonus « Rien à voir », un petit morceau de musique :

\n\n\n\n\n", + "category": "Développement", + "link": "https://korben.info/comment-automatiser-un-tweet-intelligent-a-partir-dun-flux-rss-grace-a-chatgpt.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 09:15:25 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "c475bea07c7caa78ed769f438d14c49b", + "highlights": [] + }, + { + "title": "Explorez et optimisez vos images Docker avec Dive", + "description": "Dive est un outil permettant d'analyser et d'optimiser la taille des images Docker. Il facilite la gestion des images pour les développeurs et administrateurs système. Dive prend en charge plusieurs sources d'image, moteurs de conteneurs et est compatible avec diverses plateformes. L'outil peut être intégré au processus d'intégration continue et personnalisé grâce à des raccourcis clavier et fichiers de configuration.", + "content": "

\"\"

\n

Quand on commence à s’intéresser un peu à Docker, tout semble simple et léger, du moins en apparence. D’ailleurs, si vous débutez avec Docker, j’ai fait une vidéo d’initiation pour débutants pour mes Patreons que je vous offre à la fin de cet article.

\n\n\n\n
\r\n

Mais pour qu’une image Docker soit OK, il faut qu’elle ait été un minimum optimisé. Et ce n’est pas forcement instinctif, surtout quand on débute.

\n\n\n\n

C’est pourquoi , je vous présente un outil aussi magique qu’un Fabien Olicard sous Caprisun, qui va non seulement vous permettre de comprendre la structure de vos images Docker de fond en comble, mais également d’optimiser leur taille et de libérer cet espace disque précieux dont on manque tous sur nos ordis. Cet outil c’est Dive.

\n\n\n\n

Imaginez que vous êtes développeur ou administrateur système, et que vous devez régulièrement manipuler et gérer des images Docker. Vous savez qu’il est crucial d’optimiser ces images pour réduire leur taille et ainsi améliorer leur efficacité, mais vous ne savez pas par où commencer. Dive est là pour vous aider ! Avec cet outil, vous pourrez analyser facilement vos images Docker, découvrir les modifications effectuées à l’intérieur chaque couche et optimiser leur taille de manière efficace.

\n\n\n
\n
\"\"
\n\n\n

Tout d’abord, il suffit de remplacer la commande « docker build » par « dive build » pour analyser l’efficacité et l’espace gaspillé de votre image Docker.

\n\n\n\n
dive <tag/id/digest de votre image>
\n\n\n\n
\r\n

Dive prend en charge plusieurs sources d’image et moteurs de conteneurs (à l’heure actuelle, Docker et Podman). Pour l’installation, Dive est disponible pour Ubuntu/Debian, RHEL/Centos, Arch Linux, Mac et Windows.

\n\n\n\n

Pour l’installer sous macOS :

\n\n\n\n
brew install dive
\n\n\n\n

Pour l’installer sous Linux (Ubuntu / Debian) :

\n\n\n\n
export DIVE_VERSION=$(curl -sL \"https://api.github.com/repos/wagoodman/dive/releases/latest\" | grep '\"tag_name\":' | sed -E 's/.*\"v([^\"]+)\".*/\\1/')\n\ncurl -OL https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb\n\nsudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb
\n\n\n\n

Intégrer Dive dans votre processus de CI (intégration continue) est également possible en utilisant la variable d’environnement CI=true. Vous pouvez même configurer des règles dans un fichier .dive-ci pour automatiser certaines vérifications et optimisations de vos images Docker.

\n\n\n\n

Naviguer dans Dive est un jeu d’enfant grâce aux raccourcis clavier. Vous pourrez explorer les couches de vos images Docker, filtrer les fichiers, gérer les paramètres spécifiques à chaque couche et personnaliser l’interface utilisateur en créant un fichier de configuration.

\n\n\n\n

Pour en savoir plus sur Dive et ses fonctionnalités, je vous invite à consulter le dépôt GitHub officiel ici. Vous y trouverez toutes les informations nécessaires pour maîtriser cet outil fantastique, ainsi que des exemples et des astuces pour optimiser vos images Docker comme un pro.

\n\n\n\n
\r\n

Bonne optimisation à tous !

\n\n\n\n
\n\n
\n", + "category": "Administration Systeme Réseau", + "link": "https://korben.info/explorer-optimiser-images-docker-avec-dive.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "2e0c95cdf661612fcfbf0777a3f90df8", + "highlights": [] + }, + { + "title": "Blocks – La puzzle addictif à essayer de toute urgence !", + "description": "Si vous êtes comme moi, vous appréciez peut-être les jeux qui stimulent l’esprit sans trop se compliquer la tâche. Le genre de petits casse-têtes qui font travailler les méninges tout en offrant un moment de détente par exemple le fameux jeu « Gagne Ton Papa » , avec lequel je m’amuse beaucoup, … Suite", + "content": "

\"\"

\n

Si vous êtes comme moi, vous appréciez peut-être les jeux qui stimulent l’esprit sans trop se compliquer la tâche. Le genre de petits casse-têtes qui font travailler les méninges tout en offrant un moment de détente par exemple le fameux jeu « Gagne Ton Papa » , avec lequel je m’amuse beaucoup, surtout quand je joue avec des enfants.

\n\n\n\n
\r\n

C’est donc avec bonheur que je suis tombé sur Blocks, un nouveau jeu en ligne qui a su me rendra accro pendant un petit moment. Sa conception épurée rend l’expérience de jeu encore plus sympa.

\n\n\n
\n
\"\"
\n\n\n

Le principe du jeu est fondamentalement simple : on vous présente diverses figures géométriques, et votre défi est de les agencer correctement pour former un carré parfait. Cela peut sembler facile au début, mais ne vous y trompez pas ! Les 60 niveaux proposés augmentent progressivement en difficulté, ajoutant des couches de complexité à mesure que vous progressez.

\n\n\n\n

L’interface minimaliste permet aux joueurs de se concentrer entièrement sur le puzzle, éliminant toute distraction inutile et vous avez même de la musique sympa pour vous accompagner.

\n\n\n
\n
\"\"
\n\n\n

Bref, la beauté de Blocks réside dans sa capacité à offrir un équilibre parfait entre la détente et le défi cérébral. Que vous ayez quelques minutes à perdre en attendant un rendez-vous, ou que vous cherchiez un moyen d’échapper à la monotonie du travail, Blocks est l’outil idéal pour vous vider l’esprit tout en vous amusant.

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/blocks-la-puzzle-addictif-a-essayer-de-toute-urgence.html", + "creator": "Korben", + "pubDate": "Wed, 25 Oct 2023 06:13:50 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "ff679bfa2b58ad400d1d5e432828fd27", + "highlights": [] + }, + { + "title": "Légende de Super Mario – Un hack Zelda pour sauver le Royaume Champignon", + "description": "Ah, mes amis, découvrez un hack de The Legend of Zelda dans l'univers de Super Mario, nommé \"Légende de Super Mario - Sauvez le Royaume Champignon\". Incarnez Mario pour trouver les Starmen et sauver le Royaume Champignon de la tyrannie de Bowser. Mêlant exploration de Zelda et fun de Super Mario, redécouvrez ces deux franchises légendaires dans une expérience de jeu unique.", + "content": "

\"\"

\n

J’ai déniché pour vous une pépite qui ravira les fans de retrogaming et les nostalgiques de la grande époque des consoles 8-bits : un hack de The Legend of Zelda qui vous replonge dans l’univers de… Super Mario !

\n\n\n\n
\r\n

Vous vous souvenez de ces soirées passées à essayer de sauver la princesse Peach des griffes de ce stupide Bowser ?

\n\n\n\n

Et bien, préparez-vous à revivre de palpitants moments avec cette ROM NES custom intitulée « The Legend of Super Mario – Save Mushroom Kingdom (La Légende de Super Mario – Sauvez le Royaume Champignon) » !

\n\n\n
\n
\"\"
\n\n\n

Dans ce hack audacieux, Bowser a encore une fois capturé la Princesse Peach et plongé le Royaume Champignon dans la tyrannie. Évidemment, vous incarnez notre cher Mario, le plombier héroïque, qui doit trouver les Super Stars pour sauver le Royaume. Mais attention, ce ne sera pas une promenade de santé : des affrontements contre des Goombas, des Koopas et d’autres créatures que vous connaissez bien, vous attendront dans votre quête des huit Super Stars.

\n\n\n
\n
\"\"
\n\n\n

Comme vous pouvez l’imaginer, cela donne un mélange explosif entre l’aventure épique de Zelda et le fun déjanté de Super Mario. Vous devrez vous frayer un chemin à travers des donjons remplis d’ennemis et résoudre des énigmes pour avancer dans votre mission de sauvetage. Chaque Super Star trouvée vous rapprochera de la victoire finale et de la libération du Royaume Champignon.

\n\n\n\n
\r\n

Trop coooool, non ?

\n\n\n
\n
\"\"
\n\n
\n
\"\"
\n\n\n

Imaginez toutes les possibilités de gameplay avec cette rom : vous balader dans les niveaux de Super Mario comme on explore une map Zelda, résoudre des énigmes à la manière d’un héros légendaire qui porterait une bonne grosse moustache, et enfin vaincre Bowser pour sauver la princesse et le Royaume Champignon.

\n\n\n\n

Pour ceux qui voudraient essayer ce hack, rendez-vous sur le site : Légende de Super Mario – Sauvez le Royaume Champignon. Vous y trouverez toutes les infos pour vous lancer dans cette aventure épique. Attention cependant, vous aurez besoin d’une copie ROM originale (ah ah !) du jeu NES The Legend of Zelda pour appliquer le hack et ainsi profiter de cette expérience unique.

\n\n\n\n

Pour appliquer le patch, vous pouvez le faire en mode soft-patching directement via l’un de ces émulateurs : RetroArch, Snes9x, VBA où vous devrez ouvrir le jeu + le patch, ou en appliquant directement le patch sur la ROM avec Multipatch pour macOS ou LunarIPS pour Windows.

\n\n\n\n

Enfilez vos bottes de plombier et préparez-vous à explorer le Royaume Champignon comme jamais auparavant !

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/legend-super-mario-sauvez-royaume-champignon-hack-zelda-retrogaming.html", + "creator": "Korben", + "pubDate": "Tue, 24 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "6cad7a904cdd7ca06872f96d6cc0fb83", + "highlights": [] + }, + { + "title": "Revivez l’âge d’or LucasArts avec l’émulateur DREAMM !", + "description": "DREAMM est un émulateur de jeux LucasArts des années 90 pour Windows, MacOS et Linux 64 bits, conçu par Aaron Giles. Il prend en charge plusieurs éditions, langues et versions des jeux SCUMM, GrimE, Star Wars, Indiana Jones et autres. Il nécessite l'installation de libsdl2 et des fichiers ROM MT-32. Pour l'utiliser, ajoutez des jeux via Game Manager, puis configurez et exécutez-les. L'émulateur gère également les contrôles de joystick et permet la mise à niveau de certains jeux.", + "content": "

\"\"

\n

Les amis, laissez-moi vous présenter un logiciel fantastique qui va vous replonger dans les années 90 et raviver vos vieux souvenirs de jeux vidéo.

\n\n\n\n
\r\n

Vous souvenez-vous des aventures de Guybrush Threepwood dans Monkey Island ou des courses folles avec les TIE Fighters de Star Wars ?

\n\n\n\n

Et bien, préparez-vous à revivre ces moments avec DREAMM, un émulateur exclusif aux jeux LucasArts qui vous permettra de rejouer à de nombreux jeux DOS, Windows et FM-Towns identiques aux originaux.

\n\n\n\n

Alors, enfilez votre chapeau d’Indiana Jones et allons voir tout ça !

\n\n\n\n

Créé par Aaron Giles, DREAMM fonctionne sous Windows, macOS et Linux 64 bits avec un support natif pour les processeurs Intel et ARM. Il prend en charge diverses éditions, langues et versions des jeux SCUMM, GrimE, Star Wars, Indiana Jones et autres jeux LucasArts.

\n\n\n\n
\r\n

Vous pouvez télécharger la dernière version de DREAMM en allant sur ce site.

\n\n\n\n

Lorsque vous lancez DREAMM, vous accédez au Game Manager pour ajouter, configurer et exécuter les jeux. L’interface principale montre les icônes des jeux installés, et vous pouvez ajouter de nouveaux jeux à tout moment, sauf pendant une opération d’ajout en cours. Pour configurer et exécuter un jeu, cliquez simplement sur son icône ou naviguez avec les touches fléchées.

\n\n\n
\n
\"\"
\n\n\n

Sélectionnez un jeu et accédez à l’écran de configuration et de lancement, où des informations sur la compatibilité sont disponibles dans la zone d’état. Vous pouvez gérer l’installation en cliquant sur l’onglet MANAGE, où vous pourrez vérifier les fichiers, désinstaller le jeu et accéder aux données pertinentes du jeu.

\n\n\n\n

Avec DREAMM, vous pouvez facilement explorer et configurer les dossiers de jeux, ainsi que les options audio et vidéo. Vous pouvez également contrôler la taille de l’écran du gestionnaire de jeux, basculer entre le mode fenêtré et plein écran et ajuster la taille avec des raccourcis clavier.

\n\n\n\n

DREAMM nécessite les fichiers d’origine pour exécuter un jeu. Il prend en charge les images disque de disquettes (IMG, IMA, VFD) et de CD-ROM (ISO, CUE/BIN, MDS/MDF, CCD/IMG). Pour installer à partir d’images disque, sélectionnez toutes les images et faites-les glisser sur la fenêtre de DREAMM. Si vous possédez les disquettes ou CD-ROM d’origine, vous pouvez également les installer à partir de ces supports. Et si vous n’avez pas les jeux d’origine, sachez qu’il y a des démos sur Archive.org au moins pour tester.

\n\n\n
\n
\"\"
\n\n\n

Lors de l’installation d’un jeu via DREAMM, choisissez le lecteur C: comme cible et laissez l’installateur faire son travail. DREAMM détecte et transfère les jeux installés.

\n\n\n\n
\r\n

DREAMM émule vraiment les jeux au niveau du CPU et nécessite les fichiers exécutables originaux. Son concurrent ScummVM n’émule pas mais est une réécriture complète issu d’un reverse engineering. Donc le rendu n’est pas fidèle aux jeux d’origine, alors qu’avec DREAMM c’est 100% identique à l’expérience que vous avez pu avoir étant jeune. Mais les 2 outils fonctionnent très bien, on est sur du chipotage à ce niveau, il faut bien le reconnaitre.

\n\n\n\n

DREAMM gère également les contrôles de joystick. Utilisez Alt+U⌘U ou F12 pour récupérer le contrôle de la souris si nécessaire.

\n\n\n\n

Voilà, j’espère que ça vous aura donné envie de vous refaire un Indiana Jones ou de replonger dans un bon vieux Sam & Max.

\n", + "category": "Jeu vidéo", + "link": "https://korben.info/dreamm-emulateur-lucasarts-jeux-retro-windows-macos-linux.html", + "creator": "Korben", + "pubDate": "Mon, 23 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "320887c72777b270125ceef849243c2a", + "highlights": [] + }, + { + "title": "Sauvez votre PC avec ESET SysRescue Live, l’anti-malware ultime", + "description": "ESET SysRescue Live est un outil anti-malware sur support amovible, indépendant du système d'exploitation. Il permet d'éliminer les menaces persistantes en accédant directement au disque dur et fichiers système. Utilisé en complément de l'antivirus habituel, il est idéal pour éradiquer les malwares tenaces qui résistent aux méthodes traditionnelles.", + "content": "

\"\"

\n

Ah, la guerre éternelle contre les malwares… Parfois, l’ordinateur fait tellement n’importe quoi, qu’on se demande si on n’a pas chopé un bon vieux virus. Oui, oui, vous vous reconnaissez, ceux qui ne font jamais leurs mises à jour Windows et qui disent en frimant : « Oh moi, j’ai pas besoin d’antivirus, car je sais ce que je fais.« 

\n\n\n\n
\r\n

LOL !

\n\n\n\n

Et bien, aujourd’hui, je vais vous parler d’un super-héros qui pourrait bien vous sauver la vie, enfin, celle de votre ordinateur : ESET SysRescue Live.

\n\n\n\n

Imaginez que vous êtes en train de travailler sur un projet important et, soudain, votre ordinateur commence à agir bizarrement. Les performances ralentissent et vos fichiers deviennent inaccessibles. Vous réalisez que votre ordinateur a été infecté par le dernier malware. Vous essayez tous les logiciels antivirus possibles, mais rien ne semble fonctionner.

\n\n\n\n

Alors, que faire à part m’envoyer un message sur Facebook si vous êtes ma mère ? C’est là qu’ESET SysRescue Live entre en jeu.

\n\n\n\n
\r\n

ESET SysRescue Live est un outil anti-malware qui fonctionne via un support amovible (CD, DVD ou clé USB) et qui peut être utilisé indépendamment du système d’exploitation installé sur votre ordinateur. Ce petit génie peut ainsi éliminer les menaces persistantes en accédant directement au disque dur et aux fichiers système. Compatible avec plusieurs versions de Windows, il est conçu pour analyser et éliminer les menaces à la demande.

\n\n\n
\n
\"\"
\n\n\n

Pour utiliser ESET SysRescue Live, vous devez d’abord télécharger l’image ISO / IMG et la graver sur un CD/DVD ou créer une clé USB bootable. Une fois cela fait, insérez le support amovible et redémarrez votre ordinateur. Assurez-vous que votre ordinateur est configuré pour démarrer depuis le support amovible (vous devrez peut-être accéder aux paramètres du BIOS pour cela).

\n\n\n\n

Une fois ESET SysRescue Live lancé, vous serez accueilli par une interface utilisateur simple et conviviale. L’outil vous proposera de mettre à jour sa base de données de signatures de virus. Il est fortement recommandé de le faire pour assurer une détection optimale des menaces.

\n\n\n
\n
\"\"
\n\n\n

Après la mise à jour, vous pouvez lancer une analyse de votre ordinateur. ESET SysRescue Live offre plusieurs options d’analyse, notamment une analyse rapide, une analyse intelligente et une analyse personnalisée. Les deux premières options analysent les zones les plus couramment infectées, tandis que l’option personnalisée vous permet de choisir les disques et dossiers spécifiques à analyser. Une fois l’analyse terminée, les menaces détectées seront affichées et vous pourrez les supprimer en toute sécurité.

\n\n\n\n

Il est important de noter qu’ESET SysRescue Live n’est pas conçu pour remplacer votre logiciel antivirus habituel. Il est plutôt destiné à être utilisé en complément, en particulier dans les situations où un malware persistant empêche le bon fonctionnement de votre système. Cet outil est idéal pour les situations où vous devez éradiquer un malware tenace qui résiste aux méthodes de suppression traditionnelles.

\n\n\n\n

Vous y trouverez également des utilitaires pratiques comme memtest, Midnight Commander ou Gparted pour ceux qui veulent partitionner leur disque ou augmenter la taille de leurs partitions existantes.

\n\n\n
\n
\"\"
\n\n\n
\r\n

En résumé, ESET SysRescue Live est un outil pratique et puissant pour nettoyer votre ordinateur des menaces persistantes qui refusent de partir ou pour effectuer des petites opérations de maintenance sur l’ordi.

\n", + "category": "Sécurité", + "link": "https://korben.info/eradiquer-malwares-persistants-eset-sysrescue-live.html", + "creator": "Korben", + "pubDate": "Sun, 22 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "c41b775ca689ab0b3ace8cb81157e2b5", + "highlights": [] + }, + { + "title": "Découvrez Godspeed et révolutionnez votre gestion du temps et tâches", + "description": "\"Salut les amis! Aujourd'hui, je vais vous parler de Godspeed, une application géniale pour gérer votre temps et vos tâches. Elle combine simplicité, efficacité et personnalisation avec des fonctionnalités avancées pour organiser et suivre les projets. Vous pouvez personnaliser l'interface avec différents thèmes et couleurs. Inscrivez-vous sur leur site et prenez votre vie en main!\"", + "content": "

\"\"

\n

Salut les gens pressés et très occupés !

\n\n\n\n
\r\n

Aujourd’hui, je vais vous parler d’une application qui va vous soulager mentalement si vous galérer à faire tout ce que vous avez à faire dans la journée voire dans l’année.

\n\n\n\n

Il s’agit de Godspeed ! Pas de panique, je ne vous parle pas de l’expression anglaise qui veut dire « Bon vent » ou « Bonne chance ». Non, ici, je vous parle d’une application géniale qui porte le même nom et qui va révolutionner la façon dont vous gérez votre temps et vos tâches !

\n\n\n\n

Vous pouvez la trouver tout de suite sur le site, Godspeedapp.com.

\n\n\n\n

Qui n’a jamais été submergé par des tâches à réaliser, des rendez-vous à ne pas rater, des projets à gérer et des objectifs à atteindre ? Alors si vous êtes comme moi, vous avez déjà surement essayé plusieurs méthodes de gestion du temps (coucou Pomodoro) et différentes applications, mais aucune n’a vraiment répondu à vos attentes sans vous entrainer dans le burnout.

\n\n\n\n
\r\n

Eh bien, mes amis, je vous annonce que votre quête est enfin terminée ! J’ai testé Godspeed et je peux vous dire qu’elle tient toutes ses promesses.

\n\n\n\n

Alors, pourquoi cette application est-elle si géniale, me direz-vous ?

\n\n\n
\n
\"\"
Ma todo list très occupée du jour
\n\n\n

Tout simplement parce qu’elle allie simplicité, efficacité et personnalisation. Oui, vous avez bien lu. Godspeed vous permet de gérer vos tâches et votre emploi du temps de manière ultra-simple et intuitive. Pas de fonctionnalités inutiles ou compliquées, tout est pensé pour vous faciliter la vie et tout peut se faire au clavier avec des raccourcis bien pensés. Rassurez-vous, y’a un bon petit didacticiel qui vous permettra d’apprendre les raccourcis de base pour vous lancer.

\n\n\n\n

Mais ce n’est pas tout ! Godspeed va encore plus loin en vous proposant des fonctionnalités avancées pour ceux qui souhaitent aller au-delà de la simple gestion de tâches. Par exemple, vous pouvez créer des tâches principales et leur attribuer des sous-tâches pour une organisation encore plus poussée. Vous pouvez également définir des priorités et des échéances pour chaque tâche, histoire de ne plus jamais rater un deadline. Et vous pouvez aussi paramétrer vos tâches pour qu’elles vous soit proposées de manière récurrentes (toutes les semaines par exemple).

\n\n\n\n

Il est également possible d’associer des notes pour chaque tâche et d’y joindre des URLs (de la documentation par exemple) pour ouvrir ensuite ça d’un petit coup de raccourci clavier.

\n\n\n\n

Godspeed est utilisable via son API si vous souhaitez intégrer tout ça dans vos outils comme IFTTT / Zapier, vous pouvez exporter les data au format JSON et vous avez la possibilité de l’utiliser en mode clair ou sombre pour ne pas vous flinguer les yeux.

\n\n\n\n
\r\n

Et pour les puristes, il existe même au sein de Godspeed, un mode « hardcore » pour désactiver la souris et tout faire au clavier tel un pianiste sous amphétamine.

\n\n\n
\n
\"\"
\n\n\n

En conclusion, je ne peux que vous recommander de tester Godspeed si vous êtes à la recherche d’une solution simple et efficace pour gérer votre temps et vos tâches. Que vous soyez un simple utilisateur ou un véritable « power user », vous trouverez forcément votre bonheur avec cette application. Alors, qu’attendez-vous ? Allez, prenez votre vie en main et foncez sur godspeedapp.com ! Vous ne le regretterez pas. Et n’oubliez pas, comme disent nos amis anglophones : « Godspeed » !

\n", + "category": "MacOS", + "link": "https://korben.info/godspeed-application-gestion-temps-taches-revolutionnaire.html", + "creator": "Korben", + "pubDate": "Sat, 21 Oct 2023 07:00:00 +0000", + "enclosure": "", + "enclosureType": "", + "image": "", + "id": "", + "language": "fr", + "folder": "", + "feed": "korben.info", + "read": false, + "favorite": false, + "created": false, + "tags": [], + "hash": "922899c9608a057c1732c0e3519c420a", + "highlights": [] + }, { "title": "BitLocker réduirait jusqu’à 45% vitesse SSD ? – Que faire ?", "description": "Chers lecteurs, BitLocker, intégré à Windows 11 Pro, pourrait ralentir les SSD jusqu'à 45%. Des alternatives comme VeraCrypt sont disponibles, mais peuvent également impacter les performances. Il est important de vérifier le chiffrement utilisé et d'expérimenter pour trouver la meilleure solution pour vos besoins et performances.", diff --git a/.obsidian/plugins/workspaces-plus/data.json b/.obsidian/plugins/workspaces-plus/data.json index fbd6a942..aac6b49d 100644 --- a/.obsidian/plugins/workspaces-plus/data.json +++ b/.obsidian/plugins/workspaces-plus/data.json @@ -6,7 +6,7 @@ "workspaceSettings": false, "systemDarkMode": false, "globalSettings": {}, - "activeWorkspaceDesktop": "blog", + "activeWorkspaceDesktop": "fac", "activeWorkspaceMobile": "", "reloadLivePreview": false, "workspaceSwitcherRibbon": false, diff --git a/.obsidian/snippets/darkmode.css b/.obsidian/snippets/darkmode.css index 28f994b5..8f13ed58 100644 --- a/.obsidian/snippets/darkmode.css +++ b/.obsidian/snippets/darkmode.css @@ -9,11 +9,11 @@ .pdf-viewer>.page, .mm-pdf-container { filter: invert(0.7) - brightness(0.9) + brightness(0.85) contrast(1.6) hue-rotate(180deg) - saturate(200%) - blur(0.5px) /* blur makes the white text less agressive */ + saturate(150%) + /* blur(0.5px) /1* blur makes the white text less agressive *1/ */ ; } /* .mm-highlight { */ diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 1796401b..73a23dd8 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,183 +4,31 @@ "type": "split", "children": [ { - "id": "6420607d187f986d", + "id": "92b1a80c7ae5a2b8", "type": "tabs", "children": [ { - "id": "7e6e0c2ec2f17812", + "id": "9cb392bf4b341a29", "type": "leaf", "pane-relief:history-v1": { - "pos": 0, + "pos": 1, "stack": [ { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "blog/posts/autres/texte étirable.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "8723fbe840ab4431", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "obsidian sequence shortcuts.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "6873dcc4af37d699", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "docstring challenge du 2023-08-13", + "title": "gestion de projet", "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"docstring challenge du 2023-08-13.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":5,\"ch\":16},\"to\":{\"line\":5,\"ch\":16}},\"scroll\":0.2332761578044597}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "blog/posts/informatique/docstring challenges/docstring challenges - 13 août 2023.qmd", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "9347e420dc5b3a95", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "sources/The Advantages of Text-Based Information Versus Videos, Audio or Images.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "51fb259068890339", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "Conseil étudiant.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "2e20d18b95db21ab", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "TDA.couper la parole", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.couper la parole.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":4,\"ch\":0},\"to\":{\"line\":4,\"ch\":0}},\"scroll\":0}" - }, - { - "title": "TDA.parler trop", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.parler trop.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":2,\"ch\":0},\"to\":{\"line\":2,\"ch\":0}}}" - }, - { - "title": "TDA", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"gestion de projet.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", "eState": "{\"cursor\":{\"from\":{\"line\":0,\"ch\":0},\"to\":{\"line\":0,\"ch\":0}}}" }, { - "title": "TDA.parler trop", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.parler trop.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":3,\"ch\":0},\"to\":{\"line\":3,\"ch\":0}},\"scroll\":0}" - }, - { - "title": "TDA.couper la parole", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.couper la parole.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":23,\"ch\":0},\"to\":{\"line\":23,\"ch\":0}},\"scroll\":11.771816157116826}" - }, - { - "title": "TDA.bougeotte", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.bougeotte.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":11,\"ch\":0},\"to\":{\"line\":11,\"ch\":0}},\"scroll\":0}" - }, - { - "title": "TDA", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"TDA.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":8,\"ch\":0},\"to\":{\"line\":8,\"ch\":0}}}" + "state": "{}", + "eState": "{}" } ] }, "state": { "type": "markdown", "state": { - "file": "TDA.parler trop.md", + "file": "note de cadrage du projet.md", "mode": "source", "backlinks": false, "source": false @@ -188,7 +36,7 @@ } }, { - "id": "8af40cbf2184044c", + "id": "a65907065a9d31f7", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -198,17 +46,17 @@ "eState": "{}" }, { - "title": "salaire", + "title": "programmation web serveur", "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"salaire.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":8,\"ch\":4},\"to\":{\"line\":8,\"ch\":4}}}" + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"programmation web serveur.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "eState": "{\"cursor\":{\"from\":{\"line\":13,\"ch\":0},\"to\":{\"line\":13,\"ch\":0}}}" } ] }, "state": { "type": "markdown", "state": { - "file": "le salaire est un rapport de force.md", + "file": "travail de délégué.md", "mode": "source", "backlinks": false, "source": false @@ -216,41 +64,7 @@ } }, { - "id": "7063570c30fc4ba2", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "travail libre - Recherche Google", - "icon": "lucide-file", - "state": "{\"type\":\"surfing-view\",\"state\":{\"url\":\"https://www.google.com/search?q=travail%20libre\"}}", - "eState": "{}" - }, - { - "state": "{\"type\":\"surfing-view\",\"state\":{\"url\":\"https://www.google.com/search?q=travail libre\"}}", - "title": "travail libre - Recherche Google", - "icon": "search", - "eState": "null" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "travail libre contre travail subordonné.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "883eebcbb68557d3", + "id": "f78a03dad612c422", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -264,7 +78,7 @@ "state": { "type": "markdown", "state": { - "file": "l'épargne ne peut pas remplacer les retraites.md", + "file": "stage de licence 3 informatique.md", "mode": "source", "backlinks": false, "source": false @@ -272,29 +86,7 @@ } }, { - "id": "b385d9668d5c96ba", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "anarchie.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "30819a60a3a70174", + "id": "abc28a3f1d6db09b", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -304,121 +96,15 @@ "eState": "{}" }, { - "title": "apprentissage", + "title": "programmation web serveur", "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"blog/posts/autres/apprentissage.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":9,\"ch\":0},\"to\":{\"line\":9,\"ch\":0}},\"scroll\":0.13622291021671826}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "blog/posts/autres/qualification contre compétence.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "805d3bcf1c7abe47", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"programmation web serveur.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "eState": "{\"cursor\":{\"from\":{\"line\":2,\"ch\":0},\"to\":{\"line\":2,\"ch\":0}},\"scroll\":0}" }, { - "title": "quarto blog", + "title": "2023-10-12", "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"quarto blog.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":2,\"ch\":0},\"to\":{\"line\":2,\"ch\":0}}}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "quarto extension collapse-callout.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "10188fb365068f3a", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "post queues", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"post queues.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":0,\"ch\":0},\"to\":{\"line\":0,\"ch\":0}}}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "post queue challenges docstring.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "e8989c205167f9f3", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "films à voir.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "83d8fad282b7d043", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "2023-10-05", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"daily/2023-10-05.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":9,\"ch\":55},\"to\":{\"line\":9,\"ch\":55}}}" - }, - { - "title": "2023-10-23", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"daily/2023-10-23.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"daily/2023-10-12.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", "eState": "{\"cursor\":{\"from\":{\"line\":4,\"ch\":0},\"to\":{\"line\":4,\"ch\":0}}}" } ] @@ -426,15 +112,197 @@ "state": { "type": "markdown", "state": { - "file": "daily/2023-10-23.md", + "file": "Projet web serveur.md", "mode": "source", "backlinks": false, "source": false } } + }, + { + "id": "7c810d97b04a1d9b", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_ch0.pdf" + } + } + }, + { + "id": "5a06cb7b58dc8acd", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2.pdf\"}}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2-annotate", + "icon": "blocks", + "state": "{\"type\":\"mindmapview\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2-annotate.md\"}}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2.pdf\"}}", + "eState": "{}" + }, + { + "title": "L3_info_statistiques_TD0", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S5/L3_info_statistiques_TD0.pdf\"}}", + "eState": "{}" + }, + { + "title": "projet gestion et simulation d'entreprise", + "icon": "lucide-file", + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"projet gestion et simulation d'entreprise.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "eState": "{\"cursor\":{\"from\":{\"line\":6,\"ch\":23},\"to\":{\"line\":6,\"ch\":23}},\"scroll\":0}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" + } + } + }, + { + "id": "9c1ba20a2fc32231", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "excalidraw", + "state": { + "file": "Excalidraw/révisions statistiques notes.excalidraw.md" + } + } } ], - "currentTab": 14 + "currentTab": 5 + }, + { + "id": "7178ce0a6b8bca49", + "type": "tabs", + "children": [ + { + "id": "04a1613aa6b43843", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "markdown", + "state": { + "file": "projet gestion et simulation d'entreprise.md", + "mode": "source", + "backlinks": false, + "source": false + } + } + }, + { + "id": "36c6524ff4a86d95", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf" + } + } + }, + { + "id": "2e023f0f2d7db437", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "markdown", + "state": { + "file": "Statistiques révisions.md", + "mode": "source", + "backlinks": false, + "source": false + } + } + }, + { + "id": "d76933b614efca24", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + }, + { + "title": "révisions statistiques notes.excalidraw", + "icon": "excalidraw-icon", + "state": "{\"type\":\"excalidraw\",\"state\":{\"file\":\"Excalidraw/révisions statistiques notes.excalidraw.md\"}}", + "eState": "{}" + } + ] + }, + "state": { + "type": "mindmapview", + "state": { + "file": "r.md" + } + } + } + ], + "currentTab": 2 } ], "direction": "vertical" @@ -446,7 +314,6 @@ { "id": "a3e04033addcedcd", "type": "tabs", - "dimension": 65.11111111111111, "children": [ { "id": "407c81c708328992", @@ -482,7 +349,7 @@ "state": { "type": "search", "state": { - "query": "tag:#science", + "query": "tag:#citation", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -511,6 +378,25 @@ } } }, + { + "id": "57113fd1edfc5008", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "all-properties", + "state": { + "sortOrder": "frequency" + } + } + }, { "id": "34a73362daed0f65", "type": "leaf", @@ -546,7 +432,7 @@ } }, { - "id": "2fce7b9c83102582", + "id": "ea9ae28999c66714", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -558,7 +444,7 @@ ] }, "state": { - "type": "surfing-tab-tree", + "type": "RSS_FEED", "state": {} } }, @@ -578,85 +464,13 @@ "type": "QUICKSHARE_SIDE_VIEW", "state": {} } - }, - { - "id": "8711edc0eb841f5f", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "RSS_FEED", - "state": {} - } } - ], - "currentTab": 1 - }, - { - "id": "d392c3e654e7953f", - "type": "tabs", - "dimension": 34.88888888888889, - "children": [ - { - "id": "c7afda8b81d643de", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "outgoing-link", - "state": { - "file": "daily/2023-10-23.md", - "linksCollapsed": false, - "unlinkedCollapsed": true - } - } - }, - { - "id": "e855affa02bb755e", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "backlink", - "state": { - "file": "daily/2023-10-23.md", - "collapseAll": true, - "extraContext": false, - "sortOrder": "alphabetical", - "showSearch": false, - "searchQuery": "", - "backlinkCollapsed": false, - "unlinkedCollapsed": false - } - } - } - ], - "currentTab": 1 + ] } ], "direction": "horizontal", - "width": 438.5 + "width": 421.5, + "collapsed": true }, "right": { "id": "1102f19b896c7a16", @@ -665,7 +479,7 @@ { "id": "980f845ab893296e", "type": "tabs", - "dimension": 62.55555555555555, + "dimension": 50.222222222222214, "children": [ { "id": "9ae2ad8ad7426276", @@ -682,11 +496,11 @@ "state": { "type": "localgraph", "state": { - "file": "daily/2023-10-23.md", + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", "options": { - "collapse-filter": false, + "collapse-filter": true, "search": "", - "localJumps": 2, + "localJumps": 1, "localBacklinks": true, "localForelinks": true, "localInterlinks": false, @@ -700,17 +514,144 @@ "textFadeMultiplier": 0, "nodeSizeMultiplier": 1, "lineSizeMultiplier": 1, - "collapse-forces": true, - "centerStrength": 0.518713248970312, - "repelStrength": 10, + "collapse-forces": false, + "centerStrength": 0.907958984375, + "repelStrength": 3.17789713541667, "linkStrength": 1, - "linkDistance": 250, - "scale": 0.9346552651840669, + "linkDistance": 30, + "scale": 1.7404359846795439, "close": true } } } }, + { + "id": "b1de0ab08674d879", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "calendar", + "state": {} + } + }, + { + "id": "8d8d223c8b48a4c7", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "markdown", + "state": { + "file": "devoirs à faire.md", + "mode": "source", + "backlinks": false, + "source": false + } + } + }, + { + "id": "d45511af0bde9bcf", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "advanced-tables-toolbar", + "state": {} + } + }, + { + "id": "309f8009b1cc52b3", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "custom-frames-detexify", + "state": {} + } + }, + { + "id": "6546c4a93179e5a5", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "file-properties", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" + } + } + }, + { + "id": "f4f2463736d8bce0", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "outline", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" + } + } + }, + { + "id": "6c1bad9f0a9e1fe6", + "type": "leaf", + "state": { + "type": "tasks_timeline_view", + "state": {} + } + } + ], + "currentTab": 7 + }, + { + "id": "a739497ed8e21a5c", + "type": "tabs", + "dimension": 49.777777777777786, + "children": [ { "id": "a05eecb7dce21915", "type": "leaf", @@ -746,7 +687,7 @@ } }, { - "id": "b1de0ab08674d879", + "id": "c7afda8b81d643de", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -758,31 +699,16 @@ ] }, "state": { - "type": "calendar", - "state": {} - } - }, - { - "id": "e8e83f68ba3e5595", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "outline", + "type": "outgoing-link", "state": { - "file": "daily/2023-10-23.md" + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", + "linksCollapsed": false, + "unlinkedCollapsed": true } } }, { - "id": "dc0ef97f79a5ce93", + "id": "e855affa02bb755e", "type": "leaf", "pane-relief:history-v1": { "pos": 0, @@ -794,117 +720,25 @@ ] }, "state": { - "type": "all-properties", + "type": "backlink", "state": { - "sortOrder": "frequency" + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", + "collapseAll": true, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": false } } - }, - { - "id": "f67bb62d9dfb7d90", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "file-properties", - "state": { - "file": "daily/2023-10-23.md" - } - } - }, - { - "id": "e0374b2f0057269f", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "tasks_timeline_view", - "state": {} - } - } - ], - "currentTab": 7 - }, - { - "id": "3b58d11fec2fca87", - "type": "tabs", - "dimension": 37.44444444444445, - "children": [ - { - "id": "8d8d223c8b48a4c7", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "devoirs à faire.md", - "mode": "preview", - "backlinks": false, - "source": false - } - } - }, - { - "id": "309f8009b1cc52b3", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "custom-frames-detexify", - "state": {} - } - }, - { - "id": "d45511af0bde9bcf", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "advanced-tables-toolbar", - "state": {} - } } ] } ], "direction": "horizontal", - "width": 424.5 + "width": 385.5, + "collapsed": true }, "left-ribbon": { "hiddenItems": { @@ -929,47 +763,46 @@ "breadcrumbs:Breadcrumbs Visualisation": false } }, - "active": "83d8fad282b7d043", + "active": "5a06cb7b58dc8acd", "ophidian:layout-settings": { "pane-relief:focus-lock": true }, "lastOpenFiles": [ - "daily/2023-10-05.md", - "daily/2023-10-23.md", - "films à voir.md", - "prolétariat.md", + "sources/cours/S3/L2_maths_algebre_lineaire_TD2.pdf", + "sources/cours/S3/L2_maths_algebre_lineaire_TD2-annotate.md", + "sources/cours/S5/L3_info_statistiques_TD0.pdf", + "sources/cours/S5/L3_info_statistiques_TD1.pdf", + "Statistiques révisions.md", + "sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf", + "Excalidraw/révisions statistiques notes.excalidraw.md", + "note de cadrage du projet.md", + "sources/cours/S5/L3_info_statistiques_ch0.pdf", + "r.md", + "projet gestion et simulation d'entreprise.md", + "car.md", + "Projet web serveur.md", + "stage de licence 3 informatique.md", + "quarto extension collapse-callout.md", "post queue challenges docstring.md", + "films à voir.md", + "daily/2023-10-24.md", + "daily/2023-10-23.md", + "informatique/python/challenges_docstring/mentorat/dark/contacts.py", + "informatique/python/challenges_docstring/mentorat/dark", + "daily/2023-10-05.md", + "prolétariat.md", "baptême.md", "informatique/python/challenges_docstring/mentorat/krystof2601/contacts.db", "informatique/python/challenges_docstring/mentorat/krystof2601/contacts.py", "informatique/python/challenges_docstring/enonces/objets_poids.py", "post queues.md", - "quarto extension collapse-callout.md", "informatique/python/challenges_docstring/recap/recap_2023-10-21/enoncés.md", "informatique/python/challenges_docstring/recap/recap_2023-10-21/notes.md", - "informatique/python/challenges_docstring/recap/recap_2023-10-21", "quarto blog.md", "blog/posts/autres/qualification contre compétence.md", - "Projet web serveur.md", - "projet gestion et simulation d'entreprise.md", "javascript.md", "ergonomie IHM projet 1 - promenade cognitive - sans images.md", "ergonomie IHM projet 1 - promenade cognitive.md", - "informatique/programmation_web_serveur/TP3.zip", - "informatique/programmation_web_serveur/TP3/users_directory/foo.py", - "informatique/programmation_web_serveur/TP3/routes/file.js", - "informatique/programmation_web_serveur/TP3/users_directory/9375c7e800f9b900bfc2b0026045632b", - "informatique/programmation_web_serveur/TP3/node_modules/busboy/package.json", - "informatique/programmation_web_serveur/TP3/node_modules/busboy/test/test.js", - "informatique/programmation_web_serveur/TP3/node_modules/busboy/README.md", - "informatique/programmation_web_serveur/TP3/node_modules/streamsearch/README.md", - "informatique/programmation_web_serveur/TP3/node_modules/object-assign/readme.md", - "informatique/programmation_web_serveur/TP3/node_modules/multer/README.md", - "informatique/programmation_web_serveur/TP3/node_modules/append-field/README.md", - "informatique/programmation_web_serveur/TP3/node_modules/minimist/README.md", - "informatique/programmation_web_serveur/TP3/node_modules/minimist/CHANGELOG.md", - "informatique/programmation_web_serveur/TP3/node_modules/concat-stream/readme.md", - "informatique/programmation_web_serveur/TP3/node_modules/util-deprecate/README.md", "attachments/Capture d’écran 2023-10-18 à 00.05.25.png", "attachments/Capture d’écran 2023-10-17 à 23.56.01.png", "attachments/Capture d’écran 2023-10-17 à 23.55.50.png", diff --git a/.obsidian/workspaces.json b/.obsidian/workspaces.json index 7ef4f701..6651a54e 100644 --- a/.obsidian/workspaces.json +++ b/.obsidian/workspaces.json @@ -87,28 +87,6 @@ } } }, - { - "id": "63bf83af383c9206", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "projet gestion et simulation d'entreprise.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, { "id": "abc28a3f1d6db09b", "type": "leaf", @@ -142,9 +120,191 @@ "source": false } } + }, + { + "id": "7c810d97b04a1d9b", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_ch0.pdf" + } + } + }, + { + "id": "5a06cb7b58dc8acd", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2.pdf\"}}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2-annotate", + "icon": "blocks", + "state": "{\"type\":\"mindmapview\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2-annotate.md\"}}", + "eState": "{}" + }, + { + "title": "L2_maths_algebre_lineaire_TD2", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S3/L2_maths_algebre_lineaire_TD2.pdf\"}}", + "eState": "{}" + }, + { + "title": "L3_info_statistiques_TD0", + "icon": "lucide-file-text", + "state": "{\"type\":\"pdf\",\"state\":{\"file\":\"sources/cours/S5/L3_info_statistiques_TD0.pdf\"}}", + "eState": "{}" + }, + { + "title": "projet gestion et simulation d'entreprise", + "icon": "lucide-file", + "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"projet gestion et simulation d'entreprise.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", + "eState": "{\"cursor\":{\"from\":{\"line\":6,\"ch\":23},\"to\":{\"line\":6,\"ch\":23}},\"scroll\":0}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" + } + } + }, + { + "id": "9c1ba20a2fc32231", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "excalidraw", + "state": { + "file": "Excalidraw/révisions statistiques notes.excalidraw.md" + } + } } ], - "currentTab": 4 + "currentTab": 5 + }, + { + "id": "7178ce0a6b8bca49", + "type": "tabs", + "children": [ + { + "id": "04a1613aa6b43843", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "markdown", + "state": { + "file": "projet gestion et simulation d'entreprise.md", + "mode": "source", + "backlinks": false, + "source": false + } + } + }, + { + "id": "36c6524ff4a86d95", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "pdf", + "state": { + "file": "sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf" + } + } + }, + { + "id": "2e023f0f2d7db437", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + } + ] + }, + "state": { + "type": "markdown", + "state": { + "file": "Statistiques révisions.md", + "mode": "source", + "backlinks": false, + "source": false + } + } + }, + { + "id": "d76933b614efca24", + "type": "leaf", + "pane-relief:history-v1": { + "pos": 0, + "stack": [ + { + "state": "{}", + "eState": "{}" + }, + { + "title": "révisions statistiques notes.excalidraw", + "icon": "excalidraw-icon", + "state": "{\"type\":\"excalidraw\",\"state\":{\"file\":\"Excalidraw/révisions statistiques notes.excalidraw.md\"}}", + "eState": "{}" + } + ] + }, + "state": { + "type": "mindmapview", + "state": { + "file": "r.md" + } + } + } + ], + "currentTab": 2 } ], "direction": "vertical" @@ -311,7 +471,7 @@ } ], "direction": "horizontal", - "width": 390.5, + "width": 421.5, "collapsed": true }, "right": { @@ -338,7 +498,7 @@ "state": { "type": "localgraph", "state": { - "file": "Projet web serveur.md", + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", "options": { "collapse-filter": true, "search": "", @@ -455,7 +615,7 @@ "state": { "type": "file-properties", "state": { - "file": "Projet web serveur.md" + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" } } }, @@ -474,12 +634,12 @@ "state": { "type": "outline", "state": { - "file": "Projet web serveur.md" + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf" } } }, { - "id": "ff51a1271aa96930", + "id": "6c1bad9f0a9e1fe6", "type": "leaf", "state": { "type": "tasks_timeline_view", @@ -543,7 +703,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Projet web serveur.md", + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -564,7 +724,7 @@ "state": { "type": "backlink", "state": { - "file": "Projet web serveur.md", + "file": "sources/cours/S5/L3_info_statistiques_TD1.pdf", "collapseAll": true, "extraContext": false, "sortOrder": "alphabetical", @@ -579,7 +739,8 @@ } ], "direction": "horizontal", - "width": 385.5 + "width": 385.5, + "collapsed": true }, "left-ribbon": { "hiddenItems": { @@ -604,7 +765,7 @@ "breadcrumbs:Breadcrumbs Visualisation": false } }, - "active": "abc28a3f1d6db09b", + "active": "5a06cb7b58dc8acd", "ophidian:layout-settings": { "pane-relief:focus-lock": true }, @@ -614,7 +775,6 @@ "blog/posts/autres", "blog/posts/autres/_images", "blog/posts/welcome/_images", - "sources", "sources/cours", "sources/cours/S5" ] @@ -970,93 +1130,9 @@ "source": false } } - }, - { - "id": "10188fb365068f3a", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "post queues", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"post queues.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":0,\"ch\":0},\"to\":{\"line\":0,\"ch\":0}}}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "post queue challenges docstring.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "e8989c205167f9f3", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "films à voir.md", - "mode": "source", - "backlinks": false, - "source": false - } - } - }, - { - "id": "83d8fad282b7d043", - "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - }, - { - "title": "2023-10-05", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"daily/2023-10-05.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":9,\"ch\":55},\"to\":{\"line\":9,\"ch\":55}}}" - }, - { - "title": "2023-10-23", - "icon": "lucide-file", - "state": "{\"type\":\"markdown\",\"state\":{\"file\":\"daily/2023-10-23.md\",\"mode\":\"source\",\"backlinks\":false,\"source\":false}}", - "eState": "{\"cursor\":{\"from\":{\"line\":4,\"ch\":0},\"to\":{\"line\":4,\"ch\":0}}}" - } - ] - }, - "state": { - "type": "markdown", - "state": { - "file": "daily/2023-10-23.md", - "mode": "source", - "backlinks": false, - "source": false - } - } } ], - "currentTab": 14 + "currentTab": 11 } ], "direction": "vertical" @@ -1241,7 +1317,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "daily/2023-10-23.md", + "file": "quarto extension collapse-callout.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -1262,7 +1338,7 @@ "state": { "type": "backlink", "state": { - "file": "daily/2023-10-23.md", + "file": "quarto extension collapse-callout.md", "collapseAll": true, "extraContext": false, "sortOrder": "alphabetical", @@ -1278,7 +1354,8 @@ } ], "direction": "horizontal", - "width": 438.5 + "width": 438.5, + "collapsed": true }, "right": { "id": "1102f19b896c7a16", @@ -1304,7 +1381,7 @@ "state": { "type": "localgraph", "state": { - "file": "daily/2023-10-23.md", + "file": "quarto extension collapse-callout.md", "options": { "collapse-filter": false, "search": "", @@ -1399,7 +1476,7 @@ "state": { "type": "outline", "state": { - "file": "daily/2023-10-23.md" + "file": "quarto extension collapse-callout.md" } } }, @@ -1437,22 +1514,13 @@ "state": { "type": "file-properties", "state": { - "file": "daily/2023-10-23.md" + "file": "quarto extension collapse-callout.md" } } }, { - "id": "e0374b2f0057269f", + "id": "b55bb0810dc66844", "type": "leaf", - "pane-relief:history-v1": { - "pos": 0, - "stack": [ - { - "state": "{}", - "eState": "{}" - } - ] - }, "state": { "type": "tasks_timeline_view", "state": {} @@ -1551,7 +1619,7 @@ "breadcrumbs:Breadcrumbs Visualisation": false } }, - "active": "83d8fad282b7d043", + "active": "805d3bcf1c7abe47", "ophidian:layout-settings": { "pane-relief:focus-lock": true }, @@ -1566,5 +1634,5 @@ } } }, - "active": "blog" + "active": "fac" } \ No newline at end of file diff --git a/Excalidraw/révisions statistiques notes.excalidraw.md b/Excalidraw/révisions statistiques notes.excalidraw.md new file mode 100644 index 00000000..7a3e3be4 --- /dev/null +++ b/Excalidraw/révisions statistiques notes.excalidraw.md @@ -0,0 +1,7576 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== + + +# Text Elements +-5 -4 -3 -2 -1 0 1 2 3 4 5 ^NmWdNCRO + +5 + +4 + +3 + +2 + +1 + +0 + + +-1 + +-2 + +-3 + +-4 + +-5 ^vkzpRVcm + +x ^sLpyNlMt + +y ^oUHfvoar + + -1/2 ^OSV61uOC + +%% +# Drawing +```json +{ + "type": "excalidraw", + "version": 2, + "source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.19", + "elements": [ + { + "type": "arrow", + "version": 805, + "versionNonce": 1556013823, + "isDeleted": false, + "id": "SGtqCXxAISVdOX9n8Cxei", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -210.44007863603613, + "y": -44.5116845729699, + "strokeColor": "#000000", + "backgroundColor": "#fff", + "width": 549.1666666666665, + "height": 0, + "seed": 492422737, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "sLpyNlMt", + "focus": -0.17636363636387611, + "gap": 9.52272727272657 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 549.1666666666665, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 855, + "versionNonce": 2102661233, + "isDeleted": false, + "id": "ZjQi5pnnteUhOMQmms-qR", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -209.35674530270208, + "y": -44.92835123963715, + "strokeColor": "#000000", + "backgroundColor": "#fff", + "width": 546.6666666666666, + "height": 5.190112152794294e-13, + "seed": 198104113, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": { + "elementId": "oUHfvoar", + "focus": 0.46212121212106544, + "gap": 13.287878787881482 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 546.6666666666666, + 5.190112152794294e-13 + ] + ] + }, + { + "type": "text", + "version": 477, + "versionNonce": 1040722719, + "isDeleted": false, + "id": "NmWdNCRO", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -163.77341196936962, + "y": -42.67835123963664, + "strokeColor": "#000000", + "backgroundColor": "#fff", + "width": 449.391845703125, + "height": 20, + "seed": 1747396113, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "-5 -4 -3 -2 -1 0 1 2 3 4 5", + "rawText": "-5 -4 -3 -2 -1 0 1 2 3 4 5", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "-5 -4 -3 -2 -1 0 1 2 3 4 5", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 772, + "versionNonce": 641391185, + "isDeleted": false, + "id": "vkzpRVcm", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 70.3932546972969, + "y": -270.3450179063033, + "strokeColor": "#000000", + "backgroundColor": "#fff", + "width": 28.867279052734375, + "height": 448, + "seed": 492452849, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "fontSize": 16.303030303030308, + "fontFamily": 1, + "text": "5\n\n4\n\n3\n\n2\n\n1 \n\n0\n\n\n-1\n\n-2\n\n-3\n\n-4\n\n-5", + "rawText": "5\n\n4\n\n3\n\n2\n\n1 \n\n0\n\n\n-1\n\n-2\n\n-3\n\n-4\n\n-5", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "5\n\n4\n\n3\n\n2\n\n1 \n\n0\n\n\n-1\n\n-2\n\n-3\n\n-4\n\n-5", + "lineHeight": 1.2490706319702598, + "baseline": 441 + }, + { + "type": "line", + "version": 452, + "versionNonce": 322137919, + "isDeleted": false, + "id": "1SlLhNKL1uvlrEHGHrsXR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": -262.21623002751835, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1265604049, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 487, + "versionNonce": 2137876529, + "isDeleted": false, + "id": "TkpYgIBzvfj2CHnxttRp1", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": -3.125320936609228, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 629060529, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 510, + "versionNonce": 111226719, + "isDeleted": false, + "id": "9eCmTPK9jjoL7MjGenbLs", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": -219.0344118457002, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 263132561, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 544, + "versionNonce": 315832849, + "isDeleted": false, + "id": "CcIZICuVuKYp0Urs1Zz4H", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": 40.0564972452089, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 2100837233, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 525, + "versionNonce": 581036927, + "isDeleted": false, + "id": "Svg-5f1qcAZ1CRt6znrdK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": -175.852593663882, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 241280337, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 559, + "versionNonce": 1097060337, + "isDeleted": false, + "id": "O5Hrv1KEnQtDsSMlHGluO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": 83.23831542702709, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1854067505, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 549, + "versionNonce": 1400251295, + "isDeleted": false, + "id": "KPWefcD8Mj02O6cAHcQ_q", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.29613924209733, + "y": -132.67077548206382, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1912816913, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 583, + "versionNonce": 1629923793, + "isDeleted": false, + "id": "a-MBm0QoylxZ7ZindRE0o", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.29613924209733, + "y": 126.42013360884522, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1952086769, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 569, + "versionNonce": 693000127, + "isDeleted": false, + "id": "WDxhFyldOtDh7iQ-BRX26", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": -89.4889573002456, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1980757201, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 603, + "versionNonce": 456345521, + "isDeleted": false, + "id": "PxnVlVfrLD_3fXt9lFbhE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": -200.2961392420971, + "y": 169.6019517906633, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 2059088561, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 704, + "versionNonce": 1514866655, + "isDeleted": false, + "id": "KfZzf4-FoCznga7RI6qid", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": 15.612951666993212, + "y": -46.30713911843338, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 654554257, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 739, + "versionNonce": 162605457, + "isDeleted": false, + "id": "1sJ4hJ0KKIlqChwLkBL3J", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -243.4779574239149, + "y": -46.30713911842622, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 513866353, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 762, + "versionNonce": 75281407, + "isDeleted": false, + "id": "zbsYd4jvwSfTE4AuwqyZF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -27.568866514823895, + "y": -46.30713911843225, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 576357457, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 796, + "versionNonce": 366464881, + "isDeleted": false, + "id": "W6AwN72ED3ZO0BSO9kOjB", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -286.6597756057329, + "y": -46.307139118425084, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1846006321, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 777, + "versionNonce": 803462175, + "isDeleted": false, + "id": "P4yzEsj5-yaZ2uuZGzC-K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -70.75068469664237, + "y": -46.30713911843088, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1452303377, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 811, + "versionNonce": 367966545, + "isDeleted": false, + "id": "VE1ByzxethW0EN0cJVhlR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -329.84159378755044, + "y": -46.30713911842406, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 669759985, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 801, + "versionNonce": 275841087, + "isDeleted": false, + "id": "TiVvCdMB9HqmHYlmyYdRz", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -113.93250287846129, + "y": -46.30713911843009, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1126257617, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 835, + "versionNonce": 726492977, + "isDeleted": false, + "id": "LJMiMGcQYAyGxK3it6xbP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -373.0234119693698, + "y": -46.30713911842281, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 2085138865, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 821, + "versionNonce": 134520927, + "isDeleted": false, + "id": "G8CjDuWVNnp5PYet1PiFZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -157.11432106027885, + "y": -46.30713911842872, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 948523921, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "line", + "version": 855, + "versionNonce": 1616599313, + "isDeleted": false, + "id": "8oDBLOfBxUIm_PyiZXK8O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 1.5707963267948957, + "x": -416.2052301511874, + "y": -46.30713911842156, + "strokeColor": "#808080", + "backgroundColor": "transparent", + "width": 526, + "height": 0, + "seed": 1276819825, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274426459, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 526, + 0 + ] + ] + }, + { + "type": "text", + "version": 706, + "versionNonce": 1752120447, + "isDeleted": false, + "id": "sLpyNlMt", + "fillStyle": "hachure", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 348.249315303357, + "y": -59.21623002751835, + "strokeColor": "#000", + "backgroundColor": "transparent", + "width": 11.239990234375, + "height": 25, + "seed": 407135057, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "SGtqCXxAISVdOX9n8Cxei", + "type": "arrow" + } + ], + "updated": 1698274426459, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "x", + "rawText": "x", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "x", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 364, + "versionNonce": 110104305, + "isDeleted": false, + "id": "oUHfvoar", + "fillStyle": "hachure", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 60.74931530335763, + "y": -356.5495633608517, + "strokeColor": "#000", + "backgroundColor": "transparent", + "width": 9.379989624023438, + "height": 25, + "seed": 1767756081, + "groupIds": [ + "L7LOQ2gOQ9n-olwB_NbMi" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "ZjQi5pnnteUhOMQmms-qR", + "type": "arrow" + } + ], + "updated": 1698274426459, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "y", + "rawText": "y", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "y", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "id": "Jx9YID16E0KGXvguiqtWw", + "type": "line", + "x": -244.50390625, + "y": -56.81250000000003, + "width": 583.703125, + "height": 110.36328125, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1033783615, + "version": 316, + "versionNonce": 2074436017, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 95.8125, + -2.875 + ], + [ + 184.23828125, + -33.921875 + ], + [ + 231.046875, + -63.96484375 + ], + [ + 269.765625, + -94.171875 + ], + [ + 317.81640625, + -107.27734375 + ], + [ + 358.234375, + -86.1328125 + ], + [ + 410.28515625, + -43.41015625 + ], + [ + 498.171875, + -6.25 + ], + [ + 583.703125, + 3.0859375 + ] + ], + "lastCommittedPoint": [ + 583.703125, + 3.0859375 + ], + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "Tnk-WmGyeNT35imCnYRn0", + "type": "line", + "x": -14.450503276363293, + "y": -119.7057234482051, + "width": 226.31399451522094, + "height": 72.86152765133015, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1595652351, + "version": 299, + "versionNonce": 85954015, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.6213908356504589, + 72.39893669590145 + ], + [ + -225.69260367957048, + 72.86152765133015 + ], + [ + -125.00657527633463, + 60.99296269040562 + ], + [ + -20.64743660014244, + 17.861534353642696 + ], + [ + 0, + 0 + ] + ], + "lastCommittedPoint": [ + 2.823876130900601, + -3.5971625041545394 + ], + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "_YgV100zeqmKNrvZBRAUf", + "type": "line", + "x": -11.923560577169098, + "y": -121.88688957098697, + "width": 339.7592480771471, + "height": 114.991826308434, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1487076977, + "version": 429, + "versionNonce": 147850129, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.407293082150261, + 71.76028500370518 + ], + [ + 336.35195499499685, + 73.18603175439212 + ], + [ + 255.89910263480306, + 58.569538431368755 + ], + [ + 193.61502787476797, + 26.567910395368045 + ], + [ + 138.52527812304209, + -7.998680923345603 + ], + [ + 103.39598288093384, + -35.84389470310628 + ], + [ + 74.14918754965038, + -41.80579455404188 + ], + [ + 39.72758742592191, + -32.03269757778321 + ], + [ + 0, + 0 + ] + ], + "lastCommittedPoint": [ + 1.2531381852284647, + -3.465979994406098 + ], + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "pWOkNXfa_iPU9UtgfA1U6", + "type": "line", + "x": -14.38999426992203, + "y": -207.67367974234904, + "width": 0, + "height": 293.14803106074135, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1515243761, + "version": 177, + "versionNonce": 785414655, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 293.14803106074135 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": null + }, + { + "id": "whJ-m1UVEv50XaYEvp-_W", + "type": "ellipse", + "x": 588.1181573500605, + "y": -279.05212823275883, + "width": 305.9401939655172, + "height": 290.9671336206896, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#228be6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 40, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2032483327, + "version": 295, + "versionNonce": 1499866719, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false + }, + { + "id": "l9D4YlUYUxIlVT9g4uvu4", + "type": "ellipse", + "x": 695.3110452810951, + "y": -231.21807650862084, + "width": 349.9084051724137, + "height": 171.16379310344826, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 40, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 170017119, + "version": 734, + "versionNonce": 1950167825, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false + }, + { + "id": "75fnvEZ3PLFr9v_gXwi6x", + "type": "freedraw", + "x": 662.6063039017848, + "y": -243.5375808189657, + "width": 16.885775862068954, + "height": 28.011853448275843, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1772758271, + "version": 38, + "versionNonce": 1828892351, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.9886853448275588, + 0.7354525862068897 + ], + [ + -1.48168103448279, + 1.2257543103448256 + ], + [ + -2.3356681034482563, + 2.796336206896541 + ], + [ + -2.828663793103374, + 3.286637931034477 + ], + [ + -3.0765086206896513, + 3.776939655172413 + ], + [ + -3.6503232758620925, + 6.066810344827587 + ], + [ + -4.14331896551721, + 6.802262931034477 + ], + [ + -4.8653017241379075, + 7.882543103448285 + ], + [ + -9.577047413793139, + 16.40625 + ], + [ + -11.295797413793139, + 18.12230603448276 + ], + [ + -13.014547413793139, + 19.838362068965523 + ], + [ + -13.262392241379303, + 20.32866379310343 + ], + [ + -13.510237068965466, + 20.573814655172413 + ], + [ + -13.758081896551744, + 20.818965517241367 + ], + [ + -14.005926724137908, + 21.309267241379303 + ], + [ + -14.746767241379303, + 22.289870689655174 + ], + [ + -14.994612068965466, + 22.78017241379311 + ], + [ + -16.390086206896513, + 25.31519396551724 + ], + [ + -16.63793103448279, + 25.805495689655174 + ], + [ + -16.885775862068954, + 26.786099137931018 + ], + [ + -16.885775862068954, + 27.03125 + ], + [ + -16.885775862068954, + 27.76670258620689 + ], + [ + -16.885775862068954, + 28.011853448275843 + ], + [ + -16.885775862068954, + 28.011853448275843 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -16.885775862068954, + 28.011853448275843 + ] + }, + { + "id": "dGH4AA9L6ajKNx5pWxxWx", + "type": "freedraw", + "x": 666.9301185569573, + "y": -241.2719558189657, + "width": 7.03394396551721, + "height": 23.768857758620697, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1059447871, + "version": 37, + "versionNonce": 1557389489, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 2.2898706896551744 + ], + [ + 0, + 4.579741379310349 + ], + [ + 0.4903017241379075, + 5.560344827586192 + ], + [ + 0.8485991379310462, + 6.640625 + ], + [ + 1.09375, + 7.130926724137936 + ], + [ + 4.1648706896551175, + 12.917564655172413 + ], + [ + 4.655172413793025, + 13.653017241379303 + ], + [ + 4.655172413793025, + 13.898168103448285 + ], + [ + 4.655172413793025, + 14.388469827586192 + ], + [ + 4.655172413793025, + 15.12392241379311 + ], + [ + 4.9003232758620925, + 15.614224137931018 + ], + [ + 4.9003232758620925, + 16.349676724137936 + ], + [ + 6.298491379310349, + 19.84644396551724 + ], + [ + 6.298491379310349, + 20.336745689655174 + ], + [ + 6.298491379310349, + 20.581896551724128 + ], + [ + 6.5436422413793025, + 21.072198275862064 + ], + [ + 6.788793103448256, + 21.317349137931018 + ], + [ + 7.03394396551721, + 21.5625 + ], + [ + 7.03394396551721, + 22.543103448275843 + ], + [ + 7.03394396551721, + 23.03340517241378 + ], + [ + 7.03394396551721, + 23.523706896551715 + ], + [ + 7.03394396551721, + 23.768857758620697 + ], + [ + 7.03394396551721, + 23.768857758620697 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 7.03394396551721, + 23.768857758620697 + ] + }, + { + "id": "k6TzUUWpA4HHbXv870-PF", + "type": "freedraw", + "x": 655.0658944190262, + "y": -226.26387392241398, + "width": 16.856142241379303, + "height": 1.4709051724138078, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 842356575, + "version": 33, + "versionNonce": 1935441631, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.980603448275815, + -0.4956896551724128 + ], + [ + 5.557650862068954, + -0.8566810344827616 + ], + [ + 7.847521551724071, + -0.8566810344827616 + ], + [ + 8.337823275862092, + -0.3663793103448256 + ], + [ + 8.828125, + -0.12122844827587187 + ], + [ + 9.318426724137908, + 0.12392241379311031 + ], + [ + 9.563577586206861, + 0.12392241379311031 + ], + [ + 9.808728448275815, + 0.36907327586206407 + ], + [ + 10.053879310344769, + 0.6142241379310462 + ], + [ + 10.299030172413836, + 0.6142241379310462 + ], + [ + 10.789331896551744, + 0.6142241379310462 + ], + [ + 11.279633620689651, + 0.6142241379310462 + ], + [ + 12.605064655172441, + 0.6142241379310462 + ], + [ + 13.095366379310349, + 0.6142241379310462 + ], + [ + 13.83081896551721, + 0.6142241379310462 + ], + [ + 14.321120689655118, + 0.6142241379310462 + ], + [ + 16.856142241379303, + 0.04040948275863343 + ], + [ + 16.856142241379303, + -0.2074353448275872 + ], + [ + 16.856142241379303, + -0.2074353448275872 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 16.856142241379303, + -0.2074353448275872 + ] + }, + { + "id": "QemgLJekTbmKwEr6FVSUM", + "type": "freedraw", + "x": 979.5109375224745, + "y": -186.81613685344846, + "width": 3.631465517241395, + "height": 42.45150862068965, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1623227903, + "version": 26, + "versionNonce": 1574347409, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 2.2898706896551744 + ], + [ + 0, + 4.579741379310349 + ], + [ + -0.36099137931046243, + 6.740301724137936 + ], + [ + -0.36099137931046243, + 9.030172413793082 + ], + [ + -1.061422413793025, + 18.442887931034477 + ], + [ + -1.953125, + 25.56573275862067 + ], + [ + -2.73976293103442, + 31.352370689655174 + ], + [ + -2.73976293103442, + 32.432650862068954 + ], + [ + -3.631465517241395, + 40.635775862068954 + ], + [ + -3.631465517241395, + 41.71605603448273 + ], + [ + -3.631465517241395, + 42.45150862068965 + ], + [ + -3.631465517241395, + 42.45150862068965 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -3.631465517241395, + 42.45150862068965 + ] + }, + { + "id": "ddWN_smEUYghYFeR9Dszw", + "type": "freedraw", + "x": 981.9031789017847, + "y": -185.97292564655191, + "width": 32.34644396551744, + "height": 35.90247844827584, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1984021439, + "version": 74, + "versionNonce": 172444415, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.2478448275861922 + ], + [ + 1.08028017241395, + -0.6088362068965409 + ], + [ + 4.577047413793252, + -0.6088362068965409 + ], + [ + 5.06734913793116, + -0.6088362068965409 + ], + [ + 14.480064655172555, + -0.6088362068965409 + ], + [ + 16.769935344827672, + -0.6088362068965409 + ], + [ + 23.766163793103487, + -0.6088362068965409 + ], + [ + 24.84644396551721, + -0.6088362068965409 + ], + [ + 26.171875, + -0.3636853448275872 + ], + [ + 26.171875, + -0.11853448275860501 + ], + [ + 26.171875, + 2.661637931034477 + ], + [ + 26.171875, + 3.151939655172413 + ], + [ + 26.171875, + 3.6422413793103487 + ], + [ + 26.171875, + 6.422413793103459 + ], + [ + 25.92403017241395, + 6.912715517241395 + ], + [ + 20.320581896551857, + 11.81034482758622 + ], + [ + 16.821120689655345, + 13.908943965517238 + ], + [ + 15.245150862069067, + 14.512392241379303 + ], + [ + 10.53609913793116, + 15.296336206896541 + ], + [ + 9.550107758620697, + 15.541487068965523 + ], + [ + 6.050646551724185, + 15.541487068965523 + ], + [ + 2.303340517241395, + 16.484375 + ], + [ + 0.010775862069067443, + 17.055495689655174 + ], + [ + -0.4849137931032601, + 17.055495689655174 + ], + [ + -0.977909482758605, + 17.055495689655174 + ], + [ + -1.4709051724137225, + 17.055495689655174 + ], + [ + -2.2117456896551175, + 17.055495689655174 + ], + [ + -2.459590517241395, + 17.055495689655174 + ], + [ + -2.2144396551723275, + 16.807650862068954 + ], + [ + 0.5657327586206975, + 16.807650862068954 + ], + [ + 6.48168103448279, + 16.807650862068954 + ], + [ + 9.978448275862092, + 16.807650862068954 + ], + [ + 16.974676724137908, + 17.378771551724128 + ], + [ + 27.596982758620697, + 19.447737068965523 + ], + [ + 29.886853448276042, + 20.018857758620697 + ], + [ + 29.886853448276042, + 20.26400862068965 + ], + [ + 29.886853448276042, + 21.34428879310346 + ], + [ + 29.886853448276042, + 22.324892241379303 + ], + [ + 29.886853448276042, + 22.570043103448285 + ], + [ + 29.639008620689765, + 23.305495689655174 + ], + [ + 27.34644396551721, + 24.45043103448276 + ], + [ + 26.015625, + 25.414870689655174 + ], + [ + 22.090517241379303, + 28.553340517241367 + ], + [ + 20.759698275862092, + 29.51778017241378 + ], + [ + 20.511853448276042, + 29.76293103448276 + ], + [ + 19.771012931034647, + 30.253232758620697 + ], + [ + 19.771012931034647, + 30.49838362068965 + ], + [ + 16.985452586206975, + 31.069504310344826 + ], + [ + 15.902478448276042, + 31.427801724137936 + ], + [ + 12.155172413793252, + 32.12553879310346 + ], + [ + 11.907327586206975, + 32.12553879310346 + ], + [ + 11.659482758620697, + 32.37068965517241 + ], + [ + 9.493534482758605, + 33.08728448275863 + ], + [ + 7.2009698275862775, + 33.65840517241378 + ], + [ + 6.953125, + 33.90355603448276 + ], + [ + 6.70528017241395, + 34.148706896551715 + ], + [ + 4.164870689655345, + 35.2936422413793 + ], + [ + 3.9170258620690674, + 35.2936422413793 + ], + [ + 3.66918103448279, + 35.2936422413793 + ], + [ + 3.66918103448279, + 35.2936422413793 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 3.66918103448279, + 35.2936422413793 + ] + }, + { + "id": "Oyqem96d2IyY0UMSPM9Um", + "type": "freedraw", + "x": 755.890247867302, + "y": -183.99824892241398, + "width": 19.124461206896513, + "height": 17.284482758620697, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 682549119, + "version": 60, + "versionNonce": 417736817, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.24784482758616377, + 0 + ], + [ + -0.7408405172412813, + 0.49030172413793593 + ], + [ + -2.8421336206896513, + 3.9870689655172384 + ], + [ + -5.196659482758605, + 8.693426724137936 + ], + [ + -5.9186422413793025, + 10.853987068965523 + ], + [ + -5.9186422413793025, + 11.934267241379303 + ], + [ + -5.9186422413793025, + 12.179418103448285 + ], + [ + -6.166487068965466, + 12.179418103448285 + ], + [ + -6.166487068965466, + 10.603448275862064 + ], + [ + -6.166487068965466, + 7.227909482758605 + ], + [ + -6.166487068965466, + 6.144935344827587 + ], + [ + -6.166487068965466, + 5.651939655172413 + ], + [ + -5.808189655172441, + 4.075969827586192 + ], + [ + -5.808189655172441, + 1.7834051724137794 + ], + [ + -5.808189655172441, + 1.0425646551724128 + ], + [ + -5.563038793103374, + 0.7947198275861922 + ], + [ + -5.563038793103374, + 0.053879310344825626 + ], + [ + -5.563038793103374, + -0.19396551724136657 + ], + [ + -5.072737068965466, + -0.6896551724138078 + ], + [ + -4.582435344827559, + -0.9375 + ], + [ + 0.3690732758620925, + -3.5398706896551744 + ], + [ + 0.6142241379310462, + -3.5398706896551744 + ], + [ + 0.859375, + -4.035560344827587 + ], + [ + 1.3496767241380212, + -4.283405172413808 + ], + [ + 1.5948275862068613, + -4.283405172413808 + ], + [ + 1.5948275862068613, + -4.53125 + ], + [ + 1.8399784482759287, + -4.53125 + ], + [ + 2.3302801724138362, + -4.53125 + ], + [ + 4.865301724138021, + -5.105064655172413 + ], + [ + 5.355603448275929, + -4.614762931034477 + ], + [ + 6.5005387931034875, + -2.3248922413793025 + ], + [ + 7.103987068965466, + -0.9994612068965409 + ], + [ + 7.462284482758719, + 0.08081896551723844 + ], + [ + 8.065732758620697, + 1.6514008620689538 + ], + [ + 8.785021551724185, + 2.7316810344827616 + ], + [ + 11.241918103448256, + 6.610991379310349 + ], + [ + 11.487068965517324, + 6.8561422413793025 + ], + [ + 12.222521551724185, + 7.836745689655174 + ], + [ + 12.222521551724185, + 8.081896551724128 + ], + [ + 12.467672413793139, + 8.572198275862064 + ], + [ + 12.712823275862092, + 8.817349137931046 + ], + [ + 12.957974137931046, + 9.307650862068954 + ], + [ + 12.957974137931046, + 9.552801724137936 + ], + [ + 12.957974137931046, + 10.043103448275872 + ], + [ + 12.957974137931046, + 11.123383620689651 + ], + [ + 12.957974137931046, + 11.123383620689651 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 12.957974137931046, + 11.123383620689651 + ] + }, + { + "id": "GFZk9yNizVDojFubANpDQ", + "type": "freedraw", + "x": 755.9522090741987, + "y": -177.0909213362071, + "width": 10.727370689655118, + "height": 0.2478448275861922, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 894944639, + "version": 21, + "versionNonce": 1849922335, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.2478448275861922 + ], + [ + 1.32543103448279, + -0.2478448275861922 + ], + [ + 3.6153017241379075, + -0.2478448275861922 + ], + [ + 9.401939655172328, + -0.2478448275861922 + ], + [ + 10.482219827586164, + -0.2478448275861922 + ], + [ + 10.727370689655118, + -0.2478448275861922 + ], + [ + 10.727370689655118, + -0.2478448275861922 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 10.727370689655118, + -0.2478448275861922 + ] + }, + { + "id": "SMY97Tkib8AuMy-tLxfht", + "type": "freedraw", + "x": 785.0174030397159, + "y": -173.60762392241398, + "width": 12.931034482758605, + "height": 24.315732758620697, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 10612383, + "version": 59, + "versionNonce": 935981649, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.24784482758622062 + ], + [ + -0.49568965517244123, + -0.7435344827586334 + ], + [ + -0.743534482758605, + -0.9913793103448256 + ], + [ + -1.2392241379310462, + -1.4870689655172384 + ], + [ + -1.2392241379310462, + -7.405711206896541 + ], + [ + -1.2392241379310462, + -8.488685344827587 + ], + [ + -0.4552801724138362, + -14.280711206896541 + ], + [ + -0.4552801724138362, + -15.363685344827587 + ], + [ + -0.4552801724138362, + -17.90409482758622 + ], + [ + -0.21012931034488247, + -18.399784482758633 + ], + [ + -0.21012931034488247, + -19.140625 + ], + [ + 0.28017241379302504, + -19.881465517241367 + ], + [ + 0.9994612068965125, + -20.964439655172413 + ], + [ + 1.9800646551723275, + -21.70528017241378 + ], + [ + 3.0603448275861638, + -22.427262931034477 + ], + [ + 5.595366379310349, + -23.574892241379303 + ], + [ + 6.085668103448256, + -23.822737068965523 + ], + [ + 6.33081896551721, + -24.315732758620697 + ], + [ + 6.575969827586164, + -24.315732758620697 + ], + [ + 7.066271551724185, + -24.070581896551715 + ], + [ + 8.046875, + -23.82543103448276 + ], + [ + 9.127155172413723, + -23.46713362068965 + ], + [ + 11.287715517241395, + -22.38954741379311 + ], + [ + 11.287715517241395, + -22.144396551724128 + ], + [ + 11.287715517241395, + -21.40894396551724 + ], + [ + 11.287715517241395, + -20.67349137931035 + ], + [ + 11.287715517241395, + -20.428340517241367 + ], + [ + 11.532866379310349, + -19.93803879310346 + ], + [ + 11.532866379310349, + -18.957435344827587 + ], + [ + 11.532866379310349, + -16.667564655172413 + ], + [ + 11.532866379310349, + -13.887392241379303 + ], + [ + 11.532866379310349, + -13.642241379310349 + ], + [ + 10.959051724137908, + -10.272090517241367 + ], + [ + 10.959051724137908, + -10.026939655172413 + ], + [ + 10.71120689655163, + -9.046336206896541 + ], + [ + 10.71120689655163, + -8.801185344827587 + ], + [ + 10.71120689655163, + -8.310883620689651 + ], + [ + 10.71120689655163, + -7.820581896551715 + ], + [ + 10.71120689655163, + -7.330280172413808 + ], + [ + 10.71120689655163, + -7.085129310344826 + ], + [ + 10.956357758620697, + -6.349676724137936 + ], + [ + 10.956357758620697, + -6.104525862068954 + ], + [ + 11.446659482758605, + -5.859375 + ], + [ + 11.691810344827559, + -5.614224137931046 + ], + [ + 11.691810344827559, + -5.614224137931046 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 11.691810344827559, + -5.614224137931046 + ] + }, + { + "id": "bneRhYhj3QH2LSuQ0_mbB", + "type": "freedraw", + "x": 813.010398729371, + "y": -198.75309806034502, + "width": 1.3550646551724412, + "height": 24.628232758620697, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 879361151, + "version": 27, + "versionNonce": 2009192255, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.8157327586206975 + ], + [ + 0, + 4.105603448275872 + ], + [ + 0, + 5.18588362068968 + ], + [ + 0, + 9.765625 + ], + [ + 0, + 12.055495689655174 + ], + [ + 0.78394396551721, + 19.051724137931046 + ], + [ + 0.78394396551721, + 20.132004310344826 + ], + [ + 1.3550646551724412, + 22.912176724137936 + ], + [ + 1.3550646551724412, + 23.157327586206918 + ], + [ + 1.3550646551724412, + 23.402478448275872 + ], + [ + 1.3550646551724412, + 24.13793103448276 + ], + [ + 1.3550646551724412, + 24.628232758620697 + ], + [ + 1.3550646551724412, + 24.628232758620697 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 1.3550646551724412, + 24.628232758620697 + ] + }, + { + "id": "hxsftjfXMbzVNKmB0ZKlV", + "type": "freedraw", + "x": 812.3880926948882, + "y": -196.65180495689674, + "width": 13.768857758620697, + "height": 26.16918103448276, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1692090975, + "version": 80, + "versionNonce": 1062830129, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.5344827586206975, + -2.5969827586206975 + ], + [ + 4.614762931034534, + -2.957974137931018 + ], + [ + 9.321120689655231, + -4.528556034482762 + ], + [ + 9.566271551724185, + -4.776400862068954 + ], + [ + 10.056573275862092, + -4.776400862068954 + ], + [ + 10.546875, + -4.53125 + ], + [ + 11.627155172413836, + -4.53125 + ], + [ + 11.87230603448279, + -4.53125 + ], + [ + 12.362607758620697, + -4.286099137931018 + ], + [ + 12.362607758620697, + -4.040948275862064 + ], + [ + 12.362607758620697, + -3.7957974137931103 + ], + [ + 12.362607758620697, + -3.550646551724128 + ], + [ + 12.362607758620697, + -2.4703663793103487 + ], + [ + 12.362607758620697, + -1.1449353448275872 + ], + [ + 12.362607758620697, + 1.1449353448275872 + ], + [ + 12.362607758620697, + 2.125538793103459 + ], + [ + 12.362607758620697, + 2.615840517241395 + ], + [ + 11.031788793103487, + 3.580280172413808 + ], + [ + 10.783943965517324, + 3.8254310344827616 + ], + [ + 9.797952586206975, + 4.3157327586206975 + ], + [ + 9.550107758620697, + 4.560883620689651 + ], + [ + 9.05441810344837, + 4.806034482758633 + ], + [ + 8.558728448275929, + 5.296336206896541 + ], + [ + 8.310883620689765, + 5.296336206896541 + ], + [ + 7.57004310344837, + 5.786637931034477 + ], + [ + 7.3221982758620925, + 6.031788793103459 + ], + [ + 6.826508620689765, + 6.522090517241395 + ], + [ + 6.5786637931034875, + 6.522090517241395 + ], + [ + 6.330818965517324, + 6.767241379310349 + ], + [ + 7.066271551724185, + 6.271551724137936 + ], + [ + 9.356142241379303, + 5.12392241379311 + ], + [ + 9.60129310344837, + 4.87607758620689 + ], + [ + 10.091594827586277, + 4.87607758620689 + ], + [ + 10.336745689655231, + 4.87607758620689 + ], + [ + 11.31734913793116, + 5.121228448275872 + ], + [ + 11.807650862069067, + 5.366379310344826 + ], + [ + 12.297952586206975, + 5.611530172413808 + ], + [ + 12.543103448275929, + 5.856681034482762 + ], + [ + 13.27855603448279, + 6.3469827586206975 + ], + [ + 13.768857758620697, + 6.592133620689651 + ], + [ + 13.768857758620697, + 7.327586206896541 + ], + [ + 13.768857758620697, + 8.407866379310349 + ], + [ + 13.768857758620697, + 8.653017241379303 + ], + [ + 13.768857758620697, + 9.978448275862064 + ], + [ + 13.768857758620697, + 10.713900862068954 + ], + [ + 13.768857758620697, + 10.959051724137936 + ], + [ + 13.768857758620697, + 11.20420258620689 + ], + [ + 13.768857758620697, + 11.694504310344826 + ], + [ + 13.768857758620697, + 11.939655172413808 + ], + [ + 13.407866379310462, + 14.100215517241395 + ], + [ + 13.407866379310462, + 14.590517241379303 + ], + [ + 13.407866379310462, + 16.161099137931046 + ], + [ + 13.407866379310462, + 16.40625 + ], + [ + 12.586206896551857, + 18.941271551724128 + ], + [ + 12.33836206896558, + 18.941271551724128 + ], + [ + 11.842672413793139, + 19.431573275862064 + ], + [ + 11.594827586206975, + 19.431573275862064 + ], + [ + 10.85398706896558, + 19.921875 + ], + [ + 10.606142241379303, + 20.167025862068954 + ], + [ + 9.865301724137908, + 20.412176724137936 + ], + [ + 9.617456896551857, + 20.65732758620689 + ], + [ + 9.124461206896626, + 20.902478448275872 + ], + [ + 7.548491379310462, + 21.147629310344826 + ], + [ + 7.055495689655231, + 21.392780172413808 + ], + [ + 6.807650862069067, + 21.392780172413808 + ], + [ + 6.807650862069067, + 21.392780172413808 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 6.807650862069067, + 21.392780172413808 + ] + }, + { + "id": "Wb3bfhB8AfNCKxbXl2ori", + "type": "freedraw", + "x": 664.4408944190262, + "y": 45.188173491379075, + "width": 6.592133620689765, + "height": 58.51293103448279, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1539625137, + "version": 26, + "versionNonce": 1063829439, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.2451508620690106 + ], + [ + 0, + 2.4057112068965694 + ], + [ + 0, + 3.4859913793103487 + ], + [ + 0.5711206896552312, + 12.898706896551744 + ], + [ + 0.5711206896552312, + 21.231142241379303 + ], + [ + 0.5711206896552312, + 27.017780172413836 + ], + [ + 0.5711206896552312, + 35.350215517241395 + ], + [ + -1.6998922413793025, + 43.553340517241395 + ], + [ + -2.0608836206896513, + 44.633620689655174 + ], + [ + -4.959590517241395, + 51.629849137931046 + ], + [ + -4.959590517241395, + 52.710129310344826 + ], + [ + -5.660021551724185, + 56.69719827586209 + ], + [ + -5.660021551724185, + 57.1875 + ], + [ + -6.021012931034534, + 58.51293103448279 + ], + [ + -6.021012931034534, + 58.019935344827616 + ], + [ + -6.021012931034534, + 56.93696120689657 + ], + [ + -6.021012931034534, + 55.85398706896552 + ], + [ + -6.021012931034534, + 55.85398706896552 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -6.021012931034534, + 55.85398706896552 + ] + }, + { + "id": "XoHiS8FDkIRtqDCLbTVbD", + "type": "freedraw", + "x": 660.6585668328194, + "y": 52.841729525861865, + "width": 50.75700431034477, + "height": 23.42403017241378, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 533950001, + "version": 48, + "versionNonce": 1481858993, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.980603448275815, + -0.743534482758605 + ], + [ + 1.2257543103447688, + -0.9913793103448256 + ], + [ + 1.96120689655163, + -1.4870689655172669 + ], + [ + 2.4515086206895376, + -1.7349137931034875 + ], + [ + 7.028556034482676, + -2.7963362068965694 + ], + [ + 7.27370689655163, + -3.04418103448279 + ], + [ + 20.3125, + -6.610991379310349 + ], + [ + 28.64493534482756, + -7.537715517241395 + ], + [ + 33.841594827586164, + -8.572198275862092 + ], + [ + 34.33189655172407, + -8.572198275862092 + ], + [ + 34.577047413793025, + -8.572198275862092 + ], + [ + 34.82219827586209, + -8.572198275862092 + ], + [ + 35.3125, + -8.327047413793139 + ], + [ + 44.725215517241395, + -5.401400862068954 + ], + [ + 45.80549568965512, + -5.043103448275872 + ], + [ + 50.75700431034477, + -3.2300646551724412 + ], + [ + 50.75700431034477, + -2.9849137931034875 + ], + [ + 50.75700431034477, + -2.494612068965523 + ], + [ + 50.75700431034477, + -1.5140086206896513 + ], + [ + 50.75700431034477, + -1.2688577586206975 + ], + [ + 50.75700431034477, + 2.4730603448275588 + ], + [ + 50.509159482758605, + 2.963362068965523 + ], + [ + 47.70743534482756, + 5.037715517241395 + ], + [ + 47.21443965517233, + 5.5280172413793025 + ], + [ + 42.62931034482756, + 7.817887931034477 + ], + [ + 37.92025862068954, + 9.385775862068954 + ], + [ + 36.58943965517233, + 10.105064655172384 + ], + [ + 30.670797413793025, + 12.640086206896513 + ], + [ + 26.678340517241395, + 13.582974137931046 + ], + [ + 24.38577586206884, + 14.15409482758622 + ], + [ + 19.803340517241395, + 14.851831896551687 + ], + [ + 19.555495689655118, + 14.851831896551687 + ], + [ + 18.814655172413723, + 14.851831896551687 + ], + [ + 18.321659482758605, + 14.851831896551687 + ], + [ + 16.745689655172328, + 14.851831896551687 + ], + [ + 16.25269396551721, + 14.851831896551687 + ], + [ + 15.757004310344769, + 14.603987068965523 + ], + [ + 15.509159482758605, + 14.603987068965523 + ], + [ + 15.261314655172328, + 14.603987068965523 + ], + [ + 15.261314655172328, + 14.603987068965523 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 15.261314655172328, + 14.603987068965523 + ] + }, + { + "id": "JcJAceTBDINZJQrS2WLAR", + "type": "freedraw", + "x": 696.089601315578, + "y": 99.49582435344803, + "width": 6.901939655172441, + "height": 29.95150862068965, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2064224497, + "version": 15, + "versionNonce": 282619871, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.3125, + 21.729525862068954 + ], + [ + -6.40625, + 28.135775862068954 + ], + [ + -6.40625, + 28.380926724137908 + ], + [ + -6.40625, + 29.461206896551744 + ], + [ + -6.6540948275862775, + 29.95150862068965 + ], + [ + -6.901939655172441, + 29.95150862068965 + ], + [ + -6.901939655172441, + 29.95150862068965 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -6.901939655172441, + 29.95150862068965 + ] + }, + { + "id": "uPhQNrB645CxK11fITx-g", + "type": "freedraw", + "x": 694.2038254535089, + "y": 105.12621228448256, + "width": 10.969827586206975, + "height": 19.183728448275815, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1296542161, + "version": 24, + "versionNonce": 1527660945, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.24515086206906744, + 0 + ], + [ + 0.4903017241380212, + 0.4903017241379075 + ], + [ + 0.8485991379311599, + 1.570581896551687 + ], + [ + 5.1293103448276725, + 8.884698275862036 + ], + [ + 5.70043103448279, + 11.17456896551721 + ], + [ + 8.289331896551857, + 15.16163793103442 + ], + [ + 9.008620689655231, + 16.241918103448256 + ], + [ + 9.98922413793116, + 16.977370689655118 + ], + [ + 10.479525862069067, + 17.467672413793025 + ], + [ + 10.724676724138021, + 17.957974137931046 + ], + [ + 10.969827586206975, + 17.957974137931046 + ], + [ + 10.969827586206975, + 18.203125 + ], + [ + 10.969827586206975, + 18.693426724137908 + ], + [ + 10.969827586206975, + 18.93857758620686 + ], + [ + 10.969827586206975, + 19.183728448275815 + ], + [ + 10.969827586206975, + 19.183728448275815 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 10.969827586206975, + 19.183728448275815 + ] + }, + { + "id": "8_FYm5iA6Pelmacn9d-zb", + "type": "freedraw", + "x": 696.4236530397159, + "y": 121.47050107758594, + "width": 9.563577586206861, + "height": 4.84913793103442, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 398747537, + "version": 16, + "versionNonce": 1427971071, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.4903017241379075, + -0.24784482758616377 + ], + [ + 0.7354525862068613, + -0.49568965517232755 + ], + [ + 5.3125, + -2.9579741379309326 + ], + [ + 5.8028017241379075, + -3.20581896551721 + ], + [ + 8.582974137931046, + -4.601293103448256 + ], + [ + 9.073275862068954, + -4.84913793103442 + ], + [ + 9.563577586206861, + -4.84913793103442 + ], + [ + 9.563577586206861, + -4.84913793103442 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 9.563577586206861, + -4.84913793103442 + ] + }, + { + "id": "7foVW2MtumoHktOz2_gJS", + "type": "freedraw", + "x": 735.0685883845434, + "y": 46.36813038793082, + "width": 9.762931034482676, + "height": 47.411099137931046, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 726750801, + "version": 43, + "versionNonce": 1808918385, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.0802801724137794 + ], + [ + 0, + 2.0608836206896513 + ], + [ + 0, + 3.1411637931034306 + ], + [ + -0.8459051724138362, + 10.137392241379303 + ], + [ + -0.8459051724138362, + 11.217672413793082 + ], + [ + -2.0393318965517437, + 14.959590517241395 + ], + [ + -3.1223060344826763, + 15.678879310344826 + ], + [ + -8.556034482758605, + 20.137392241379303 + ], + [ + -9.401939655172441, + 26.053340517241395 + ], + [ + -9.401939655172441, + 27.623922413793082 + ], + [ + -9.762931034482676, + 28.704202586206918 + ], + [ + -9.762931034482676, + 30.02963362068965 + ], + [ + -9.762931034482676, + 30.51993534482756 + ], + [ + -9.762931034482676, + 31.84536637931035 + ], + [ + -9.762931034482676, + 32.335668103448256 + ], + [ + -9.762931034482676, + 35.115840517241395 + ], + [ + -9.517780172413836, + 35.6061422413793 + ], + [ + -8.12769396551721, + 38.386314655172384 + ], + [ + -8.12769396551721, + 38.87661637931035 + ], + [ + -7.769396551724071, + 40.44719827586209 + ], + [ + -7.769396551724071, + 41.52747844827587 + ], + [ + -7.769396551724071, + 42.01778017241378 + ], + [ + -7.769396551724071, + 42.26293103448273 + ], + [ + -7.769396551724071, + 42.7532327586207 + ], + [ + -7.524245689655231, + 42.99838362068965 + ], + [ + -7.279094827586164, + 43.243534482758605 + ], + [ + -5.072737068965466, + 45.20474137931035 + ], + [ + -4.582435344827559, + 45.695043103448256 + ], + [ + -4.092133620689651, + 45.94019396551721 + ], + [ + -3.8469827586206975, + 45.94019396551721 + ], + [ + -3.8469827586206975, + 46.18534482758622 + ], + [ + -3.6018318965517437, + 46.67564655172413 + ], + [ + -3.1115301724138362, + 47.16594827586209 + ], + [ + -2.866379310344769, + 47.411099137931046 + ], + [ + -2.866379310344769, + 47.411099137931046 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -2.866379310344769, + 47.411099137931046 + ] + }, + { + "id": "4as34ynrYGKXUF_OraIpl", + "type": "freedraw", + "x": 751.3724676948882, + "y": 51.88806573275838, + "width": 9.752155172413836, + "height": 30.85668103448279, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1733574577, + "version": 26, + "versionNonce": 1614234655, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.24784482758616377, + 0.7354525862069181 + ], + [ + -0.24784482758616377, + 1.4709051724138362 + ], + [ + -0.24784482758616377, + 1.9612068965517437 + ], + [ + -0.24784482758616377, + 7.747844827586221 + ], + [ + -0.24784482758616377, + 8.238146551724185 + ], + [ + 4.334590517241395, + 14.38846982758622 + ], + [ + 6.433189655172555, + 17.1875 + ], + [ + 9.504310344827672, + 22.974137931034534 + ], + [ + 9.504310344827672, + 23.46443965517244 + ], + [ + 9.504310344827672, + 25.99946120689657 + ], + [ + 9.504310344827672, + 26.489762931034534 + ], + [ + 9.504310344827672, + 27.225215517241395 + ], + [ + 9.504310344827672, + 28.305495689655174 + ], + [ + 9.504310344827672, + 28.79579741379314 + ], + [ + 9.504310344827672, + 29.876077586206918 + ], + [ + 9.256465517241395, + 30.611530172413836 + ], + [ + 9.256465517241395, + 30.85668103448279 + ], + [ + 9.256465517241395, + 30.85668103448279 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 9.256465517241395, + 30.85668103448279 + ] + }, + { + "id": "pqxSAu-NnRlKmX-HPkFA9", + "type": "freedraw", + "x": 753.6003771776468, + "y": 56.19032866379291, + "width": 38.73653017241395, + "height": 30.037715517241395, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 662002993, + "version": 58, + "versionNonce": 1424347473, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.722521551724185, + -2.844827586206918 + ], + [ + 6.047952586206975, + -3.4536637931034875 + ], + [ + 7.1282327586206975, + -3.8146551724138362 + ], + [ + 12.914870689655231, + -4.962284482758662 + ], + [ + 17.62122844827593, + -4.962284482758662 + ], + [ + 18.601831896551857, + -4.962284482758662 + ], + [ + 20.891702586206975, + -4.962284482758662 + ], + [ + 22.217133620689765, + -5.323275862069011 + ], + [ + 22.707435344827672, + -5.323275862069011 + ], + [ + 23.442887931034647, + -5.078125 + ], + [ + 23.688038793103487, + -4.832974137931046 + ], + [ + 27.058189655172555, + -3.3297413793103487 + ], + [ + 27.548491379310462, + -2.8394396551724412 + ], + [ + 28.26778017241395, + -1.5140086206896513 + ], + [ + 28.26778017241395, + 0.7758620689654663 + ], + [ + 28.26778017241395, + 1.7564655172413381 + ], + [ + 28.26778017241395, + 4.0463362068965125 + ], + [ + 26.936961206896626, + 5.2559267241379075 + ], + [ + 25.85398706896558, + 5.614224137930989 + ], + [ + 18.85237068965523, + 7.661637931034477 + ], + [ + 14.267241379310462, + 8.803879310344826 + ], + [ + 13.771551724138021, + 8.803879310344826 + ], + [ + 11.47898706896558, + 8.803879310344826 + ], + [ + 10.738146551724185, + 8.803879310344826 + ], + [ + 10.490301724138021, + 8.803879310344826 + ], + [ + 10.980603448275929, + 8.556034482758605 + ], + [ + 11.47090517241395, + 8.556034482758605 + ], + [ + 14.84105603448279, + 8.556034482758605 + ], + [ + 17.13092672413802, + 8.556034482758605 + ], + [ + 22.917564655172555, + 9.253771551724128 + ], + [ + 31.25, + 10.177801724137908 + ], + [ + 38.24622844827593, + 13.100754310344826 + ], + [ + 38.49137931034488, + 13.100754310344826 + ], + [ + 38.73653017241395, + 13.836206896551687 + ], + [ + 38.73653017241395, + 14.326508620689651 + ], + [ + 38.73653017241395, + 18.068426724137908 + ], + [ + 38.48868534482767, + 18.558728448275815 + ], + [ + 37.502693965517324, + 19.539331896551687 + ], + [ + 33.577586206896626, + 22.677801724137908 + ], + [ + 32.59159482758628, + 23.413254310344826 + ], + [ + 31.50862068965523, + 23.771551724137908 + ], + [ + 30.17780172413802, + 24.01670258620686 + ], + [ + 29.68480603448279, + 24.01670258620686 + ], + [ + 25.10237068965523, + 24.714439655172384 + ], + [ + 24.854525862069067, + 24.714439655172384 + ], + [ + 24.60668103448279, + 24.714439655172384 + ], + [ + 24.358836206896626, + 24.714439655172384 + ], + [ + 23.863146551724185, + 24.714439655172384 + ], + [ + 23.370150862069067, + 24.466594827586164 + ], + [ + 23.370150862069067, + 24.466594827586164 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 23.370150862069067, + 24.466594827586164 + ] + }, + { + "id": "MOjkVMAnpWCmEMLozhkrg", + "type": "freedraw", + "x": 808.2205280397159, + "y": 45.07233297413774, + "width": 26.25269396551721, + "height": 36.352370689655174, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "#849e00", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 741127857, + "version": 43, + "versionNonce": 840394815, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7354525862068613, + 0.24515086206895376 + ], + [ + 1.2257543103448825, + 0.4903017241379075 + ], + [ + 2.306034482758605, + 0.8485991379309894 + ], + [ + 9.30226293103442, + 3.7419181034482563 + ], + [ + 9.792564655172328, + 3.98706896551721 + ], + [ + 16.788793103448256, + 7.241379310344826 + ], + [ + 21.495150862068954, + 9.593211206896513 + ], + [ + 23.21120689655163, + 11.309267241379303 + ], + [ + 25.55495689655163, + 15.051185344827559 + ], + [ + 25.55495689655163, + 15.541487068965523 + ], + [ + 26.25269396551721, + 19.528556034482733 + ], + [ + 26.25269396551721, + 20.608836206896513 + ], + [ + 26.25269396551721, + 22.179418103448256 + ], + [ + 26.25269396551721, + 23.259698275862036 + ], + [ + 26.25269396551721, + 23.995150862068954 + ], + [ + 26.25269396551721, + 25.075431034482733 + ], + [ + 25.511853448275815, + 25.81088362068965 + ], + [ + 25.26400862068965, + 26.30118534482756 + ], + [ + 23.54525862068965, + 28.507543103448256 + ], + [ + 23.297413793103487, + 28.997844827586164 + ], + [ + 22.311422413793025, + 29.733297413793082 + ], + [ + 21.818426724137908, + 30.22359913793099 + ], + [ + 19.85183189655163, + 32.18480603448273 + ], + [ + 19.358836206896513, + 32.67510775862064 + ], + [ + 18.863146551724185, + 33.165409482758605 + ], + [ + 18.615301724137908, + 33.41056034482756 + ], + [ + 18.119612068965466, + 34.14601293103448 + ], + [ + 17.871767241379303, + 34.636314655172384 + ], + [ + 17.130926724137908, + 35.12661637931029 + ], + [ + 17.130926724137908, + 35.3717672413793 + ], + [ + 16.635237068965466, + 35.616918103448256 + ], + [ + 15.891702586206861, + 36.107219827586164 + ], + [ + 15.643857758620697, + 36.107219827586164 + ], + [ + 15.39601293103442, + 36.352370689655174 + ], + [ + 15.39601293103442, + 36.352370689655174 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 15.39601293103442, + 36.352370689655174 + ] + }, + { + "id": "-7-JfIo4Wt4fd0VwpOreX", + "type": "rectangle", + "x": 579.0987607983366, + "y": -321.20460668103465, + "width": 474.1487068965517, + "height": 338.6422413793103, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 84162271, + "version": 99, + "versionNonce": 1852600593, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false + }, + { + "id": "3q41h-n6Lqa4GDBZ7sVCe", + "type": "freedraw", + "x": 860.1925107983363, + "y": 55.277074353448086, + "width": 28.34859913793116, + "height": 1.1476293103448256, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 697670495, + "version": 19, + "versionNonce": 1369154687, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.4903017241379075, + -0.24784482758622062 + ], + [ + 2.060883620689765, + -0.24784482758622062 + ], + [ + 11.47359913793116, + -0.24784482758622062 + ], + [ + 11.963900862069067, + -0.002693965517266861 + ], + [ + 13.04418103448279, + -0.002693965517266861 + ], + [ + 16.78609913793116, + -0.002693965517266861 + ], + [ + 17.03125, + -0.002693965517266861 + ], + [ + 17.03125, + 0.24245689655174374 + ], + [ + 18.111530172413836, + 0.24245689655174374 + ], + [ + 21.48168103448279, + -0.3313577586206975 + ], + [ + 22.561961206896626, + -0.3313577586206975 + ], + [ + 28.34859913793116, + -0.9051724137930819 + ], + [ + 28.34859913793116, + -0.9051724137930819 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 28.34859913793116, + -0.9051724137930819 + ] + }, + { + "id": "TN8e5XHfV_VJhHm5b3xV5", + "type": "freedraw", + "x": 862.1941271776468, + "y": 70.700026939655, + "width": 33.119612068965466, + "height": 2.8690732758620925, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 117931327, + "version": 24, + "versionNonce": 1656628977, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.4903017241379075, + 0 + ], + [ + 5.441810344827445, + 0 + ], + [ + 8.938577586206748, + 0 + ], + [ + 14.725215517241395, + -0.5738146551724412 + ], + [ + 14.970366379310235, + -0.5738146551724412 + ], + [ + 15.460668103448143, + -0.5738146551724412 + ], + [ + 15.70581896551721, + -0.5738146551724412 + ], + [ + 18.485991379310235, + -1.1476293103448256 + ], + [ + 18.976293103448143, + -1.1476293103448256 + ], + [ + 20.301724137930933, + -1.1476293103448256 + ], + [ + 21.282327586206748, + -1.1476293103448256 + ], + [ + 22.852909482758605, + -1.5086206896551744 + ], + [ + 27.559267241379303, + -2.2952586206896513 + ], + [ + 29.84913793103442, + -2.8690732758620925 + ], + [ + 30.339439655172328, + -2.8690732758620925 + ], + [ + 30.58459051724128, + -2.8690732758620925 + ], + [ + 33.119612068965466, + -2.8690732758620925 + ], + [ + 33.119612068965466, + -2.8690732758620925 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 33.119612068965466, + -2.8690732758620925 + ] + }, + { + "id": "iWvkEBuEyxXSSeKLzoMEe", + "type": "freedraw", + "x": 938.726993556957, + "y": 26.99043642241361, + "width": 1.4197198275861638, + "height": 38.415948275862036, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 550012863, + "version": 23, + "versionNonce": 1288748191, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.8157327586206975 + ], + [ + 0, + 2.306034482758605 + ], + [ + -0.5738146551723275, + 4.595905172413779 + ], + [ + -1.4197198275861638, + 11.592133620689651 + ], + [ + -1.4197198275861638, + 12.082435344827559 + ], + [ + -1.4197198275861638, + 17.869073275862036 + ], + [ + -1.4197198275861638, + 18.949353448275872 + ], + [ + -0.5765086206895376, + 25.355603448275872 + ], + [ + -0.5765086206895376, + 32.478448275862036 + ], + [ + -0.3313577586206975, + 34.04903017241378 + ], + [ + -0.3313577586206975, + 34.539331896551744 + ], + [ + -0.3313577586206975, + 35.02963362068965 + ], + [ + -0.3313577586206975, + 35.51993534482756 + ], + [ + -0.3313577586206975, + 36.25538793103448 + ], + [ + -0.3313577586206975, + 37.335668103448256 + ], + [ + -0.3313577586206975, + 38.415948275862036 + ], + [ + -0.3313577586206975, + 38.415948275862036 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -0.3313577586206975, + 38.415948275862036 + ] + }, + { + "id": "JrPxnvG3eFf_rqI1RSbHJ", + "type": "freedraw", + "x": 946.9004849362675, + "y": 21.5001346982757, + "width": 7.257543103448256, + "height": 14.194504310344826, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1092644383, + "version": 32, + "versionNonce": 857612497, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.4903017241379075, + 0.24515086206895376 + ], + [ + 1.2257543103447688, + 0.7354525862068613 + ], + [ + 1.7160560344826763, + 1.2257543103448256 + ], + [ + 2.206357758620584, + 1.2257543103448256 + ], + [ + 2.206357758620584, + 1.4709051724137794 + ], + [ + 2.206357758620584, + 2.7963362068965125 + ], + [ + 2.206357758620584, + 3.0414870689654663 + ], + [ + 2.206357758620584, + 5.576508620689651 + ], + [ + 2.206357758620584, + 6.656788793103431 + ], + [ + 2.206357758620584, + 7.982219827586164 + ], + [ + 1.7133620689653526, + 8.227370689655118 + ], + [ + 1.4655172413793025, + 8.472521551724128 + ], + [ + 0.9725215517240713, + 8.962823275862036 + ], + [ + 0.7246767241379075, + 10.288254310344826 + ], + [ + 0.47683189655163005, + 10.778556034482733 + ], + [ + -0.5091594827587187, + 11.514008620689651 + ], + [ + -1.00215517241395, + 11.759159482758605 + ], + [ + -1.25, + 12.004310344827559 + ], + [ + -1.990840517241395, + 12.494612068965466 + ], + [ + -2.483836206896626, + 12.739762931034477 + ], + [ + -2.73168103448279, + 12.98491379310343 + ], + [ + -2.9795258620690674, + 12.98491379310343 + ], + [ + -3.7203663793104624, + 13.475215517241338 + ], + [ + -4.803340517241395, + 14.194504310344826 + ], + [ + -5.0511853448276725, + 14.194504310344826 + ], + [ + -5.0511853448276725, + 14.194504310344826 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -5.0511853448276725, + 14.194504310344826 + ] + }, + { + "id": "dbNGIbMEpS2gnO3J_pkCD", + "type": "freedraw", + "x": 964.696821143164, + "y": 28.33203124999983, + "width": 3.8011853448276725, + "height": 31.150323275862036, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 841644447, + "version": 31, + "versionNonce": 770560191, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.24784482758627746, + 0.24515086206895376 + ], + [ + -0.6088362068966262, + 1.3254310344827331 + ], + [ + -1.5436422413793025, + 4.695581896551687 + ], + [ + -1.5436422413793025, + 5.775862068965523 + ], + [ + -2.2440732758620925, + 10.352909482758605 + ], + [ + -2.2440732758620925, + 11.433189655172384 + ], + [ + -2.49191810344837, + 14.213362068965523 + ], + [ + -2.49191810344837, + 14.70366379310343 + ], + [ + -2.49191810344837, + 18.200431034482733 + ], + [ + -2.7397629310345337, + 19.525862068965523 + ], + [ + -2.7397629310345337, + 20.606142241379303 + ], + [ + -3.4401939655173237, + 25.183189655172384 + ], + [ + -3.4401939655173237, + 25.67349137931035 + ], + [ + -3.8011853448276725, + 27.244073275862036 + ], + [ + -3.8011853448276725, + 27.734375 + ], + [ + -3.8011853448276725, + 28.224676724137908 + ], + [ + -3.8011853448276725, + 28.46982758620686 + ], + [ + -3.5560344827587187, + 28.960129310344826 + ], + [ + -3.5560344827587187, + 29.20528017241378 + ], + [ + -3.0657327586206975, + 29.450431034482733 + ], + [ + -1.985452586206975, + 30.169719827586164 + ], + [ + -1.7403017241380212, + 30.414870689655174 + ], + [ + -1.7403017241380212, + 30.660021551724128 + ], + [ + -1.7403017241380212, + 31.150323275862036 + ], + [ + -1.7403017241380212, + 31.150323275862036 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -1.7403017241380212, + 31.150323275862036 + ] + }, + { + "id": "t29WQd6UbNukP4p1DbxJB", + "type": "freedraw", + "x": 986.8412176948881, + "y": 25.514143318965353, + "width": 10.870150862068954, + "height": 43.450969827586164, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 249183487, + "version": 23, + "versionNonce": 1294196401, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405783, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.24515086206895376 + ], + [ + -0.24784482758616377, + 0.980603448275815 + ], + [ + -0.24784482758616377, + 2.0608836206896513 + ], + [ + -1.1826508620689538, + 5.431034482758605 + ], + [ + -1.756465517241395, + 7.720905172413779 + ], + [ + -2.0043103448275588, + 8.211206896551687 + ], + [ + -2.0043103448275588, + 12.917564655172384 + ], + [ + -2.9391163793103487, + 16.287715517241338 + ], + [ + -3.3001077586206975, + 17.367995689655174 + ], + [ + -5.8378232758620925, + 23.529094827586164 + ], + [ + -7.238685344827559, + 27.025862068965466 + ], + [ + -8.59913793103442, + 34.02209051724134 + ], + [ + -8.59913793103442, + 34.5123922413793 + ], + [ + -10.169719827586164, + 39.70905172413791 + ], + [ + -10.870150862068954, + 43.20581896551721 + ], + [ + -10.870150862068954, + 43.450969827586164 + ], + [ + -10.870150862068954, + 43.450969827586164 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -10.870150862068954, + 43.450969827586164 + ] + }, + { + "id": "T48kS50zMUTHZiZRRFbho", + "type": "freedraw", + "x": 988.2501616604053, + "y": 30.893992456896342, + "width": 11.470905172413836, + "height": 26.678340517241395, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 647277407, + "version": 24, + "versionNonce": 1855152351, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.49030172413796436 + ], + [ + 0.7192887931034875, + 1.5705818965517437 + ], + [ + 0.7192887931034875, + 1.8157327586206975 + ], + [ + 5.242456896551744, + 9.175646551724185 + ], + [ + 9.692887931034534, + 15.409482758620697 + ], + [ + 10.051185344827672, + 16.98006465517244 + ], + [ + 10.62230603448279, + 19.269935344827616 + ], + [ + 11.225754310344882, + 20.840517241379303 + ], + [ + 11.225754310344882, + 21.085668103448313 + ], + [ + 11.225754310344882, + 21.57596982758622 + ], + [ + 11.470905172413836, + 22.90140086206901 + ], + [ + 11.470905172413836, + 23.391702586206918 + ], + [ + 11.470905172413836, + 23.882004310344826 + ], + [ + 11.470905172413836, + 24.37230603448279 + ], + [ + 11.470905172413836, + 24.862607758620697 + ], + [ + 11.470905172413836, + 25.10775862068965 + ], + [ + 11.470905172413836, + 26.678340517241395 + ], + [ + 11.470905172413836, + 26.678340517241395 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 11.470905172413836, + 26.678340517241395 + ] + }, + { + "id": "cYbuKqi2L4myMjL7c5Shj", + "type": "freedraw", + "x": 983.1855064879916, + "y": 48.34819504310326, + "width": 17.83943965517244, + "height": 2.8313577586206975, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1185768927, + "version": 15, + "versionNonce": 2138497169, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.24784482758622062 + ], + [ + 1.0802801724137225, + -0.9698275862069181 + ], + [ + 2.6508620689654663, + -1.9396551724137794 + ], + [ + 3.7311422413793025, + -1.9396551724137794 + ], + [ + 7.101293103448256, + -1.9396551724137794 + ], + [ + 9.391163793103374, + -1.9396551724137794 + ], + [ + 17.594288793103374, + -2.8313577586206975 + ], + [ + 17.83943965517244, + -2.8313577586206975 + ], + [ + 17.83943965517244, + -2.8313577586206975 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 17.83943965517244, + -2.8313577586206975 + ] + }, + { + "id": "0PPG9aJeJQUI4ynzKyLpP", + "type": "freedraw", + "x": 1015.020097005233, + "y": 57.20595366379291, + "width": 12.747844827586391, + "height": 37.421875, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1487318847, + "version": 51, + "versionNonce": 5369087, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.4929956896552312, + -0.24784482758622062 + ], + [ + -0.9886853448276725, + -0.9886853448275588 + ], + [ + -1.3496767241380212, + -2.071659482758605 + ], + [ + -3.04148706896558, + -8.483297413793082 + ], + [ + -3.04148706896558, + -8.976293103448256 + ], + [ + -3.04148706896558, + -12.723599137931046 + ], + [ + -3.04148706896558, + -13.806573275862092 + ], + [ + -3.04148706896558, + -14.54741379310343 + ], + [ + -2.25754310344837, + -19.256465517241395 + ], + [ + -1.55980603448279, + -23.003771551724128 + ], + [ + -1.55980603448279, + -23.25161637931035 + ], + [ + -0.41756465517244123, + -29.043642241379303 + ], + [ + 0.1535560344826763, + -31.336206896551744 + ], + [ + 1.796875, + -35.08351293103448 + ], + [ + 2.0420258620689538, + -35.57650862068965 + ], + [ + 2.5323275862068613, + -36.069504310344826 + ], + [ + 3.022629310344769, + -36.317349137931046 + ], + [ + 3.5129310344826763, + -36.81303879310343 + ], + [ + 4.5932112068965125, + -37.17403017241378 + ], + [ + 5.08351293103442, + -37.421875 + ], + [ + 5.818965517241281, + -37.176724137931046 + ], + [ + 6.3092672413793025, + -37.176724137931046 + ], + [ + 7.044719827586164, + -36.68642241379308 + ], + [ + 7.764008620689651, + -35.6061422413793 + ], + [ + 8.612607758620697, + -34.03556034482756 + ], + [ + 8.857758620689651, + -33.54525862068965 + ], + [ + 8.857758620689651, + -33.3001077586207 + ], + [ + 8.857758620689651, + -31.974676724137908 + ], + [ + 8.857758620689651, + -31.729525862068954 + ], + [ + 9.102909482758491, + -30.40409482758622 + ], + [ + 9.102909482758491, + -26.907327586206918 + ], + [ + 9.102909482758491, + -25.581896551724128 + ], + [ + 9.102909482758491, + -24.50161637931035 + ], + [ + 9.102909482758491, + -23.76616379310343 + ], + [ + 9.102909482758491, + -23.275862068965523 + ], + [ + 9.102909482758491, + -22.78556034482756 + ], + [ + 9.102909482758491, + -22.540409482758605 + ], + [ + 9.102909482758491, + -19.760237068965523 + ], + [ + 9.102909482758491, + -17.47036637931035 + ], + [ + 9.102909482758491, + -13.483297413793082 + ], + [ + 9.102909482758491, + -7.567349137931046 + ], + [ + 9.461206896551516, + -5.9967672413793025 + ], + [ + 9.461206896551516, + -5.751616379310349 + ], + [ + 9.706357758620811, + -5.751616379310349 + ], + [ + 9.706357758620811, + -5.751616379310349 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 9.706357758620811, + -5.751616379310349 + ] + }, + { + "id": "Rz1yMz9J1S3qn224NJoLf", + "type": "freedraw", + "x": 1036.415571143164, + "y": 24.687095905172214, + "width": 0.6088362068967399, + "height": 31.74838362068965, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2012909855, + "version": 21, + "versionNonce": 1473160817, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.24784482758627746, + 0.24515086206895376 + ], + [ + -0.24784482758627746, + 1.32543103448279 + ], + [ + -0.24784482758627746, + 1.5705818965517437 + ], + [ + -0.24784482758627746, + 2.5511853448276156 + ], + [ + -0.6088362068967399, + 3.631465517241395 + ], + [ + -0.6088362068967399, + 7.001616379310349 + ], + [ + -0.6088362068967399, + 9.291487068965523 + ], + [ + -0.6088362068967399, + 21.12068965517244 + ], + [ + -0.6088362068967399, + 21.61099137931035 + ], + [ + -0.6088362068967399, + 27.397629310344826 + ], + [ + -0.6088362068967399, + 29.6875 + ], + [ + -0.6088362068967399, + 31.258081896551744 + ], + [ + -0.6088362068967399, + 31.503232758620697 + ], + [ + -0.6088362068967399, + 31.74838362068965 + ], + [ + -0.6088362068967399, + 31.74838362068965 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -0.6088362068967399, + 31.74838362068965 + ] + }, + { + "id": "jCPk3rczWIwuQVfUFkm8Z", + "type": "freedraw", + "x": 1037.743696143164, + "y": 24.013604525861865, + "width": 16.505926724137908, + "height": 29.380387931034477, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 569849663, + "version": 85, + "versionNonce": 1319761183, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.060883620689765, + -0.6088362068965125 + ], + [ + 6.767241379310235, + -1.3954741379309894 + ], + [ + 7.847521551724185, + -1.3954741379309894 + ], + [ + 8.337823275861865, + -1.3954741379309894 + ], + [ + 8.828125, + -1.64331896551721 + ], + [ + 9.563577586206975, + -1.64331896551721 + ], + [ + 10.54418103448279, + -1.1530172413793025 + ], + [ + 11.03448275862047, + -0.9078663793103487 + ], + [ + 11.769935344827445, + -0.4175646551723844 + ], + [ + 12.015086206896513, + -0.17241379310343063 + ], + [ + 12.995689655172328, + 0.5630387931034875 + ], + [ + 12.995689655172328, + 1.053340517241395 + ], + [ + 12.995689655172328, + 2.033943965517267 + ], + [ + 12.995689655172328, + 2.2790948275862206 + ], + [ + 12.995689655172328, + 3.0145474137931387 + ], + [ + 12.995689655172328, + 4.094827586206918 + ], + [ + 12.74784482758605, + 4.339978448275872 + ], + [ + 12.74784482758605, + 4.585129310344826 + ], + [ + 12.74784482758605, + 5.07543103448279 + ], + [ + 12.74784482758605, + 5.320581896551744 + ], + [ + 12.74784482758605, + 5.5657327586206975 + ], + [ + 12.5, + 6.056034482758662 + ], + [ + 12.252155172413723, + 6.301185344827616 + ], + [ + 10.676185344827445, + 7.265625 + ], + [ + 10.183189655172328, + 7.510775862068954 + ], + [ + 9.93534482758605, + 8.001077586206918 + ], + [ + 9.6875, + 8.001077586206918 + ], + [ + 9.191810344827445, + 8.246228448275872 + ], + [ + 8.943965517241395, + 8.491379310344826 + ], + [ + 8.44827586206884, + 8.736530172413836 + ], + [ + 7.9552801724137225, + 8.736530172413836 + ], + [ + 6.379310344827445, + 9.455818965517267 + ], + [ + 6.131465517241395, + 9.455818965517267 + ], + [ + 3.59105603448279, + 10.026939655172441 + ], + [ + 3.59105603448279, + 10.272090517241395 + ], + [ + 3.098060344827445, + 10.517241379310349 + ], + [ + 2.6050646551723275, + 10.517241379310349 + ], + [ + 2.35721982758605, + 10.762392241379303 + ], + [ + 2.109375, + 10.762392241379303 + ], + [ + 2.35452586206884, + 10.762392241379303 + ], + [ + 3.335129310344655, + 10.266702586206918 + ], + [ + 8.04148706896558, + 10.266702586206918 + ], + [ + 10.821659482758605, + 10.511853448275872 + ], + [ + 13.111530172413723, + 11.082974137931046 + ], + [ + 13.84698275862047, + 11.328125 + ], + [ + 14.092133620689765, + 11.573275862068954 + ], + [ + 14.582435344827445, + 11.818426724137964 + ], + [ + 14.827586206896513, + 12.063577586206918 + ], + [ + 15.31788793103442, + 12.799030172413836 + ], + [ + 15.31788793103442, + 13.289331896551744 + ], + [ + 16.015625, + 17.276400862068954 + ], + [ + 16.015625, + 17.521551724137964 + ], + [ + 16.505926724137908, + 18.011853448275872 + ], + [ + 16.505926724137908, + 18.257004310344826 + ], + [ + 16.505926724137908, + 18.50215517241378 + ], + [ + 16.505926724137908, + 19.48275862068965 + ], + [ + 16.505926724137908, + 19.727909482758662 + ], + [ + 16.505926724137908, + 22.508081896551744 + ], + [ + 16.505926724137908, + 22.753232758620697 + ], + [ + 15.765086206896513, + 23.488685344827616 + ], + [ + 15.272090517241395, + 23.73383620689657 + ], + [ + 13.941271551724185, + 24.453125 + ], + [ + 13.44827586206884, + 24.943426724137964 + ], + [ + 12.707435344827445, + 25.188577586206918 + ], + [ + 11.624461206896513, + 25.90786637931035 + ], + [ + 11.376616379310235, + 26.153017241379303 + ], + [ + 10.63577586206884, + 26.398168103448313 + ], + [ + 10.38793103448279, + 26.643318965517267 + ], + [ + 9.647090517241395, + 27.133620689655174 + ], + [ + 9.399245689655118, + 27.133620689655174 + ], + [ + 7.82327586206884, + 27.737068965517267 + ], + [ + 4.3238146551723275, + 27.737068965517267 + ], + [ + 1.538254310344655, + 27.737068965517267 + ], + [ + 1.290409482758605, + 27.489224137931046 + ], + [ + 1.0425646551723275, + 27.489224137931046 + ], + [ + 0.7947198275860501, + 27.489224137931046 + ], + [ + 0.546875, + 27.489224137931046 + ], + [ + 0.05118534482744508, + 27.489224137931046 + ], + [ + 0.05118534482744508, + 27.489224137931046 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 0.05118534482744508, + 27.489224137931046 + ] + }, + { + "id": "P5QUa-enPEZdhsvsZPJLs", + "type": "freedraw", + "x": 1063.0265625224743, + "y": 24.16446659482739, + "width": 9.06519396551721, + "height": 27.43534482758622, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 609313119, + "version": 35, + "versionNonce": 1089646673, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.24515086206906744, + 0.24515086206895376 + ], + [ + 0.980603448275815, + 0.7354525862069181 + ], + [ + 2.060883620689765, + 1.4547413793103487 + ], + [ + 3.776939655172555, + 3.1707974137931387 + ], + [ + 7.64547413793116, + 8.731142241379303 + ], + [ + 7.64547413793116, + 9.221443965517267 + ], + [ + 8.461745689655345, + 11.756465517241395 + ], + [ + 8.461745689655345, + 12.246767241379303 + ], + [ + 8.461745689655345, + 12.737068965517267 + ], + [ + 8.82004310344837, + 13.817349137931046 + ], + [ + 8.82004310344837, + 14.552801724137964 + ], + [ + 8.82004310344837, + 14.797952586206918 + ], + [ + 9.06519396551721, + 16.12338362068965 + ], + [ + 9.06519396551721, + 16.613685344827616 + ], + [ + 9.06519396551721, + 17.693965517241395 + ], + [ + 9.06519396551721, + 18.184267241379303 + ], + [ + 9.06519396551721, + 18.91971982758622 + ], + [ + 9.06519396551721, + 21.209590517241395 + ], + [ + 8.81734913793116, + 21.699892241379303 + ], + [ + 6.8507543103448825, + 23.90625 + ], + [ + 6.8507543103448825, + 24.151400862068954 + ], + [ + 5.86476293103442, + 24.641702586206918 + ], + [ + 5.37176724137953, + 24.886853448275872 + ], + [ + 4.876077586206975, + 25.132004310344826 + ], + [ + 3.793103448275815, + 25.851293103448256 + ], + [ + 1.72413793103442, + 27.190193965517267 + ], + [ + 1.47629310344837, + 27.190193965517267 + ], + [ + 1.2284482758620925, + 27.43534482758622 + ], + [ + 1.2284482758620925, + 27.43534482758622 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 1.2284482758620925, + 27.43534482758622 + ] + }, + { + "id": "_bdy-p7oXRWBWqkasRruk", + "type": "freedraw", + "x": 926.1623383845433, + "y": 72.03084590517221, + "width": 144.42887931034488, + "height": 7.300646551724128, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1676289343, + "version": 81, + "versionNonce": 17561919, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.980603448275815, + -0.4956896551723844 + ], + [ + 3.2704741379309326, + -1.0695043103448256 + ], + [ + 9.057112068965466, + -1.0695043103448256 + ], + [ + 10.137392241379303, + -1.0695043103448256 + ], + [ + 17.750538793103487, + -1.0695043103448256 + ], + [ + 18.240840517241395, + -1.0695043103448256 + ], + [ + 20.775862068965466, + -0.49838362068965125 + ], + [ + 21.02101293103442, + -0.49838362068965125 + ], + [ + 21.511314655172328, + -0.49838362068965125 + ], + [ + 23.80118534482756, + -0.49838362068965125 + ], + [ + 24.291487068965466, + -0.49838362068965125 + ], + [ + 24.781788793103487, + -0.49838362068965125 + ], + [ + 25.026939655172328, + -0.49838362068965125 + ], + [ + 25.517241379310235, + -0.49838362068965125 + ], + [ + 27.807112068965466, + -0.49838362068965125 + ], + [ + 28.887392241379303, + -0.49838362068965125 + ], + [ + 33.46713362068965, + -0.49838362068965125 + ], + [ + 36.963900862068954, + 0.19935344827587187 + ], + [ + 40.950969827586164, + 0.19935344827587187 + ], + [ + 42.03125, + -0.16163793103447688 + ], + [ + 43.60183189655163, + -0.5226293103448256 + ], + [ + 43.8469827586207, + -0.5226293103448256 + ], + [ + 44.09213362068965, + -0.5226293103448256 + ], + [ + 46.62715517241372, + -0.5226293103448256 + ], + [ + 48.917025862068954, + -1.09644396551721 + ], + [ + 50.4876077586207, + -1.3442887931034306 + ], + [ + 53.984375, + -1.3442887931034306 + ], + [ + 57.726293103448256, + -1.3442887931034306 + ], + [ + 58.216594827586164, + -1.3442887931034306 + ], + [ + 58.952047413793025, + -1.3442887931034306 + ], + [ + 60.03232758620686, + -1.3442887931034306 + ], + [ + 63.529094827586164, + -2.0447198275862206 + ], + [ + 66.3092672413793, + -2.0447198275862206 + ], + [ + 72.22521551724128, + -2.890625 + ], + [ + 78.38631465517233, + -3.7365301724137794 + ], + [ + 78.63146551724128, + -3.7365301724137794 + ], + [ + 81.41163793103442, + -4.310344827586221 + ], + [ + 82.49191810344826, + -4.310344827586221 + ], + [ + 83.81734913793093, + -4.671336206896569 + ], + [ + 84.0625, + -4.919181034482733 + ], + [ + 84.79795258620686, + -5.167025862068954 + ], + [ + 85.28825431034477, + -5.167025862068954 + ], + [ + 91.0748922413793, + -5.5280172413793025 + ], + [ + 95.78125, + -6.314655172413779 + ], + [ + 97.35183189655163, + -6.314655172413779 + ], + [ + 97.5969827586207, + -6.314655172413779 + ], + [ + 99.16756465517233, + -6.314655172413779 + ], + [ + 101.45743534482767, + -6.314655172413779 + ], + [ + 106.65409482758628, + -6.314655172413779 + ], + [ + 106.89924568965512, + -6.314655172413779 + ], + [ + 111.85075431034488, + -7.101293103448256 + ], + [ + 112.34105603448256, + -7.101293103448256 + ], + [ + 117.40840517241372, + -7.101293103448256 + ], + [ + 118.97898706896535, + -7.101293103448256 + ], + [ + 122.47575431034488, + -7.101293103448256 + ], + [ + 122.96605603448256, + -7.101293103448256 + ], + [ + 125.50107758620675, + -6.530172413793082 + ], + [ + 128.28125, + -6.530172413793082 + ], + [ + 128.7715517241379, + -6.530172413793082 + ], + [ + 136.3846982758621, + -6.285021551724128 + ], + [ + 136.875, + -6.285021551724128 + ], + [ + 137.12015086206907, + -6.285021551724128 + ], + [ + 137.85560344827582, + -6.285021551724128 + ], + [ + 138.34590517241372, + -6.285021551724128 + ], + [ + 139.91648706896535, + -6.285021551724128 + ], + [ + 140.4067887931035, + -6.285021551724128 + ], + [ + 141.3873922413793, + -6.285021551724128 + ], + [ + 141.63254310344814, + -6.285021551724128 + ], + [ + 141.8776939655172, + -6.285021551724128 + ], + [ + 142.12284482758628, + -6.532866379310349 + ], + [ + 142.36799568965512, + -6.532866379310349 + ], + [ + 142.61314655172396, + -6.780711206896569 + ], + [ + 143.6934267241379, + -6.780711206896569 + ], + [ + 144.42887931034488, + -6.780711206896569 + ], + [ + 144.42887931034488, + -6.780711206896569 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 144.42887931034488, + -6.780711206896569 + ] + }, + { + "id": "zYDqQyR4hBKL0zYLX2kwi", + "type": "freedraw", + "x": 939.5567349362675, + "y": 92.14399245689634, + "width": 2.89870689655163, + "height": 29.698275862068954, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1176532703, + "version": 28, + "versionNonce": 1622834737, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.49030172413796436 + ], + [ + 0, + 2.650862068965523 + ], + [ + 0, + 3.7311422413793025 + ], + [ + 1.9692887931033738, + 9.51778017241378 + ], + [ + 2.3275862068965125, + 10.598060344827616 + ], + [ + 2.89870689655163, + 13.133081896551744 + ], + [ + 2.89870689655163, + 13.623383620689651 + ], + [ + 2.89870689655163, + 19.410021551724128 + ], + [ + 2.89870689655163, + 20.490301724137964 + ], + [ + 2.89870689655163, + 22.65086206896558 + ], + [ + 2.5377155172412813, + 23.731142241379303 + ], + [ + 2.5377155172412813, + 24.22144396551721 + ], + [ + 2.5377155172412813, + 24.466594827586164 + ], + [ + 2.5377155172412813, + 24.71174568965523 + ], + [ + 2.5377155172412813, + 25.447198275862092 + ], + [ + 2.5377155172412813, + 25.692349137931046 + ], + [ + 2.5377155172412813, + 25.9375 + ], + [ + 2.5377155172412813, + 26.427801724137908 + ], + [ + 2.5377155172412813, + 28.71767241379314 + ], + [ + 2.2898706896551175, + 29.207974137931046 + ], + [ + 2.2898706896551175, + 29.698275862068954 + ], + [ + 2.2898706896551175, + 29.698275862068954 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 2.2898706896551175, + 29.698275862068954 + ] + }, + { + "id": "98dU5SnyKX9D6uTgdHhjc", + "type": "freedraw", + "x": 940.1601832121295, + "y": 87.72858297413774, + "width": 29.100215517241395, + "height": 23.59375, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1609124319, + "version": 46, + "versionNonce": 2094561631, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.24515086206895376, + 0 + ], + [ + 3.615301724138021, + 0 + ], + [ + 7.112068965517324, + 0 + ], + [ + 14.108297413793139, + 0 + ], + [ + 14.353448275862092, + 0 + ], + [ + 17.723599137931046, + -0.5738146551724412 + ], + [ + 17.96875, + -0.821659482758605 + ], + [ + 18.213900862068954, + -0.821659482758605 + ], + [ + 19.784482758620697, + -0.821659482758605 + ], + [ + 22.074353448275815, + -0.821659482758605 + ], + [ + 27.271012931034534, + -0.03771551724139499 + ], + [ + 27.76131465517244, + 0.45258620689656937 + ], + [ + 28.496767241379303, + 1.1880387931034306 + ], + [ + 28.741918103448256, + 1.678340517241395 + ], + [ + 29.100215517241395, + 3.248922413793082 + ], + [ + 29.100215517241395, + 3.4940732758620925 + ], + [ + 29.100215517241395, + 7.235991379310349 + ], + [ + 29.100215517241395, + 9.525862068965523 + ], + [ + 28.85237068965523, + 10.261314655172384 + ], + [ + 28.491379310344882, + 11.34159482758622 + ], + [ + 27.276400862068954, + 12.667025862068954 + ], + [ + 27.02855603448279, + 12.667025862068954 + ], + [ + 24.73599137931035, + 13.81196120689657 + ], + [ + 23.160021551724185, + 14.776400862068954 + ], + [ + 20.35829741379314, + 16.875 + ], + [ + 19.617456896551744, + 17.120150862068954 + ], + [ + 18.534482758620697, + 17.839439655172384 + ], + [ + 18.534482758620697, + 18.084590517241395 + ], + [ + 18.041487068965466, + 18.32974137931035 + ], + [ + 17.30064655172407, + 18.820043103448256 + ], + [ + 16.21767241379314, + 19.178340517241395 + ], + [ + 5.589978448275929, + 22.526939655172384 + ], + [ + 5.0969827586206975, + 22.772090517241395 + ], + [ + 4.014008620689651, + 22.772090517241395 + ], + [ + 3.2731681034482563, + 22.524245689655174 + ], + [ + 2.7801724137931387, + 22.276400862068954 + ], + [ + 2.5323275862068613, + 22.028556034482733 + ], + [ + 3.6126077586206975, + 21.667564655172384 + ], + [ + 4.102909482758605, + 21.17456896551721 + ], + [ + 4.102909482758605, + 21.17456896551721 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 4.102909482758605, + 21.17456896551721 + ] + }, + { + "id": "q50CGAoQBtSj_80AFwLhF", + "type": "freedraw", + "x": 994.597144419026, + "y": 82.78785021551704, + "width": 11.610991379310349, + "height": 34.97306034482756, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1948979999, + "version": 36, + "versionNonce": 906858513, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.740840517241395, + 0.49030172413796436 + ], + [ + -0.9886853448275588, + 0.49030172413796436 + ], + [ + -1.7295258620689538, + 1.2257543103448256 + ], + [ + -1.9773706896551175, + 1.2257543103448256 + ], + [ + -3.3081896551723275, + 2.190193965517267 + ], + [ + -4.391163793103374, + 2.9094827586206975 + ], + [ + -7.6400862068965125, + 8.696120689655174 + ], + [ + -9.040948275861979, + 12.192887931034477 + ], + [ + -10.010775862068954, + 13.76346982758622 + ], + [ + -10.371767241379303, + 14.84375 + ], + [ + -10.86745689655163, + 15.824353448275872 + ], + [ + -11.115301724137908, + 16.069504310344826 + ], + [ + -11.115301724137908, + 16.31465517241378 + ], + [ + -11.363146551724071, + 17.29525862068965 + ], + [ + -11.363146551724071, + 17.785560344827616 + ], + [ + -11.363146551724071, + 18.275862068965523 + ], + [ + -11.363146551724071, + 18.76616379310343 + ], + [ + -11.363146551724071, + 19.846443965517267 + ], + [ + -11.610991379310349, + 20.09159482758622 + ], + [ + -11.610991379310349, + 22.871767241379303 + ], + [ + -11.610991379310349, + 23.362068965517267 + ], + [ + -11.610991379310349, + 25.897090517241395 + ], + [ + -11.610991379310349, + 28.18696120689657 + ], + [ + -11.365840517241395, + 28.92241379310343 + ], + [ + -10.794719827586164, + 31.212284482758605 + ], + [ + -9.404633620689651, + 33.74730603448279 + ], + [ + -9.404633620689651, + 33.992456896551744 + ], + [ + -9.159482758620697, + 34.48275862068965 + ], + [ + -9.159482758620697, + 34.97306034482756 + ], + [ + -9.159482758620697, + 34.97306034482756 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + -9.159482758620697, + 34.97306034482756 + ] + }, + { + "id": "oqKK06mxIgxCpj-idFXqs", + "type": "freedraw", + "x": 1000.790571143164, + "y": 114.25606142241355, + "width": 21.80495689655163, + "height": 35.75161637931029, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1827919647, + "version": 41, + "versionNonce": 660600191, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7408405172413381 + ], + [ + 0, + -1.2338362068965125 + ], + [ + 1.290409482758605, + -4.609374999999943 + ], + [ + 1.7807112068965125, + -5.1023706896551175 + ], + [ + 3.415948275861979, + -7.887931034482733 + ], + [ + 3.415948275861979, + -8.380926724137908 + ], + [ + 3.6610991379309326, + -8.876616379310292 + ], + [ + 4.806034482758605, + -11.169181034482733 + ], + [ + 5.051185344827559, + -11.664870689655118 + ], + [ + 5.2963362068965125, + -12.157866379310292 + ], + [ + 5.78663793103442, + -13.14385775862064 + ], + [ + 6.031788793103374, + -13.636853448275815 + ], + [ + 6.2769396551723275, + -14.132543103448256 + ], + [ + 6.522090517241281, + -14.38038793103442 + ], + [ + 6.767241379310235, + -15.121228448275815 + ], + [ + 7.125538793103374, + -16.20420258620686 + ], + [ + 8.267780172413723, + -20.789331896551687 + ], + [ + 9.835668103448256, + -25.498383620689594 + ], + [ + 10.08081896551721, + -25.498383620689594 + ], + [ + 11.470905172413723, + -22.963362068965466 + ], + [ + 13.186961206896513, + -18.383620689655118 + ], + [ + 13.90625, + -17.303340517241338 + ], + [ + 14.477370689655118, + -15.013469827586164 + ], + [ + 17.52963362068965, + -3.1842672413792457 + ], + [ + 18.94396551724128, + 5.021551724138021 + ], + [ + 19.189116379310235, + 5.511853448275929 + ], + [ + 19.189116379310235, + 5.7570043103448825 + ], + [ + 20.334051724137908, + 8.046875 + ], + [ + 20.57920258620686, + 8.292025862068954 + ], + [ + 20.824353448275815, + 8.782327586206975 + ], + [ + 21.06950431034477, + 9.027478448275929 + ], + [ + 21.559806034482676, + 9.517780172413836 + ], + [ + 21.80495689655163, + 10.008081896551744 + ], + [ + 21.80495689655163, + 10.253232758620697 + ], + [ + 21.80495689655163, + 10.253232758620697 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 21.80495689655163, + 10.253232758620697 + ] + }, + { + "id": "qFoiR981kmUij_uhmc6LW", + "type": "freedraw", + "x": 1006.3320582121295, + "y": 108.56910021551704, + "width": 13.43480603448279, + "height": 2.028556034482733, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1143785407, + "version": 15, + "versionNonce": 1994614257, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.24515086206895376, + -0.24784482758622062 + ], + [ + 0.4903017241379075, + -0.24784482758622062 + ], + [ + 0.980603448275815, + -0.740840517241395 + ], + [ + 2.5511853448275588, + -1.1018318965517437 + ], + [ + 3.631465517241395, + -1.1018318965517437 + ], + [ + 12.454202586206861, + -2.028556034482733 + ], + [ + 12.944504310344769, + -2.028556034482733 + ], + [ + 13.43480603448279, + -2.028556034482733 + ], + [ + 13.43480603448279, + -2.028556034482733 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 13.43480603448279, + -2.028556034482733 + ] + }, + { + "id": "-HaPD-y2fi-4hYytiThNN", + "type": "freedraw", + "x": 1040.354148729371, + "y": 74.92147090517221, + "width": 13.009159482758605, + "height": 38.78502155172413, + "angle": 0, + "strokeColor": "#785a11", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1191378207, + "version": 42, + "versionNonce": 1742925215, + "isDeleted": false, + "boundElements": null, + "updated": 1698274405784, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.24515086206884007, + 0 + ], + [ + 0.49030172413768014, + 0.24515086206895376 + ], + [ + 0.7354525862067476, + 0.49030172413796436 + ], + [ + 1.4709051724134952, + 1.2257543103448256 + ], + [ + 1.96120689655163, + 1.4709051724137794 + ], + [ + 4.757543103448143, + 3.5452586206896513 + ], + [ + 5.24784482758605, + 3.790409482758605 + ], + [ + 8.29202586206884, + 6.834590517241395 + ], + [ + 8.53717672413768, + 7.3248922413793025 + ], + [ + 10.498383620689538, + 9.286099137931046 + ], + [ + 10.498383620689538, + 9.53125 + ], + [ + 10.743534482758605, + 9.776400862068954 + ], + [ + 10.743534482758605, + 10.021551724137964 + ], + [ + 11.707974137930933, + 11.592133620689651 + ], + [ + 12.066271551723958, + 12.67241379310343 + ], + [ + 12.764008620689538, + 16.659482758620697 + ], + [ + 13.009159482758605, + 17.149784482758605 + ], + [ + 13.009159482758605, + 18.475215517241395 + ], + [ + 13.009159482758605, + 18.72036637931035 + ], + [ + 13.009159482758605, + 19.455818965517267 + ], + [ + 13.009159482758605, + 19.946120689655174 + ], + [ + 13.009159482758605, + 20.191271551724128 + ], + [ + 13.009159482758605, + 27.1875 + ], + [ + 12.648168103448143, + 28.26778017241378 + ], + [ + 9.507004310344655, + 33.270474137931046 + ], + [ + 9.014008620689538, + 33.515625 + ], + [ + 7.6831896551723275, + 34.48006465517244 + ], + [ + 7.19019396551721, + 34.725215517241395 + ], + [ + 6.449353448275815, + 35.2155172413793 + ], + [ + 5.95635775862047, + 35.460668103448256 + ], + [ + 5.215517241379075, + 35.95096982758622 + ], + [ + 4.967672413793025, + 36.196120689655174 + ], + [ + 1.918103448275815, + 38.29471982758622 + ], + [ + 1.4251077586204701, + 38.539870689655174 + ], + [ + 0.9294181034481426, + 38.78502155172413 + ], + [ + 0.9294181034481426, + 38.78502155172413 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 0.9294181034481426, + 38.78502155172413 + ] + }, + { + "type": "line", + "version": 191, + "versionNonce": 96565137, + "isDeleted": false, + "id": "wJpp-i8nWyDza9wry9SUp", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 65.261951446503, + "y": -215.00497909096455, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 0, + "height": 293.14803106074135, + "seed": 615686641, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274413964, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 293.14803106074135 + ] + ] + }, + { + "id": "OSV61uOC", + "type": "text", + "x": -46.09067582236236, + "y": -238.33573656621556, + "width": 47.879974365234375, + "height": 25, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1707885151, + "version": 40, + "versionNonce": 1595161919, + "isDeleted": false, + "boundElements": null, + "updated": 1698274409679, + "link": null, + "locked": false, + "text": " -1/2", + "rawText": " -1/2", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": " -1/2", + "lineHeight": 1.25 + }, + { + "type": "line", + "version": 256, + "versionNonce": 1473536735, + "isDeleted": false, + "id": "Ym5GWJeM0w-2S4XfuOnY5", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 150.22763793884738, + "y": -213.05527549353246, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 0, + "height": 293.14803106074135, + "seed": 783403153, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698274468960, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 293.14803106074135 + ] + ] + } + ], + "appState": { + "theme": "dark", + "viewBackgroundColor": "#ffffff", + "currentItemStrokeColor": "#e03131", + "currentItemBackgroundColor": "transparent", + "currentItemFillStyle": "solid", + "currentItemStrokeWidth": 1, + "currentItemStrokeStyle": "solid", + "currentItemRoughness": 1, + "currentItemOpacity": 30, + "currentItemFontFamily": 1, + "currentItemFontSize": 20, + "currentItemTextAlign": "left", + "currentItemStartArrowhead": null, + "currentItemEndArrowhead": "arrow", + "scrollX": 307.8171439898424, + "scrollY": 346.9859009973041, + "zoom": { + "value": 1.7931411495595646 + }, + "currentItemRoundness": "round", + "gridSize": null, + "gridColor": { + "Bold": "#C9C9C9FF", + "Regular": "#EDEDEDFF" + }, + "currentStrokeOptions": null, + "previousGridSize": null, + "frameRendering": { + "enabled": true, + "clip": true, + "name": true, + "outline": true + } + }, + "files": {} +} +``` +%% \ No newline at end of file diff --git a/Statistiques révisions.md b/Statistiques révisions.md new file mode 100644 index 00000000..22f2dc53 --- /dev/null +++ b/Statistiques révisions.md @@ -0,0 +1,108 @@ + +# TD 0 + +## Exercice 1 + +$X \leadsto \mathcal{N}(0, 1)$ + +1. $P(-1.96 < X)$ + +Comme $X \leadsto \mathcal{N}(0, 1)$, on sait que $P(-1.96 < X) = P(X < 1.96) = \Pi(1.96) \approx 0.9750$ + +2. $P(-1.96 < X < 1.96)$ + +$$ +\begin{align} +P(-1.96 < X < 1.96) &= P(X < 1.96) - P(X < -1.96) \\ +&= P(X < 1.96) - 1 + P(X < 1.96) \\ +&= \Pi(1.96) + P(1.96) - 1 \\ +&\approx 2\times 0.9750 - 1 \\ +&\approx 0.95 +\end{align} +$$ + + +## Exercice 2 + +$X \leadsto \mathcal{N}(3, 2)$ + +1. $P(1 \leq X \leq 2)$ +$$ +\begin{align} +P(1 \leq X \leq 2) &= P(-2 \leq X - 3 \leq -1) \\ +&= P\left( -1 \leq \frac{X-3}{2} \leq -\frac{1}{2} \right) \\ +&= P\left( -1 \leq Y \leq -\frac{1}{2} \right) & \text{où } Y \leadsto \mathcal{N}(0, 1) \\ +&= P\left( \frac{1}{2} \leq Y \leq 1 \right) \\ +&= P(Y \leq 1) - P\left( \frac{1}{2} \leq Y \right) \\ +&= P(Y \leq 1) - 1 + P\left( Y \leq \frac{1}{2} \right) \\ +&= \Pi(1) + \Pi\left( \frac{1}{2} \right) - 1 \\ +&\approx 0.8413 + 0.6915 - 1 \\ +&\approx 0.5328 +\end{align} +$$ +1. $P_{X<3} (1 \leq X \leq 4)$ + +$$ +\begin{align} +P_{X<3} (1 \leq X \leq 4) &= P_{X < 3} (1 \leq X \leq 3) \\[1em] +&= \frac{P(1 \leq X \leq 3)}{P(X < 3)} \\[1em] +&= \frac{P\left( -\frac{1}{2} \leq \frac{X - 3}{2} \leq 0 \right) }{P\left( \frac{X-3}{2} \leq 0 \right)} \\[1em] +&= \frac{P\left( -\frac{1}{2} \leq Y \leq 0 \right)}{P(Y \leq 0)} & \text{où } Y \leadsto \mathcal{N}(0, 1) \\[1em] +&= \frac{P(Y \leq 0) - P\left( Y \leq -\frac{1}{2} \right)}{P(Y \leq 0)} \\[1em] +&= \frac{P(Y \leq 0) - P\left( Y \geq \frac{1}{2} \right)}{P(Y \leq 0)} \\[1em] +&= \frac{P(Y \leq 0) - 1 + P\left( Y \leq \frac{1}{2} \right)}{P(Y \leq 0)} \\[1em] +&= \frac{P(Y \leq 0) + P\left( Y \leq \frac{1}{2} \right) - 1}{P(Y \leq 0)} \\[1em] +&= \frac{\Pi(0) + \Pi\left( \frac{1}{2} \right) - 1}{\Pi(0)} \\[1em] +&\approx \frac{0.5 + 0.6915 - 1}{0.5} \\ +&\approx 0.383 +\end{align} +$$ + +## Exercice 3 + +1. calculer $\mu$ et $\sigma$ + +$P(X \leq 165) = 0.58$ +$P(165 \leq X \leq 180) = 0.38$ +$P(180 \leq X) = 0.04$ + +$P\left( \frac{X-\sigma}{\mu} \leq \frac{165 - \sigma}{\mu} \right) = 0.58 \iff \Pi\left( \frac{165-\sigma}{\mu} \right) = 0.58$ + +$P\left( \frac{165 - \sigma}{\mu} \leq \frac{X-\sigma}{\mu} \leq \frac{180-\sigma}{\mu} \right) = 0.38 \iff \Pi\left( \frac{180-\sigma}{\mu} \right) + \Pi\left( \frac{165-\sigma}{\mu} \right) - 1 = 0.38$ + +$P\left( \frac{180-\sigma}{\mu} \leq \frac{X-\sigma}{\mu} \right) = 0.04 \iff \Pi\left( \frac{180-\sigma}{\mu} \right) = 0.96$ + +Donc, on a les égalités suivantes : + +$$ +\begin{align} +\begin{cases} +\frac{165-\sigma}{\mu} = 0.21\\ +\frac{180-\sigma}{\mu} = 1.75 +\end{cases} +&\iff +\begin{cases} +0.21\mu + \sigma = 165 \\ +1.75\mu + \sigma = 180 +\end{cases} \\ +&\iff +\begin{cases} +1.54\mu = 15 \\ +1.75\mu + \sigma = 180 +\end{cases} \\ +&\iff +\begin{cases} +\mu = 9.74 \\ +17.05 + \sigma = 180 +\end{cases} \\ +& \iff +\begin{cases} +\mu = 9.74 \\ +\sigma = 162.95 +\end{cases} +\end{align} +$$ + + + + diff --git a/daily/2023-10-23.md b/daily/2023-10-23.md index b1d2a21e..25cabbda 100644 --- a/daily/2023-10-23.md +++ b/daily/2023-10-23.md @@ -14,6 +14,7 @@ kung_fu: 0 > where file.mtime > date(this.file.name) and file.mtime < (date(this.file.name) + dur(1 day)) sort file.mtime asc > ``` + ## Devoirs > [!smalltodo]+ Devoirs > ```dataview diff --git a/daily/2023-10-24.md b/daily/2023-10-24.md new file mode 100644 index 00000000..ee506cf1 --- /dev/null +++ b/daily/2023-10-24.md @@ -0,0 +1,33 @@ +--- +spaced_repetition: 0 +kung_fu: 0 +--- + +## Todo +- spaced repetition : `INPUT[toggle(onValue(1), offValue(0)):spaced_repetition]` +- kung-fu : `INPUT[number:kung_fu]` minutes + + +## I did +> [!smallquery]- Modified files +> ```dataview +> LIST file.mtime +> where file.mtime > date(this.file.name) and file.mtime < (date(this.file.name) + dur(1 day)) sort file.mtime asc +> ``` + +## Devoirs +> [!smalltodo]+ Devoirs +> ```dataview +> TABLE difficulty as "", due as "date", title as "description", file.etags as "tags" +> FROM #devoir +> WHERE contains(due, date(this.file.name)) +> ``` +> > [!done]- Devoirs faits +> > ```dataview +> > TABLE difficulty as "", due as "date", title as "description" +> > FROM #devoir-fait +> > WHERE contains(due, date(this.file.name)) +> > ``` + +## I am gratefull to + diff --git a/projet gestion et simulation d'entreprise.md b/projet gestion et simulation d'entreprise.md index 9a35562e..50ca4ca7 100644 --- a/projet gestion et simulation d'entreprise.md +++ b/projet gestion et simulation d'entreprise.md @@ -1,3 +1,81 @@ #fac #PM versa-tile + +# Le business model : Elaboration du projet de création d’entreprise : Etapes à suivre + +## 1. Définir le projet +### Description de l'activité + +- particularités +- caractéristiques techniques, présentation, caractère innovant du produit +- caractéristiques de l'offre sur le marché + - marque + - éléments recherchés par les clients + - positionnement sur le marché +- distinguer l'offre principale et les services associés + +- caractéristiques techniques, présentation, particularités + - ordinateurs portables + - adaptables + - s'adapter au besoin de chaque utilisateur + - s'adapter à différents contextes d'utilisation pour un même utilisateur + - entièrement remplacable + - réparable façilement + - durable (à vie) + - l'utilisateur peut changer d'utilisation sans racheter un ordinateur +- caractère innovant + - remplace le modèle des ordinateurs portables qui ne sont pas réparables + - permet une plus grande versatilité + - l'ordinateur versa-tile peut s'adapter à chaque situation + - plus durable que de racheter un ordinateur complet +- caractéristiques de l'offre sur le marché + - marque + - + + +## 2. L’étude de marché + + + +Vous devez réaliser une étude de marché. Les sujets à étudier concernent :  + +- **La demande (clientèle potentielle)**  + - nombre de clients + - distribution géographique des clients + - fréquence de consommation des produits + - budget consacré +- **L’offre (la concurrence)**  + - concurrents directs + - concurrents indirects + - nombre de concurrents +- **Les fournisseurs**  + - quels sont les fournisseurs potentiels +- **La réglementation** + - lois / normes qui régissent l'activité +- **L’environnement (exploiter outil PESTEL)**  + - L’évolution des habitudes de consommations est-elle favorable au projet ? Pourquoi ? + + + +## 3. Définir le mode de distribution / méthode de prospection + +- Où les clients pourront-ils acheter votre produit ou faire appel à votre service ?  +- Quel canal de distribution avez-vous retenu (détaillant, grossistes, GMS commerces de proximité, réseau de franchisés, etc…)  +- Quels sont les différents moyens de communication que vous allez utiliser pour faire connaître votre entreprise (relations publiques, relations presse,, support de communication)  + + + +## 4. L’identification de votre entreprise + +- Identifiez l'entreprise (et justifier cette identification) + - un nom + - une marque + - un logo + +Expliquez votre démarche pour la protection juridique de ce nom et de ce logo + +## 5. La forme juridique de votre entreprise + +- Quelle forme juridique choisie +- Présentez-la et expliquez votre choix diff --git a/r.md b/r.md new file mode 100644 index 00000000..85661339 --- /dev/null +++ b/r.md @@ -0,0 +1,10 @@ +--- + +mindmap-plugin: rich + +--- + +# statistiques +``` json +{"theme":"","mindData":[[{"id":"dac65e9c-d82f-61ad","text":"statistiques","isRoot":true,"main":true,"x":4000,"y":4000,"isExpand":true,"layout":{"layoutName":"multipleTree","direct":"right"},"stroke":""},{"id":"082b6c3f-738b-d8e3","text":"Loi normale","stroke":"darkorange","x":4104,"y":4084,"layout":null,"isExpand":true,"pid":"dac65e9c-d82f-61ad"},{"id":"6ba52f6b-6d5d-4e2d","text":"propriétés","stroke":"darkorange","x":4184,"y":4147,"layout":null,"isExpand":true,"pid":"082b6c3f-738b-d8e3"},{"id":"13e702d2-5e6d-46ad","text":"Pour une loi centrée normalisée, on peut utiliser $\\Pi$","stroke":"darkorange","x":4184,"y":4377,"layout":null,"isExpand":true,"pid":"082b6c3f-738b-d8e3"},{"id":"35ca61fd-e965-c461","text":"$P(X < - \\alpha) = P(X > \\alpha)$","stroke":"darkorange","x":4243.5,"y":4193,"layout":null,"isExpand":true,"pid":"6ba52f6b-6d5d-4e2d"},{"id":"d06929d7-1fb9-d945","text":"$P(X \\leq \\alpha ) = 1-P(X \\geq a)$","stroke":"darkorange","x":4243.5,"y":4285,"layout":null,"isExpand":true,"pid":"6ba52f6b-6d5d-4e2d"},{"id":"c0937930-10a7-8d57","text":"inverser le signe $\\iff$ inverser le sens du $>$","stroke":"darkorange","x":4354,"y":4239,"layout":null,"isExpand":true,"pid":"35ca61fd-e965-c461"},{"id":"7d17bad0-7ec9-b73f","text":"inverser le sens du $>$ $\\iff$ faire $1-P$","stroke":"darkorange","x":4360.5,"y":4331,"layout":null,"isExpand":true,"pid":"d06929d7-1fb9-d945"}]],"induceData":[],"wireFrameData":[],"relateLinkData":[],"calloutData":[]} +``` diff --git a/sources/cours/S5/L3_info_statistiques_TD0.pdf b/sources/cours/S5/L3_info_statistiques_TD0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03e79566aa215cb626e21b5e03780af76e18d4d6 GIT binary patch literal 456054 zcmZU)1yr0%(=Cja?Vp_Ue(!hxd)Hzu zp6=>ys&-ZH-p@=!sU#uA$jZcxfWSejX)!7YG&_hEkGIkzb z4mK79W>qgoGcslsS7$RLI|Lyi1ebrGJaf+c;0>`PSMPQFCj1otOqrUqW$C8G=!!&| zVkA34K|xc9CQ_`U?W-$ol(=!&~U_NcFm;-gnXuN+icrqyl4xKhHX20KKHJK z&HAYNK1$J|#XHe#zy+LFaZuCvJ3~WI?M}gs8x71cAI;F@ZodwItGlTLvwM07-qIXb zU0ud$-`EB9dbR=PyK*FpNqt*z-V7#u2}>3sL?Y;A{rhdI-$gXX8EkvE$SI{{foW8q z2J*Toz_^@tuSA|ie2mxwB6bzgkk4*+|5a>lZWI^N(H+Slhr{|cHGGNr32nX`Naz*L;R4#ZvT7UijE83^|hX~ZYaYR-_81`FX
7JsN}W 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 z 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%0D-ewt?nAF^}@l&Ejj6iw2Q~ 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%0AvPik3h@lnvO!CD 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 c#wyeA>u-njiS5fEaq5Fh3PSy;s&h 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 yXr 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

  • 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 O%}T<|EU6$x^1lF2Gq3Cb literal 0 HcmV?d00001 diff --git a/sources/cours/S5/L3_info_statistiques_TD1.pdf b/sources/cours/S5/L3_info_statistiques_TD1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6f2b59b503cb582ab2d8450760c1cc9f8d5c6c2f GIT binary patch literal 320781 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 _9Ok1WS)062} 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 |;rOty2 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 SM*t}a!G!QxS!M6b;r}lQekphW literal 0 HcmV?d00001 diff --git a/sources/cours/S5/L3_info_statistiques_ch0.pdf b/sources/cours/S5/L3_info_statistiques_ch0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ccff887a94d4204af68d554cac3e293a4a81816f GIT binary patch literal 433815 zcmZ^KV|ZoV)@5wlwr$&XC8;6J7$P$K1+Qihx$->E<8phPd7ND?H)K@2S^ zq$Gp_6K_W)5}1A!ceCXW?R%Kh{?nt!T$m$d78uWS#O zFA2ragRsM}vF$dznqNMO?s=<+2m8|6{2FgNsX}l&fwuKi3Vuvr{9fy|H(xZBO-*F7 z`)B<)xT+#K5H>)Ipg6Fz_A&t6)rb9q1c?FznD72E-(7ZQrAu!Pq}C2IF0@*gt;c!W z{AZmg&>=_rmpGPT){h>fmG483H~B>sGc~bAU%!V)D!xSoQpPP%SP8eOgDFuTpzIrb~Wlw5s&|9c<>i8*U5BOW0&)#u;9Ipt4 z@z~LGbG=^b)hiMVQ$ruS(vQD)JAB?Q~@2D z*?AIB_*h}wS-6`z7uB3FubAmoho4aN@1|K*MO-j_Hha`$oG^bXdFbZ~9oC}ghltyw zLlPDegwO<{LfG{ImqQ<7sfR|()!59Z>LVeg{=NwU3kItU6`-Of1tXmJM_AYaGxLjI z19WgPyZ}^7V;5K2-dPcpS{Zz7fSG8_1f`{0Soj+W5XTWzyn-WaSBywyptCo-+BT%| zT3)3et5)}0ZZ0GIeNNRyV17^JV?ND6{^gl&vI#5rV^C_4M4r=<7Zzgx3a=4K%ELzAp*EEJ=4h$hvSOW6gAd^_j1r;Ng-T4~^ zK7psf?y1=!zd@!pHUtRLF()Sdi365@L)pVO`Yd{%Xi50(_0X!~a2<()5bT)Sp#Z&w z!Dbz3rA)kzdMmM0T?uf_{uYG8`?q}&5No70O2ja(&c`rk>zx_O8Fa0)< z>Atn@wb^flJ_zl838@qf(d1_o6Y9-4|67eR{NeB?KMfxEdNRV*U`B)dX9zTzlt3Mp zfaIl1w$17OJ2=7hx_KTvW`f^?=Ydx_3$^;=1sf-Lax9(uglJ*F=mb)f3y8pXBlb7an#H2#fBMy4yFPVOWH|qhtIt?73Mr6{jWy1 zoA>8yQ31b~`&cwy2M+lF@!mdWtV3UN+7VySah87#PDwCocqd5sZs{4|7i51fTFMd} z&wzz<79r&`7JF+!779oDfe!b1E7zR(}L2%e7WGA?A^|IW%T0KNzok7`TKqc`mxX1*_aexeYOkLn{XhQ;rW z5DAQN9PXw7P8i4(>u84WaCkQVrcQRNmQF&A(4RUR)M_Ax6m(EW& zF<1^mnC%6;-hp7;XjD?W--H^C;tR%9DX2bkY>x@f6daB63xqTm%#=Ja4{yu_J+Xif z{wT)~4Ng)U9-YcqDZC!y=tK#YR5>PuCehgrXWS#vHvpnkf*Zn!YJ`Ow!7|=A=vFDR z9$BIw6Udp0QpEd?C=&smin0$YF(Hi)beKXgkkycHoLWvHSR!%3K;%x93zi~3bJ_$| zPGk)(L3!GbH9n{JDK!(?JUAf#_Z{n41a;h<3G~S8 znP428N-!Xp3H691HQ0eU;iUKCFtip-N2ytucDzU~8`d$Nu$Lt@(t&$Yv<>9AKo=S| z{>>1bPOL3`jJ+1>$h{Wp=*dv}&YLS|3^o`3D7Y5w2yu7w(9;e%0dv41F{KwK(Mq`+ z_Oce`sHhg^$g~#c2+>g9flwFWBu^J|N75ZUGuDBByvvSU*YA$z8F(Clg0okA%yrkY z73+xI4tm@wZ4>HpOt6=t7468`4txA}+B@<)(hJNWS_JNj{YDqlpwKzS-(gq6Hb&}zvS*hJgDtQ*oq z*FJcv>kwS!?Z7+vR!pCOJAqc{qYpdQVZq)*#yyRw7xc}LJ7J208`Z=tJ5L8hr#`d9 zty=ISjc4rfpEvi1xV89KLN7=O(9huG_;#9i&Z}dG19qI_lDh`u>6B&DB4rOa`UGlwtjiu}wCNd6?j$!VhyP+Lb$QjWqbt81dckIDGvyb!3bwl?E zzhLnF@&fjmIo!DUmgwuZljjAQEhm8JxksJ&wri1i-Ooz36KI|=)AuHK6?&rN1H_p7 z9ybI z*USY)dxft=``41F1wq5iPw0aOMXVCvey$Iog9p&41wq8XaVo~^tvwsZ*xJ)uXfe#)K0WLrnpu=Zx*d^EIncX?|uRg

    DDgbDURdQ{d*$ud@ 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

    SNwq+FH} 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 literal 0 HcmV?d00001 diff --git a/sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf b/sources/cours/S5/L3_info_statistiques_tableau_loi_normale.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5cec7006ec4342be12a7b269175491da8f44d758 GIT binary patch literal 2746336 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 z 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 z�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�DE%xhl-zX_cFra4^i|GpoTh#{hbw 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Ø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


    P70`V`7eggzG|}?ZYG; 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∓ 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¨dcgf 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 m>#>>$@ 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�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%0A6f`u3^=ee$FeKh9{s} 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%0AdrlcAy_i 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
      w&Sn?86R{Uqc65tmSG&s#V}l3SsZ&|MmbL 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

      9S2+G}<8 zixQ7z(gqMvelhwAY4aO-)w80nqF#VAoB5pS^bE4IKXn2JHZIqrzXiW+8eI})1vm1n zFR!$x8{PCcEu1K_lBa2;e9-d$_4l?Oo4 z;BmSnosyMK=uYG89YzGwzZ~p2`ecHwKH49tPJO3vxXic4zQ}ab|GS_$x@Uw|EJolX zz3!5xJ%WnHDMkJ9lU9O@^TBGCVr1kx5bMKIi#xn ze8xqVf}#(DqWg~K``5esJ&fXz`PB8ZE{Z@aBZ|2tS|{`Ulb>waeec-G{sY;zSMPS4k{pU`wxp81 z%Xj?^2gl0s{V{kTvPXYS(nCe=(nEos{DyJu$-V8c*M0J0)6WB}98AB4EGn;_4!!K= z*2B$-p}!ZNNgScd7Vrv0Jywsk3nH!gF`ud+?dHc9qm?0Hk25W##F#S>!Y(qG(M!tB-6XB5E#8~{3 z=Q?b=UDR|q-k=qqP;V~=4)Dq%v#KtX)Ox~)ZOd+YZKf?&t7E4Y@LIVAv?0IBC7^Qy z#p#JB2ECsi8tVgS#M?O}m;tzHXLM6y{VPbj32pk0F{w@v;~^_$;Xm{CR2IpxBwU~L zY`kAzwVfG2Y4FY{4~_s?TpUA6kpdI=_P^lm?PdDUVxWJ!ez_|2Uj{y$!ArN3d}$3D z!+680riBxI6c`biz>$C0DCXTsZ2v4OFJ!LDw3ZJ(_>APq+;Mw6{uH?otMqEfqAGWKRXs{8{O&MJ zNYP~{E9N~TP&cnt7@xWYJ0Y^gYD@pjQPek7rN0}++X{RSpLi&J5881B{{y3kM<4v} znWWE)(9~)I%@gDwS4GRH=lnc-Q2cTj_>}6r#>37;N(OWv$kZ#t+S2P5_)f~iUv7sJ zBUkXo*7g0Cd~|y_0%=9m`anh<$$T&HIAMVwtX~5lN~dERG=1@c1t!1WtK2@&ZK1Sb zkhU-TfTsAKau5>6dr`K!9XwN!G&}BEKBtzw=Pgg3GV1ET|d){kdoP0HyKiYBH9 zJv>jzC|{D84j!eAYK29w>yYf?NX9)yJ@K`gCq=(1&3n7JMsOsAf!I0+Ys=gNk5A@i z!-cR)g?l*e$s^GO;}P%k#lL?HEV`deN7hg_lS6fJf7ySGz=8B!#qkc-jcT-0hg!&{ z+Y0TYY_GR32ONY7WVRL4MhV4t_HH^iK3{laRGI`aDkD|^IDNU zHoVX=SiN;q5mvik1C9)XveRMJQg?@4E*Up(S<~&*tLnDyebV`al?A=Rd>Clud8D%G7*sVjk2G?$dJ zE~CnZ$A0&Pt^d=!miL8}QouYNxCe|6gq?&^uUE5D5#f)vM2el2dz(3dMGERXTEbN) zS(@F?bL)8TYf4mJ6=td%Wxrc?mr5@>o_W5F5@Q*%JW+^U%x+okLFJs-Fhl!RiE)py znuwFj*7d0N6MjF=+V_YCf|T*d`2BVd&&Re7>_eR+PqZZ{+^oUc*(3O$hauv;Pd~j; z{AjdG&(J5YN~&y>xWz$W%aWw+Hi(d7&y%Z9Y@`W2+erGWvt|+}tLL}DYVh-=TJ>Hphm?F5@P&)8z#7u~El<@0dPh!Nqc3K!n3&vj1+8|o|n zS&6Js?&jVzRz$(*z>eULHq1?K{@#ob;W>ku&3I*h?wyd_J=6*)4r~a(unoX*h?&mKc zTfB&W?}*I1svGsgAZ6FFGTY%KG{Q3w?RlZtd_((gfmh`YWEX{+4U3ai%R!Yasr>EY zJl?JCh37;$KmO4A86Lrl5r}+a-#C`HTlIM@jHBF)*G;z!OH0r7JqQqolH-Sg}3u=X76>0Ml1bS(I7(r5FF%G+S}rWh9&$mjn+s!o(!w1+0_3DDTC z$yOR_JG=7FCo9>MlVyd4Wz7M(@7$(!i9}G8c$kp>1-?D`=i|V8f9N)nyWnm-DDAi8 z#lr400{PSpB!jQfCZKe@*8~OM|8nqZYr-@;6FqKZgQY8ge;Ig5_J#4OHHUM%wRv`B zxzLu@ka)WhKk6fMr`1yc;awZG;<^64XNWoqHf$pQDL@u3@`U%@aD0+aK3E!r1>6>q zpF(*sdTYz#JHOkkv%OtTOw4m%BI;XH$~xooYC@Bw@UELf|CJ=Yp6vQ^mk>%@g~7k{ z2E03Ui#i_F&+1dRnUTo@tY6aFVUJJwl8(U#^y{_ssCdBsDXX`U;D_uIxOG^vU_Rny zb`_S_NulRAh-dvfz+y5TTj;=g9|Qrm8_Id`x(?Et)(iqv4-_A)X3!3&8#x~BpQi=C zC9vuNTciTu)LdO#jf6h@JL0f5Mz+_*g2?{xr}-s;o9eDvG}npP5}KwFv;@mFs3;0& z>U8xoOxn>d3YW5B43#+^`z=G;c%l+53OGlQi<9K`zhoMXM|}yxBNk6<<){^>urg&m zWqX<8ZT|5bZv&c*_sO`sVq?W4%+Ga+=z)Q|k2ng3;pPlGN}^mi^~?PaRJEV87s_{x=ve`!x*T_ZJO@(@f^YgK-|u>w-F+#FpR-W{ z*&6>yP=&RawT^j4n<3fKM)-4^HknDp z@^&_>+W%%H64g4uRVpm`8cj7-KY~IoQ={{``;xRTu7N9tpsIZ=ri*L7#ut(0pP5(N z(b@k;?lL}%@0_}iS^ysHZ^oES>*-`aRP)=8^06Q|OYHjgf3KSH@~3Z6DcLrE|W{Vf2Wzb z0N1P5sFii>FY)WY$yA@qiGm~581Nowz|7;^HH_i%^29yFu(EAzY-K4o+@X7HgrZYhmJx{}HY~6nOVRlEq?e;s|M0z6!$sX9{$;=cxaA*AgbMRHqowdNU<5_dG*9%X?_Xiw}+b6O6ux#K(gE zxfaEOxc`3-9;wnIAU9DTO7jo!FB|MJg);+7017Jei{v@iC6LY6Q4rD?kqR+D0H=^Q zRTeqsQtSa~%s!|a%>!hU@+zNm*5R4*8nls#C>yPO__x&DA0!+Ln4V|;FHutWUM=7I z66?l)ASd3b3cxGPLn#VsG+>16zq(rhg>k$u+0IiSUk1V_-Lebuf~WR!0WUSEU5QzX zxm{0z6p(N(ij#stwCO&%Iow6zgj=6z9-(h0*?`tr>OfVE8lKOf*flU$bl)r06vqQm z`O_5g)dr*NWkCAUM&QpHeGe)E2sXLkNk8DE@cFgFcsT;Kg!P!v!7vtGtil!wH-Xrv z4YFE(K3klpHIrG(cN^7>ls7=D=-Vps1|n&lJz{oZLBnbM;N$aGg&oj0kiA{;IV+|L zhdoP|pLgo4ers9b{=@`!UhkRd^q3Eo2v>v^z@Gwi%SWL)Ly=~_Vhh4jmAqolXvoV- zmcqEXxr?H1e}#)&j4<{8&Jn|h%vvCu#-jqmn7K2>!a44=HiR z#nbLhPuE^)37N#}8ay$R_cnh!gd^z+jp23>po z!Gwwu(AC$mTNg=DUDPLZoyGgXi0Jp78pab>Fc)jf`H~;=hqp*^4qmk#j!yqnWgW&o zak0fu=Y_9LD0;n_m5GMOgAJmGg7$Ps#t1XUGYTIZJ!KD8+6wz8ZdIqqQ2nq9wOR@? z@lQK0wM36tjZR#JRpwi-E4($#=(0(J&t|ju25#5%Q;ryT8XDH}$siZY&Vjqh9yqOfBa#5xKiZNXF)eG%@(cRw zV0Z#Q9`GM*X1ZQ@-aA(F6uyq4QDahedK+HF;TsSh1fMdrYgHV08;HxeespWNms9rP z)@S)Y&|5cj#gYfx;|am{$JQzqi)2;&t{m4$R?gRme8>*%%_@ZiPp?!^l) z7t&jyOr{?9-=QI{YG~e&d64_K#USI(E%|p%duN#YAD`>@6n)(1w;p^kbtps>Uu8Iz z29u{?BB4&G;r{a_*2V5x3)fx%6ta5TDaTDpv!do`4?>B#udsHY`{e8w(fY#JmgQLd z^lA~$WIK0%?<`sy%J#aTJ{`8hK;5V2p9&^R<@WNe?q>ve*;~Xm(J#~F>tF5bDD5dE z|BGCQzWuaOesiL=2BXu$e`0ny?Pp17={Yu8BWjl<7i{px4kAi5^zQDEwkn9MH=~-j zxaoz2ODuuzS=phhv-9H<%uLfKKh^Jb8?N_$WRm~XGv){w6XVKE&|tBX+hwRh7Nz{? z7Bh8^RDF$~H%(&#)JUd(_Y?U}5kL@}E&Jv4?2FNFZhXuFZVOMqH`-^RcnQceq`c2n zTL65=9b0r4;Z$IFS6}Px$svx1zF7Ra9};N5{Kkv;&Er5SN$~N5x2ksz zsrrQ(dxl+89KxyYi!U}-U&#HV{q)*TRWpZ?NxNE2mM@V$C;MF$XisJ3sNh#*?D4>m zP`rVex$^A{f8}I`o!;o7D`$cy{X2od%Ar{8FL+UIsT>z$qQtL>?SmG0%osVI5Pi`J zIJ&5i4|wa#y95iIj7ZNmWl6?o^0f>Ky8q67;uCYNU}}DLp_Dq+U^`)rxhez8iN>?4 zGsISjMOY05Dt`RwAd+&5R?p%3de8V4RURyk${jbIG3t8}#uIQ^?6m;$+E{vDu>jVb zUjLwvSQf>zGDS-5X{I_Qlh^8t265z*6d$ZP@vUTyJ!FUN=XANMz{LbVD4~Sn1p>B6&nmz_fTHm8)OAZJ1uoE z)htdZFpPD#g?D%kTUW4>}s> zlKeqR-cQjWqa0gn9u5COA_E?YfD#f!sw-aAVEd8dbh;-^cW^kXuBA$=ucVk9mrgLK ztVFro&t)Mk;4rSw%u#tWLZiuN3OLfGR3HP^rkomu4%)(?VgM+T|Znk40h&e+GtYGZJQG*l{`uu>D=;c+xu z_Sm`s!qU5cGQ}`b-V>N?^IF|OUBuut}E+oIQkQOD9ikTyEJZ z)!__DznPlyw$s;DdnM-dmMw$hjiZ;6`PeO>Z=D}090+rFw58=ww=PfSgj^ODH3W4* z`b%}<>xfWBtMV=@)jT-(N~HRv@_ zM)@YY?P;e_05*>m=A!=NmFP6Z@VHu93x%93=T&NkxoKFRnajTJQcyclN&^_Jt7nva zqCQ*?sgA?d2Hsy@$+Aaq0kI%r%G=M&RR8Uy$Bp}`n`{;G>!!YdEUPol_}mzcbSgbn zxjSsU|Cz%itqK?PA4sy=y;Nc6xO5&-DtMx+XC3y>&nR8h;u%c3`>EG-~@R0*$K1#6Yi^@)>6)~T|+2ivbe9EM+D-Pc zpdwjh|45%^eelRZ!#^Gf#u zFwGO&yeLk;{XUQqr%T|_VpzTUVsp5K7#DNrE_zNB^toM0I^oW>knl%r?Uwu@b1Xtd z^G27z%x+cmT+=V#&CEEV2ePO@uo{s4fXr_;kHgMadt&wr=hDhFo?sKRT&2O`WWMV? zE|aB~kSc_pcIFww%QH{=*xwZbiFl7$$Zn06+e4;J9&kn}0UAmPYe^)b%%gF@@K1kW zQzIS+ggUNjc1Nv{E)EL5W}wr|L+HO8e%N}u+y_k-#+Gw6LH(e=g5~qr(LpD==KNXU z`J?ysmiO)Bx(>B|Hu&#f$KElf1&kBzE0BNs=e(zf{0gkGD_+M`MTu8BaFUg9NSn+G zWCi3we_E#RUOcch$wHzDKsx}2nMv)_0z?#uME`jmx!aV21Zak|mW5`+*_L@4bI0pQ z)&fRA0=yT+fpB%_E%aUvDD7!x@p67Pw!(NPpZlIVk1$XCU-@a!shd;@QHn-eIIB?} zG&sWy@u-D*Ps`;%MHG+sZbCz~`@P<5IFI}6#+62UL?mq{*Q+1lx?8Hfj*pVev49#8 zXxktoN)kTK3e!P!O&o3HP>MN5zH!owdR)oC zume`dP~u3ue)Ml7#WvS3KmDsxAt>9PMRL;&}hg0GFeu|sOeom-#GMTqt_WtJ7n}})QyrGZ}eIN}b<=QicmP&3= zQJVbpB#IFYFiVPxmlQYI)dSYsS$Bcaajj*XAMi`P(jyuc0AXP}Pc22unOTh^Tm*P( zCCpXva>CUq32nOcWckeVqB?f50_2sR3n&wWQkNqle*ozwSNDRjh-aISU=0-u`oB@; z_WdrC@KEYf+P2TbVPd@_OjU!_@>Z)>t*C8f1^)Se=sL@=rr)^j4-qhcNlAkWNP{9>1A~+h zrDH112m$FBh;)O1fPhG;lyoy`0SO5QBL*8GB^xjp4$@l1xUqQ;x(Ip?D!NZYvLsnAiK=!j z9+j15CV(6gx1JQtRfM^mxm=JO)7nsdO6v3xP0mvK2&(AfPjNY<4ih;u0?x2!dHqxW zkV)DGlP7vzE)sf5dxn6e9i+7Xh&48=9QiBHLj=_IZtHHoBE3++)OYA&Tc!N(7;A(zp&&J>< z8Z`U^1N?UHcuux77;<>ecy|s}C|7FL7ST+q^b#3i%KBblw*Y20Z>`&hle&z5e5WM9 z`9V7yAF*ubma;{nKVIG?slma)BmlDVrtU{}_Z{40r0(nNdKcx4N4G{ME*@mGC255} z6yx^}ueuUh&`5Qvy-N)72*S~=mYy`orYXei%BwsUQY5NA$f#hL;HMJ;fICSbpbJ74QAu9jlC+6Tz1qzM@5e0XScolcE~octBgw zepDcG|3i3J<>Af=g;0hc(!sCS#FuWJZvt8Bolp8gFp|szRQPtnBxr?fyW;&JMaaf7^f*=J86J9B=r)3?vzg& z?;o}5xyLNmZ)ptU`D+12^8Y}UK0oiJTNY6P2?MCjJsRGkWOV^FIxwIwfZ_cSap8_!wI0YvFwbm*cWBb* z@`|${_0dqze;QdyJo9+S#AQOh7GAEPGlsL~HSCY)l>FeUG45;Nrcg_upbrK%os?@S zrvE?>Jzg~ouL~62u`+1bbQ(EO@r6DOWgzDRt}c~7EhzIy+4#oMu=}QY2bNN0g}S+c zCYFmUG(UPH7-5@61aXI)Ym}eL4}V#I@0Dg+Q0*ARGQXF4mVTB1I)|Lt*Kv96uH%{~ zToOldgL(1}zLZ3!vEVoBhT^dVDKoFAZcr99{2vHB=Ti|yN#z_1fOSmEvb<1t^AFrg zH=H2K{thd>a)rw@=<^R$MN&$EOTinTAc6GENa!ufGP-dc-D}IQM+jRL-Ao*^6OLAk8#xllAHY6v=@2I8+p8_pRNq3(%<*B@Hwr+lQ%7$ z_|s%ngKF1v+7dxrk6hEwD2w0WVb!V)Kjpu!>rg#gV=SrkM(}jg1lFF25|&B{QN6)L z-GF=fOVs9})MC{2*5dC}yB}a*jjU8G{fU^E8^d_z1d>GUZL8n~LF~Ij_~zLp}eeoyupLky zTXs)~dZDlD$R8-zcK8&!8}gsXm%Vs1=Jf2)DRVtlVyySCfRK;IIMqjIYb-pj@H!!& zVkiVN!QvXu*_5_=d$#sPlbPb5swJZ-z|YkSZFcUF=G0ZSGVkA`n@I6?6X+`1^|+V) zok^lc6=U>(Z}+5j3>uB5QH2rxLtp(ytjgeNrV{=1$J?mn$nsqBtP>Vd5f8fg&_5JC_ZcVBGQdUi^WlCGQM)GsX3@X})B;%&{^_ zx7FzrlyFJBshv%wZ7>j`murGhg1>;HrY$E))}}zx;ec+ z^JtOqPGj{6&%$r+trAVFLRF{ediMZTbt37hQ?KhtRr=iAH%EW#o?nA+>w9rj=*;siDX^daFj=w6gj;sbzAItudsM`qN{lFAiI6Fkh#L`8E zvWNawzljGXvfS$^E41mX$6kSHJ8#X(A*z@#h8LS&+3!WL299s@t4s0?Y@{q*T2d{! zr5M|xbd`X_qNBn&NxI~cCL^Z6UI^WCAhBPeVbt#nwC=#ZQQhK&7f%MMtXck|{>0*~ zbnTtD=*Eg(aYfA>Ov{@Rvx}9w81XyYe7PB2wBzUKCk-ioM_m3^3z=qcRxipZ7d{YY zyre!~J3zjAVo9jL3+r}F$xcL~n)6lNCpnukd83;u$vtAK>s-cH{@#+D=LC#1fbElZ zzZ*olf|=iw<6e| zkjceBI1z;76G3S;-`3>x!DMY{eutXSLu7DsNs53@3r`=%4W7^3i6;w|cHHEoa0Nh3 zR^U0Y`nQ0UJ>h_t&sIyt_HjllJ#j{h?kgWaE#KOV2$v3&#$F57+0iNeF{i;gKxZ%YEQ+-H_!KVDKyv* zbZ^JtU2+8-LyDNy8-or*CE-X7{%k~JMV!!Y#LB03$tFaca0s`g`NO(Qee2wWzl&AI zz%~f83l?sph>;&eo5^41dS_h1ImEY&CO=OP_8rbYuDh6A zO8=FgQ{Bmu<245cVJ5KZO}<>UpK^}Mbt%>Lnj90ttW*!I zepem+7qm1ZwE~1;TKsHbH}{e7){5|y81EPR%qbNAeISq#5Gm7KBp1ErwX&7p$C!RV z-a))On4ep+)hPV{uZ^Ki($t3!4M;QmmECGZn;uw$?Dj_ z^cq!6zwS*N+(I)SqqiLvmq@wXuu{O^`xtTUZw*Nk(@{NkQY~)W@$F5Y5AH_1gQ>*F zwZD&9{(&U$8vN#g+!(rOih!%L2`(q@2+i!ez5LY1HNf>%ys$~ivw|d*s5ffjHD(yZ zjcVi|{2OFwxUoyYX6D$Mwl(I|42b7daiGk7bEQSztrN+J9--B^D$}g9js8lZ!$-%a zstT6{ChC1Ks&MoFwe;`-b;M3Vg%_T>=Obg*`Q(%b)XMYRVPqlbj|)|f`CTh(ebuR| zJN;$Lx*TGkA~X66BN&fY)WykN>K6kQo@E*#2vLr&UJ5xC={L8|NMb$nty~0Nn@!+0 zT_nz@kn(0@c@k(y_%pu5Amc#&KHU&)6s zB33U-G+Q zm9gxKxR`fErW1;_rTeZdu)Tcy_YqK3xPI-iIy7n55g7hc{2{{PXec=LJK|cW5?)+0 z$_iK0;D}+k<>X+!r0kb1Ir2(Ve8>vWb=HO}0^C15i{aFs`#%t7A<$AlD(Jx!66_B1CV)_hGYi^ zr?WVQo<2UjFqApz0~5-q<7b(LFVjeH&ekj#WqNCwBBY>{~h#Mi`9oXaJ4@=;8Y~QHTx!lq&*XA1Um^*Rj{vGw0dy6#XDJ8 z*TQ-&;Zg~Asee+xe#8To7{%L>7DQLbN@-C;CsOpy!L39`mQYD(i zk2RnhLP=On#55H^pi|{9D+9`HCHo(yc()l+(ACIz3dXYG_jhB7G=cg<{EWMyu7Jw< zu>X4SnxuSD=|G6DD{trHzX~IGWp;m#ZCc2qLp18%$}e&vMc$=QiC|P~xpla6J(VUV zJxCbk_2Pzf9z5I@r9do=Y@_;qF%LvGOwM&se|tQ{26TUeoz^GTZ`|6;wa%LammBa8qSZH0@QJgHG_8?RWLo$vguRw> znZ%A%eNd`-f?(1aeo?yM&d|O6v`KOEhGP-Orl*KRK9+9p39e(s>#wRKmYY|>fYUP;Ld*4g%3`0>LiOv@>U`UFHwn;+u7Z<%>P5Rh!O_RF>s=&~2OZ+0qAu&E42^FTm{LTj_mkDn z7fc%7Y>#8aM=fLiY`l4tF8FlGf``d`=MYM{d`5g~83?oZMli?l8XoNE%$EKGC72!j zY3v1nC3EN-?VA_BNSLP%BD721YmHnI7Ult_V-T#yb?d($j;g$_5fTk><2inxces)Z zv&vC5Tl=*Y*B$`q*r0+q>J%RxYF^mWpXN_f-YX6N7qYsE-1`S2Y7Ai#vAFzRRH?~4 z$In91yroZhGFShmjLm%!!8&d9U7%W+!BHJo^g&P$Rx1Y3OxsrMZ&e-3VCRE{-f9IO z)|zPpWE~?|Zm2n=`jEamb!jxnY%-jguR};Ir{Ddr7d6vlS}v$%HRr5$v_0{_Jks*P z_b%Jh3Vu-F91H)ty!^-!=Ibqy$aAMSeSS_Xnp!X;ked1nCPH<32;M~33y-NEql;I+ zNq`%)w|Hb)<`dQm?@iOnjz$%^t?U62gXjh_@_i+q8Sry!B|6X5jLOscfD#pJe|kkC z7}al4CRyC_CSph`a4c-JBe%v+d}o+>YU%dNDtpV^lW%J&;`7oFdm|K+=W~lrnv#hw zU4^G^zpHNi13A?E)i?$gJ}!&!p8MTY3tt$pK|}n3E?kMCr$3@VAsI9w=6(M_am!qU zvei-BklwtdLd2&+u#pO0GG8C9e;fvfA*Dlmrk}T&VvHp6onM zZ!T7=E6ife)cW`#LK|}Lxp`FhJU?%3I5p{JXZK_wn4s50XU!lbn(s^J9(5;`@Fr|G zU;yM6m~+xec)ALWLj^?ofjKRtSquuP|G8w_NOkO&wp<*7t_mByiuZL-S*ZQYts>UBSL*Jaq=fs zZwlgN6l=1TeZ9mq>ve9er_}qew8S8$v=Div%_I!siD}{;_ct<^h90kM0uVQQpiI4j zTU3tS`?B&1$*zI6-hzqgTzfRILG?HkZ9_zE=lpnYcc+W4!VQ%1brCX#WOEI)3w|c^ z=`R4G428UQnBJ=FaFN~c%2E1n-k)+UjZu8lD-qq|-0StWh1vBVXaRxCf&HkDDh-4> z?*91W|1SOAZgRbM)B9^7rqTOL084uk0kBii z@DM!kQT_3&WJ8tO3vP$EJs>T-W>+Wjxdn0}fu7&{O-3Mh<@TJdt!azsMOtpgXVjCx z8xDgJLD&uft7Q&!6UpXWcUTH>FuyZ;AZ`4fmFmRm=rcO#kGCFY2SpZxy%2Fr{Uy$b zZGfah7+9HjtE}h7Cx_R{TJ6xK=EytW70mSD>~}pa^*VXRvXyBo94Gfa6jJP_-1R+u zugYVs&HGA>&*$ir$>0x+;s^FU&Fw>bTSVjgl$%}MUW_XGpRFt(V}z$0ThVJt+T1U! z?z4Ik`;>S^sJB8U2;#!MKS*KDrB*JK8=bhdgyn#^Z1l?-@Up%SeM-SFha%mTArScq zt_bV=hN2i43M-_;v(?7E{!X!O6vKBK{K5ZV!$S5ML(GN1yZN}_iQanzC* zVf6WWw*^p7{`6dNPEli!HVppF9z%Lm5!j(Q-PCpauga3xIcp&bb2H2DMV2_hfeV>o zl#?as$FVkfk=Sihs0RB^dO>swmBUF7aq~y#b(aLeF#3I01m9fv{Yf``%^h395}6cG zRfIY`DT`fUjD1nM)qKw_{2rc5pE1|#>T_$}w^xA%!0|GDcnm^1^nP9!I$a+w%u7T0d3UtWG;ZYR7d zj~kMP)n=!69~#T(V#{fuElvk7ol#Xku6kUQdZipLcUAx#%R7Xg5KJu}yti39VY*M5 z_bb$`qt;HYE$_LR;OnHMuNmC*ue4lDow}=*no}y&F8wTJ$ibRT}lk>r9-3$h1{^493L6!PVa5G_)TnJpckhgGf zIM3Eq*s1}4e@V*tBV^A~sNyp?yv(M@(#>+@DaHP{9~A_edERD`O;_Sq>C0>GqO zxX~|R`A=dE+5_(!$XltzO}3f#*tRBXa;|JdKyQ8t7g z9Jk&KNuM>j*7a0oOCe|Ku^@X!@BPL$Q=UR~+yrk>?WfU{BhWmDhvH7s38iTr2#-Oy zq+Xy*g!9{)528@6!#5W^oUd?tN*R@UOOGvZZtdG5;#D7&1)A%&%{Eo;gx%9`zJF-5 z^n>jh)rZV;iXQ=wPaHBwG&&C?d-bFCW)x6DO^exu{0#@c^>v=}NECntfwUWlbvGNy z0*4$-rE%?+!j%E{(vkj3XzpY8q|#TW?~ZPD*bcP6uFXR{=h!PD=Y}eJysosBe|9RTxkv zrzkvY$`4O-jOF@7n96tjFYbF@<|I}mkm;S481EL@LuueWW`JLzCD6PlGb~R$ZcnH? z+eodM{;HGsn?Pa3l}TQ3qdMPwS88Oaoco`;&S1axAC*bo9K+bC%#^HI8kBe*0e)+E z#fzctDW`}0;@cn8WQ!wAyVaHd)URFO_||}H z1xjtE?1R*WFN(t}uXpw}_#BCv;j_yia>46GLZ%6qn&wS`*h`Rv3>bZD*b$0Z{e&+cZRz6tap#82(_x@bP{z4(FUNQ6!jNf zw?%EAJ9ehReaq3Z3MTRn;$B|sY4W!|FKQZdx4MxP@j$fm6e$AMlBoY*%cw} z4htWM8{HpWX{XH7Q%dqkb^sx3Nhuu2f=f`5W4PU1Z)0#V<+g9*Jr%a?%fqB|G=V-NFwlkQ4v^N zaRGyN9EA84ad9tjbFt6lrCrSk>usgw`mdjFTn6=U-0T1_h0PF$i39}%r#ck?;K|GS z-a6|P>$uqU^W$N9QwU#ggj!fLHIlCh3vUGPxvoghcdO__ne2xBYL-)v)UFTfFY3>+ zq_($Vy#dwLEcQ`_)gpQcl10<$ajzMCr7{Cvv<}VB16+F?l;wXQc2#FQgQ`h49d7pB zKhQjv>Xge?ki_JWKoY~i-N@{5BjyS#cb(%P#LDMoww9FHRG_YB6ZmQLeo8Bu)qaLe zs1Erx;bec_>!f`0AIQxJyrbM4U%I^YK)*}=Y4zk{RgYXoRGXxyN`?r^*Wd!DximMa8Dn)1ixoB z-EtSD7fud;E^{ySbIrtwz^~O`a7RRJ^W=}I65xFb``THkGq^!!c!kE9#5s7)4~-?9 z?K#C-OrH#16`RP-SwG@WW&2Z9SI{-qvOBbL>2Hm@w4<%O#AvxrE&C1ctd(#3`R;^&c8zeM8f>Yl6#pTHPsPE8wll!*NG z&*`K7;5P`?JA+d$*Wsie;^n_!z;SsedF|!JDft;of+pBbNYxxZ*r zy-iriirk7iGarGr)b5^^h8hyA!!VVw2VNKh8U~EM2g_y85|gW1KPysp!7pioDo89X zCkekhA643sl=1RSp9!hMjVYU2?K2rS#TFuCl8eI6E?|>3L4dS`u8G@!=E?Bki|{?Y z@5%sSj%>~EWp$Q%l0ok5<_{nLv}s@+N3z5a{(&~ADi$MN9vyDC*^ltQ>f6LG$_Rq+?zqQsIqe)ir_Vuw-l7WT>?@XQalI z?ECnlEJ3X(5a`*yEY%-#2=3Vgm+LuiPMkE{nIXgoH#SqrxM52D6_({?)!ERjFVcFg{X!BOUlScFF6BGd6j{$NrjvbxiN2&PQ8=a6nrzdstg`MkAt+RXA+ zs@XJW3u|s^`gCwov{x4(aN2!hzhi8(Bvjp5ueY6kE8CT~`D=uXu3EH1pmzWDWf5F= zR<(87B-HxRt8SZ5#tI@T0pPAT-i0vW+w?3-8d^br4|`J8L|2bzY)O_jaCs@CkSjbg zHe~SGVzXI?83w@gry^~CeFAN!{%&%(Bkty2j?@ZOzdU!%f(TfA0Daqs%Zul-}%T;WYcsXL}2 z&yDG(fjo0zO?=d9cRXe^4A2$m8tBoa&7*q+nYEU4{Y*v+si~q+H6%U4msPK~;oNP= zQ1hDkKY5`dW8DX<_O5sCHBqgzeZpBBd@HUNNv6Ko9U9r>Y<%M94&|@ zKY=t(?o^l8#)n|!_M=~4@18k=(x!^(>{WkyXR~dTo^`)XMR8nB&Q7Hv`s6E`qO=un_Vwtaem{hGN(5OGs*2 z>L)~-=3k@UGY>t=4Sp$&-_30icAUlN3gh5RQ^wwh*QI`-|M(TDILoq{+8M zD@~+;;y@^Xub~km=N*YQE`Z~LZL4eYL%f5VQ8NkS^^3WTb8A;8v(ml{8H)U&`{N)J z&+2hAEutqU>&DTI(=Thp&MRjvC%lA1;lZM}&EKF_y0FSWV(npTNmRO5LO=JP2tD(* zJHtp{vm*HRwP#oRTS@{gX=|pZg2zJ%jlB=l37|9dNh!GjxUQXfeINajouIExJ|5FV z!0lQ2!mcMTgL|Gsivs zey+XOf!`Uh8j3%LrC#kKd4)K`$_?r_wrBLeiFJ5$a4fz8qiZXVj0m^QdnDCYH)lPL z_gP~&G%I1gX$T|9j0h=8Kce}19r4KmAzKpG=O4^A9xK!DDdELsu_62!)hBQ$cWlm( zAwEH2Be4T^bX&eKfgWX==ExWK;ssMg`Lz9yC3b(pmG@^gfXERIKv0!n7X}Pr+|jQO zQ0og^G)9m+7{sH}P-kjkbXmA(_=5Sj zKB7ygxIWBQ?bs>r*HuG>7hKzSbIyWSfK^?|H&We4XXe%?86{NhzGe!^voziKZ;DR< zhf0^q>o1f>(79F#!S(A5=q(N=ZHEMwKlEF^&~4;53yb?@rLC=*qfgM)u45e|?tVjO zyD$uzAPVmHus6Wj#jY6K?Dk^*IT}3b$nP!F)vhXn;gul2~4n0l^@p;(toD- z@N6!LS;5<`mIx(@PIrrvuHYZu+iF%&9!Sn#-pUE6i;411pGbv1L$kPX1LhI zMmVpFfAH_<&(_;{j;PBo+M045?q3?GqN|mg1bzu1l?q#`EQutEGu+>Q(y8Ag^f#{h zTHq~%fwH7KYwm(LMF0XM;7)lBI(N?%)7U}9oIT6i>;&co(w7O=&u0C&XQ!(rRsvup zQQx8k`82ow%XOTEH<#xUmC>%}*VBt3DV@-uQJ0edr`wHjnyc9pJjk&; z?vFh_VaGWd&aNx%p#iY(umfTAqJ^xxlXtAUq;+vL)mc`=>h zpwdTh0m1>j;C!E4dfk8vP(Ww)^2xjnDw=0`>}35u*78N#=aEe%-bZ1o>Zi5Aq$qNk zDiCcw0cmVnq+IQSf*DldFqcVJiUX}q{zlDYA4WfP~1~Vk5I=-0{lDQ2}R6D6VVW`UlHqe#=~q>SfycI=Q6b5#>J`^ajJD3 z<6yfOgk1O~H%PrvG{OnWs0)af`~$kBEpq)-6ixiQWZ2XD=*)~kT2HfHpc6pLNMJpN z=Jj|T(y`!mDUiWzA(xuFLP%qHXg{Z@xBGxx6fU@pW>;qk3>gS+PHE>oDfVp8g>iL% zH&U|gF-|5c!j?gxlixE)UOP3`0dBZHhIv-pv1!yS|N~d z9;@|hw-Zu|+WLKc$MFS>tB0-gIom^O5WW9L8l>C~m|-ixD!U?pEi1X5Jr84s`U)Bg zwZschu6V8f+1vM^um=XiIhP-%a-n}>t_H5zV8wKt?Jlppf$bt#2wsMGvsB;G?cd(e zt(FA)yk%1rOYaE9TL|C@bB9KRUjsC1nyc(M+Sq_%*SueOO4yhaORVm->lZJVNgy7r z7}KH9^#Mb$36#Lfau$}Gd<*>$k>^@nQQwqXmdvHZDRWii25*-ISgQRxPxwx zKkThJOWmIFwEmeNkWZqGW^beeL}g4 zbNL{(-o~CI$@=_)p*H7@=U9P#|5_b#{6CO~R~&>t)Z+_5dmx-;>Vd_h&2Ge}#$VRQ ztMYf!SoS-^#1T+}u=MWE>-07p%gB3XAY$EX`=LS`#BI&II+T|HUNMSPmOz*8-LD9yJAE2~d7CA5R>TnyWXPt|3N=8lp@ex1FA3!yl0Rh9N4EJ_RCL)U) z-+0MrT+pv;VLGb)RrY+O)VatCl%0@TA-lE(h?3o`Qgkoi;Cdh}chT>Hm~I8~SBRG* zfXuY$K+~Z2qP#OzK-IK zH;dJcKh4+DQ)U%kj9=zW4*d@*MkLsO4t+@2sv)Efph{6kC=Oda=hoEI0IuX7BG&cE zJBuNE4R8m!0RpSNT%|6KH|pbX54~MF?Cllw$;gB2w$HtrK9g&VoZqRx-0I#V7pkih z;3qLShMag=bN!H?K~^#8f*lp#iaJeF#*#j)tOe8%t$(?9nwHsZDOZ08X!lq&pr6z! zfr)b5LI_j%2*VHuII7YtVdGpM%CObmHd#}gob-hJu7=<+-;qWo0NG6dk;5kRtS0KZ zV~v{H)CAcpSVhmHwdH>^4Pa_HAM^Bm zL`@tHM30}Htd~3)GQI~a!#_3Y7u#3Z+T0oGWBH-|?czBXDU{F8v8fOHoZ6|HtMOW3G9%a= zsp2p86~xl42(qUp5zRMJNvsO11xTRwP5`J(0kP7MdPltME*Iv`T&i*W11)PQ4Mu9w zGwr31;AtWI@6>L`#YO9a^mt0Jd35*?oVS#4h6|st>}Z6kSq&HVp2+B$Wyp)RhTV7S zm;jh>jqoTws#%hGjbWYTymf0iXsN!m|04b^V>cgK;p0H}CoYmHXNi4A^zOI}_ ztE=z6Ep;1sJ#jzxYaOZvnUaCq!qtn5GPTT(r>(>+f%T`a4<7FRM&^m6SuaKoujd}7 z+N72RBZg8_^1$EuFHB%0y@lKTY21$%o=K}M&IxLLr8*hz8So$}0`U~^x7}ol-sCP|?fn7# z<=g`MUEsW`+N2e;w9JH9Wj=e(%D z7Oc&m&)i{OER?EuB)zbM$%&=h3Ju4dM%SV(+HlCI4NJctk|SrHQ`hcs#+^l-hSX~^ z{1M-Vf=Ddn_uVpqW;a)X??<8E%IDKrsuQz*Ypcq`aqjU4$eRIIeD~-o9*}{wvsll#(p(BwF9!z0@ML ze|Q1p1oDPfU!9D2)d~vj1PFD2KjfLBVFDq!xsu~$m3kO%Nj0Y2QvV+pzaBi}Yh6nqFb+ziI!;=rr~A{By&nF0uOpFf zFgqCSnndch`Uk3dPfxEi#QjZe=PBh17`yj$poq&e6!J2|708QnNHg;1Lc!%-t>0XK zC{cQI`;yXM@uPs%@hG}z64h##*d)hZ)$WbA{O|a#*;kB?8yQ)FNZ)@^)WfIY^+x?+ zQb>#%BJOzq>X>*?w(`#}p$&tyx-lfJfdXnz5wK2t3oi}&)-DiqNB^xRkHoeyj|37sVmta>_St$16*ji`*W{`N%JPoP{m+7w2;^F9YPX05$%R}l zj7KDdic80ZUWWNJzp}7H$F*2|@sfFHs1S}51~@$Nzu>Om1a$@+v20?Gs`Ams^?SEV zq!%349IBj*r;>c%RHS@NIQa*fGs3hCLU}^{W0s{^cM277_vg;q3pV2~j?%*wMqYqP z4_d0j0&p-2=K`iYJ3Wy50Zt9O@KL&~JjXr9jGRJ9pv4mVdCrj?uD_e}461w1aZwQ_tbt=9kZs(bRY26>R+s-|kN`MPsI zc)q_a!-4AG+`_MYE(|H&z#vQ@PF^Ul zK6s<{TWm(}Upc%`LX~oJK99+bH_w$o_2gwtThT&CUpIRvfexeQY&YGqZ58@_3zgi} zKJ4dl$G!Mz7vs`WxEJB_7E~EHNq3GIJh}w~4=sXFYOH+>ooR^>QNCB7E#Ki&-`D-| z1tdA8bPKh5K)`%5KWif*3c~1zV0X*xW915K%Mi@{4UvD$TlYmxSCNCS2|avjfds;n zSa&cqzrO$)P()uCGfLO%_o`fe+wG?(j}qi*<(_}Yu%L<>lBGI`=^`418scYimT%0e zixN8Sr!S3cDbtX$zj)>fg+JWM+Ba?FPvYn5G^lj30>1$S9x8S-n;l689TV|SK`3h%Zq!BI>QPZ2`Q_kmktP}>Gq*$MyBfiRa%c6I*+ZNh6ME-| z1}VdzQbI)bewv8f9rmnjdWX$&+?$FJ57bg2knWX9mG4P?YW|g&{px$JJZWfSvl?bV zb|nQ9UzZO9^hF-TYm=$kCDv_Fwf~?>kfo;6GeN4tz?02`|FX_+SLzD)*Cw*SotCWo z^OAnlpY8s-$DQjV-=c)+rp(sT7L_e8-8H@uy)LmtJ1bl?(hUM0;TKDqm4Ty}?DF<1 z=0!WGQpUIzzYAyjhdam6{Ns<{$pKL6t3R(8OC*Vo;061q07Y0lqR1twyw~)hsXieU8`wlvf;ttI$?xP!K4UoyD@(nvba3(k9^74UFul$l2<_M#6kktW=)j&P zQLYf!AGhF4tK=2V7ts#3!FzQyiEM%|{N*ju&nD?+i`yz%^v--KKz)S=T*VmY9*Y$` zZ5MF;JSkfmqam;NQyelf1+M)A`Mv6j7}A6q%U1G&#IMmw4ggPsB>q$nXji!G2&u+T z!#>Mgk|nDJPzSv7VUzhfxA;n#zbqJQBN=WFd>l_yEh~2r%$<;x4rr#)^y}fKdkrJb zK{|J9?risQ@@k&*y`vflRVBxh?1{dvrw|sP!@u$m^r(JD$g8fr%wFv%DPr>!CRkVX z3L6xb8@!Sb8O-Go}skg&zjh%ypa7b6=`mOz<9Qp~KgPy32eUSKRpr`d#~j zf6fb&-LQgA<>NRkZ*6G6o2VCjmN2f&^}O{`WAves=J=&8Xib1gki5^2o6c7{I$LMF zJUgG`jOu_w7y|tNqb_W&Z1##LEA*Ln8>RYf5Ty!eI=@Q2v|$naOegsH51n8hX$ctN zaCym^BW6|a;wzqI`~#6ge_1Ux{2WTNWVB5C2WqDkpH-I+buYqH?1`3>H0pjel})P( zeAZ@Fwk!7eCe%A1BIEHQjkVK0B~XnatPBSS-ep`4X7CF+Rc#OX=6K)*^A<(OVlOFq zh^f6pbQmI{Vu1&)89e`P2~Gt|U(~o6(?o{!cFW>Cqa9Yq`dTR`uit~*FM4`enzMQ39^ z0(1T0EEvxyw-h01!Pz~R$~RC^b``RJ!vaLf_$CX)^d>S?#4g*vpo_942?Kdky~!f ze`n9|K&ua6K#k&;h2($5BsaEN{7h{Ft5qIxHZ-OajOoPj0vOsX+|YLvGC?jsZtrMG zW=cON9nC%RIb=6cFFj}0VI8Ts4#vQnN)`PEnQU_ zpVg9@|MTwiFxUxv1s&rDp#`Egn&YdM7u~Fyl9Rk`Z5GwHxD46^3kh4+>P+~UL~JrG zV3w29_kilPa~F3uX1?}>6z>dKEtziZO`{@Pe5^!1MbbQK@x(5F0Kftr{+b`b6Ve3n z^2Y3Ta70yk1h=aLBE9s*mV1B1t5<^%7R6FWD*wDjm1ga(Og*qS^W@dylxyM^h|nm z{WA}vGF%z7_4$7x`b0jZw;NyhWw248K_l=Q5UztfSWT)yx6y77rV~P5mrqg$@at)4 z5J#g7-C)ihAbxSc?JXsLFoPbF1?_jCGChRp+E|l1U!lt`g3EQsw92Bwc4sA{rrt{G{PiGgRf7&$MyC?E^*<(Yx8sT@I_QuD5R5#YOABaUKWcyS6T}}A$(B zAp4M01Aa8$Q_P*R*nUO2zniO01@;8p;k1ZcocZdnB+4$q*XV*=4&dI;armnS=|Y!_ zccktIn^P0jyZ7h+fmSo$X2^TdZ?&>8b5qoA5tonA50Xif`Vy(FL3=g|Lzk-s2$J}V zXweYq-K#)CEE{#UQG@yl)wXvbxH>@H+F!1Z^vYF$AdbIQrLO`8L$jh6UbYbdzq#l4 zqY3xPCuh9G+XVleel!>5;=G07l&W&;%$k0@UgaeLnIAqK5ziC;fo@(cdID{F{vWoE zP)$^*9vd3mpFh}G-ZyTYnYK!HYE|_fi0sfdNx(xgok*1c1!kxF`$2r42nwWeSrw`S*C}*63@2fANX(dX-QM? zAzX;yiofauwUR17c)&VEORtwk?^AMZM1#g?>;o`NoOGg7+IkbjUlt0uRA}60uMeHr zHa?I-7WJFCwv5g7U#bYD**^_7uMHoDH~NH6LBXEKD#>!PYA~G+%J@uUQyX(unpT;k zNhv6WW5xcnde$lcmbxc|+?`$>9_w6qI>4k7H}Qk2xt$aK(|+;FMF4i_)C$0AfiVg^ zIxRn580hfiqI4F&$=Ce@i5;_LS@0a!%8(1pf*{U_7V zmhCv6I@U|w0^Q-aJsYNWTh29B$2 z^3Yt*^Xu$PfBzwCd174K>jU4r|HsvN#fx9GA*OG}GNTebII zkr+koqNo{a*NDAI)u#52y=#QTh#>L#-QWMi{{s(sMegf9uj@L`<9HvBL5@gUI78PO zI2cav_1uD();04`2gBYm625@_WJsWI6S=;eo2a2%L=rs1FX(7{z(zr@5Cp+VE4 zw|P4WX&IOKnqTJrwRr!0{9t)P;o3lxgccKo%=WWI6YYVoEn%aos{HTIiI;-Tc|J>j zIy0weZGmKyG~j_^uw8gfT>P{QW!pFV4yo#-LuHvCY!p*(T_6AN0;_cCK~)INkr{3( zC1An8aiW$!fxG_dBjG-)nfK-&=|CTWXp86Zso^O)Hwk@`(QXAN zzaA<8TGbEn1+-eaOhZ#lP{JqR6e;4vOSM0iE_WsK%bk#JCACimG-&1{D&&L$Igl6~ z{0D#r0a}mSH|)S|^iZ<1Iy|~laMSAIwJjc=ycFbXib6GHWc0?A%xU>*db{$|N@>y; z@U-^tqmYkaHn4aj=rD*4{CcXeo|^=#7&>b9K-AFbUp#M%kiv222kHZ^OVeF}zP_Uf zxvKiVE4Nj|Hp_J-t;!b~59i!gUHMD@-Q4qIjyC6sy&OraBs{90@uGSE+H4<6KO^pp zIx@7c7`WZP_cxwMb6W$(J$(gR12gh4;&q?Tbo~8zJzg7q@CUK&Z}Xh4R<&Pncw)jLVtejSVxdX`FRp9)~V+NixeDkk+kEz@1%qOu1Mb39@?2f>Zz&x%lMzaWFE9` z5LY-C6sB8^DI~ZHlz+aVUl*w*#z!5HFA#Y_*tM0e0JO;Wv!7&^PFo0@!r=zP3;KiLG_pXJ0Z$ zIG)A7uM>pY=!VrYM51N1PMzh=F=l%_&Qtu2p@!%?TuoB`j_t2kojX6qo~?IG6LXQD zz>&y0SWE@Pa9yO`Q*Q=cku>chQ}+GEXHy&ffd>lwclRVGI*jq*z-xxZXRmU8HSgr8 zM|7(SYKX~J=GFA#mNf6bNuLKR?8%*=LPwj`sISMaDT#S160Vhaka;|sTblpU3&FAc zZX;AM#vO2_xeo_?TC=ic9|3)}#hfF$kPP_RmqhrrkQsjH#Y9hP^IFiGWaFy1jp0QL z{_482^AL*29dJE2HP$;ap-m_cpRAW6?$vHNA~Ixe74$p5myPQ`lHXr*O;t=+cMg2l zz`%HmtIZqxL|kzCEP?60wx>O=-;?;grdDOJ@^4S}Qo?XZ$nosB*m0S4Q(uFURlA}g zMeSM9z=H;LK2=rC4YayHJQLnH8zI(l7YGw>s9tL-8q34hr%Z7S&i8SdoHIRLBg}pr zNcqxgpez=UMqpylKZbJn9T~?@tpE9Q-hF;U!KTSx<5X*U?nW59i)8Y7P}z>eLjL+D zk_~B32kL^-RVRScG)*vPVV%$jP?` zn>t>&-_$CvS5dPLULMRvu+ewFl%9WfGMV6ze0cJzcfL<=>Xc-7`HZ|L(Cf$`J2YPZ z)quTJ`D2CvYTGR#bjBn=v7xvz&Trb7baJKHRrUOSs=AoFnr3hfl9CAwhdgsr#2)`~J>fJi) z+689DMvyYhI>=nR9zTld)5P||1)BpA```9pC=Z9=VeVYr8kw&PvHAY$b9~!9&_Ssb z6OvzBZmP&WmWwx66a$;r(`xr>np-0N9Iiagc+qH|W7=eD!FCK6H+As`7!&UzwpDDi zZY!PsgN+8<0s#%M)dF1AE{I+2-k!d%BXht=x_7Z^>hwv0WYf1gxVX>t`7GYB!W%F= z^V~MKSEIrfhip#WPde9~MjeYO`iLfW370I@d1#oHUYpwk#*ChNpul^s=_Bo4+PmiP)LLtDXoUt8xC%o#>AcV{5Vx878R{6{NPU6=o$~ImriZaHnppV%fO;!`^Qb#riGKYgHOSis!lcXOo_X&c7%FTzGZ}8F;em zTd%I(Fx;9$0Q4Y+6&9%OJ6<*U)h#*MnIM z!U)Sh?COoM5HYvQFxHOfXj;7SD`cK@(S2cYwr2%nXc!#uzw`xeOM)#v^s;bm@{D?? zCiU_*=WFB#6YW`H`u^zbA3L7%OLMP7tGAXP<;NIq6Fe%?EjRxSXBY5|{+>l~GvnPOqUdwu&>r?&!ivEs;(=Kz2R%$Z)%;DiT&N+<6Vtsz02mjmP8Cg z4#g{roC+MG-z9XA{1d?%cf%QFkD`|av6|g+M#nhE_E(3QdNnQ0?|xP_ESs@?YvLtg z*agyL#sILPP>%-2wlhfnPs2>n_D-)-Y=Aw*V1Zj6!=n$Cal~asHkD|+ZRa%&HX%Vp z-!>1=^9P1W0e6?Ue8@4ZUFf6NAnSj7ucJUxVfY5<1=0r20%5^BVv3)QL1Z@==Twlw?T1!NPTN+l~Lm7%6AjMPwVgdO% zK5kW+6TuOb+|_c>fR#DfZK116@FnGX7;=vxYp}JpsnWC8F_M^sw2!mGxnt$RNT>7C z*5nYSZDt+W{^{c{{jJo;ZJweh~-rBE4rcg6ebovsKIT&Ev%6mgnxYd%wz zRl9mZ%+fR+eIRDEESEU)uA!3jQ$X^-cJ`-g;XbLMZS%ojyMk-=$8C4;9ENut(#$l& zy)%izJ@w88GlTXOUii5%cj4Zi2jpI&zr}<8kuk0JeXSr!U>bV@+R;PiC}7Uc$o?^? z=Eeh;H?8tq9RCk-<_D2$1HwGRy3}}`+Pgs-lo*ToxT+J$Kby8H~5JJEMp2VO_NqY~G&XoQ{}@>IL_4#7f^tYQ%9 z(!DVh-m^DNP3LV;%$E)lO&X2e{*#+;P*2Dd#ngFts@0Mt2u%O7UO9>bD5&8`(%?Ionc6Pa1@O~uppnYkkmZ-~Tvby~~uFM69BMbnn_ z_|`8#juFD`45l=#o%?HO%&cQsIHEf&H%OOx&H!IB?NHL84{Sw^c_d%XGU;rF1FXB zvj>&WeXbh0(qbAx$Fq&HXM9o%KxBB+FuqvZ~udmWl$&c9M)_|^J&^8w8j zwN4Muh`UEjJhWY(f)6Nmt64b;F}nEujRf-LK6mOF8N9b6sla0BT%9Q68*?9J$U2Yc zz`WuSI3HX6MmReT`Wo7O`8@!Pj#{IL7}vW@jq!ID>#n)|M>gT_Z??XbR})ARtJnqr z|1miEp6#Szd2TK|r#-{^fw%LCI-86z! z6%a+>FrtRxNn8a}Ky(`Ge9z)MnRfu%gq&FyoQ{daZp0S= z=KcRjaC5|;0>qqaCSA3}hcUewn@H>Nl|d#=XF-h%xG(1&e|~Ipqz+I;LDYmNB@ha% zL~pi1;6DEDrt*@7SrkI{9c`yOq z22~B}imoTNMJ|h}BNIWpl_a7%#IY3#c0?nf!W-sZ(Imz|@9zd!7tbA_>zdFN6=)3n zVTNQK{mPR8f*sigd=B=q!*GGD>+XJF5G7nK5vu3r&N4~fuN`@=3CM~3G{L1wKZdko zn~fg(%U;+6MH!eo)&qljot%FbPn`+Uo+>mV50!^B5;}3ojm2x=Qhgek;S-M_eVONN z@xE)b!4ME8?T->HLPesmEB~LIunEmu1)5aRzuKEge+@U@OX=D6n~W&ga$Ong@qb3n z7CDYws}i1e;0-b0UZ`+w?e$p4q|@g>$JgX{zik;SboQ<*0n=GH)^Zz!^2N0^H-sNm z)`4&Df5SuB%Li^bRm4yWm@J&XJ`@OIi#nCvU^H_O@Niy;z)S+Q+Bmvy=Vrr%Ai+Pp{F-LsX zWpGtns@7khbEW8SZ^(}vOevRQolM4OwQl2NxtD6nm8Ay98WKX|ct zY-PvEX^+yhikDWev=d%Sn8{jt^lPCRZP1@<<)B#bDx}E<&L3|2pms9>P1`Ks5m34r z1RxL2amPw9g4}tS;Ec@hCsl>Yj0l{<(*oo!Kabc|u+r?F0lGXltm+|6?+YlXJnofd(b4Dl>V(QNnzCI0-EWFKAMZ^!s1PF#&}Pg(5E%KKhY@7 zmDI$cEXb0Y1K|w#nD1DC^Ccptg+8+au$PV>%nhj}RO)B?9mNJ(AH!OHyzT>tI;TT8 z-;Qy>kn|r(WUU{}76-zK{aW}EwBXK03wmtFsdV&}BdD?hSS#H#z8L{~4W9OmH*w0* z7kgG8tol`4cKa%zFQCArm$eu$$#$*P6EwDGy1=RLsf_D0v@Kk0KLitqZ=yHUQm$A9 z`qHiZ^1i@YJ|d}TI=7K55IS5Os8{WFljFxSF+^$deL#5ErcW{@vtVGepE#+lsA?C%<9yQ{92yd&g`5fhZF48uJ-` zTa6Q++@-4qhJ*BhU+H=zHBCL>&<_AbApe+8p+u}=*X^7!?hZ5`AiQsae$nVUC9Hj|e zn|<&(kOr$S03S|YjY=Y79XTbNZE7&9k~@L-u5)Z?k7^|Ow8(cnL^irYM%kf8%vF;! zgO0)P96$n{*SZRJXD-!i8g-jV+pSOTH8Nk{_KmkA+fTp?LMuuvp~DDAUxBHp!hO@! zyW|!pC>(p6Y7-*76g>pB8 z9Df6!JzMFiUm(tS(xzEX4mayNd%pD(miWm&JtQ&VDIXbJFTnKgNl(4wbohZ1zfVCXm%7fZJyrJWSX|i> zgDkapY3F5t>Aw8$(XdPT-zyPH@}XX@>70wZq7J3Q+}*moY80+dlC*ITkPohbGY=sE zE3MC;TJ|3a4c+^;IvY}xb(Ji*enc?Hemf;?=-5}jzm>&+hN0Mj04(CrIJ>Z}l{&ik z+A=ezF@O|O5$%v;x!`8icCWf zVXFzz&IA}l6e5B%Np-Bfugxnm$jq1O6cWyr9CAu>0mi)|Hpw8!@h)A!x6E9bsUO|< zcn+UxW9&4Jtrl=1RQ!XcY`_|j=y(3u$#u%OH5iGZbGe^cFIpp~YHiYF>eiYyO?5~d zsRzBLBH~^(mNMDD`0c_TWuLa^?YHP650#$xtrqG2%YCjxQ_0{b*FC^wgb!o8?$yx2 zJBj|#fE6ue$!U99QXSO#{Q1V$xh%3hJ2G^_JnL%3(Qj~QfPBQ6X0*PC_Gjc&Tr&~1 z_;+FHr58%gGJ79YFfv2iP3tk=OI7LFqv`6E{EREHWtiz_OMmg^hky^);A}`Bu)mNK z3uFx=EqQ7&3}G(LqtV_|*6pHs8H4??GWovjihMcW0XZhx{Yu?|r@pTT&9u4_ypwr- z=WHrGdt5-$->dSOe)!@awg^LhmtKVm!v&^QLbWxrXm7e(I zLKvMawsK!o^g!jrLZPLuK7Luc6fBGRY(rIzJ2=-6IeDqKs*=;z+NO!2Y zgO?y%owRj#WO;deTPv$1u|Qb;sw~S*`YhK8$AA|kd>X|$hYk79gX$_Jcepi2`-zTw zg~?F&zAdoK_3tW_(7|k8Md4ER=Jxv9Azjw;2W^#^ey7UU=Y3Zi9kE}~-wx0ETmx=e zr~5i@zOmb0cy!@#eUw_Z>K_?wN2znr@ve`G1w%z(iBOiuAc9{n={lE;26{5<3Le$o zcAjGrYLq>{B95nAzq$Bdx6Y?SZU)4#mZO_k*gqSm+TQd5e242;VMKZ+*mgyYj=_G7 zj#4Btd`p+@O~=Sei-NjT$Mm>JnLO25rO~t&jcpkX1Au&@=k4Q?yK8bNLC|Y0i188tKmO z*uT+O@LFW8^jAbQ%ibjPkB*%qhDY%aPX~C=?5j~mGdq79F~r}}!*{Mgmt$^`&AAMo zz#HX+N+H54B`7Ofl9nCi4fq(TP3E7iy}Z{4dT1GFIun>Me8PoBM_<6Nsb}d+0U^d3 z7_Ie}N$W(#Jod#q+Sn&I)To}FHzSI0xW#v9R_#fSuqV;$(5(Fri63`!J&Uxy1db}DZqHoqO zyc`!8>P^zp*=l4Vf#CZs=Mi(@TV23BjYA>j4d;Qo?U3kiNDM&}vGH^ly{Ha;fV`uLH&$($Ipsw98q>{9FgrWbF`&b ztWB41Hpt(SvJx*OBSmKcFmj$87)I}E_$g0(2C*5bmD@bVo3q|o?DF26GtrkTM?)Ji zF;HmkZGA&qsd11#DA07hMm`>(&46O;t$p1+*T5Wh*kSJUGJR&Fg*}sa1D3Ym3&+Y5 zd@80h9e03lz03}TiAlg~ckuXy6U=XXB~%CvWK8&y9bJU?eW&iDFpypj+56v-#vs4e z^{XX$GzljV&LkmL{4QEWmj^@K?sq!eL3Jb(!w8>qq=-KVLLN3r=4Ed;8`2A`K}zzx zJbJ*@4H&Dz`pOXTYW&>N(_RY_baT6x?sX0Iu|Yo%9u25DMQ)9bxKRmq07{;yQ$-c& zD^Wis6NZzKb}v*Aim0Hd-25@93M2qCdT@lfKIu{8PeI)rSqN12 zF;qKzs`gslP*H&$oq?akX%n+V0mZ+wdCv-a$D_CRTy?Pme^=%?^s!#4w-ML1BEkJs z{cy=^i6awmtjqbljr`{icIP+qa0N zMi$$noWon@-_3PbchdU3iF-{Vm!Pf&#weU~Z015tkyA1Mxpq`@eLVT~Y+7ibS zSKp1K@sdx$8+NKx8_P&bSMmGt>_cI^TIowZn>8D`RF&@Fq)YwvWW8%l&D?F^~ zpuy_p1oez7M`U_wDbUq9n>hDfQ&|pR0OdsD+E>UU+d_i+nD@gonwxi}OYLqp&eZ;L zD-5l+TMX$}wf82Q0lac(Tls?lX>E$S^P#f0^#$@&bbL{19=%FQnrsN*HXdrd?~5`h z#L{#cs7>a-;5RE^eBr*MNv1>c(D2hrAouhpxK1AJE00#RD&AFcN%37fqI|a)RI!;p zUfh;QKQ|w2A-s8NeAW{P_&cc9F3X{c_&BouRF0)T^JXRBrNKmR*L1Sacjmut2dgII za8m^HLg+A*7ige!483Zb=1;vTn4lL|&}44oTq70ouNg5ICt(uS<(v9y_piF^C#aSUNXpP|u^zlE(0>7^3VP;h(%P}&su@!S= zrL@J1T=7$n+ec%OHlT$C)9Q}NHUVseA3~u0`-_k3j-TI7x;zDjaUoHB@PMls&i=~# z;cMyq(a#z0Kl`?~7(vy97&Kf^#%Z_VMS|4Ie(u&ffN2of_aB!>tOqHXtg&Z2J#Jvb zMqjR6Q}19yVLSxRn68$#nQF)7yCTJPlG38bW(Ovrwi+rfmddAq_EfFx3Mv1}SYsh= zBLBOK#k6(ebP1!3+_ZU2MYQP@kdjFZRS{854@BP`2CBf>z2Lc^Dm;@dGgTHC$slMpQ-;mdj#QlCFQemzG zj4+hdi+bG)o0K|xnl2azKkt@g1WIHdJ{Q?F3%y6og2-A27B|2p>9-)m>*{aUz8|W* zq^kFe`s7UYhV@Q*MaM92>SI9AZ=lH)FFk?e2idN$Xy;vzaWgfI3+3#fTZqGgbw(SP*ivE?2Q8${F~ zqs1?|hfx=2@?GzhiN?;~jl|tnR50kH6{=O2)o5-BxoeEwB2>UXF6Sn3ld){_vhVNe z#cODsvRK0vfPec*Dp0j-V2pkCjwSDp$VL(j^}97l*5Lw7oxSCSc7*u+X zNE`Mi!+L{~2v;`hg z3cxU%z3oMw-^wa$59Ne+$?Vf<8Pz9ebWHDn5pz^f$}!c*w9oHE_jo?BoQo1NT>A05 z;H6f!{e&5$Ea3QNRDsn|CUZF#6SM26@2;6`KjS-ztkvnm&4r_=ehvI zAKjR2?Wa9EyQl*rbDgfZ3&~VHjC&oH0MrinwJb!h9bdMwWVlX=aCI!!7x>vpm;H+{ zQ#wf}`DWR0GK1RopU{C=;XpBT=$ba#&ox)@ZjwafkHv4gTtzEu8~A1bx8>?ePtcnM z5MT@yk)hsj7C(=BiV@jznKs9opbC5VNk1mLZ-DR@95%6@4@Lm z$3w%p72Mbq!5{GgGrKO<%5%HYSRZ?%KlI)UW;Y&pBLTHw#@>!(d<8JMKyuXyjzg?- zpOvEeIjy_y)tWb+CmEFOJ@!Kkx}um?kzfCJ>%K=PGcwcLYlwEG-;*2`tx?Kb?0;KL z60G!X?o{S3v>&_}l%U_99izGR=a3EeCpkw|1nY3pou;(Yo$hT-<6q{eCK3OlCHjM| zmY`9&uZMfc@p%ul3eV8n$Sp^NJ3*dtVFv;|fBHvgZ82^?xkH|cLdpeNwL{-Q?!$Ga zp~4Wgux^vt8MC16n!jf2o;>M~mm=6UTzs+Uv2k9|XXhfX+6JZwaX#bwAD)QS!Or$~ zVEBhO+TgX~Rb!fN{~CSbcpF3bKm7C_xM(&Gnesy9@qcKFmS|=yG5L23eT_lnAYH}8 zXHIa|SlZ9?jcKxVt>PWli-Ja!@)hq>Vp9$wTR;zQ3oBS!NbtgH1gEhY{t_The&U%+=Y%@cBEl0XZDS!cQRNqM#f)j%Qk=DVptzpBrXR5 z`f$9^qOTNm!g$Epo@*xm=_{G>fv;<-DW+KreeKXJDfkatt`E>Rl*Mb?c_n_4zcW%3 z0pd5%z#z!ZTB*-uWX&A!9>)4zSR1j${znqfzJv25)~J|cBD+Hu`j+`-RDxEAHHV^r zEU7&H49~kHTAwd6)Sv7KMH3~knh|vgtp9vDG};Rn99o>mx*Hl_M)C2n4X|zOPXT;4 zwEY#o1>{j(JJv9`ykZ9rttOw6c{`{n8%>tMVfxLX8m{s$_8p(8GyOX4l_n5xHl|+ON2nd{XVWseF3hOHd^5rfZYLG`rRG%{PR#4Zi8=KBv zgF&Tc`a}A0zH%^~^kiZNxsiE<32!KXBOtU8k=~B&nz%1B`uSk~0Lw4r`hk4qG$OYA zR%2v+_0asmWxZ%ay@b{o9@#mbG4UK0k?TgMdy{1r&kyr-(Q{4|B z4UjdO<2?h=9T&(tE|?V0yki@eo>Du?*^GEGYsL64;JZtWl5AaWIm|D#IONDe=wQFp zdyUl+hDb(AD+qIS4yG(gCW}i1Iv}MqiutXN$5kJlJ`~cl%NP^NZox#|0HhCVkms3 zO&<3bvv@57AO`J=yZi+Th8?$M5)a9PmlQUN*DO!Rw%pNgp@JARJnHnGu||i*{NBqp z`ewceBZjA{4mr6{@b&Kwe#09CC(KD(bx+ZLi`%45{-f@pBzcBpez^YfALMI+ksa$> zx*Lv{2|5IO{QRnzE$%(`97mr=d#RCZ>mvb?T^9*_rXt#&@+Bms%POoB@fLGLU|v|a zf#;&$wHJp%p84|}0*-5O78K?n^O;@0UKH5*q3cN9I+HUvIFmCDPQ$)TRKt!lXL7afpprN@o+l@Dq z8CQl4Nu0{6vg{vYgu*p^cT}(IFFCJn5+tY9Sg(iGIBKRpCrWrzI9`Z-UT9#DZFFYC z$+U!oT=@Z{sPlvl?%gCm&FA%4W)AP)Iak`Al1)u-HgBeA{tdvc$X+1tZPfo&aw%S0 zGF6{i(vy6*$Kf>~6;~j&SwscA<-HM%rQays-*PKsG-9w!UGgZ(c6;2g+UBR{OZ6$$ z!GnR14+7svB?5c+6$f<26i%b^t{8|}DxdX*^0dPwG-q7ChdJH{?O7}PZLXUBJMc~H z|F!pKLY-UQxal$943ZyakC^Y+2d2joIEXaZFTV>lq3vE|x%^&OwH$k6opEWD4A`4u zp?}rnkl3By2mmk`{@pC7Yk~jM!<~0htXmfel@#}L%4F9)%G;~=!6d+$LNBk$l??)9 zD&?BnBn6?q>NPtzp`ZYfhT{qgJwNV&2msv%sqnNOFs%?{P!3D#=CHfaWg9ub8k1Kw zzNVh^Eit^3-`y`U(xbR$oCR;Aa9=RNNg*>i2n^=3IPCNOn9cNPM&q_VBVT)q8O zd+H~-GQY-_16^pbKOK1yYw0>yFGc1~Tv5t@prTkrCxY?cHEoI*LEGDAz~OWA;|Pxe z=TUGuP>^2&4mRt``WyLa7Q*9oRS%+DY3)kDqI<07p^TW~Q>D=zho zRID>w8s_)r)r}-~EfNTfJALF5F%W6l;XkNF9a(4b;oi+?YBkK#+!0-0bFS?_SIU?k)4RwOpmJ-*)FBuXxpX|{oa)as-b7mBUl8YM6*uU)6R zTM1NV7i4}&v-F;VdTI%}z&#UO4eBrX*y%#)H7%Rb``~mqOQtp!fL}D~URihhrp|cm zVzzwmh9t39g+ui|Bd@@5(Dd%IU{ew=&VUbIxjzke4a7n+q=XgOoMlLvEIiz%-^~Aj zXNL8Ng7@hiCY_H*)Nl$Lph6M|&@`fWh@~vH!VLXE8NivPd&(Vecd2+XOF4m;v-6ty zZaRuwQcl~4NXT(N@HWRd&zG&$T&`}kLI z6M7*bfDlb=YLjZ<;puo-m~i+PCue$4;q&?L0Q;w>JU_UV-NBW%KI6wb|5GY0!{;&A zg{ck3h3d)jS zf0)f3J`WNB%sSRrigkd-6A<|m>u~GS`4eJO8r*UuPUIe0&^LQYaRcgqdG6X?-%)k@ zq-{87LtNz9=iF40Ko&xuLHm)n?_-c?>ecpuJ=g(SElA^BH@#?OyZ1!9PK2E;-g5zn zPb%yY6I zlAWG{(z!8yu0I|thxBhyc5ngTAl%XP&OaFa=^I)x30c!7$HK%X+!mj2cexs7)uG4obsm(sF2fys zMwf2rtgc3~LDi(jk-*%?E-j0renLACb^^x>RMrEzc8Fdjh!}O!D7aW?bG`0^v$V z4pJ#2o2DS)tSgFLuu+|@YrnfX&sQXK8&$cV;GTk-fZv0iKdBRsbc0NA5^|!A0*o+T z;T+{Vc+&#t2;kHD3bKjQ)z)o?y~cw6_%nRRCFvw{Qt%76>FxN8Y4ekX#n)dBsXW+b z=gpAKU}r8XC~J~RjJ-3K;6OM9fF)M%X@28afiO4-r>#48+Jls7FWI>5kOzt@53IX1 zR}{z@45l6fE^5rtS5b&*-n;|KdeG8-wptW3L{laLXdi{=Hrnm#OZl0GA+EsIHG~b@ zTcN54-O_Ru2*Cn4~DbMFe6fUaV&pIzTcGTDi3KJbHcp)uJ zWx^d@&YRDlnl7{$PgO7MIo8BKjyZZFO8ALSzY-w0<6-5FEe9Q}_1N}~{1RQ2WIJD@ z<>eHRyN-%oH%S0#G{zC2?`aTp-M#ZI0cRL3#Hu(|qIdx@=Q95%yKtRHT0CH<0(t;i zbn!mmQ0{9o~)kH!td!z}OZP=*o1c|&w6PvdO2K2CpauCk~-b~ix3DFUURbb~)J zFgbP`srA`v7-|RYPKC{Z8cgFv3p`5(KTlPAHA-@kx+%;FsQO-V5G839Pyao9MEB*; zVya9pF2apc*o=}dXc8;}>(q$Lg4Y_9y83#O>x*rb-sxYJ$yFE(4oC)G7-Wa~QK;h< za1)#Iuz(Jy{c;f#TT_Z_%*I7=r~)z4zn|@^b8`X z%Sc1xR;*Pqcm1WT&|vX5wRQ@qKX62l^A>pnthGm=iRbO)XVUMXq*OET^Y4?~l65;p z%En|^K;QBglidabig$O6@>ge*bCc?5+<2vFSV+7)0ol1QgVaP?^RPbIkO)@0(;8_~ zKT{k!;Cv`p=OtY8sCQ9a3jxk&{RqLw)KAt_oAaYQkh`hKIhAhx?UJ zGPZg zTBYxQX#G~Iu%Q}Yx;=aju<+K;yMlO(VmhydFe_1_uQJw`S6;EYEeVJJM`Fq?Py0=a zBykv;w*i#B%DB!DAms=Ts}OI;oOD-ZXEb&leZ89`+mpYSN;&e*g1(x{bw#ta6hL3> z;3SB7tQ&oQ_Kiy&UcL95)qX|UcXzorMH;g!J4llBGu^ea)1hgTd3Xfp73AB>$gk%<)rtSZIj%Cm3LTBA8N7~8LmDx zNyPF{LhfU`{v74vCpGjvbr<=~eKWM8tNuOfeKP!#CmYEFa%?xoeNQ-0T*8kqYO{0JY+&fL#fK;eK5S_D;0fu(u>5>B>kR02{djYzku~rb_krirl!_zv*UZ;Exz!SYTKs!Vgxk zPf@daHRcF9LkS!%ldk(<#l~*?>(EV`e@IEye`IGs3QdNLH{j@Wp+%(dRWtAMyUkJe zI%eTrD}|y|X!0Ch6};+mcZfG)UH;{!K!vF+3T6p(Hz?A~GX6&<)a};ip1Y_0pu2x& zf^6qoHF5GhYL&s_f7l7e75(>2y*zh*CXHuozpH6%=&(YePuQHO?9`!_OQEwXP+9Lr z47BN(`C)@J5Dot8gU0;glYZ_ZBnYJpy;>$jVWVAtnYl|J(0Mdb`xDija@$K89MP0^gY>oLs)Q?9-G|c@QKol_o z$5&Nd4=@(#Y;oRg5j32U;oEPbe%c%|Q|_MKD?6>-$O-Kbz=JkaWpb0zN^gFn3>A+7 zEYkon{7mFEF&E0ctZ(meytI3Mhx%vAO_PnIK-!m7`iLuR=GqVbd0w{)FmEh#W& z4^2kuq>}jRgjE`MwpJDPRC|Jw=B;}l|GuurHWHZE9bx#_(7O=_8so#2-Aq1&qdEL< z%ZsyIdaG;dd}5v}0;1peO-CkAwK?pZHU=){Ij|4*99gyuoc*(c(aV;74!`4V=lzHS zwT_cf^3zf`p*e5jcJTczZxMIJMvP#mtBvuW32wmTtWnHyiW#(BhmPtXrDo^;`}KHdg5b>C(W z_z*Tsre+On@;(HMux=hYTMXS08)veY!N2?lav7pkG=Xa0 zieYjH=%`);v-#C_aZH~gl%x$=&~+Y2qj44U0(O7L73v0kCKKrG0HCT#{dEetRib2b<;*Ol9 zK9E&Ul>sbyb)K8RNkJ7L_1uwz$x8I^y!#T7C6GMMKBv1VmKtibxeU3MLHmyc}jk;#XbTb+p?*@#{i*4p?k>*Tz z3DF+jyzr?a4FX0v_=iC07ICE`h)odgHk$f0a*H)zNhVFq+uWeAXa=>t&rjK%1#YYt z*c(9r>Ve|wjTxYREwzDi`FTf4nT_JUPVoNL6>%cv8V-#~>LSOy2x`81=I1gAxcGp` z?O2&OA-!sI5i$0)h+exv^RH80sCM-|D!thro|+Z(d(1x06z}etyW+>$D~}>BZ6>`3 z+c%6^&~&w)EB@^_cKG&V&b<-A0*KG<0#oMP9434sCaqhIYphLRy^QCM!;Ij~pMYk1 zJxVvUpf1#S?hHt|7XcnyLp)~!hof%=)T;SC{RpV4SCWZAOp!;2D7bW-MVp91@)bfivMP_F+sGP-Tkx&l8>#$ zQDAqv+U3?yI(<`DZlAL8SrOA<4p!4FZqS#Xj2gMz$VkCOoc86xWOFa6Hf9eBv6hDO z$o0wukIB6Z!%**-hWgpls6+WD_HM6#X>YMmxb>-UVZl{*&tF;eaaFgpXp!+TtdoBR zVsd2uH;m7rNCOT;alF`^Y+tTN>oo5s?AZO8df4w@oUV6l60?pf>ls4TZszRrNBGOk zz3Xm;x+a(Oxtx;j$-H_&!sk_@J))sK>SVl9A^F2ug*I@Es*?v}Vt60Qjek@W_%>!4 zEL=Bq^*589YT)?v-aeWke2;Yv`6c*%+LhoeEimHp`hf_Bts+p}Ziuc->IbPZQty@D zCx2m2uvt7**e8zSS)dVkS?4uOMv zJ$IpL&?}ep$K^yB<3k>w{LL|SInN9j zr-6OPyWd9|GpE0EDKBjC=Fu8EN%K59o|>Jfms93G$Iv4O5{qBhXU*#gDa}O#moIM| zf|k~kbUwk_jpPov8ktF1*hZOy7CBS~Nn93;N7*0uE z{$E_~&CLt{5!F%G075HJo*VS-Rv6pJTx1190lQuM_qRV=Ya%`J1|>e+HGs__rj(=P zN>>9mW3N*#Oo676*5v6wD9Aqfo{1{s_EBdXE?EkZrZ$w$!qN621fM$*3%<+9>X7(k73LlFz?xYwc@XhvoZefpujjyEQdIBT{8n>^#w*i5R z^>@_&AR|%})Fz5Hn3+Pxj^VED`fpZe*Ivv}^XoscVt^P06vmo3MEh#g5yqu2jgC8U z=JiTgq`eK&A$}wCr1xAIJN=L3%ydKOptW>QlHh=6XHUh*rsi+`U9fl{+F{`WmtY%s zvAODURe$xkhQdQK-A?@Irm3-6 ztlBbL2<-!i1mzu~(21Uluv7T~#s&3td)gnHCEf<#nG=B092&R+_5CBk^0$JyH(b+d&+sAiT)d=01j@^Ag(q&2U{3lwKddB97Xq+Q3JGb+!RV$u$c% zFTNBj(Z{$uMA4Au>YTf~mG`Q?W?1fz!2u-dKa!wXU{9v-oy{0s1&4WQO$ILS>-*S{ z&hbW|UUf0Fb}y;6zLefKoF7FaF{3~~#2~i|UEGxc%RJXGoKLO-R-IX2Cp+RXF?$LS z8<0Y|fUfeW0_H5H!-eCM=Pj#k7sJW=fY635ih!5uzw+5egi|J^w1YDvD}ny)sHFpY zqi2t7({dM!uV~iocUt}YR>z3W1ZLUUNC>N^Jlxu!9$t2_?)RC>kChzlhLqC)#l+WN z{Y?V^BwOGlWTR`BE+PU}Ctl4mgD4SC*q9SQPD+T2p95M?F8}cdUpQ~|_y68pl?pJr zb2-c@p6BT5QS2qf>;1t^E`=&&_HuRv=$E||m_h@oVX%7xg#*k6YJ=jIFJkMy(KI!d zEZ!Wj2+8rU0L}TXKf$M5N&9J7N$dXlS4GGA(gybU0`u_Y{HXHx{7cC6CJ18;{@Or? zIeLQs$ov=87%j2U+7vDzP=WsN;Xjf#&YHYTyZ(($*KW~^A)L@8vH@@j9g()V5)1F9 z{j^+G9r_hY`lYu9(!`Zc<+_fTp=L4DI2&Vtr&YHf4U6uWvNo@4H?I*kam9D|!}KJ;09OW>&+0J@ zCFlfZ%Wbv>{dy3tw&u?aw}4UT;Th`FL!N=cs36`nZq?VZ$FXmVfuiXG5v{6Lygk>J zsWA8Iv^8~FzJ~5sVspxCuRkQV7aB4w=DR-KAvhxC28|Lm#-c3X|y5xTWMK9{a zHIjTUMJn9z?Y#exr@^`a-Z1zRvyHXxZ@+x65-0l;Bg0j@U8(z@W$tveG{^dt+*M?qd!#LVEQe>AWo&rma@7LV%27OUJ%H} z^f3B%rOhl?rFABsVOM(>un~&_=7NPf02eKhmCm>@V@*wGy`8e2w7GECe83EVu|HNE z;4fHGaUDgbGH2JSnbLzin$i>qcM@kuUaZ#`N5Oe1iTCRG2bdMe&r;M0?w4;0P6Pv z&^i@!cflC*T5+0Ep3a6lbW&~2$tM;4YYi9(4uN*=zC5HR#E*8R%ZI>lS9P^5Dmm&q ztSPfETYp_kwZ7GGhgWn*97>|L!H&Ni+iJ+^gDbSOJdn4wUAFwa{q!1mV>)FNd$wb1 zbNK|`-OLBb8edr8rZU!+nIO>IPAIo>@Yvn3;h+?=p{}yzZ!4vIgV&GVU`N3MFJBMl+EH$I zg=fFaKfRSE>+IYD=qO)Fqo^9gFtAgbki}RludirGnRQIYaGa@cs*b?pkhs#!AS3=+ zv+-mSD|hVRAHReHKuphU*P-r*+@Qm1n# z)6CIV)em2@U~Nbz|L^YiP2fTR5KZ3(kb{l_I@E-j&H;Y_r98oB^^lT)?y^;?Z%#0n zP&JYelY^+L^!so06gZjpQxH3tKM>o_%qIA-hCzc8D0@W2n9Sik{cn4zb9-7}Wf0Y> z9TTGSDcA)9j>}<|m81=j=7O?qH%oqZboG71FWZn_-XT@}WN^4I@AY|r_%6-#_F;!% zL^Y9zz_T)X-FjK4WO0Y{!(-Kd5xn+SYuDi(rB-gvmDYc$3Pn9lWD?$a**$jZcoQoL1~(luU;~P;5uF*OMuni-EgiQI=kH6?3uPY zqAU(syWaTg!nbzd$g-EFlG$4KF`qCG3$Gz77SVA9Sv}3c&?3+Y31jAvn{Gz>e$J?> z^ov_?8~N*>&qM6vC8b^<)#qKSoB19gI+YO)U;jGBpoOAq%gXefwxQS)f0IPThLqbn zKFSg-tv@x%`8QrL^1W-JTpj<~ko$)bXh#ypg@=>1(8?Ek7vOO7U z5a&RM{G}fh?BKEoybhY8UkUV=9x$1!AMN}QTWYM;ZnE8u--us>nfy-`t43y{jFq<= z1H%ceW&OG=QK>C_kDnmgrphHYRB;wZ@?46YBUbTf@0HV1&Y5^Lq=7!!SU}y%v(M{~ zn(NUOT93i-Y1kehxiW(PWoNS$1Wt$O$JeV<{Y0GCMj2=G6X%>n%x=tnMF;vZ*2>dV zDC6wPOzvs#=DK&Skj;8a0fU_4tIA&<6=0|~=I&Hp;3>UXca^lNQfl8T#|OpWmWEBC zE9B^@o1;^AazvlZiBL}8Pp(~Nf#_vI%~(0cB-a#X#(a&+*o-10jneDUKg%P@#LuHo z$Jzt0TJxHrv!Xy5;#9BT%59WU?A^Ju8M(mj0^3Noxuq2s*~P>CZDsuD zrSE^BZ>*n^24ZN|q+5mOTQ&|`3S59&{6qH>(Rpyx2cj3#+WQInafz_bAHEtou-l;^}AO76jwBvGPf@vsfPO?2X-@v zl}tMz=EZrDUq3Skv-l>>d?L05Hj(twnmk8?3~}qR*x9z`8PA@6+L?;CW>9?Hab!Pu zK5x}*{}3$-?9;+SlVDFr3&H5V>EC*?0v@i_Lm>Xd2LHOCgXA(x2pijUsu`25`NEwf zuFv^&NhRAWTVK4@BSM)~r}3YGtP7q??EuqxU7U7nLwavEgkHCA<45+8lQqXJZf@L{ z0Az$5k|3DS7pJ~^Fsg|&3_JDUC=!8ql`a_K6RB_a`5y@sn7nY?NB1Q~wAdL%|Ou5#KQYi%JD+G%!k zYDS|O!&?nY0&LIB^qx(C{yNyNi?&D}vgSRZp3?@ZM92=9a39$nR5tRz_chBYkM!=C z+7sC^S&I!W)3sTv_p#)#o&#;{hj)<81ZtuTA?DHqrrB5-Jqj;h(<^G9R(;_?7ekqO z?Ga7i7`JkKG#Ph%%Eb;Awc4JDO;|mMS*54BA7(IyNnM2HYb-7Itba%yyhx`7OM=}I zTvkNgt6!>yZ;FT2u8`qqJ$m)AfLE0HAx!Izit9BkJd5zh^NuzI|I61fH-gqmn`D@bo+Geqq-cS z3CGyS$E)h)h-T#FQ67Iej%n|9bo`lDkgu0^zjA-yYHQmK@Us9c(V#v=bwwI-DL`{r zd*Z~y00Tw3pUS>juR7P$99nzQpB&4Cv4LWYFXe$7QVlqkc;7y6k5{05O!YD4bPCUj z>G%y#ro{ZEphs?T9-0_R!VR$xS~ytTC9=1%OZIbnvlgZB;~;>UkBW z)Qf>;@y)*5CzRify_dtu>(jty`woajrR0dcT5Qi5>pAtMet@YR4bg!xoZD8HVNr|p zed8)OwkYN*c6acBO@3_BqV7kj#4*(Ca?C*Iqn4-Fxy<8(eYPJX2M}}PYxnzm80S=a z&ETB1Mi;TE?ObDVy(M6etQ${-3=Gg85p%lUlvNkvm;AeDq7DNK|5KYHCnv9 z`k3(_;Kw5`v66krNTBpRrLH}^L70Dx6DQtj#ecBJf9EVQRgndk;pcW`>*5YP1>$e>+Z>E1*1giy5epz+m|i!F{pD~~h4K)$ z(iq=xIT=B`U^@(Qe3$mHFvFSY^P=QXj%=Y|=V0Flucu5GEh|C8BlaCjoT!O(nc{_= z`lAJDg{8zix?aS}vuO>Q^I*5^EC@pe(2ZtuurfELNE}LaG`en}o>IcgAv0eGdXa5C z04f308z0K7A6iKD%egJ_N^8l|7VoggdQ0FrZVzF#{^F4X(3$(?R`@~e$X7N6FDrA2 z`uY){4^ECM4q6h7K4H;U9~|d?Y0AVaa5MfvJpgDK4RaAqmsU3Oqk;Dq+cK5^6sJ`U z?8)_ie^PZ^Hgy4`^s0M9>N*+Xzxlgqm+R;}jYLC@rUl^Zut!*cST1pF;33+* z4bwqtUwqaPUlyyRX6Gk+Avs8r$bDVO-Mp|4q|U3TWWB)Gp<05(dp!h;UxPX6&)8?y>&QU4_^wsj7kB z0dWfw2c0fV`FL$ zjy&!x6d)sr98Ue1q+tD5U!wTh3 zX+h~ewnAcG1MZ;lWV=^D+4H;(e9J8{K&8u+#M(9iyDOD+W;AI+ya|B^n_K)!c)%Bn2jp-OzF75q$qfsl*&0_)gIjDuyQtHgp9aU=!&1c)p#p!t+wIo~ zl4yLgM^V7ChK&iAf~!YiEGBy~^L2_M8oBfINz-}wie0R&I>E9bZ}l(^(+YMhSqMy% z(szUeasMj&JS8PO6zhCP@!}Pf8}^ovfy>i}Fme%}L74*J)KkWeh4W9HxthN``uaFQ z=5`02HqYMS2p@@h7R&c+{O6|t#idbhhv0g>5{i+Q={Lp~W|5@HoT`M6BpM?36w!a> z>dB>U+qhu#fu2>9eSl=^Ae&nJJUQLLfRf^z`X`QKXyj?a%>c<>Wkd{&zZBsZ5T+N0 z4&B)A9jb2ZF0t)~+G*eRfo$=6(EpILoclZT1>Ev`=dBo>wg>OP|W*&^G)YOUG@jzUy;9W z&>3i{dfDdv*zvpIO?y*dUX2|UE-RS zD9bMIZ~QA!kLwzT1tX=lz)dY(5b-5JXiaZ4!sAB(vNKJ}a(7BHXBKBm33i5ch`)YNAX+)uvgJwffuAgOp!wv(p^<-q>kB5;(ujoDZc zJkgp?-WX`%!sj(5wVKqO8E!`1;Yr|2{gy+4lnwB}+?jkI6yqcv+%8(1WWT&A&A%G_ z1alD$B50(&nB-JxI{eu>J+1_7v%R&*IJmq% zc6{xVNLfY(d2k`b^ula5t3Fguo89fxT?=oP)yk&LcC`epsXMKtzG_rPaDS9lce-EI zjh7bRepjJ`t`&h|zc8qYo;t7O?4z(}czF6Il+N|p9(!ph`sKuZ1%>!%5Y7ENH(MFM zz78^?s@7`Lq3|+c>(wkz%tB=;H8ZA$4o%-uUrq~og_q3*jIrFlWz46YD<+!J%fc&o z^%MublpL%vVPygZNuchfgZTThrhM|Y?A>%6UcCG2zS*|&nVs&HMzT~l!^BJ(XT<`q znie>+4em;s_VYn>ceUOC8Wuf;Q+io!5Xk3O9#g&+ne{vJq%+2N8N0$`$wMWNz4^?P z6(1r>IlNIj{fhWcHbrfK~g55M=#XnbZ zu|7*5!D8T*9|~q{U_LoUhVC16{|;+k6zj+i{CfVIrbSTQoosMz>SIv+2iyn@&;wE4BZ&WUn{!IRL7%>wD8km2nJ>9YTYgutR3RN{ zoIVI7K3FE+5?afOufz6TuI^8J4Hs`q*Y!qAtnmJ^Z*?DCn!5^CVAN$>3D&~d_m~jC zt9-Gi18Fj|t_nWg4Sa!b{A}A-%z(Gue$?tr>l*+7!kg^>YaovM2;u>yqa@-V0WP`@ zUQ|}_;w2nrS&dcbvO1)iwXqspL$dbb&3~875I1OR_c(TZnD31l2* zI=Pi&Ft-0DS?Axc^5tP2G=1dv^DV#0YahXng%+y8!$-wrL0G8~Wt9?|OWz7EbYvfr zo(PDM0?~|Yt;2<#_d1xT?g}JnFFXhzph%KBH;ad{0$qkMm;?cb-h@zIzDiKC?sbSk+3fX!&rfLjz_wcA|6U3Y6 zM^O)jqIN$o_=HNoQ$o7N>mM;@8fXn4DV(2{R2-~~?H9JTWYdb8+e_!uWgqY@@4DGn^Z{?MDnYsR;@gO-{O8m!s=#?U1jcfv_y-8kpEkYDD`uUU5Yw2 z&N;HSO+mZ)AJAdgw|T1PCB{xGt)VLYP@ra=~;2_ic<;4+yg!5X{IqXdxo8E8@#p|dvjVf)TtRw-Tc-XDS$~xGL4qU_& z+KMoja80GVpDd`BQ2cUx!PKg+N?qz>pjV&TMLC}{&HM~gD>EpoSA88;nWQMdG!{~` zZ#ZLy@4*4GlbAFVy{comC83$6I_Y5CEVN7Zs|Wv?x6Un!4*J;hz`c>cY0Mdp`4Fwu zf1{QDZS&9$FUQM|PwBiVnkO6+pRmXLe$u5Hu|V}m^n`!atP@N|yfeNQ)49YjMpP2D z%4fEAn8iUO8D5%wO;Edzp~EA~Q1brAsouUn6vxtUH)ageJX zWi1PL;imajjVur(>ST1BRu3O#T^7}g^tA&Zp8T+=Q}y_K;Em%k>#G(JHTrKkOcEE_ zH)VVGDxW00ytnpe*{os8p)!8g;yc&=KUit5_PWOq-q_Cde_bjfm2W=4V?)FVJxN^> zn+P9?e>-Ez!lgqy&2eaF7*Gb_sSsRlBc+6x)w6J-MyWIgf-%#qYs!cZd;i&R;}Ktc zvtdsO@op1L3iq@J&K3P!D(u;`K>SSo_~do=BRNrPtu_6(`tbiiFLQb#|B7z)ehLFBcFua~a973B7x$j|k>kegDq6PpRpXy(fMR=`Zz~xf*RI z&1;o5u-f!{(O1Rc-&-U3-@K2iqQ6`FEeZma@_ZYmKh_tjIYS#5Y!TtY1%5=lsgDeSDJJyf%;L{YSP>iF_FLhv zN<=+9vvw20PG-em{68#)MGfWJzDlXaDhb>>Ju8p8s{*&ATUTE`h_0!sTtrj20dCSSdUl3TvTia8@HAQHRM;cMCxcKM~gVC=rQc6F;8XGdNB zK9IjA=6T~oU0p#CU0Wl7zM{gvxcd4F>?F=^7BB9J?os|zC2bh!d%xEB!A+{c+s2JT zlW{@6<`t;sS|&*M(m4pXR_$&k(C_%A-P~0d!+MrE2^g2owN8zt(&@o3)Xlf1nukX} zUmV7`ziyZ!@dupsa`OCL@bE3SJ<`*;F*ryS7Lpl#)gMo&d3}Mu_PyA(zPT{R-vhzo zk5A^O7T=7OmQEb#+?CR1>@jzLAHzpI%zM)CcTu7K%qL`?B6Caap|>LP7qDo)w@VPx z$^$ZbnmtaJkp9@U8&r572=lOHQg?1tR%QsM(QB?%a@CH=Z>xS)t_pU$H-4he+G^ns zG@$p2QrHG&U_T705;JM8J|x;oS8A#@qT|fm`Jw!kyx$5x^H02w5r^t!_rIu)AoaZ- zyk9;65i^l^_?W(v!ubx?8`4>4I75yPY(;rkqF4KJpwdcNOG_8KOLw|6zv`q&5zMLy z-Tk(lgupzW7rmCGj8%-dIhk+C;{9rN()LoIJDz*1NbY>{@&$ZuuBhJw4vny*xu10Q zIIHJ{os0KxUmhzcBc1j&*4U$b;*igPnh0B6 z5DWtu<5hj34$c38z77}eFm=QNq4eH*Qr1xnfqg2|bELQOJ5u9Kxs=ew$}K>P6e5!| zU4*uiB8}xV_LJh+3qd377AlD$LpS`&;YBgy{`}MK?@@1cZ z(4Ou8j2u;C6%`~N0;=Z>YZ=)#sqxFq$f}g%lhgy57}dB3uJfMxjkOqHez;KqJQ*Dt*CHC;TzVIEVAoM|Z*zlsRtI4cnZ zj&Gr8BrhJ%d%}FC4!jvdGc|4z`LVSxIN0QIlr^3fw?Q4DO%zAc%0Xs7;ay)kJuXE8 zD8=#T9!|9K3qH00B8pNGr_mRQb?#1;KN_Z*Kivx+W$p3Xs28m=;z}}5ra3{*Bqo9# z!I9sUBU*Y4TT3hi%}r6Uc0JgjGX_aG@->9Yu9tgxXVlT_f&^-4T8~~L#Y4R%cOerO?X|N z=F*628`X2jY#v~^IvOP>t~GKgAa76;NPX-b2ZVWuq29Ixv>F3~RnED->n*8V8CkY2 zg@X6vtbWhmo$tQMrFa;9A&OtVs#oOzqQ#!KQ(*URC2_#?5r8ce1;_@j*4oHQ}}kq*sH) z=LEx5aLf{C&Qn}!6cp)dKz*s!>G;5F(ni}+eI-ycEii7-^%$JuyAQ%IEpkdGG zT;8gGSDDq>6cL&yU*Mu1%sKs{9vU ze(juGW`mdJTwkugB8Tzst9e#zTIcAEML?^awQ6^LC)Mkj!#6j}@?S^K|7y6!HT_t4 zDsN8b^M~FSd>eRqu#n~eNW?wt^rsUw{SzxltreHzZzN}22Uko_yrzLn;=bq!AKvOJ z{RA;P+I8qAfog#12ax=JljH+B07JWKfnYlj38(}Go09OqfY4=hi7(`q^I)>-P|g^iEtzn z@EJjUXcXF1)1oSeI}u9iz#!uL#@Y$w)EpxXp{- zq~6ZO4kI%T9#J5}gB+jw59KNu4QIt}g@|q9)Uxus#HAs6TI>pGVx4+Ft5c=!ig|-L z3>tHjr%)^DyxggKeYRknL%oU^nrUW!A-*+urG2>^9ws)l*Xk)$ueD)&|5B1j9f|iR zXgRLV8~}$o)B)_#)Z7^I`pck@fV`68YT%(Q|D_{*Zb|Jb8_w^-%Yy9>m!;RjREkdk zDf8pV99~R;{T$BYEj5TpP)pDSU0QCb(AXovFKi_*Edr_~DdB&z6(%G+$0j)^e_BW= zpy>cwOx58wJhC8=53qNw6rvcRwOmd(g~(R@RSc}?LjSAZwP%Y9{lf2l740(KYgIri zV0_Vh^R$+Y1Pg4#YFm8GkHu0QFRyaTt5OIegH}fP4a;2vuB4HWN8Z_CzBTjmEm+M)J9oT)WoB7wbV}>P;1P#7J-mt@oH`!dd}tjfwW#pu7K9e$O5W|X3zp7%WV`oCkU2VCXwD7lU~Z~6GGF_g@I zAV}Gs+*O-8-~9Fl|3vDUVbFO+1$DR;VyMMW;l6)-UL9plzB}Is?h>wte)h?UqvK;a z0`rwBVfx1cV$mDqEQ2pSmE$#(8a*?e%PkUBxiWZD-joV^&6n#NnF!lTEU!%`zWEw5 zSOu39{s($qi#VZ;T{FTJi`P|hy`y-)){-+HgrCQ<$EtF9tR#>_QZG&v{BQX3X!1#` z2*loet|!bN)bQl`zJD)ew&5i`5g6_#w95tPS=Tqkt4Vfy2o?oMIDH;^_PZBkoJ_R& zh@9%R8Dl%9rT~FQSM9hEonR8h0#OYMXh!2&A9KIkgWofH8?l%Y%SPY|wDs1 zZ{foy04+{VSOc%X*!!?j$P0rzpY8gg*thHVGW`@E81<%v|C z?gCe*VP?^Mtgt8Js_Zz;QC$n)kNwZ5WCIGR`LkgSCRS9H$flyW+4^EzE&6_?3!oKK z95#~_fKF$RcwO_TBkx)F-N<)Zz$D@Lun)>W8nvt0`gF?3K|lg+1`}!l#iJ7y*9r*- z{*(mKvnVvu_Ot*8!T%*FVLb%Hta0U82c@5S-UsuvFZ%ISx4LF!=d@mHXTX{D8%FUp zX!St!BpCv9XHN!36FrLBel;YzCbl?Z%qp}a5!jCpHQnsK{PACfb}vHF(>=rVv|V$L zBegEg@G0}wUq4yS2Zp3RWNjS6MPGfa`D8iU?ZL^!E%o`GA)hb^9@?6Kx4ZiO9y*Kc z^xmmg0Fp|2PjXx)l@o6qk>57aL)W;+ZR0LEJY+1UV822ZDIGyazhGhP@ZRi;-azS!!| z){?2koVCGy)frZM3W$eC#}U9W9SJ;&j|itLD#K}{*uhqly${t)SGe{!SZTk@;5lSH zAxxc*0JOYdCRK!Rv>LkxG&1$q9YH%;t70<-`})sAHvf~PqM_DiJCpG_ki1!dkY@FZ zt$yHMv@m+EwDh4A!3cb>=V7gzH$q+Xc#lNm%Fp;2%#eus$Imt`urM&%zy(0z{D2IS z+Q5g}2c~kb#4KNY1o1$Qx$rZD!PSH~J~nsRQO3pYUo!!IOOT-9#@MQ#&pTqTgGKh@ zg})>e11D+rR6{+gx<6vAg|?D|cQJh6yKb6l!a+RYKag8{YNRJH+dv~{*zrl&v?z7H z8JJ9SW8FX4o1ZoF8b$fxaqD*u;vEJKVsodb7pgPmkF=<=+jA^$B+3RHUrQd91Ilsd zQ$=JFkhTM!g8)Lcn(~B5yG}Mvo;5dS>4jxTmF~a!Os^qjVWJM$68%43MCWty@{@mz zJwSWGcE|FkbU*%(0g*qq@I~5E&X4Z8@=DcKG(CS6Ub4r-d%C-w0ysMSs_M!MJ{>jx zx!y(Luo_0^(Xn+W)>-a+5IENV{XONeLTff5XI%a8bKLS=Q0K(yk>h;7MEjRob1c+k zeVx-+ng4KTd?wBrlZLc{i4d$-10~+KL|i^Qu3I-ztqN=KofCEpVafa|6h!tBf*GC7 zSmDV5bh1<3-8)JXa)B@POO_K!%`5+benEezseh%5%5jwZrA+bq-P@P&!Ie6|e1$OZ09AUOj|vw-t?Gc2`6K*97esgtXZjOn+Rh$k&< zVGX6n?xkcOzwX=F3wH__)>gj<6bKnw6mdQt-pRAgF_5yDw*&VUlb%1zY5RK<;OR-$ z$Gy>b+=`AHV{_VB%t#*lC^o4Q&J|fyXYJmw=vE-Kq|!Y8Ogm|je{oq(rFdp$Kymj0 ztt}U}O#I9cnAgpmGm>a*az}zMl?+Rs<~=RV5;AT;x$+EL%DSL^gt<=!6*pT)Nz}mf zqGkzD86@viS#neWG>4VuIH&9DisV^Cw_<|>kqt!Om0+1Qg-@qohP^N6a~?!Nk-WLs zcL4$pOgYcPM&OnN1(WIjtw2PrHINfju*;biIX6GRaOU*1#5^z~@yG2~fq8qi44-JO z!)p%aQ+>MVd*Xc#5AEWY>l8j8z=CmQYc_4Yn7YZ0sV2rq*>MW}P2tC!D}2^9X0z>J z;A{Fuyf>ywd6l2j$hn z$@F~i9{uThEL(3P*BoeO7O#`4F)%o%%~km!c=vuKUtSL5NzT3@#kO)#U`B3rgv_P{ z*Sp7=ms12}@zOH>MC5+3gxoi1ORt|Yc9rG(t^4&V_cKjpknFZ8Ez>w1pAqemb_yzRG$ zT5Gg@630vFf&AAcREO6TJAa`VAgN2j|K4LD`Z>YjC)BFU4Bo$T*DtcYY^`ub_%4DO zmesidrx4|FAouNS&c2Q8Rp|+iXe=qL;#f)b!CiY_0?rB~x-5ntjsIHhx*{!7zd`E92=JwqAFV8q72iaFOQ|=EJfyag0tSc z_q(Fg6T~<0JBN1kq(#0uR4;0Fw10^?tlN?|I{P-tg!9;xQF&3<>f8Kv8HRrY>sx%` zpy0YY(h6Yzwm?RV@0yFMC_q?T!=GdF>OGXr`7kE6Zm6>`eucXB_P}UOT~}kZ{m)Z%0h!Th5agx zw9zNXhI5wzRdmI|W+UnoAHD48Couhc$?H4PvQy3ajUi5naA)_8Z%Fq#Sls11_}uWy zm6b8Ucr^;M@7q%L6hHEI?Z66JRp#}1sB|OYlCb$v2J9|5_tczFgQm3$;iHz*3N|3t zwbupNQ}iZ-MZ#?YUv-L&%&!L4cF^QQ|Q} z-WcjOAQjm|)t+H=Rv@&f&vRQ*lC`Emdl?wrb66v0BI12L*PxjBo66j`C_|Jhl7oO+ z9qr^}-hGkR&@)GEo}vLYr86Ja|HkW{odfi{`Ex>#{o6Gz2asD&YnaQgwFZQ>0rx&r3x#T z<#B%LRKIw=R8BN?Uo}VkrSR6_&3AzSuxf^}yFP~*?3Tb3FxqX&?@GE}6%++DJA)Ex zYU=-fTVgOEe-B2?pNHrwRX~1y z$5!d`CF}toJD`Y4eiSY2*nSC~6PtrS8Q}oFakUPNZEy3p<@X^MG$0}{&k21`Xr3UA z$;>a?6i@o{+=Iy1hWO?CvmK@>zA_$A&k2VYV7gfs`c>l*qvddK(loe+_XpOwmvgH> zhc+N|-Z0|NftpVF&yQ9M`4t`76jdnF7xM%;byLTI0~hj{`gn%mnpcMsc~yXi-RWpG zT0U{%+PhqbOa`D=$GV2%Lb)4$0*Jt#%>BLXg7IqlAz&aTP2bCpsw57+GJ4jC{7903 z&+**^e(ttafXu2{BvHdTw_oT`{G=aIXDf1t+#Zpeao3~YdOtW)m z=TgtQ^Yzviyv9}3^r}9Z(7i@qm{3MoZx?fDxVqT!qMR$?Vli$lQMzlW8fIr#ix4?) z+8dPxHJxn69%;&)PY>r{jc5&{<{~?$`DhV!8L#w;M@I2 z>?qJ8L1MKYrw@~EsY&+T(tBs>(tamn7V4fwCFN<+;5BLqy81HVnO9TQ)R?Lfq4?94 zQ}ePkmszJ@@xsUMJE9W*y@dGo>KDuq2SPa4r`UV>_^ZsT{uQUVOE6JktW}|? z_r`?f{S4!_myg9KffChnzf)6lpX?EDEu*gfQr#M&ZaTWvf93EaNpP~A&%8enIp1M0 z#T=N}o!qRAe|<=sBxRSC1I))(@)6AHw|5>|L8g_#@$Y8^)LkZ_p5mvsm;Gp{vo%2s zANq4XfUf*nS|k4afy6}4QfU7<93*=*s2b!1z#E-x*Z`1OJtllPe9;r8P_$ywz=!=Nle|L_mm7?!mf5KQYxcO22i#2v0U|b5ET#Sd& zFH9-KiTiRL-qg{@`FW5h? zH3gi~OZKue%EfhyyuMvz>pgR4D_bd-alWr7T65vUaWt{}s=n16t_B|mH0p*C?=>4I zYIT5X$5vyLqK?I8gpS#UcR6QqCk1))v#oSA6bv0r0NBQ|I9_OpH+c*0KyJ?0?h&%kTsHXU%kfT?rj&Lkp9Mcz zGCWm;EdJknH5tPP(Nk0ZdQ4^KeuRER$Rra?^E1vEbwBi1Zhjj%rU7LLxpd@u7TC4u zF2DbKoiUzYFX1`_kPE(>`NLo?$!q1WrruU|3>Xo>3^|bUfF1W_qwsufz4IKkrVj4V z+u>l_Hpn6Hl2%T3MKBWe{K^Ek#e{raF4mv*-)jd>pir&REpx)gn9I6_Mp>&Hj)Rtk zyI$Qr3{?(-CzM^^F(}UK=aX2rH~CAZy(r?6OJkXm`5`{b*Ht<#Iv`!hXkN#Zf+>4} zx9*&ERZS2vn}aXr^u-WU$sbRplz%^jEzSjxQ$E|gXU;4&VXp=`J<^{ySZdQcAAu!Y zdcg;k&HA9UgKKT%fE&~mHjD@5T7Sq1rdZpPZ zFjJ)!#?(Y+_#5x^xlZP-@=iUQXD4jcN4lj423a%1|9^$Zs6-uOq}U>f|D zRj;LbOd!;?*bOhwu3*5-6_k;$l^E4=qbSMH-M?JeV{A%z?el})+t+}AG~-7d*H9wB z-Ynpw2BnTyy$D(Yp9>3ERpsT@;x+xdNYRd$~$X@+{+Z4r`HNz)z_$pA&3E?t?is5d5 zUXixrsU^`Hw?FDAF7-ZrqX7yM8xxaijUP%ZUijS)B3nqFL)}NX876QhVD96()TlbA z;wlXD7DkG;ErV-yG9vHfr%^6%(olEuhgdQ1E!PSWS$H8HjHXzaIw$r~36qS+j{hHpRa2mB9i6b==bCK~#4c1x7V-jj=F6*Cq7;vJLSwD*Y1 zt{U0VPhiCUnb${swT7IPs)&4;4AvI87VL)J zpL5D`cTPDX^Heu#U&qY0Zh|RgQkeC&N{ITj~^4biH*Pkayg|AFeWn91wiNS%i)cR3C=Z^Kzk7|1g zEUi7qSuW!!a<*tC@v5NJwb)f=H&PdismS3z^eq@}_oHJR1PtG2X$9~k7#)ENnEf7h z$YA-L=F)QZR#)2L09 z7TqV?1@V||AX`p_mx9$d6|<5|qf&SbXp$IisI}LU3C$VRcMOgB8wIjdgAeApGyV99 z5FDh>j+`V2yH8jyC&ctr5)O4Ht&Ed`>^NKo)kdmfGYik(Y*B?j2=-cPKBOZWUzL+& zZLI_ByP<0y{+cPAOOW9aDcNG%TSw~)Bm0JcawC`V5pdeXz&yrC!m#I9L>K+Nxn+y^ z=@&02Jin>9r)!$W>ateO+dBa`OOIBw9lr1r6+>DA;`zV*Jo9p~J9;iD${w%C6Z+b% zuK-z#J^NMW$=)Kg7gDesF#clhNBJ9i{Eey{L8a&j`^@B6nu}v7`Vj*_V!5Wo9u^&= zXcAoNcbWh4#t)xHDc-MS=NmxRF#z|n9%vT^=WEytjPUGV#4PAB5UvS4W94t^_dG|o zs|rcAW0w-VX@Ug;lvVsEP!8|l|r#GjjlEw*5 zkuC43xED6oen#-@Z6#j~9j-&wcqBY0`<50B+I0cgDZ;=Api_$V{_GygRotyHtjzvR9$fBjBcH?xg1}mf*CIB8MRJ02 zHnf+q4?vLMU1gJT*bvCDjbNKvEkwkTDKidpEtT(i&V-p61z5(*x~OY$4?EgLR-R!vpJ(wO=;r`P z3cjIkz{MwNaHTwLM(g<{J0jE^|2bTME_-3R3y_UNnPAR<1<#N?fU47SsbS^+xO&UD zrryVYcyvgJw3HIkAT2pU8U#f^LZ;H)JvKr>kq{72YIKKmGwEh@cSOCT_TtECU+rZp5&s$UNJv_W-r& z8rjZsx?E5$8R=bS?`sM*&1gD-V+6C8F?zj^ z-}gmGhzXQimk=lO2ZqNz5{NhFeR>tF9n+n~pP6)<;{GI7GG&J^tBN=;f#?H~DYgjH zf-dbt0`iuxM(tz(z)LM0>UBF)7x#Wze4VSzwO-L>_ebCDXOWW!IG;ws2U8Y!@Q(H7 z**4T_(4JQ|r`%sJPXXbpku&YoP^*8Y&V+J>Hnb=GCG&TY)^sCRVA>bj1J?qKdw=0n zO4o|uxV3$4hOT9kG{A>5czLtP|BCh*L*u<~DDXqiN zT_OGbkMMMfBJWh)R_HJ(-L_vvBETon19)AU=>%K1J0?*r!mblRjaf9)oKKc1b@_HXd7f1J_SeI-SzU}EXA6ij--5p^+7ACmFM0NR*4K%r)b zcP7@iT7&EZ&vW+})k7#HgxUPc93`Xw#axGbrGuXY1J z)-RhMa#ykyUPIvgMUq3g3jG|rjP&!X+6p3Z31(|kBI<-x0d1XF;k&9@IQiexm-H6& zsV*(K`PY&je=48aM7#gs>0)g;xG=biMfb(P9%G-*VwFyT3Qcl=)9l#3i__Gw_^_Bx z2p1&w#qsbd#^1zCy#aDlt^wWAXy1nM7oeO%cYJHCZsg-JxTdyc@gu=ng72!kr+^(% zVhdR|qY_v88Z`g@KhV3*{w*oOP*k5Q=I#G5Lg`Y6$Cc5oY#V7if$3#3XU`D!)|qcr z?LEc$IW0d~Rmw3($g$PHZQvMg)aQHhy2vlB5K#=O*Zp}aS5r70N(WXVxIRES=uep# zilZ-*`tRH+vo=GWJ(yoSu9oNK?Zx~;LBy-{UBt#fQ9*QOSkyb%>nKnY=eO;2=2OQ3 zq`h9GGum-2GFpy>JZxV|CMo)xEvbO2Zm0D+ne|h}b1F5D7xJnBzdEDBTaNx<|8gNR z;J?`p`_Kk|;H*Ne)@Z!Wk@fddy5lyJ&QCR+mpS9}RQYfBVK43 zwrp}U-vz!M?`ug-9Aa%O{2ey{c$}}u(XL&qbbc+}MgeLyo34}&sqx4lqh9>vvuP{a zc%(Oz_^@FbSJWn6p~IFJJOs%ClkkH%(@m;j5J9{$#=bsP05IX7pr&(6PFt?0@y$q8e|lrVc`Q0lvEZ{e>C z$2A+s@b)KYsi;e)0g=*quBuZ>O-CJBtVr&yabqx!Efg3Fd<<`=`N#n;mPJ@{VVVo82ji@Q#-P&L_^f?bLoX zigeAe+{ga0nWkavhx$I0KGHp~T%E-NYdnU|dZuWgSmmPlt4>gw+}x8RhCO2+^!ekc zWw_7t*6Gk}ipN*2}?TfOFwnCNqUjGN$FBXbgqm_H3#4ge|f?}S)>i|3G&6~0< z(5u%rj$f`~ROAc`o6aun4vju~(oqO*>%VRF@0EVRah#cSa|yqdfQ`e+ykiWyOz9(A z9qJpjtB#>hOPB;D_w?{)#rtd_J0CwDd6?)E3|4ICh@nq?|x1bADETA`)Ce%%FOh8)DSp z@}`Nq#wuI$exW)`lT&FS^JPMdWX z?{XXLD!d@uM;EXGrNBVeW6Vs^YE|~T4hCKJyDrs7I$k4^gBASmnp>4_RRLVY?lEO28|A*> z`XZ*P$l)J9|58~~hw2BFu0CvSKkG&-|2hI_8r-0dDr{`Rglv+?iQ!iZ%)T+HT$JFy z>!veCj6S6h6$=aX?5~_G7KI%~BVwNC1(UUaHx-#(J6*%>sW2Steo*$R(t!%-HAGmaV*wCS1w`kr0uFZHUKfF zw@@blt4=8h46Ifi}hU$P9bm@h-W%4-S!%&_Ht{m{2EC%3`xodUeKP}^-NvDZGQ znQEa_Ew2C~9|`GfXTB>05&%dx5Rc#cEw1m`ZMFOWauDca-!{Y^8!{!W{fOVH;>c9I zIgg)cKh!V+Z)E#Ke?;hCg-cF}B6y&095g^QOT=dIGbUNW7NxBlYJ_zxroZIV8i zZg2Hr(v;f`GfYrsT9huPuuR6(t(gEPQc1LMILEa0IK+H%=l87_)rpR+Mun-6bPx>V$lKW3Ua?qDL}dA8@&m|)aw@`rYH?gL|iEdY-!+Q><) zx?|Sffq-B{+Ap0q$I2MkaeRKg09Z%bcTj8jt)p(CnQGy@nY~~|4W&rt-uiiTAc>Isd9{Lq zOGc3d*vR>5cX(q5cT`J5oiU`fhm!GR03(|_;3^^H|*MFk#xa$am$YW#$2i;*nu^d2H}TkhR(=DoWg%*iargXw zh>m-aQ=6!JeqF+u4gMIiB_;YF=Eu~%oXVrGL_Rac_WW6HZr`vdBywf(jJj#L>c?De zo`l{rjteL-`#pGr_WjzbJZWmOZ2D)ir?5GE;k_}}Qt0AaY?In24Rd{QXbONVUCk6u z0wSN%TPkOFhlToYV(%9Q1lH8XX>Y9J94fXy3_b|;fH()801eoXM;GAm>vQO{@iOld z#;+VvE2H;sU!KiZ2_WRYwEXap5@9U~0Jd@+0PvdGa4HF=^6Trn`sa$}X63M65ZFpE z5jYxH`FrfQa`y3O+y=;McFrumS_M0Qq@=#pTYk$4n_**WbxOUCyGSz&a`x+N3F>qW$|npcgX*l`f$_@7YES` zMU4(T!C3h!AkvL{RXl1a{W_;(SXEq9V;)ceycA<(HoUrRb7%z8K@chF-oth;hXaPK+Ub(_|n&Jx=bfVMoX<~-C=kCZUi^&je-BP?Lpmn6Ds=_DaWAwn;Wn{c$aa;q>fv=upB2Ozf zUzKhkzSOgiPHIGLkU#$Dj$iOk)9UFl;~PyfIL{h2BJKR{f!Z^X*xC}(Q$5D4mmxv> zb@L>P?1fA1ty8{K$L6VogURO)SNW!k{mA?~48Avw7)A1OvpDRWoOowZ-K=j`Vz~bU z#Yt2yh-pj-VqZ2Rx{5B})qPDf5fL@@cS2p+InNSNHdd_1wnpqAm7a#H5Gqv>f%rBH zh+cI?B^W`nFLUIM<&}3ic1C208{5dACPu}1KJ?Gl8}$75MxfHISB<5(1n)V%+biB# zHqmWgL$&y%Y6=k)5!)18hAeJ4ZZX)z9^MccD#2e`=)Ig*6^=WyP0%RK1dmjx`xnN6 zyS4pFZR^EWC>)q9^I_(&<>vg+$XgFT(Hpu2=WqEmUvuLvcnSKhBXIh!Ia2SGTjF-e zP_;=o?M)+8OHEMDc(=aP_%u(i0yA#bI0aH>Y);9!r zyvuWo`;UXB^QV*p9e-vr=DNg26I<`UcmmMB3Nr8xA@1o4AybLp!Y7XFG|A$&pmk88b>{GFea(&U9R-?Y=kvI2et&lFB@7TJ10)v=?E{5JzJ zp%rohF9qmbC18ty+an`p?wPA*ImaZ*MK8UX9u(+Fa6^PXc*FuA zQ(j%`pt6H*txk(pO|<@Ko|RVPrZx}@;9 zyDZXP1Y1Ngy_V{vJ^ZiKAaI(X^)Qw6OtG)xR8v-hduNd8&y_icbek0ZV@7uRQh^ z^|Pi03N?{vpjn&}5a*?dEy2db`m0xPV@CX8Fg}qZo00jq>WjUR zpgj(kKcfq!T$RJ5F{MisU{a8oiQL~X{EvNT@80M9sCH>6;s3R6nLznBe!6hf_?lR@ zR?V}Fw1hq%mo_5xJ0`vy36QUte!=44pGFM(F*kk_UIGj|pkvCoj|3bF<6*ZyX@(z_ z#>sS^agXA=ZfV|*5=wy-lKvtn;cLl8`upR6Uk1kM$SPu#B*Zy+w0_2ss`^1A)#R}W zm$KS(tu1PZ=RgxezU^zNTW>zhr7-c>p4cX(&}>iA=gO$6%xDIk_prB(me!4E+i0s# zT6|)NMI@@9n30Cg_#>l}OJxS!v2w0K_papVLi;E7<;tVk+G->D*8;F96xDuo=BL0j z&40#YCGF;sm8^9z=>|#zMP}{}cmy4S5XOLkcg%>@Ej^acQ4}%-3k)x9Uu_)?9Flv} zQw^S3o$r}?fQNbvVit$x|FWAVnw6GWdR!Hpae{>p49XTGB#(-GGnVuPqplNJLR9>% z(11Q92NMs6uMso>QTt?3ZKHVI1B%VTO-GAJCb#lm-``ov{b&LG*rV@TzVSy_Rcw z*`U%_8?HadHmacH5+K=>1RlNa5b)6?p6hO}Y0nALc%|Rf;dT!#t+4ghs_cswulFV^V*l zUKQp6kv0SDJ%wM&%=5b+;hZTb92_}G67SM(+ymCSP{*`Nra4URhI%iA0ji9gbdftC z-ud47y+G}gCC9K9RmWQ%VorC6^U;m}PTEt2_k8k3k)w#JcABR?^kru3oz$MnqGxFy!8Gs3SF748 z|FAJZr6;f)n@lG(ko}dXvASYi*OCsiV^rVm6bEBZt6TVSNzcOku8f4Pdm*3aGBsiJ1 ziD~}#sckZ%_qdh-^(7B@=yw=y3pBw>3xI2V$&^N`<#G)TvQ$2ez+a)%DkBDaermbfD+7~_n`#Bc6>I|FDq8mjNjL)P^rW&ySH3s zJzy}}<(PWJS2vl?DwSHh=!2bp<#|r#!9%FzD0QM>=W{!KH7~A{uY&trg)B^ybt3n{ z8|DB@bQWbMpdTd1N}js*X~OvJb`5K0t!z_n6?k*B34CsctICub*xvNE-D}Lc_pyfk z2bwiF7W{MY?=7_&Z98mfj0nZX0RMy_#Rg)ka{W-f3oBKndkZ?G-!ZOU?(jbPs-H?{a&o|rqn4vt5K0_!*gN4O5?5$?CF>JsJLu+ML7#a+ zXPC4xz_zKI5?)14_)cr0CCXY8zZ*diW=$CTDb^8p%eTAr-$VKb?%gpdB&~9G1 zRZo6VNL2Aa&b7ynFb&ufCZ2N2{HWPyd)R6Xcjf~GTUu>qi^{-PDneQ*BjloF)Km2VhPmEGU!VEnI zG4ecw;30dNsra7i^s*N9a+#1XL(Mf6Z+rV#!tD*s@`x(+^4~mD?*X40KJbUHzx4CD z{M3}>>^%p3>3kIzA0ANud6G$~b&Z^t1kC3VZWw>&sI(NV&q>CbptVc>9zRzsEw$;m z`0D(L?xbt^PD@Msj5Dl!_80^b61TBl(t-#jLo z(PhqW{c23ct1`1)8U|qcWcTupnj3SBJ-dt$)|KFcQ`g#QDTl-vkZi^x;fnZ|S$v9yd4JwT_evqdV%_)*+;v~$%bILq8f z5q{aw_{r9uckw}kL;m1gyPK`X`=k@K&;UqOyE4EgDSaXx?2yvW{NC0$k3MKORM7Ae z-Id%)0mBiK(v6_NsucKv-^MATb(a%+3LQLy7VYD3nkAq6k5Z1!M&1uVs;1cRcAC+) zF?AB?z8>Azzbfl)3KG`Lig$;;=F5JOgAQl6c+n7`@{h}m92pO1j6J{<@0-%t2^AZPx#r(o+KRw1D3p?+G>`j zW7$dA7@}t;bX2_fLiIwmxD3>{_I`xn8D2@pGq0b<}DZlzWRK+6rdO7e4HET zv+7v9SMx>KnQ4ZX_{A;}K2=XZUm{ypL3uO33uq_gU<%_6v<$FP2L4GwJj6o0bHe-P ztZsRdLN>`?e9M%%bKGb948{k_snxqS)lStTkG%K|8bgG&?yKa0 z$}bY%e8?Rokv>93bD_^I6-%;0UvN^NKy(uCr`g-x&v!xxCwUjEw6M9vlBeK*moXbB zM0;Q=IoZH0zsOf%`r{`#b}j-tI-$fI9Oo4gpIWUpXBxrLnUrYCxO-+t8KQ9LYpF2r zG)%op*&>JdZ(atj=YxiA#L`6PSz+h9kUInrIRF7ni2s2?+F7K&xRi;18!vMBOQXx0 za^}k5%Ij7^A(D9n$u~_#&|amve>fXq_Eel1;c61;FEMa=d&MEgI=urZ>{bsqvw+Zg zf$;@x_c9C+%lXJ*+)+O#vA+u9s_`$=pr5%R{5X?-^WMvsB5s+<;t+h*D8pC#A7#@D&# zW==eI%+=_-!A;O>`^!rw@1f>tnAc#-%^f#d#>mB0XINY;3O(pW&33PvO3-b(SE^@p-*nU$w4Y~M(TI|blG^dCX?-VHR8>M_MizsB9?&w)h@QQ6r6HOotY0# zR<*WfT-A6lo?~;%gSbfVX|6^mQ$c7--1}a@3#Gt_nE=yaEIS_VDLjdhYdq#?ZnVZ* zko;Z{gigIO`h0nES+w2RP&iT6nf=2@VT#%@J+hlJqM4|Nl61w-v-?V9Kft>4`y*AR zoKG*j`@S*ky73!mj=>LQ;w0X;AFLsB0IjFZ>I!k>Cj zsLzBTe%*^DLx4kbhhCZBu@k%@r$usfVp%+G!}y!S5kahS(%uoI;P<*2&htnDw?@z> zq$Jkay$JA@5dd!W+J?+aX43(2O}gGM#7ha<1fO!}>R^ci!Mw{If0pA+WtQwxOP1W! zX@wW4r;(2tTp$j_@hmOa?oVaYZ*Nzog)U!7*@Vt?8#8Raxb9!O1?m~K*G@jeq%dzW z@LriW4hz1rDvwB+E%^f3;2+<|Y%+?}BkWsTm$82t(btjiwWR+*gyL+}3;XBGm|XMv z`o!UHD$|u8lDkf9?UitAgq`SsI6Uv%J)cye4ClhVdN=zkqrX*M&bTE44ul}m7t8^M zds3STSwZ&WVYSe%(=1|}NK~vwfvR7IR`v5iVE8CZ-vH0;_Y_G28hHETTGZ4+u zokGv9%c}cIGDiGem>6*mtD_5^8)Ikei`S_jKr|18Zu~D5bKUi`_)|N9G`&f|@~s$+ z&gSlrkeepCz;g@d4ZS(pHDq)&QwJC;-}$<5%kLiu z=No^oU(ftOR)yuh=&#`3i0ot|#@e1v+Odj`=gx}fbm~2`b+3z5!+)rBJ>s+8ZW^n* z2zw)<$i`&{B$?=}hWt~gBR?8NR5%)qrT66T2eek3zHC}IB%~0FB~iG%hz!F%SYM4? zcx(qqe-ELu`F+;{7nn!*7o4AOyZ>c6W;Mhl&3|)2Is9sPXoveEm(^r>a-tE;1SPc8GkBS~k0$S+1TXSH;SW||@_;MmnOXZ%$|6UlP`1R;1QPEkF58xxrZ+%WKksjEx%DEZ29A3HU6i-P3(y*u-_ zNE3Ru4{F3uE*XvtmI5y>^CI+&HtX;+iArFdV4OO=N0M#srzoBKv2(eJnTZiHr>(83 z2&s4HtFoRJx$E!<7~QGPicd(^-h%Z|Ve%}MBK~M@&M$>4qU?&cpU$H}`?VihKi}8V zn8c8tjU+f|Sw2_Y$#JaR2&S`I?%j`|<(n%tA!}luc0~-|){-RunATM`Y^Z8ZR;CmG z`s-)GDR9haKu)&3YGO|8QSz*}%U5#}nqW$Ik0OKx+;`57L10sGs)}-anRH`b_p}j7 z62a_-p2Jm+LJ#*Dqzbdp2&8f%g#7_mPXqhOnyb|s9 zn|q*Fo#Yu>6ceEru|g*^?7CAvu_r=_kY0I9Mvs#Hx0`x7$b(z!mM4;DmrbRp|LqUR z3-mTx>gg`CH$$;K({U;Y6L(KajaFG#OIZtyA$pyPdV`4(%c`oGv?7P&(J}Wc-KfcM zekRb_N(VvltrP} z3n7F)KvNq{Uh2{KsjH&tvI~L!$nu%OkIX0Z;LdmM?~O7F7VLf87fj4l>|Gf;Ra_tU ze!DQ-`wuizx~R&e3VJS_FPw62gHQ#j{RiT!I_N9hGgrs*!XuB$$t~|6x{}90M$Tii z?~;fX9&F0CjD?)R%r8sv85wH&NdC%no^Wf^Mhdu7%aRjqhSvOoi7%UmAg*?=8wK4Vs8g75&E_^eqd~^?Dc;a-IG` zQh>r-`F$h^Mzw5qFkE#IaJ1+k<>P)T z&|oFtuzX6yQSZ1{l)@(p`zgNj)oiC%uT8DAu83N|`8wBOH`;bj3%FY{-hAMe@dJII zbN>e_*IT@KGp(b(@xja~cD-K#@5!B!wA+%?eFOyag?Cs87ltWeT&Yr}ojKdn2Q1ki<$pF2 zc;^Me!ya7Vb$OZ$WbYw9`fb(Tihm-Ex#rbH3Q>+3@A_hCOD+8Cgz^5mwOE%63n|w! zeRold^EvJNuD48r2)I384{xmp0(+n$WPM)ad&!IKYLK)c#@p4wV3~isr860d1T;W7 z;{X50;gz2g%$Ul1Nd-wO2faY6|2k4-yvo8`iODY7tpkeDQ$ePm?>2h`Ie#rH;Z91j zop|aQaoHUmD3Wp8?Usv;7B?P?>F|gEb&4?YH#cu*w~KHbI7Yw%3O^!c{SFi#mRKfg zhhJu0FVFm{)z^*8Xz@GH1=PATgh|Z?c3D$Eqaha!=rD?;U@OROcakjzMB{mpn|UGW zOK|}TqR^G{Icd2rUOi=gtwAA{@a~LwSBOFKl?t8pVx~`~p4Odl zd{i;M)h8q$a;@Ar6t!{n*?O{~&>qUoslT+i>_pPMp}+BN@HZb#e025f}7A;w)}3pSf+i3-i`n5j833^8Th} z#!y_q*K8A!x#Hba604|EwzHjNy%cUz^?Y9EMz+!Tg4MIDtd{~t8gu?ZUt|OBku&YQ zz`s@bw>h)sR?^CfFWWe#_I#|lt<$K#hiLAS z#`hq1)Fe)LWnXTS7SadS0%=&?tta&|6|(JO(MG<&0rJwoXo>sudgK-L_C;2nQL=NX z{x41^%Y0o<@bg{lJZ*I2o*LLr1-n5DBrM5J*+b3|VM2C!00;%bB zcLm(<;A^?50y5=Y3x!vxNSCs96wQZpP=S#sv~l#ZzjBJJd)^x^@`BaoFk)}7ZyS;f zua``;-+*Iyo<-(6%0MGVPYh3&tL8}i0$on(x)Wjz7@?N&Gsw48K0h|?78{sv-BA`9 zcDUWP4imqsDd0)cu#*Q-@jpb*6^Hjid~WPte^wzXH}RYJS>HdBI8mmA=UOm~4A&Tx z;Zl|QRcmFFMLNPcIA_rFK2lcAPoa*~AJQ{ZrvAi&J|ASia%Bys^ zXyeyb0S`-*GZWY}lR<-ds_Mw7R}AwuJn{+IW85CilmdF91EZ(^fs7+0EL6f!E5+GA zHFAS+K5{0y;^n`wY}Xn)Q#W<}UINU38nFzEuJZExkd_`63Ovt+_}1ZDeHMbnCfzs5 z+%Zv=uj)LR`b@3jkJ!R-`P6rO#cyQLJ+G=t1)nrrXOWK85Z+G1B$o=pBOMS2dNBcG zqG4vG8iWfOxeF~dwG<*oztngmUEwpqRfq;pD@1a+8pq;9-W<6W4c|s^mAN8Y(MGDW z@?5F<@kUl6czFcplf*A**LnCRQVUyg7jmftFmp+~EA3p9mk$sPD=TIWxyB)a`3+J1<^3F19NUmz z`Yum4eU{FZ)c1u)&J%o|1@TFP{jy5kSIUNVlAzuwT6{ZN51?fwlvC5O#f4HUsM~I+ zf8a=y$?KxHmxP9#Cf+chf_KH;O;OIUiQeP8bV1JH>&#jrUK$a=ki1jyp~c>eEa;AB zQL#y@UrM9vw3Jo<*zT`^zD{aLakC2lJG2l9^Di0VC}j&k0%HBwH~drHSx#RG zw-2Jc+_x?Z<>cF5@f!LRU1udg1l~G3mCu%I>c}?eo4n7Svp3rOG+oi{bzJ}?va*%q z&uLhl6Pa@URX*2b)}nx?XeBjT{J=rn_9Sv-9jLr_IRc1*Dc`&^S=x;Yk`9e9t z5>k?fuRQ#iclg^y5lfUuX{j|i`?3ZyaHq6@wkUO+F;bi$>fTJJXQ1<{c(Y+4YijRt zrGq)Nv6Sl7UMunkvu$cAS#`=Er>GVI6}c#=HtUOgw|yR>4<*J_44XEj?_w1VLW62d znbgZw-C4K)Foo=k%`W75e7(uP4KOz~xu0Ppw?b1oO|`WZH#H~@XLBLm+-=;sK39I zob>1gEe&6X8dKEI&8D4@@~8yU#@jmjlK{hl(UUeUdBrRN!&qsiax*HP*DdAj3hzSR zh#s@(g6jE1j}kpte%?Qnx!B0nZ2v^Oi#<2?5oV<63zrqdWnWq8%^+>A`XrW`WEgN% z=pT8TuFsrv>=d-{H7TUn@atN%emUljM<9Bn`qz%j{bPjPMcy0_x4vG02?xcC1MO@0 zmp5eY=eFpqoJ8dn8$B)mU9d1Dpm~|Mmikkf+ePs&iWU0HVsMh^2Q73*R!*r4O2S6Y znK1kPU?U7rFMHj%sp2YYlGeX7bbmIXYJQ{3o!pijk|fuaT3dV;CD)3sPnMWhlBCUL zI50HyY1)-=FfBcI?cY-rH33g2B3+0IF|#|fSlZZC%`kI}zx<(x;858RXD7pwzih;s zaWMmsYM9X=Zp)nR{zu{l1)xE?w}i!;!r{%ZQh#sTyiyeB#;UqwF~Tbzm(C#EqU~!| z?ujeOT?Ujpo2!~{k%>XeNl%#L)7sG?|9fX_pKO33glw_PHET~_af0D#U5vpnoAmoI zrZ&ntr^&`LQ3kp8+MU~}#_OE#gWHU06RD+~&et_ZQFRvu^b9x6cXrRZ-WZG>V^#SZ zHhA0I_uja7V5PH2om+r_TZ6~Evb(gof88~PgLo+3#IA}v%iY-zkXX=1{r-KlJCm_} zv=ibHUtYQUTK7RQk+)g@NsrVJQKiBZMUR?|HR!Qwtj_sFxxZyx3TqMv&#@@a1FBtz z540nOjlxqBCeBU0D-Lu*g#>N^`jUdJeXhferDRg&Dy)7(fu2TfU_N{UJ9Do+?MVI; zqlS-~@*=6>>0T&!InKu?YP;TgCWA>z5?13fh|KB?6mFIt%kW_{eZ z9()aTy79Vyj)BMV;8&gWoLrA@piH?a6=>hmr|}V|{^)<1<9kUN+Dp!l>J`C^;SwnqFYQ{<$Vp=c*RDpfB)!ZFT6aE=*APrjKEqFe+G|yhHxfm+z4eXJ7 z!Igm9Ke$THp)BiDPU@r9lASzbl+qNbk*gS=%%@=9n=@gCKLusZV%upKrS6LaPE-3? z`g9!8d`0FvUr%Y=^_-mL9ZCc1;g3O?&-x4RWG0`)`=HcC#Hoas;n6mOCm@u8Rhm(*kg(%FuxH*Lwbr{@$cY=jz+JWrO7zOS_aR^t}J@ zCOO{Nq*Asey*#)x*R_@RaO7?<>dSOm{aJSENaC+ir1>vQ%k2UPM_?O28eiXqnTX z^)CiGI4Uo)(%4b~(XhmWARwpfX^z8Vg6*yYl&>ZEl&Jk}&R15FfjQJu%J0(FsvLJ^ zAMU?b*Kc-4N1uv}s>1xSRt-&PdMr&#*XucTFRSX%KbrE11&WJqFlgf0zf(#%&k@*{ zlKNq~r2x9i&2n7!TUj_UJt9Wu>4$_dx08>&2t3 zdRQHIfBO%lkjPA;L#*=oLh#e16miVzHbc=d&^kFb(Z_y7gCpz0r(Uka={ySNtHQFU z4vPXa$N+Umre|uVl#3LF{bI;p4?7fw6yz`78MSO@^P->eB7b#}1+7TN6X=ykHMQEM z>+~s@;C*Qijqvh_L>`N}IH>Y*1Ls>&l}2bAAM|(+TeP?m%x|_B(>;w4RCh4{M=E8t z5lrp6tz!rK7@H(PgF~5^NzT`|eNim)M$FA`1f;gUVt#O z+YD=O1{ho+ota24{be3pN^V!(OXhen>5m-3Lz6E`!Agb|dHhVj8|=#`Bz#coc=M=li+~VGDilrQtu(O?x?LesUR7vRq0d%x3*A?mT^G} zME<}Pvd(1R1D>Ckvvw9LDRRi^yMuh0hADdVNCH?ZX65&)uKvCKLB^BwJzXDnTxazt z_5Jb-04vfp8j%U6c4oNF&vW?!sx^=boN$qiAOLBqO1a5P=PxVbdFAb7Xd-%p>EfH; zxM1y;M~VA36-g3!&UsDhCp|N#K-*4}#lIF$E(%?;2y)`n>_)@~jua_@%Pp^5v{V-a zKgvyUQFri@Fgnxu4Lak&-M<^x)?cjR!6SQ|RD>t{F68(kZP7c%+Ww;#Rda+9mqrJE zu+jymaR>ZV8%&1Eeh)PuOLfd~B*#e}RA0(}7ZWa0>%~GI1eA;vJ3+-tmdqBJ26F3? zl5txazJK0yQS;o3N0?%q1s_TGRb~ely=p6FP=?P2r~tSrl7Ww6qb$uEpv* z^Ghn;lzO5hcySZKf)#;4=2^68X#nx;DM2UrS8R)h+(xiuQQopP07CV;{@C&vD3d*5_#0r8O%T3P zQ@F6Iqul2#KgiJ}2P%1`Ir;(!UbuLx{lvzcENtm*E$EGu7E?a=Y(7Y$s&)%)C>fto z?Yw#7-PdL=AfhjIf`^m75ex>xW!EYR871J6ua`}RufEZCCrU3>^=Ib}Ke=(j`|yZ_ zV+N@KmE!cU3vg6n;#6A^do1R{*W$<2f{wks0q|l1pXDn^WP*0F@^`xS2ZiR!d(_WA zZ&-?6-{#t4X8+QM+DK(mj}<;uOdh1ao0pZ2(SyNdK!1w>Gq~!(|9Rv8?@a=46DKBP z%3$w*P`W8!(w5lrOMH4lIu;9P z+eCqMcM@T++8=xw-TJucNes-BFqb>~@-_;bjhNLVn^1z$6`676UHiUgiLrNfILKH4 z4U_-D7iVgzk7rkKa+RGH1#(BN>lV0N=Y}bgaM+}c2z6)}Gw%d5sWPAdSS%~iD88{r zQwKob*d`KfUfEB9R)s;HuL{5`G?#xY>~LacS?q7F@^0)s+JAt&H{yiip8MqbI)J1v za(8lmPCAQ&unqa_Rm)+z-(5OrkiHCzStRy94|G>}O?A8&X+X99z;|a0_Q_BrTG_hD zbp!A|Ih2DGfWgtcxmz&W`+x5AoFsd*e2|oDfSv`fJer8v!%jifyRwn+!r9Y13+qSf_nwd>KxTCyieQlwmb;qN5o+bV z3N$Ip?_PDF_n;+~jjrCk+XvloVXVE~Rw=N&SE~(uMR2Qy+P&gDeh;=moYryrem3b* zREl&T?X>#!*B%c9*`=n$Nkluvl#LX-<1*{S`pD|PWfZOm<;ei5oxeD8+e6+y$3!G8 zRwnbu-12;EkeD_nn0MEe&5!vLQUt!1ji6BwSj2kPo#yN}qk`p#u9U@(w3S;j2x}+U z8KIr&9YstE&TC&E5Xl>&b_m+t(iZj6WzMJi_MOAf}g}EHR2`i znd^1yeY1FkF#!HX2MiKYb$V2oY~9n-c@v9AAp6h?DU`KlZ12vl&LkIG5+yo3OoMZf zIgOdTRr5O=+T1;&+&D6qK*ijTc>QCI%>DbFsk46O@ZoTp8A4R~WD;{HY4zleb_VGh z7i_^c1FjKjf3{cYzWr6(MAhA!G;GYj>g7<&w6>Km?SwgO214ZQ6)10^$7av=p;eZ> zQPU(v_9yfYFYjQ(3NBJuf^B|w17GqtQ)LJ%d-4dyTwdHO?Qg+ZF8GBjL~LD06E$@w zkyV&yaLNTo1*)d;%F7G|%||Q{HAgzXS=n`7$yq2%#@o2#%iIrO2o?`*32ejZ#D7&{ z88@7zx_#nV5+!0f2gh0cyqPOif&*p;k*7v+zvJd@Ix5y}+Z8zK=?v6Si6WW}%vU#3 z=p%C^_R;xz>+=R^bP$BmVos8TAWMnKY?j6+H3GG$I|NFV>pHV#Ha~8dZAZuGQn}o zc;}wkIQD)}3gvk#g5~!wUzvD$x*X*%DnzjzVgUYP{vYU1>Fftf_FWeqoCA_2|NOJ6 zQBOTciw=1M$4qFqb6KHpzFMR8LhIOi)OR(t=jwG(Kxsh0e3#v-^s&SY`~0*Zub$5J z)9eawdwrVIsj~XPYP7(Ob!P0~?uU?7PSBN|$^C-1#n2k#FI8~R} zLE_vC@2&oSOkH<8)!+ZWB1%Sy>``WB+52i438n0Dvy+f)u8~6K4I%SZ_Poi;y4SuW zd*#}0w#&WZy4>;ky}$qc{_vMKm&f~@*Ez4(a|t4OJ%w&hc+>iu6L$k$HpPC}+RHc_ z=9lq~>h3nIxOa#f3LMj%-&$w?CYFn39Qgk^5uQm9TTG|Z4nS~Gt98M4w2>&rV+e-< zhlAHYI?tj%ZM7clQJK0=V}2#yQ`P8H--t=AUz6-V08y?tdk~_M0v69_DFO}N&!0l! zZ%6J+UrIY-(mfs|sS!~m4J?e)n&fepFkG)Eh}P^bRm(2C03o8?E*%onOconDQpsE zj1=05R2!oh2d~LpGHWwV(I2u-(8YY$xKd&KIeIx>Bvx9J2)HkqW&6=fn-PTKw~d-# zzH2KDMMOufV~R@MW-ZFGRV{D?b%R8>@(G$(}Yc+uGNCwq7ot%rBWJ&zmF zzkT4hyE%o*!WEc~5$MrNP$fckZ(cvD9$(r>5bd8#3oTz5ShHFA7jj7!79D;56_dJP z-5rlzv-qf2zVCEpXMhh{{?Phtwys>_W>V)xxd!R_FDyn_W>b@J#Q_`tf#~1DNFZ8+&@!v{fx#RNFg<%6_9_0ppe^%BB zkB+>I*KMgVsNBIkQ>+>Oee=V+_Cu3(gN!W0-aNXadnb`w7j!<{sCH_bQn*nu;G=^Y zeaJhq+MEXOZm%MKBrST7bt&Rg+E&`0@+F6u?JRRw>bLzzAI9qj9jpCPFaOgM6sjX6 zbpaa1ly4;NCj_n%cv54CZMdM=zTz;CtkO1xl~iTr(}JOY?S(f$1M#&rzG}(Z_sSiY zp?cE@mmFWWk9EyIWgm+CwB(8;TQ|IBK?Kc@NP7RFUGsbcEdjHv&OkN1Y61!}>V zL4eoySd0HbU2;INqQL9+NsXhmVzZMMQqEXXimJKQKD><6q-)eRh4xAa`Go_V$sn8w zZY=yFk6QVP3Ad{$p8WH&P|zaF>m9SmLJNx;baN9i{h~=}-_n7!5CpdmBpxAtEyL8V zIZ6PvJ;kP`V}6tsmOufs9wms~mFoWD&XUsOpA7GSR1ik;n&j0*3okgOYCg6JjUbgO z$;J!UsEr6f8x=~&6G2H^YUYM^Kd_0}fd&$LufLYl1Ia8k+FHd+JFS`Bww}bt+9y|a z{RCc=XCdWg7JYAz%vyll%fJ9A2mf50?zPcx(2mbQt~~uk=|8&IM~9v!20nhRr`v^RhiPjO47!Pq;`rJM zw)(Hj9(%Ln*U#C%4so;Okq);quR;s@L0|y2gr*j9LS!U$REMbbPMB1MsCFM)Sxih_ z;c7Qmp9^;_+c4iDFB&lE0)i1>sRxqTxn5{SHkK^PEfqwZv!A!Werl`AYe`=xvKGS{ zXgPW#Gy4V5cTTF=Ce(6$1_k}2K>BcZ485oSss?2&nBB1J;@}msv6jB^Hr=`qM6V(F zHt}?G%?x*nH(P~$fIL7E?(JamJzK4nwLBG`FjX1C+k_u&AOUBgnCQr{Clo`{+bDeH zXy4Fk6dNgW5%$4*pEk)mz0YfD=)HEUh(nR_p7&Ye0h0B93~40)a>ymU8Evb;>H>fB zABj8R-n!dzH6m&K_$!to*0J62TN!Ab7raNn!w`(p>L!krYY$0JV92fa{ClY_v_|sn zs$?C<7l5H+#I^IW!m@{%@}61>0Goi$%WXL+SEyKO(6%cvEQ$H&~HXzpKyg5@L|KjAWb$Yfaa#mFVeyS&QgofGn z5x74zj9%Odwry&RU@IuK>33Y)`Mak4WKir3#Oj&WstRO9y46AQ0K*{PgcL&Fnm!C4 z-}CxqZnCD}7~G=q`@&%OoAHX&IWFtam|*HFhD= ziGeQ1VZ-`l!?5ZM5%Xd*884%wjO=|#BRH^Z{t`iEPJm3WCdFVFT zCUVBscaKnXr)YansD{8~oq+lgkaO~3+H{?KPqFA+<+Hj+F`buhr`=)t0liB~SRIXx zOdYsB*bV`9KipLyiJ?q?w5h_qY{sXZ2l~J35iT?{;Z!UNwZd* zpXZhyF}TzKx}}uNM`b5jkeMkWB)ck4%#kjCyaT}^@jhc+)uR(ufe&}AQYBmj9#t!r zJbkURC3`05&f2Bb{6_W689p1k{U}B6N%zWYE`xJve<7{hh{G=zdFy%6kChyq@IAyt zQZV5iWcmogL@J%No>tDF<#=(lzvAR#e85)p=G>o!c2~aBA>skGV!o#-IO;+>m!BF% zBDb$KiM*8`J1J)u#~**g{Vv=19CddSpmw8r!uf?UXk+rlpO=bBVQZnq-0zj@k;A{M zMlSlq*MK4$85d!j#uiwuoc{eIBDp(Sym+(OHX#n1n`ZYi5fl@u{n;%zP_NR+ee0HH zp#j$^;6uPLOpqv8Q^4@AF@6=e_QqjnhC4T&7@e8&yE2gO5XV}_>G6#||4q2n_WO)i zMm9Mv%oi6HnFP&5PiNPoC|8Hf!x8g#z0Q|@in12JTz(P5!+HOg0v6*OlJoIjY8n3< z1BC&mogW^8{*Tgi7R*oM#U`>&4Qd!zt%(FvYhsg$bo20m`Qvk8S2`xcXh@2u_Y^tY`f|uFl7 zpR{?u=!xWuwH+623Y3Pu#%G4kWq9(Vl-judLK@gR1%rtOq(zr1lBDI79BrC28^c!J z`qr+6??#-LUG?8q-=oPp7a^^n?CBYs3-ar*?*6!>%AP_$k3bF>|LJo!Ti~|KLZR{UUcwl@NuoDNtAbSfgqZTs^L$peS6ZuGg6@G}H|y`n&tJYNz#vWBJyCPW zvmp~gTv0f+K8hReS>j3b)jqiPa8u?GmSbkgRG8WKzqB|NJQ$su8J9;zm4`$<>G*7C zH@|DiF8uklyFBZ**z^!2p2_L;tGPc!?K(vGWGF(_5wMhP-6?_Q4cR7wmiF6;iMl{=}%k`<^4=b^6WK z6mj?Fy2tlxwZFfy+kY;&tOlC>P2-{_(X_pU=o6pegX05oyr<14jb`N2)?cuzTN!Ba z3*bJ|j|m;o9XBE7mAffyEADpiR*J&Cb!Vv#=$C$|dVsxq96ye>o%S`0exo}o&z^fJy)mXij=A&})l@Db*+l8f<^D@tOtPZ2s z@fE(Ip0JBjg{JT_%ttP>ivlkdk@@GTQuMtP3n18r6R(z{;(KYArfjSOF%GgTiO}41 zeRC7@_|{$CmVR!H>P0&m^G!Ux@x&5|^mnQ9rj}eoTfaZrq*NZvM?nK#qii9~SogTA zok*UfURxNZXD2tSe5;9=Ubidu{v6xl-&ZV=K6Ki`U)-qgBEf@e;@|m#--=93Gr%fL zD(uZJqOCh`okkO8f1!1N^!n+`!2e|oNYHPvM2ZYv?3CkwVf#+egFNp&K=oSIrYA7z z0TFeAT78Z@NZRBWqUfKuPka0au0e*qKubaPCyh2+iP9n0cl~=Aa1szC+a$<30U}$5SebfyQ}uV~O6b8E|P8NG7K| zli&;bg=55JAbw%O=h(sgj8)6D;hy;L^we9?SiM29!hEaI)@BOlJtB1Cpl}*_z2B8HQoo%20C8TKqT(Nf>ZR6SzrDkhdAqnpcniGNg`Gg%n5bcfEzI)3Y|?>&{iTQr1LLQKFUKDG!2xd(90LC-U0DOE8G0^1@Lj z-mHD%xJJ?zW-_a6?G75+Xi33(L}fD!rje|0g6+ve{OX58QqI+#-?iOL)v-F|=cW?H z%4s82BVb#9kKiG*&V!lg^N)*C8#&W9R9WHOC1=k#4Ck15(dwLZr)A_Q{>FeQFb@u!;GRJH0(4W9tFkI{?9hsw2ahWbzd-nDo0YW}DHKOY9A92~iz>He$ zJaZI+{kJDE-aD(>!*J^(NQ@r_ZWr#BIp$cXulD&BjAQ*Lv=J@wk9}%NQTzS7iE1E( z(DY^FRG#6NM+J6oSnv^2^Z&x0y>8k!F;-aA*iK|r)U&XTwoZNPmw_9G&J&7=ha^ut zq#v;=^GD@?gOs|cHtMlDPY0eu``&8%2J6i20@BaGOB6Z09PB;ic9l_C2)5UI9W%&= z$9JP5ANTAR&d1+#yh^?hIjBod$}E0K0~4}h)jpIqO}RG4&06Qw%E`N?{5WAyAFJ9IZzLAJQ~f4jb0(Nd=NUGhdv|_bMUCnu+fC$9BfRF zNn_|-NyOKjXCHIA`VIRdcKit1jVd4J}AaWNRMMnaMk#| zPQR%?KmZ05w%2q*i`|)v>pIV-?d%2+va3J!JrZ55EWwMSBGk}Yc5GR{H}{HfPlQ2V z?xf+^{ckc}0Z&^)m)BEo!z?=~FX$6VedL$W+a!Lh7UUuc_Ow0XO&}YwHKNFLX0@)N zMUdVj@t+(}PSfx)eSeJ|MEk?W<8__?yx9FrI@mD$Oz~QWMFTp^K4FZa22FIZVryo% z8ZvOwTH5Frs6v@{#dKXs%M6MhPmOwSRpc1erAm`uTr^>TUujqJC^G^NYR(PH?($-J z0x^b1+j>X38zfOeeb2J6HeDI1r+YU*IjP_EQaDfQi#aptPL39#-(D_j+`VS(z)-Sg z_Cvb`fO;3(djIn&;2p7x{`%~ibJ%m1e7p?(idmPp@QOl@oMbnj*6A1~=5R68nBV^4 za_FzOZ!;$Gh~d%sR8>+5+0K3|IBaj&$&Csx{qvdbmbFUnFTump`>z>;1DJ9dB4hwo zp^R0R9P_qQeIvoLnIF`>F=T8w$^YF{GE23SS4U=+#z4aevjEN=#+#E+t*D4HFDLEM zy@Hq1HJh%q!^0=>X07NNPbiq0N#lfq@hP=1mlX*6@;#!Tz)5hfcl*TBX1ZID+0r?q z{sX}23pmu{p!8#aYvdig2ode<}Oi0;LgeW2uAD`H0 zljUH!Kg(_YfHSQk&^i9#&=jWq-8tgfXhXyReIhJY zm|y#e$7+rCvli>Z&{Otum463)keEVwk{y;G5d9cTdiz+q5L0BHPL$+4|B3Pc z6v;d|hMk{@2EWu^AEiI6pl7t79YTGF^c%wyAk20KvnqK79(|6&Khu95h7bJxCv
      6f&6-`3`#jMdF-&{G=MdI#ymd)N9@~W#@Pm9C=JzJgogE=Y6i71fYTu1sfm*>gBJgM& z=YGohm+JM+@d)%p-%lSm^}oMQe>pJD@4#G*+02%(jLE<%3)9nByfB19^hhM4d@N3!2s8R-z9psIe;OWwT(4tEe*pr<{Z8<++?(JPAlIe_mZtL zLV{_`SiHaG)E+L7mA@~H#b37{)zR4O^&-Mp(bSX)dM=`B0Kh`?{{zwCXtE*bzW+d1 zpy8zkYwCL&)-HSvev226ubnUbl<`xy>picw)ofHFWDoTP8bGp(@boH~n-2kash-M7 zf7T3h1fQkxZXxZ`8Y-|%g*U(G%-)->QNhVin%8BF*0&|N$GMq*osPTHMXZsX-S`g# z_#tAO>Q+%#VX=-9$Y~XRk74J;9kl-%S>FncHjQG%+Hko8A#FWay`6z z(YWV?PZ=;2P+)zZ_LEdw8|FS6rJA-s4&5^@N z{3{SxEmW|Y7Y!i=gAgvOdCs#JRslk0G(h|lOF5TnT zEKk47*7rA+gsqA6jvR*9N7j(-F(gYs!Yx^@~^`i#8d+huZ<7)A0ZCaK-e^{lQA zHj*128~VMO6@;5T{KBe`1mV_J!<%)UEJ+h|hUT}k%6Y1db6iCMgLPh)F_uHG6;vV^ zZ&`CEP|HSFFyyAk_$aq9{*zD4>PT35qRTogh^Z#D8Fy1<7NC2oSn>{*`R!};3|s(LOAb^9z|HV?daA?Ed$ z{o$oinUS_Y)w~mV0TvIw+A!?W)pQLbUf3cG_Y^Ad6}WP4y?!AsE|d|(=TfSoh6o?!l|^% z-j!mw-E5_aP6*`TsU~91$LIaUR(SaH2}J$q@2Fbyh<-)886s?lZz}Th^YEyg&-0Y` zwwI|81;I)ppHW^@;ZD>HijC9CqLxML?CO;A;PHin;wEbe7~8X(zF6&JsuTy zXi`@`gxi?ln3#QgJM5Fwit)g-I6d-iJ^M`C!&4OP;=ixMz#VH&t|GWB` z;CiZd*T@U{R+2bybyvefV2w3uJxi)%$LtItaX89XaE{JwU z7g6G?I8eFMg>_@8?&#WvT#xE{5Xmx68eQcJL5|F2JK(oiH}CK+c-tKm;Wl69bJ2hO z>u>QtJwF)mEP_$E!&jm>96Cl50t9&ECDNT|o60gXPVxzp_%H1Bs7xlExR+9YwP6n} zhi;CV^_-2JdxW~F(MgXe>wwmipU{?sSg8fY?fBzjg*A2o*_VUG{joRVCEqERt9l%d#2q3TMD^6>dZk~ zJ(l?AxJER6Qozq2B+pEkRaUEsPDj(2O9=XCtI72lAR8ihd|%9=sVVsC{IIfX^5@O8 zfO}li8rR~d%G#-$oOWTS(iLIIF?yIcnNClSMrnRK}^rBy& zk4jTC6=NbW35$s$LDr(W7lrNMYmTMen@SInyjkG16OQpgQKmNwfd}&`jXRpY6pn*c zi}qg_VjGtI+Jmc5@5w>$a-uBEC9Pl8{Y`;>VI@G&B+_&X$v+w81)IP6xUG$B&ll8I-cX@lP^(C1@3t^(jwOQCdGIa9ETLH$4AtRritz_hF8VC4n222O_VjY z{T2iY99SceW<+eHMo2f9VaL`4Q1J(Ru&MD8;`MfOI!V81dDj}7ew#Eq5vB`sTV0f& zHJZRV|M=ecAdcty{bzcNx4r}mdi}cua8~h}^PLb5<&LNxW44&q9&O^b=Lg-37sO-{}cg`pnz^yj^<-asz)SC^ z&GJ!E-{g7ZFUS=IU2!NAz7SEh^Y~@%R@3Dj^Sixpok+_C-e(m8L7TeA_%hsA!lfsq zMzV=5N%5vQpL?FaZ|NPcKqZxm_JUq_8@bV;%$|=urBYlYu)bydQ$&K0^0b1FE*nJ$ z04#biVbvLCHQN~uhAlg;s?GeO=&zd{VN83#rTM((q;_bf-4^)Dkp#Z~>uZ`lUsE3c z;Pb=HbCUM;-Mx6VlLLqoiN4F$qX%+vTUTg2U`R*HtiIWh(sm*1!q9oTggdihfhUMK z)JiG*{80!(TMk?0EmyNKB_EejIa+2@*&f@&Qy-Lol`3(AYS8~f{&w(yW#Py1xt1BP^iF~0A^hs}4;VI-iM$q;sF zmr;y!Bqo!XeG`w~ubCT7Emx?y3oLEwo7(=Q$4uGKhrm8gB$3w)dJUoCc={gIv&7$z zJi{w(lpIXEn(EQ~10NC!mE@HQbzaT@i0%1Hq)cF_J{|%g#^EiHxhXuZEo0BE3hs0& zs&gywmmjPP-HNmYAWf3QW{-(Xk1$g)0cvR(1I$RChSn{JS5}W>q{|Z}K3;9hFYGuA z3-iUL;hQGcW;=zi+M0NJ=+NLkfin8Y$Cet-=2Sl%tpDwz5PB7L**c`^LEVgU%gnB6 zN32Jjn+8j@qHcU)CSn@`7si`FQXL<(QPieQE2MHFXTLc(F6#W&m#chqyLRDzC2y+C z(M2)$SC3^fXq^51Y?@=g=goY>{_4t*dT5sw;v+=}ApM}ahV=UuqjFr z78vjeyr_We2fR`_(E^Iqb>+;Fhbn&mfxbt@9~~q>8e(Tq&?cmqjqLiYhZ;VIlH>m7 z`<{Hfm(>0RkvPO8an+LTLuUmG>ZV{c&Hn6PE(k9?7fk$(-^AUh2L`0>3n6yB-wT%K z)Fzme(9w_5)K9I?g$n9>Z7m#n5l(>qA*+I{PMfwuiqthW8-B?F3{lmsOLr}OmwV5B zRQd>LjvtZC2-4`a*`5yizB5;~%QibR6|d{;y9cl$=WeIw9OwzwM~pklkncoJBhORw z<&FqzExxr1#{x;-Y9`SpeiAwf%yipXB4I234#H^R6bw^m6lgI7-mCPgQU7umUviF^ z(_wA6D`7a&mj*PCKae$Kvyen~9_YPv+>sPGG&tagu$pblf?3v~&-3wevCCfo0Ws(^ z=m5Oh5%oeCwj^b&5F^aGw>s&)an8nf&d1H|*A?Ip8?2m~J5?*X-gp z0(;3pceGbRjO?oUv^{HAg7NM(x>h(bUhw5;Y`f$)lH`M?aSFJ^_65f6yG7hcH$$TM z@pY?cGykcXd3h_JTYk}B)}qx9l7ur6mf$@CJe2q(BOEPo|ge_>J~E-8~qx!(?;YImWfcmxIIO79VuW#r9$t|Q2YoF z(cOFu&CQyQ?>PMztPOO%4}2G3BFYg&#?cio9BK}|S_AI}ze5U6T%Vljc^n@26X|=? zCD$vCH&hJVJJ+dw)CYpja%?!0-b< z0f++o$e|J&gB*uv^;eT)pDYx1BN^NNS4E%>KsY7iK@W;Pl6P*$ayR|Q?v?t5>QKxN zT?xZgUi;|v_!?{A!LnWU3a`R*czmtCVWOf63|T3Io$A1N=LEm}K~~%5+n-%Nx9)}Qle+4$U+N3hit2k_yZ(I25R+b!sIKmBln(2!!ZHh-)8 zPRnQ9(~R9MbxJusF4NKy*qQK$4K)+dSMjB&MW1MF13h|9{0R3W8UYX{N=cyr?H)TfO@5n?6QLD zqy}5?!HGUK{@il`8z};9_Uh8-R^H{OC13X6oc zSE(d<*~Mus$~nRx^5T!tdL5rgJdt$K^;mX2cjAPg73zZ%I#H>3a_?KsDS4O z%pH+K*H?b9&mP;kAnHq*whn1@ga5PD0$Z^({@;mu%-@fIS-JGY?HA}UkY%!hOc&yF z)GM?3duG&}qmWn1WR>Z5kBBR|GZ;4)FNWvI9X;27rT%;}h=?Mf6QWkH;v*YtWMu*{ zf%)0G_jE^<~p=w3L+;-akN+WN{FrHr0vAal7iG5HyHK0k2T$Z*c+xB9lk_Q z;3cHL0P|{_6o(k}7IIBNRo2>0b9w$Yo{P{5cJmBov=VbUZ#IMcZE?A>{P7h|iRl$~ zJ(74X&j9?Uo8$rgyI~vZ7hM(4C{QHt zPND2HtUyfKd}Po}O^HiOlpdx2g@H5-u)+CPgz~tSlLLWdb?FT6viY)tz(Dlzzu=t6OD&l1@?1Ff)YYDUs&q)5*)?9krV)? zK*MZrJi#L|&_RD`KoS!;tZ(CZ$a-UNS=b}NCUwRqk<&v^<_JrCjwHENLB%HykXJD_ zm=IHs7w?g%FhAxCIKb+E`i- zY_0V1?F;Wo2~F=zczDuhp?TGdEzl?R2alI*`$D~xuXfiP+~9mM_on(n7eg>79U;44 zfh09k@P$+l;OITe?Dl|@sqHJAZ*cj}rSfZ8dLc%ZZ3pf(PL{~T&lM4 z3R+A)?z0BeXpI8!odH2VK!xgC6Z*e6lRH3K!bO5dLe1}(9exR8e*w3F%q|P{v$be# ze&Q6hR@-33;cgEw`RcCt)<&rP`nqY>3gV(fjSpvdaCf9qd~ox6H1B|8(Jx=*71}(6 z-P;KOW+VutZsPQ#!|mH%b{{1c_tNc#82k)hU%>nj3JaSB%Xa zM&24+fw#FA?`NiD+-kIsAEX+|PB@QB(pDbX?}?sDvb_B?WA*d0#mWZRGb{b9tvy_0Y&%L+gUz?KDUwjd$h-fib>xCyP9R zIXhn{wP8~IwexvR;fiY{*FP|Y)3=iqK^r}xNqw)c%d@}_MSM32d@1ha8}mcth~Ih^ z=v}*{p@F^vLdtlZ-V|RyU)ivfd^ycMvR1UBsBpl(GTj;9=F1F64f6fS$)$_b94OeM zoP_j3hoADv$Ox*=kNo`kk>%r;k4&Z3Zx0+!VC{j$P!)V+#hOD{aMMJ?7HeN`dF-!p zffcsKQ#H0mtit?N>~WG!<4{kv;{e93v{AiKPQH)npxDq&`q_`alp^ghCT~fc1JEGM zEh)o$;Ee0>T^MDt9E{@kLEnpHgkM0{uR`+kBSbOS88XMc#(Zf8jArn+lf`NCxc-&5QxEmTa60IcaPDr@dn7+eYgG_@7r&8KwmojwnP#Gr`Au(D z{tLZWtiJKpLL(hBTM#7zuZD(w(7ie(2K-iftVBn!zo>84ven0>zMCU&7~oR$NSUK> zq71bP5c0oZW&00gNDze2L0!J$j8DHlNL^Yrd}Nr^{#{ZVe?BNm2;~k~Xi}cxBkPn4 zg_`OK?4NwTP6O?S<>~qZSK>JOQQ24Xm*IKD#j@fm2~!Udnfu6{j$?+4H%L)Sw5?G@gQ1I?#uI6S5lHS zePfSJRMD#^iB5_9PGVaU#%NKW2NM;qG781!XH%z%Q;NJuk4puA_)XWhKN?IuW(z_AAW;~g?k#H@%f-BgNtdBjcOl`qg)vDIJ(pwT~yp_Ss^GL|%9oc5#v&OP# zL1cg>uN3g5NVIqMsSU~Z+0W*bl0q#TNA+2)oEQ#Jr=*79Tg1pRN!;;^DB+~HD)g?+ z;-aEGvOuL5;U_%OmFYeVcW!@uIpah#z4@(UN@PRZ%9zy3QTzu@!~_tr4K8=`Z{+j z!U;?!lkLV>F#r7A%OCT_-|xKfQP`kEK2NXbA$n`aCg)oq-u?#?(!CMc58?YtvLl#T zw9i7>YKX?}Fz>;}AQ1!2fmQnl>1sDUqE|gu6$_Vw`k?M}R*9?&c zs-rgYrev?#+iOI{CF6*SkjS9PefOV8Zqr_&TVdt&^njqIVvEk^dvPLu6jMY@en<4f zv)DEh-DVKgFFB~NhmFl2h6FMS3*7~{>;pvv!e^UJu0K#`3R1@caT>tZ>oU~#46cDX zk2T1=m9^E4EwOi`mI~@@x)t7+q3++3qA$cN>D|b)*keKDNTW|zf z*M8oP>9!aY>rd%TjgVmn;!+j*4*r;)fdxs%eYO$(@m^t7oI|%iT<&FU&N^IGRl7Sr zIH@jJb>vUo|DxB-B;p`#H-{4#1<$5b{xdWzsW`V$ncJ{2Pb%D9J#O`e@{CVi? znR;2XLfQze7m)(;U;dGeV~BbIizQ-ki%Fij)O?ilboKOY0V@&KZl#tVd9UY2!-zB9 zm8NRXJi`3~OGbUiUFXBB+hA6C-%O_)wRgLyI5^7?PIus;!#aE_3yo^H)+ zCDl9GVAt<;u^U-7jCU(**YtM6_&_UBFBCAM-KculJ1Yp`W=sC?jrqB4;+4~kg?fvX40kL{pr#zEOtZN~Q2$9rf&7e})@_Jwr- zwTzE84d?la%(_%HH4}L4JAS==X3elh?(;{FLyX?jb+KdKW5g6H27Inv251_Hxu$Q6 zw`Wei-OA1_sQL8TEONyksL9wtwAfm-t`jxuf1zx`7obj_ShxV`ZMy;Xl2-iB#&;&^ zhI_a_uyz|%xTps_CmPM*5AoW?OvlF^c?~}`Z%rLFt$$ngvrxag|3gWF?q_;%tf#^+ z1C_Kj81r_aBA!Z&udy{K_Y5BUEHC$W`$if7uO0fXHK!mYXiLIZRemA`ZC@73;eE1p zdGHk5VoTL(km#s;rlsma2)TC_PPt1hpg7@uMjx~h%Hn*r>8={3fXy4GzqP0yZoX~3 zCe0Q~ks*3?(Jqc5g+hX6@8D-(E~`}O<&`*4u2Ung6~$ zTlEi+jR#wdjrcwv^pO#JjQEWpNtDF~7Wl8x%GLsYc$u+pw*~~EUd(6aEZUc|F4LhN zQk8$+5#x}dk25c0csD@YJglS#_>svZD&Z=zmef&6ks?{RRXdWxA7;3J^>D{;A1*#D z+mO>j4e|ICy&f19tm@NtBeRppt5)$o$8Zj)cIuE`GYpF9tF2+(n`vJ)mcaG8{!K%3 zovj0TCWv=PcFc0mssj7`wlGGGH89wZFFSWbUo0zK|Mc@;LSg0%DcwO=kd1n5)oh|R z7}bzhI?n_1T>MGo88It;LBFc-$ADNvC`-^4v7ty2obOc68I*P`6~Q)dA7b7w)2ms~m1y~cJ@DpRQ8$`|o>G0?Y1OeY z>4%0gojB)6__!Wx#y-5{u~nwccSRkYh$?-vHj7rD5x>-)T!zu#%Osh&I-zVVBDR0q zt+^pp!!39Jn#QxMH=k>HfM&NHGXhy>;2vV~jv6ACCP4d#5P(mhRKP3Mt)3bEOXt#R zy#J;XXH0bYD|~okG&22L1s6dYl9MWD_g2F#>+!Tq`q1#z#uT$pu~z#CvtMuXQVbgu zYy&}@PXNLE|NBxR^l1@F_vV)X>r1g=838)eZ_zwF8*${Rv*hG4`a`L;41Dny##%LV zqkO-v3v&1xs_Y|JP6j+r)gF2);Kw>%(DCJ&`F0rHktkq69zESs z;XOPXH=G;gd~3}I3giU53#0(8|I7ZH^M-$)JOm!sIG9KbdY~H3tVzHC4i}f28#!A} ziU?FGI;j%dd-?w+fbRf56V0rFn@O}FH-IKlsE3v#OH%)&mUs17ZFuwk=N!8rh3x=w z4)@|ccbl~zFB)*t@jOjS3=cmlna9NBKR$06@qs(CuFF{m3(%l&pzCxR=NxE)(_^S=S1ETH3@qV~}=U_kBb~k%6&=10}hpLaf zL;*KEy>6`ycDn4D!5-V3%-W-iPWAd3pIq1z>Z1{5w-@X!$0&R`awzI@P0H`A zZ!>6Ig0`IvHl5ps`ygWcQ@_Kj}S`o`h;jEvC14(6&{rXh(>=THGcL{R^Hn@mQ6WW592F#}HU(og4e1=;&`a-F` zxe)w?nLAA^>*Ru?;mmzEg{w}Vt|V9Nd2K8M(8hJV)m{<8E4M#Bs>186kwg|#(=6m9zZbVkB?1R&z@5W-x{eX|7NRGLB7A~CuID*boy`-knGhwE9RJ{Eqe|D^jE%#2CMUYB{fqFBbGK`lox%7DZ)a zqR%I1{#}{4+MM`A;rGjqAyvON#^^1Dd|QJj`ESz_fkNI_y#v0i?L^?VeP^Az;}G17 z@Mgu-*Tv9l_SUr(>RoCOTCm#J{Tg!SlTp6dpCUVEXCy7_)smBG1Y+Av%_MpGhB)Cz zk`SWyJM}|V^E(_pG9II!7s>-WKZ59=dk=i6jo(*@J5t6U#0Nz1O{4tF=6YO{L(N4~ zEDR}hh))29TjIz*8L05CRXDL$;lNu3%+7LilwSrlFLjCBS}8QBH5^1_N39g+%IrXX3@@H$`w|@+OP7_Dk&mT)u3b&nWHG|T zm@xsX$c=KJ58&J<=+d{yb6Y3syqVq*{~LPs(v5uq7N+f3a>wpb6pmkgm-0U@`T6NA zEU~Ha8tj@IzOk$2(AW()satacEzz50^{M}&fQQiIvp6tpt9l%lGGd6;5T+GD=%auuD43do zMZ`zS<*qlRD43_3Tr!_7PQTySoMx0O{`tCdFykj5X}{(Jg~!ncsFkdL>?Dun%k#xC zMqdf;U&J=|*PXf$RoYgodBOrA9@cnb74uNpPSy|1?=pDWSds8RE@hn>7xkj%>PlIv zw#lj)&l0+H%kgFhaAA8iTf3Pm$)bDmdpd9ZBBIP8G}Co~k#6iZPGt~Oo+ zK%3unwnN%7LN$y&suj=EJ}xV%-nzXMlSUdWeHk{|JwM9g#RA(PvG*pt9#_@VwO_d< ztsx3x)7a!9mv|^H-eai@lI;TS;M&Kl$VSrBTH75*c|5NDL1`0#JMp+vQf-@EO=+S2 z&2q4CFp$pFKOwhlJo#!*puVG|{dEJbF}YYe8GmtiQnZEv{wb;v-FF^H@_FJl>Z`a& z3ht`J$i4sgb8*u}sZMgn>~=&<+3F4eO=jcj$|&5xl8Y38>P?7FKy?J_yPVd-d9Bfx zJ^3COe+b%VsBa!o7ksTb+d$F(KaS2jp6dU7<7TpwjL0fGGla}T%1BnS$03`Ly^eE2 zk$H?FTiJzUAN$xNGkdRNWS?Umoa6I*e}8}Y$HU`zpL1UGy080r0mH)s{}>mIj@Ro+ zvJOn?oUbSq$o1ol4o+%6ks=wb?CxfW$dWu8A%_$K0+ALLxqrg595t!Tjl1J0CQvu= zDb1KXh|Bqn3QrsU8mp>FP{Y6zT0mH8bsf8|2j`jVq7nsYItR5_Ux25@f_aXewZ!M~b=aTnp4Dgw)ekJ(UIw63^Gh*4CQxhCxliVrj0qg7>*h zJ@zXZT^f0264?FbFSyFHYh~WtO;pc3VedIs={sShxnMtL=i@(KK3HIW$*s2MxQ=UL zybh2bt`Kk6c}0N34@9gsGWC*s$_~-BMk22ozh4d!T^DSevOarr`x?Cl?xQ2ezaQ&G ztRB(tT=gHn%UPda-r)>U+WW?!e#cJnuG9?E0-?}$^Tt{|ux|}MgGF?W0@f7P7FA5z zTQCRIHWpK~A8hy1O*G+sxPGoE67SbW_n+*gnJU&`gYah(g( zSyiHU*w=dvXY3nJM@|?DJHu{kp>e$MkLA7KVM6`4LNoR8(V!sy*)@HshHJYFd`(85 z5uxorqW1^tEQ)Ggwrgx`0lC`A+FAk@)GVE4-myU+=(k~+K?_~>9&B!aNEsdjopM_j zeFF=-p$=a^9~N7S?KZiaCd$`g!&4dOu^~acqSQW$HJL$GgZKLipu0xIVwZ;!0D>T<`5+hcdis%gsud%`); zu1Q(GTPP2)M+)6>1%kv-|Lgop_MAZ0JPYQvL@#*r7{RsoaO(NuFB`{NCZos@{r0et zm9<~hyR>&mG+L_KSxLE~%Ncg!CKdcE6{I3^cd5O-X-Ky>$ z((L-ig2$a9=I-m14Woz>^6`Lzj{ixBJ-r6}XA~VD^n$z`=l$V9(&a5Fi<&30X|;U` zABFA(;i2zMcDpPOB!SkpTwT{&qkyjTI3Ya4vsW+b>ZiGei1~DSkV7EvzZ)}kBd!D6 z5#^t)J~x!b>w`;%=YepQ78mhN%o4s{*w;4o*(>JdQdav8D)v()s+lz4Bh;?-a>Ht` z=_1ZS(gk&G6Vt1`m#8I%6kZyjV0e((*sywE5e0b#h znq+y2f-c7(R>q@sQQ{PC*goGTJ>sDi($dGMVP9|mviA%Z@DsLZ^> zMs=f@T;D{c*U@nh`>!j7YrY9B4{L^h<(#^XeHugK%=GFh=DB!MTL@+O~K)DT*E zxIWG5@cA9QmWa&O`OCP&WL8P0NgGc8+)P|!{~I~raDG2>EpzpM@~-KabkBCw*}t#C zU8v~3RH(;_WD(nrwINUy8JsE_gDOE(F#G)4?mWihwo{MlV!7$$Wp8f);cQVAz-@r| z`b8i^-wL&R%l*|+R*Svmhw`o2-P2dJW7%)WM8LjZmMy&Rf7BWd%EdE`YCM=Z2rApH zl+IU%uN7-uNChnvWUG+*D_)%CIsJ3$g@1`y19bxNRo&eE^UAr>L;C&xQGR6VjY`Dt zy+hrwzdMv4VjU9l>AJI}x?_RT@B@pPDO6ovqgKS9OHsz}WGsIw-xSbCaiiWttX7xU z`jpuwAs~dQ+OK~XfDqv>CP@~(ljtpX+JQ(>3h;loVQC=L zO;(9RjN?0?Fk0GG=27KRf>w)^nXu$%6|q*lcgH z#R@*x)+D-Y8$h;M#0G97{gNraYBMHPI?tIpm;x}AFmODKt&Ilv8}QPX<3-T~ZiQ@d zWA!NAsr~c2nsZ`_ zrJ?^}I{&)oZh*f+=&gxih!tk91ImXhUe6q*3KUm`-QDv~?bJ?xaLD3buJ(+r$X@}w zVzUv}L!#VH$VIu0&aJG%+y5h?3be$v|C2Q~PU?fX1r%Cl=GHOt8)pv2M~SC2)Pv>^ zz;-xTH!~;yxVyAFn|_qx_+h@8Z4>eXwkau59i$(`bO~QSnx#YQMVu~y!Dfom>zRIU zE*|J69ut}Z)$Bjrd;Zg~{ShUrAQ5d&5NwY6Jatl;68~Zh0yO2g-G@=v{Z23U6Bd1= z_td3^c{cgL+nk&0X!U@Kj-tf5=4{+7T~&bH50MLORi5*zFvro)Zl$KyJEiOKuXYu5 zBxej3S2x>&UfV=IGD#V;kDI9ptm&Qx8h}U2*Ew{}7+#GZ@U>1)SlPv9`&C)@Uw?Uc^h%hHaZsdUH|MdEPuJFCYD}1P0 z>i7U>NmMrTPw;o2i@P{<+ZRt*X2l$Jan0TDlfM&RxZpC+oW6GbJH$d#|HY@$dA;=G zh}H;u{G6gs49@e0a;6pLB2L}w)MNp|y>twL)xI)vNQuX(9@m5+dHoA0cC%~aitnVS z2yne>h`L_ndKK}3JWP%ijV;w!%1he+(_)tqqa|}J|CcwWWy*Q(!E>MKk4)JcS`l_0 zU3fl}>dX!}4UBpH%(j|Pq-a7ulH%kP$`y6^$Rx}^tD>;3-;6DAWZ4VQvErX?3v*VSy-ACq4H~zo)kBl3xh_{5oL(fz#p4#eh>Bk2zObS^$T1`hbxt>O_d0P}S z5?@tUyHmJgGg75#FPbJEx-TRwYi-2j0=&LE^5+FEOg^(?<6?4qZx4$UZG)cDeyihn zM=LXOzPoqfKV7MK+(5R*q@_rl^YIkX1=#v=z2I1=5Y{9HVc$~SfDMRN4If#Sxi(?kg=z5nAf6Kj$7B5zFmIdtE2NJi=AWj#9`f+4xamJ^ zd);RKGV+76Pq;3Ho~6l(kAv33tn-c@$YbDbs^C0-fnA_PxY*(yN$_l-xz^gWxTr?D z7j11bkpujPicu_=nkt1m@FWARbJwyj|^tyo+;N0 zty`yCSXkAIT>F-f-K?(*tg7Kl&1FaMeoFds%*c&=FTtVirSo3uCj64sxOa>zIX^7*H}<#*q-e)jl%Oh-NXZ^AO#<9k&VkbqWx1o-lN(*l=zy|48R~1@3N!qir z{$WRc7Qb0OLR&W^O4IlrQdS_V6wELT)rR(gSV3#rkhcJ~sV?Y#$FfA5g_7ax25R=Z z{Ui6}20`3LK6O!+jwp)&`xaHpNr#fu|6=Iy47scB-MI{P@Gr6{ zF2Siu`5pXlJMZe>i_&X06R-7Qzel#O4gtOiN;bX=G4@9M`}-Mw9TE3b2WBvR!xktu zrc@v=I_WsB@RhE%`Lzu5vOIB4>pwmZfk-?<1;7rimnl`wEwbFn;GM@qxls*4DwKB2 z%zWOhklt8$IkZu&Cg9J|ACw?pO-}CGJnA9J2@byt9cly8LOzYqAzj-jr$i49{9@fq z%)V=IrEd<&(hoU|va;8B3!lYywmqD{o8`^A1xt5YyCBC3yCr+Ln-aU8i4-EATw!&X z6H-1b9qH{v7@?OEjEiB-nzqf$c{wV-h~G!dkUkxZ;I&JL{B;DAc+#@rmq+&pzL44V zMEs!K1+>sVc~s#W^r-5ZzdLX!rVJn$gv$^XeZaqyMt;83S&>n;VS7e!J8nL28}|ox zVwKuY4XLXyeFA<~TWUw!MQuG(X>J%_r>e1SR3ttIL=Of3yj17@g{VI(Y39X} z99{mql?iQNj?iDMMbIa@g7n_foTfirnBF>6hR~VE&{S`J&w8tKJuoRRCdhgzeC-2y z)r5^Y;6Tf{*99JlC<+v7*g2+Nu*5v(jcbnVxL&|snf#;JcgI|z*P`|pR$Do@!1BB6 zGuO}kdsTwq-_-+r0F>DP;g@4e3L4g%8Ox!peSJQOjwB_c7vwWwf~sE3+H)C#5nQzB zNqd~nTJ8Z0K3?rwhEADzWOad&{VG(DeiZuGoJLs+M~^;WGG-M>(`cMc6L489F=aph z_aubfWGiZ4xXcpBaZbcA7kUMcav~l0zkO(P#F;;j`=ikyG2OyVp`x6U0LEf9M zQw9*5lZCaW2iExJ$=Z0j^{DPqT8q^sOAE6Vwe9BvkBzLVpIrLy55QUF`lZj(4kT7N zwAbP7;QKf?^{QCIsZHdPo0D&Yno#&a?V;tpcAu0}>C0>k9hzgb1IFdDEY?_=!(pN= zUhFonla)XGq_nHoAd_aH@lEKjTXi6ZmX56_o6UYBfjhYvM8Eg~x}zzw{Q5OS1sT38 zXWKYY?t$M!s<!8pO~c4uFl#}-znqbY-A=Us+XcMUTsALR>) z!x7LIy6@h?tDt!BU6Gqd5EU$5pj$Jx&lZ_jUr1aHr`0oAYY?-1vv23+(i;}d_ z(ivLLbi;81psw7zp+(mnqCuDov&73x-vP_nes$fMdPp7_nvVoM-bRLXOheN}!0r`~ zA0CZHDL)GIjm-=hmfXH|CX*$>!up(Ov5}Q^LtpCrM-jd3DDJ!m`UX1BMd#;9d^4W& zc&aeXXyO#k6q<85YGeef$^3!=?93q*#5{nX2}g=G)WdB8CE&Iv6WZ@v>PbvDHj^FN zlQe1iA}LV88$cftMf-zd;JR{m7@g_<__fSolhNk!^YJeKz%QLgC%0CR{&MY4iP2o7 zfa0DHWvjxV&cVHAj+hEm@h=OpQjX7?Q*A%nZ5kw07Fa%b<@kW5pp&`x>qZwe(EPDQ zc%?DChG=1HZK^r1M6cZmr_Bpw8mY^%q08!%0btbA20@gCDv?z&q9z7N*_ckb^j!a) z=ZWo{fRw>*GKs3x>poxrM!PiKo!#mA_xEtMrIk}}r52xdQHh4l-ISiEvY(B)q)NQ#FV7kThU|Yt60Uw}o#K=(fHo?w2+8293G6(adhal` zz;Ac=hTO0-BEf5hY5q{5GBgl+;(u=dhmC~2qfa>; zOYb-d5LIF%?dG$kx|-V5#TLK0_9L*lc4Gl3Q0UCASLtLPC57@Fjnl{L;(n~ci6Ju0 ztyuoX!o`;7(>eUP!R?4emYgfNCI8$GC$mBVrF6DtY-n<8{x`X3^=h#85^*94+}gGJ)~xes zGA+ofX;mcm;}!yGaZ{#K)6ZX8pgk=Ku6*sDYk4oK1?`EOvEcMvj8SG^+Im3O7yGLF z{?qk_mPuZ$^r4l-C%(!6|O$`1L_)KD5Q*dc$ zr>2Pml&k>aB{fqZtU;|dTdAMh+%n6;!^6b8uvb@FXa)^0 z_J7v=(cdOX0Iwzs`{}+Mf}9X>CJabvU`*@g&F@<^0lxN0#YmNp4x?njSg@+cCD{4H zwdSQJMe%#=<(L#U!`-Y!0NaDtDt4u*hjL=wRG5eUD34NpsJ=xHS!FgD^a58+oBVZU z_D9kyD79b;_D0{@+*WSY3&y+S2-%d=VBE`7Yh#u7Yc_u}jZpq_q&q6{qSt|Pdl7rql-K^&uEwb9l{m+7 zd|%oh_{iN7M+r~1C`I3MM4niEHK(MPrEJeA391{Yjot`i;$-#b^?sRYyVFd(u(I=3 zHh$`5n+PqRVivCWRi8iw5rGB30K@jk|+gNN0>+_!l=g9#E1DZbxL zmKQJ-958|(t|ouinjc4jRd@wgn-*i}&7o^J7W>gq$(&@R0=>GOE@_k!zw~>5K^!OK z6!Em#!ou@@AVW{8d2^m*yr^hJ*+Bb_@F=I&&Ec~W(jn05&-wRs*z;~R7e}W_MfrPc z#hG@00-ovTEZ3d>j|T#D5i)1=?H8{eRS(6V8#(hP$Szez@_2HdVRHNQ;;4aEaG4)y ziV1;nQJbj!RDJ6|(Lz7*h3WYZ=?70v$j=ZhAX{207|qR)GCj~*^Q9Q7ne2>!k&@lKq z!KWwiqFa1+VokPN(4!!&l zRf_tZlP~Y3YaR{f*|piza2*8eJxaz;!jUUu+dJSySY1E|u&T^$uisQZ@U6t;#yEx$ z#I}Yxddh}YBo!0lqwH1`8M0=Y@O;1$ki3KgcU<{@L&Hhktht-&;$B>BMJcrow2&VD zv9sf}U}0JGeo4kLif5eAUckURf)}qoVXStp_6-h@vu&C!|7HpX74wGvGJ1U?^e{FY>8$ z5)rRi=15rQ1JeOHv6X3#D=*hTT`Oz%iyD3CAd5lCQ1*G+ofUhPkG5`nrzFWUjA%!U zz;KUiGb};(+c+&XO89yUo(}f&kN?qXcGp5r%eKDnnP0OIL zaY-gU+cN|S;S)sI9gwx>;2r0w7|Z9#yRG|?fi0*U4H18Y-(}NG>u61mmnN?c&EId= zi<8$;t^@RCx!ta3jc5-k6<6JH_g$d^BoO$UetE-gMEwQJFBOMPme;4~1!Rq$DqyYP zT8s7wY7JeI8%5i(edq{aGvqS0)6Si6(0NU8wP?(p`&`O*j;31#Zm6n!cp!H% zJ*c_4c`FBA?Zk9?rg#kKTPW?d2yo2=3Zbj2MN3@)o`h^p{xF$Gp{OUym&2qQ2;og1 zeCd!TYl$s6IqwWPBakQdZ#m!%? zS%%#J;h!!Kf*0pq#=l11|JGoUX&CZ5+ECb~0}NjJUGN?L49zz$u%az&moS!~la*`kW2an~glt|$^He^JVv zW`RhE`&wpvQ|Kzl(c<&F4@Gj%d=*J|g{VRA%__UycZQ+5H;c=RwXk`$-Veg%!*%Cr zG)S32VxxO#;S>Gs?`5b#>|bo5+I(BU?s zmb)xO)iFeI7KtCjp&qTm=-dUVPSAsv(Ce3c6L`hxy3t!M^*z3N`z7%kLbF!mGSl;M z-FCG7h-Q$}k_@fD>dGhg9}^6(3~d>1->p|;91#6xt$AK?^ENF|n8$Bqy!RuBrA1-g zlNrx}-E3WodvFm3 z{+0f%^tFAI=9b1AJKF}Kq?8q=OM`21+}6n&q8EPK^{$!Ag|TF_%l%~6`@(J_G&q}u zxi$#kDVPG2?{Z<1@SwlqV)IJ6+6T%~Qongb_TM@+PzbEFLXB=Fb14*6F`nxIUu<*r zTBABI2C~(RCefQTOqBVwp8{9qK#8ljJb7l|2ad>>f#LvC4b%;y#Cw(C zu2?+$R!H3hb&luFJRbPioba>Y8+K<`onnXxk1)ltwJQ$-^Yl#rDBU7rFBY-8Kwo?;+pIyTqTa}(O4u0o3iZEyRbckipHLeIBQ8a63gc3D|~ zjIaXy?Zm|PWSbD=<&1lsrp0UK>1l5Zi`pp2U`r|_%N}@yGn0QNgQ%$OS$*Ra-X=2=>tfgMZZ+Nb+ zf3i9bj%i{ta_u%=B6Q>$WSMN500dn9Nr(Zqt2^-${O?LEoIBhNCUf6~Z`tetzk4+a z{Vgx>uK?DiWA{D0B`G)sjI56+1w+TJrGmO2i(Jvx`eUQ3rCP(2K?5aeiCl#%B-3;_ z!!|0@N6CWswLjk8vMLYbluBsHfvp-%1?DUZ!|8U%7DuM1C(Qf#(m&8R>qpvtvrUxS zpzl)~Z}bdT(?{a8)^4AHaRe*nNBomE&-CvfolIQLSgi{`lLjEc^$iZpCl)OpX7zDQ z4^NU36t)sRo8mv>*ML*Ahrrr_UY z5{c(^b%PV8aKjiWwUjqF#A-a}ie}W?Yrsdx7lU~*^PAoEg#IK^mS&Xz*hDhp{eRKe zQAZ$!^00WNl8}4yjy6#VQ|l}B_s>(HBT#AgM`lO)NFe;WH|SY^|9L;+eM*4t)aP~g zTPr;e?v&Vjcu5-tDwn50!+ogKv&r9)aUfY%TQbsM(`+nOsL+H&~5T=F$t3wu1b9JN6*puwu(ZHkBP z*3!ZbI0wekCc2kO;%sX-XC4)mUdrkq(1ENcwb1ZI2pqnf9Lm-`Q>q1_jmvP8txip!5 zkk+3_qI+cpu)9hMr)8s`0DdM8N{+kN*C`L`fGIEN(ZEa0_Ou!A(MOzm_npctQgNx{u*U8eg4||!YQiTe`-iXs5>ibJBA1&4j?-X5fl(jti3e{*5lKEM0Y$6CC=r}*rqes zA_a)mz8kVC?d_+FuWB>5nHe1ziz^HnHZb-cv?t^Pv-kc%+O^;gh|JF|)U(t4Z7?kS zEPa~w4fQwpwHPMxZ7&_M=}Fj?$powl);k=q-nW17i;I3q!wK>4xx2i@`j14i=l7m# zURE;ZT;|cm)uwZ;Zy)GLpZ3z-opZGoj%Uqz7|&<`|4QSNqi|)iXD=UICZTa}KjzsK zlTj0qya|wacH-{kj_p%P({0T(FvS}xXiG9Ya8@ZqGN#8b@@OXY-uKfN$0_TsB7;!;}_Rd)w2)5BQ{IGekvxm_e?6hBDJi z*;H5k5Xm4X&^#Krv6CDbxcdg3p>FLm+;15F+#X-H<)NiQ|K*?Vcu=1?K^d2XCG7&y z;^|6pQQaAz>nftjn^VrC;wXEUd8}3fkt%eSGaI9y@C@st3Cn`mfG;;pc!4Qy%vo>A zv1q2H`9g==-d!i(%P6Z~7F#x;$S_Vgb^^WK&9$IlIsqYGMNsV;*R#6x!neAQ7u~6t z*MUfu=z9ze!lbD-!iPt5KCABVeF7%;1*WG(NWA;G+hyd$*6SdiNF~tRI_fEu6=IDQ z-$!GEmEP!(oR1nzd@DOc+*#?Z(w1)6XweP0t1_Z&L)il@#&hA2MR-??SSFhG-l%@v zgm~n?8U1L3|A?AYy4XKeJ?3@zY_9J9>z0-P(YrFbVbP$vC5;;@*P~Jw6HQ|a`*7jkbw(D3EL4M4 z=W#hpKum$d2FVRoOQlFEG8*ll8J+%5_aL8S&6#{cUaDTg*u9vkF`e zO}fddCzUyHiu0F80Rf^XWt;KMJ@@W)_i-si$b0LpSpm5ed>$JBCpz@`_Hdx5^j^*P5iYAywho(f$VJe6C}We}gx~aFZ;VLeXTOcN)9c#Vh%u zx`+F#z1O#gXJo+-@VSIiloP@5+zR`tO|bS_8WDcRp}9Egmf;#C8~k$Ou8N-#DO;uL z`K}=8ng8nwBN@O}`-HS21a`G|a&klEBmEol0;l8Q@Y#cEMauL2&5@^yk|gNW2?EGP zG6b^)256<|&fJPX4;GOq&>B^|>DBBM7R`jOaD&@(XhE zu&qJX*P0HOK~jw#pMZwr96u@#1N)dG*m4m<(OQ@M%zA#txH)opT{?7JJfk~ml<3YZ zBI`dQcSP(1Km>!$Gaq%`buD*aLr@+V*w)Kf#745ZP@W!uEnpqW5N1Vs;Mi}?<1X4V z^IW@6J*i-+buf|?xx5iPv)$I}R*HX(+gUI9Q5iXnHp7aa2Q{RgmH&DCA@h90cW?gV zQ~dpFRWP0hvl91|_Rdk)4@Di1MC-OZvqSx$_fd{~#DOW{Z^Oc-TV>DH3AMglfD7SV z`8HNP2~MT7pvM(+;9)0xKP%v!DGBMvphXsp+di1+rU!IOkzuW&jBRZstinq3M+Ktp zH%lE`RAR|ur}oEgnp5f?$lkRhba0sjr@a~kv0ELD4AzQNJ-5={zX+(md9CZ!COGaX z=q~WgzK`oOQRvzl>Yiy}jaL1X@9(`(jn~aDla~*tx-^8c&=fN2Zz0QUBmN{ve3A^1 zX)S|JIXP+1qic@qav6q9T!%s|r*0T-M&;{zlECyGt&<%jPB`GYw~~-W#k6LfCeY*d3?D!L<0U| z%EM;-Y)S29+Cge1E|NKwa+~_2y~^c?=Bf>LcBTn{`Hi&6XcX@p-3QD;RQcLKYb5zu ziy^-XHGO)%e&~}CiXRAFLf8!jj&0pDst(Q`i0EqajP@JU(bZ-XM|Lq{=DS#k{X0Sa zY)g@AV8_70HBbbUH!$Fuv>VDYE}i{=agMfpxLQ&zY3kNWVnUBsoIZubHRxtsnU?Ug z)=Zj?#(IF`ppoQ6yH!tYYp!88x4YqAdy;hrZU!y855kI@;r?fg1pL(d`-&PO8Or&^ zX1c8A&K<`C#vV`Z&g{pzH&bkNLAo{-y~f7KPOltDB+-i+g&MR=z=$>ARV zQ>CVjYmDd2U(I;Rxz+Z+!cRhIjUi4g|KIsV(%hW&u2)^}UVJ=vk>x{<4&j)q zotvG3_C5nJJ1~y4YtLG6YHK^pe=`n6Jr?`?1x#D&x;(6{Oj9PpmOsh?wAc8YZ_<6; z7T-@-gv}!KP0g>gGM@LFD0~R^MKp~rv092kn1J#BCo+UXW8G2;{B+bSh^amL$2%kc zRmf(7+Y$eA3H6hO6@Yh_2E!PXY>nT@Tla`AXFh#^j7sn37fqx8MDEqR5_27KuH4+* zM##cbOYeE6?F;={wh$Q1p#X&xo8tgtE^UeREFP9=Sl56|MeB}1O<$(BN|0z>j)N1o z|GFLK&iT8D0Ra?}L95BrX79hv%SQivm@>z9NawJgrmy6Y)V9OR(5E^qde3Rlz16Gt zaTu=oTElcVnC^fH`)+U`34xw0uX8i_P@ZmgyYSVw%P^X#VkO}-pH)P6yuv!7i;FHW zMLShCX6vuw?7Md_?tP}_b%G6lwOz?^>x8+3=I(gLGW*|%<6!wa0PgYb{)V39y795{ zl82mg!J{Bv`#T!eKik+bM?ItQxwm*)Fy|47z^?YI?3OJZHI2#I7nANkcvoAj-+LJ7 zaRu;RF{p6;1RHg#R^h^1>&ssWJ$?SH{+l55FD9jtr*arpL zYp6(T&MDq-C0pKHGYc(lM`yB=(Y$pu_D9%( z4P5Il;Bj{F_1k#rDATtD$~8ZS;{-j@#bU2tWWT3xb0?~$7^0F)2R&B2la+CGef}8m zWc)`&fv3jwmOA|0NuA&N;j#^OHC}K^4R93L$~=RKFpyFJ7DO|Fse>D>iUHX65HiMh*}R7$(wvCCvKa)KC1Aw zS9cTWgC!CEi6dYO zsi8`NYWiBM<0FMW{IO-K8!f-RY7b0Eak>G=q0Xe|B7!My@&`6P%ULTzDM%k;+i_6i@&6i6ofjU!@ikV9qrV+8<@NW6Y~4m z;oJ`k;@vNJ2sU1t*a1_+I-cCny9J=={SaT|vkdA!mr1(p`AO&9v$T{-OQTzH%W@*b z^bqpfc=u5CQ3sEUAaXdnP?+COmqTM0-gI;|O`PIj(QEskXsS?ClYj6I@rYoq_9Nn* z8`d$A@$uV+pI0GnZvJ@FxZ%XhJxIq5#X z);7oetfX_eyC?|ny@iRBb{1!rn}g7~y%}$X&|HN?PzlI$LM~JoFTo&?phzcL5r?RP zXcdAjS||xKEbf0VK+i^55rr_D(RqdLdMI}zM!cKruGX&|!%v)?Q{r^Fyzz;Osb4?n zK4ZG@jA;=lz)h$&|CJ`l(}G_$$LHrv?>^b%PKvWb8iJEoYAHHfEzX^BjfBr@bAC#~ zItf=wZqFNP((^yQa5Uh3w&+b1ntgk_*fo=?Z~wtQBtR*6f)~E^CqbC4Gi7Nh&`u-c z-`2Xe>9Sh0m!qJh-XGK;>eb9f$b%ou6hrwq=VQXo@8-CP62W$C;p#Y^uWX5J!gkaA z^`P(XhMrHnPgq$Wo{vgn`tbLDUTMdAevuf2c|wjL$<)P}?!%+~s1|3R_Jds4>zdxz zhMmEGO_e7*|GaznFzM0kiWr4}(i0`ORS=FBPhY;>O&#`NK@o9h(Eby5LCD*H%ceMh z2=o(OC!f&@#Gel@l~Qwh4QpvF6cPn)A841m%5$~D*sNU6Po&3p#`7{*>sdO;m?;oU zmnYW@|4z)Ilh$-GFLG{Jo(^m>v^?r;MuI}J{4S$-q^|_7bwu1Tq&B^h4PX`5XT`$)-=Pe%lD^ z7~KH_n?Q#)=MCL0oY1rPiVL^T92{F*3?H>1JJ*t;N2@s84*Wg8=A<9tf1|l@kG}z1 z;Ai(W>KAn`IXW(U^S@SqycPK1)vHlRl10wh1~P6sdm}w`;l?({CDgpXRnlp{^jm}wgf~!JakBY@9-U- z2O2@ip;im5>D19Is`|F%rjY*R|GRh`aQC=M#JUoTmbj*ZLH!?2Pf;hDzoZVZL zjIz+!;;c4czkQUtA!g?I#ZRa`Ap+SN63{!!ZVuqE?GU?ZY3Ig1)T}R&^V{^4ytDql zfR!gDL1AV~yxViO5AY=rpz~~ciwvy;c2~r9st~g~H zylvHlC`1iw*tPsHrjw}BoWrMkukbdA7`wkOun$a zrI3h4^~w@O*3A40#sKlD%1S$dx&b0)y{l&!Tow!A-mN1HB#Ofb*f6myBaK~Pib&==X!+Z zy7-XZd7ynT8Yv^C7evxmfQuPlHf>uHR4n)feF^i5n_2GSX#FCvjAB)m3KTcRv0;nN z$A30Yyx|adTRT~6^!cYMyZ5WYe98r-C&K4kT>+yd&hie6yJRN|ya}ZVh3Yy)K48|i z$3P)tt)g-LI$LtjB=+^k(Q^ffbko%=cEaC2YcFsHiVgH0!33RJ=7g(_ABeVatWnkv z$ZIH8FOU3b-*>WqxzP9U@!mAb*pF6u#keM8{BU0Qx5cN&qOIMwe<$OZ9RByNq)!k4 z<|SZlJ5Et5BT5&IjnI|0Zsms1sMv|g62Uv z%d7$)eieS-kGuDQc$Esjfg1(J4Qnp?h4Lc|xXT$;`80@r&6Cj*eA{CK?y@CFb)@n^ zqXaP__rvT*;F9r+52_|?Un6$uTmf_zJG2*eOVOop6mVl<&NBn9`y#KkDz(|ZY}i0y zk}Gzy!;zQKoRh?>Ab{@`n{)4Pt(9K8dGV|-9h(-^Ua$6bG=E9dqZjtan@pNl8P`3U z2bU)6KwUCQSsXC5nNI*Aj6B_(>@7MPFQ$1;ekL3)Y7!anoIQk@6SBrUa!#}+4tZHZ zzVLjz9HCTQK|Lid*Iat+^57%eXmHr&KdIBw%)^YhCq^R&dB9?wfx;MvIvIiKA+i%2 zHOcPG{2>h+7CM7`{l4AqVu!>J?d@8jaOY#i4C|Z;?k*`+R*BLz3(tqpx=Y|NLM~ee zHwF$O8G{B$r-?@r+ETRNQ)DZ79xjc%N(Mb3FjgByvb=d}|5E=~c`xG~L6QT;%$H9Q zgB^Jkk8jb|x8N}n!^}caMxx>7l7;20$$28dJlUu2OT$EL^?#e|IKi!K zA!EcZ8FK?Nh|C3-j;{Xqluqn_xAckC@#pzN#nMDFG5-TrJsuv9EGZ#A^%!L-wDd0o zNQmKk|Xh$Cj z%Ft2&Z>5bU4+Se?5QGyBi1IuIM=R4}KdDcN`sq-iHR9>Pqb|vM65XHhnKDCpcG(N9 zC8Vbe=OL|`Z*b(8k>i6nq=_}l_(u8ysfas|-BpU!zSqqOaYKd1nqnN39>?Y1e(=ML zEAc;~iQB)+kg)HVxuWPK_xwv36=rnd4YBw>0{bwD@;{LUg?^t z3&~YBQ_SsS0w#FX zqAayN=a1I1Qmk!OTmt^qO~x@UN+93Sw+;|jjSexREYL>;m^}U?;p+jLHsM#>?S&x; zKeCyU-pBqg05@fpJBQxjM3D{@Y-L4KF3)AJF8`_a(>5JA`cq`Tf)I_i!3P>P-=WA{XXR@y%up9#&S3Us!lB4(Q&@ zEYT>s84k9*H#;h%vo6dlN<+T>Md%MK@Da)|~L8Veg*6`5U4LB{bzUk1+oB=8Fwk8bY=`+l2e}blgM?a;{_U zf(*f*XADM*aAE-K1k${ue9X#QuRgM67Um>?yG3EWm_b-h3YR%wstdkA?<}Ku{v-0x z3qQ}Lg~|pdFK-<#>~ktJ?ABB5uNix{Yi9bBi}1Uz1TAd6cK;DROK`1gxOT|?n$Y~B zib4RkwCdH|3IT8ebNjAjP^LqG_AE#dsqFX;!!m5^&(*@>V^U=1MARHbol9-!;SM>HJ*4kSx2pq zF5TScl=SkewOPVLuWy%&RUPOJusP8hYBjql#Pnu5V}4{7hI^^l|I_8R0_2~`quWGK zvYDMBm~Z&AMK|C&isOfe@wSZPEwJV{gZnkOaHH|shMplG$@vBLR{#X-!TVhB(suTo zXYq|FBp7qQoxs0ffbEMZYXQ0WFSw`bj}LtC$zAIH*pHVy{)lcRQKEWj)j|Tznvp_# zk^w0e5T0Lw;BID#U3unG4|fmug=fzFJP+gCZD$jrGKO(R*w{`GyP`OdYA+jh)?Y`U zbqaB8Okm{^=KiQDxLfwjK@q-Q(OC3<9G!O{Rsa9TNhm^g=2eu+%HA%?NV^?JTu&&M-jxl#Px*#(mu z<@Qk=V(nY*-8Qh@c@8BuII_*4NW2!P%{ctgd=XOMrve3<6|B>xyH+49$GILh9WcDX7t%^Hb?Emgv=m6*HNPh)f)HJ_mXHt=9N1oJHgZf{akcY zj{m8G@iuFJpSE1vi!q18f3rJg2%N^+l5$}apzlm-nwnNHu zxcH4i(V*$PgC0KJK zoGu^-F1BG4DjFX_=#Wm7IvFUh9g(b6ds|N1JIPNsgt~Lgi(nVPr+x!>=7`-{-;PH? zZVT+2K_jg;bbm`x!dlYGWlWaTy&~c%{shuzp^_0VI%r^=Q*G3Ed0Zf>IN#ynRKX;B z_tk<)8B|jHRWl{eVbZaN(pMI^5#ZjA{zZ_)T7d4N;axv*4d~5jVaOZR2by+^Qx6i? zR-S$5jJukflwJj9(NO_koox#VT(y(GHoLD|_2!5(3|Eb5)%i-pklz&TUM4`3VZ!;9C0vCjIPA zAX5+U>P1T7WkWwAzg4&@L<>CsHTKoY{oV#y%r)P2F8CdgtVrO%MkH+z_N9qp2~#9a z(j$UW;zKM$qk+mosrI_rg(Tdf${;O&rvu&mKC=ixVMp{WV<8Q-yxT0w1(cPle7RCL zLUY6d;7Zf|Ub`8;#(CUd`LpdRFC`BDN3yuMVKI$x+c#Gf5~{m=FmuYRdyvQ9^etNY zHa~GcQTOokMb!*lJ=6D|hPBTkBGd0YjT|QZBh#TpUZDdwt>z!F{=bVP)%g-V^bSPR5jkhj-Qu?qx^=?hD?6|D8CAB zxbb(^r#*iWm+~AiNvS`~8NOQ4cH98>CKQ6eQ=2iWMK05Bd`Y&8@z3Z*mX1O?cdilR!NC48*LMEeQPfp$x~p)K$FEz0 zUu5XxL((_qw)L&p@Bx7LQ}Sr>&EC2z;OU)e6MC2NK--${-I8T(w3Pzl6(#aay{hIv zlK10b$1u98|!$C5Ps+obxy(2xJ_sOvRZ4$5*Ef{%WZT(NN8rG?kq));KMt)#9& zfbKOh98sHtu>OG?u>9`b8h*mw-;Mm^XMJ$I@%i2k-)6$hVWsGC583fusw|tN5KncP ze-32*V8_IT#O~F)fzRnLXTCYgEw@HYo$Wg?A6Cr!4DvpGtz?nd-SGs=N?_#Q5cJ}p zrla?xGoRv3x9!L;r!H)z&nYT6&h|>^N_=@Om+-JD{2Q%T|E=-0K;u7<`Z=_{HC`HL z`w@N9)EUem`G6ufUn1X!>|)D%u$y#{jUzFDT8Ro*hKV$}&Vjupvdo>ea+$vgB%dC3 zJk}Pg2+US~vh{1lAoR4V6tR{Lrr7~pnb5vqrh0+5jZN5xgTJTP^vZ)Gme9uFqejsA zaECTd1GCec+rZi%q@gx@R;j-2TozHVuH!UxSCIZc0ESp2H7#^O!pn~@sDyXmM7pkm zL)!QYaLzARGVD^F($Y}#3@oCJK0#iyVYG=3RzWR>rfi0>_V;!G_w@!`5cVG9+j&Hn zc-L>kB2sxW1M*0=*!W9brserh9>LMK+)NAsBs%s40UQbl)nvD5i41L1bN;15ij*Mp z)S*{Y7+j*Tz$fl2Z#9G;MXyq|31C0r@8Arg4cC1jINjf#?@m3yUtlK8dO$XPBSha zqJ)0vvJaQ$9kZEOC-_&*r-n9)GCb{>u^mSF{ZZME3nWV7koZ^5X2$&hSGV7BZG=l( zuLWy+ofBVjd+piq1wBp5Gpg3v`+rQzK2Y*A$+Pue>pEW-cgXntnK}oeqZOpfwM)&% zHp=-Et&;bcSPcXr_Vh=?cLXGcmuQti(ri#coEo-g08+brURj2_^{ppKKxCrDxKvL%VpMT^J*w=XN2RX4x%ZK>}+ zQdwgDM(CkT5a|1ez&)bt8g#q={Y->yc^r7L6Jsllr0m&HCQ-Gao%aS_(g?%SvGV6J zxKzA~gHMKW?3uQ?tJrd(V?`akAj?H&l#SyCgVf8Uq;%u}NyetonUHTc@!^DmJ}T(# zKP8@tZAY{lUt_{s@_sf`4xA<#?=HlYI0^avA4y0D3xN&`jy=`!?He%oTdA`op!DNm z40I)oerkjxou9)~d`j{J+J%UeLU1Vw_!)G{{VE75a?Gf2Yh*!k+=qPgzFyhkgC((z`pdcQY#vcfk`s*0^M z17c1fpTIW=YWlxrQNaQ)Hb;zyk$G=9Ek2Diq=uf2@1_{fh36&5 z6Z+YhDc^YM7&?lXZv$aM#ZB=x?*gZ!&^zsSfchTUrlJ-ljc& zX29#dbGT_=tOn=831ea6rGBzS$r~@4Fmo}LX{N>D_nYgE?RY3&5!!vS7YR|P5$d!0X;i2HQ5jt8F<>4)WEF@mu(v(r?2%V!hz&;ua(@ z1DKbh&x6^N$Z;ALb(v^ZdLW@TujYd+%l5cCijpDkN}?a}xFw9OwswyA&Tx6<+_Uw>_B^K!Wd#8Z8T@GH$1l z=zilo1cy{jZCf-L){d9{uYJz|Q$y>5Z|nm@dP({IEL?-Pj@;CU0F#uSc!iDI2<*V* z>SI+NT!c88dk3(l0NHH(i3CI1Pm&i>v%sTITel~RyL2yTP_il{QFH*QPMPZJcX58& z)w42PbTWgTH#Y2gILe6)LFEqBEjZ(>lj5)z!QHuWRA-c*SqzEtaxpmCbB-(XP@{SePJL zuDrhBdvZUSd5vl5Z@yDgw5Dc0Z9+Dse5I0+1w9kjJ-5Vs$1USuI<)XH^k;~KyD|2% zcfnA-uZkb5%aCZQobEy@MZacjaA@BAa^rf5Hg~cOdTxB3gSyTpvi22P=x`UTb8PJF zrI&7fj)U*ByPV_q7?ma)$*a?TPMRP)O9E3m_xecH$ zKln|8)yygSiK~!;$WKet{aJnU0dAKQ_ct%*m!w5ga9)s#D*^uu?$ie_?ZnK~Q47jT zQdROA!(b{x0S?L^73^|^l+wMcVM`I)ut%ezf46Pmz{qI7X4!^+i{=U07N-~FmzBAj zb&prl0DsZHLS0Q;-j<73cYy8BXC zK^UOTBOgJHFAQi*A6EQmXvZoXJ2Nz`Yb2=R)4b|fy&RwnrU`3}dQryH6y5pc0rR^(zdwP0*>lrY8%hp#P^%#wk3(<}jm%e= z#F(TX9A>8P8r!Jv+b(%d98vN-=^R*A6gZ&6@dJ7+V=t(tDr_^}{z0E@jeV2w==0{T zHvq5+x(^Ww?$YWIam-~p8>hulca6QT+~?+QVYINQjTBLssNvH~@crVBCLYxXb>Srl zk7{vT7~>u#hK96tpD3t70XX&Hv&a(y6PU;Q|AbrsGje4un(YX*Jz}8(rQf`a>#q5XtkFj zNJPFaD9SEh8t=w;4~~SptdYy7C#&qg(7E@UfOvv@ow+r@ww>ux)w(19)4#)d;N?vv zg_^JeR~3oe4w5X7xU0Zv>~+_^;ji?IPY9*e+0aukuu|$W2I_4Hu4Cy}0BBbI)_QWuC1O(x?DkSZ?R_%3c4Xw;zu*l*yJ`v&LOqoJuMhIPD7 z;*0M)%M`VF8Xzv>{+K&*Dws_&6G96l7!?agx7pW2=d?4;?*noQe!D27&X0Kbs~fxdc9q#hh=e9mel*2Qb$P@{T3X3^m}+LuZR zcj=WuZhflrUH|*I1?gfzvd#|WgSIMwY`;}P{DYu6YV-QJ>ua_ob)rGFu+ZjY>(Ak2 z`^{Y}U?T>Fu!A72yAX9nn~PlS;p3m%%%N1v@gTjl2X6Pl$CIp-7a_DwBr(6MPdSsm z?DKTlDA?p;WC-Ou&_(le5XK%&%^6TxSGG3J-npQA*TfuZ=i;^fg6(EW0<8*n{pr`V zHE$QrO-9p}^V;_)OO_+UnWJ}8bx0dWVPWBWpW~H>WUjnaZcB`hi_iym$#?^3Tjseo zl~UNNsrqjp2W?xUAu3Y%!J*BH@#?0%cCRtmc=2vPVxr_YwV#GoU1R&K_x?A7gB1gR z4`s-Xn=CRe!Ed`g{k-qGkoUS&;XP{g7ETI`KB5-d3|?MA*k>4qIUDT!eV2Z#)4ErqC$b=h{YuR}mBT)KY-n$dbrL8AGNx$^`-Fx3CP?u5DSEo90SlZ_l_?G>Sh*bKR6x7cDfQXdZ zlu?q6Q=2ALl8P+7z#h9Sk65!9 zG7nFtt)W%|C#&aQao6idNauB_Pnex9xff|2+%1_tS?NBn8dK8VBwLKljl`=6rIIDo zvFE-I?vhk5T&+3(D#>b8<2*FkNAk{yXW+<9_G}-*Oq>HcFS`E3MQ!tmGw1OKQ|dG5 zkMZm?ZWFUC$!fI!o+-hkR0g{aMIk>yRB({v>TO_mJg__9tusyWcSlarx3vP#K(ZjC zA%gR9`NmG@_`wEV+gY6J*>ab6ITDxtvNko%K&VGQZ`dqSY)+0}(j!r`6X5_g1CmY~X+a5{(wA-(ZY3PVtt*I&_1$nCZ)A6tZMXw`e?h*VQf^!Gp zS{M6s)XOU5y`Igzt|Rg$L+ysC=`G}a?u0zfi@qQ_!LEpDd5=Fpg6}1WcsqBE5f!{p zylRq*{$k~qsoykH9JBAP_8duHU~oYiCma+or;68wFPO1*mK9-sMN&Jj-hI?~!aKFW zk-VU*@x3-Qp(&5n`262>jl^n*5_@{L5_>Zq+G}ZcpQ}yEh22t?BT;gYa{GgO3@P7v z1$3VOT>2BLvI5N5X8#V-FPF0)ue9RNCseE=!q@CxRP5=AjN~fcObqQ1!{h=*p}rq} zpoO+_y?Lu8<;_Xm@t9ERzLeTvoQ$zvbD}k@e8zwOTx}efexa;2tIhqq`ZGSq_v20n zlSR*#-DNNG=xW$tTO2Lt1HhebX>{zPBnr7p0It2TXunusD_;~feghYbLOQN+w8c37 z+L_^ppl`;}rLB=Xe@dGP_w?$jYFt#e=fO0uhw)ixKC8F<(VN@58m~)xU~~NR*?%N$ zU}1pn8&qfynnXwfw^T)A`mB-^&RH=1?m*E1=i$$qs4dgaF{)|E<5IoXf!2~&ro19) zDr?qLl9vNOnPEK3KG$nSRwwA{}{pPAn~e?c*WFPO^MM=SkXp8aKh z+s(vL$-wZ@2<_8_MMTfo^P{~cX0jw*&nnsh%sN5=v6i0^bRG%d*aF&&S$;bP%zisJ zcNGerq%Jr*;d6~t=pY@e`WyS(wBvPqIZ$&uCx*2o4(Nt8wpgW$(a}5B1U2eFW%}dA zU|k$kTI9+%?Ga|THJ$*11`1mUm`$^-Cr2CKEd7%U?~CuTa$iz1hBg9h-_k?j4~?}= zY06X@9I`jjgCsd6mvdWl1je0>F+_K6jM+tmf+a9=H1$h<&)7fwd~xp!NGJ*U^N5R@ z+Zi3a*mxd3@&Bzy#D&;c1HPBN4(eRE3rJllt+cPD6H~pC7uLuI^9qj7wK)2@Y z-SS-GL-5|40llhd^@T{6zO=~a5-BR|O6QG^>zb^Y3E^~LYTo23~aHNJ-ozOaZN_2?X5 z7dQc(XI)oHf)_va%_`l+To;z3?ER3sn62)9VM+PCp5Zig^$$rQ0lwVrFH%9`!|x|I zaG~oobX`(YOHQmAE2Uq0nDpyvh8z)*!Kv<2$FF7fA$1+}nD+EfF#f`S0p4vsX#laV zw_5#^!A5e!QoRcsgL4R!1y8+~SEEjK2&2O4)_MH$;2FdpslaT=(1bE*pK zY%7;?n0fi2+$ElH$$tUT=nD*o(F8;v8fC<;67D6LR>qk&Cz@qXAx3IVJVgC-V3!ra zJzHKpY^UUc%oNO*8dd+;gQ#vD2vc#ss6Fcs9bL1!-2 zR*DJUsXg^SlBh~+G4-Es548>V1(I^JU_VlX`NsipJP!sOPB2~P0-=HqODg|exx`wt zwR~GDxAN7rvEsDHfWqN1#J=EL!fOwASy}}c*+2Y8 zG9PGJKT}5+#SMN^xUjH(q>br)`XXsi(>58^?n~08Q3?O_v@ZTrCoicx<&E!Php<=b zo;Ruw6!-t<7n_S5kCt4$(H{TFVvl9^g1ji^6*_!6!C-2&(F}hmGw{tTjAU!RY^z}18K92|DISw^)oI3PHtjcf|wB^KaByw3kRZswp-Wm@&cg9GzALd?XdYm)c zH{u1%y-5yj+*Fj>_kpTot<;KxeePh63ln|_%w)_a9ejk35D)TquvO;Q35K9^JDjhe zzGQQXc7%qJg;y9@j+A@q?Jtyk=&mvH@OrO60-u%Og;v&ne?B~aT22QVnTGR9GPg>t z_`)UM`x~V6-2h7hm;x&{OVEb>=d;q&oyPiU!Of|nwgja6$-S_=MyD%-^V?W$zw~pj z389=d9giZ`niQ5?`_4O>8;H4fZ$!O)7f_idtWroq=p4NsHby-_dKV8Kh2x)l<~6?4 zWRt{D9+=|Ibnyy)8@=3A*z0cqoMNiEt*Ox{Lz_CU%XFSZyC3fPGA?vq`2d~hXi z;DBlE4%)k2K#g^A`E1c_Q3D<~yOu_hK96i+fLmm&1=~WAF&i7kv4t4>_)~c<*1j9` z9?bpUx34o$nt$kRF1xr+CPP7%-=0_b@OB)+v#^(QbXe^*2yj!!%LOjt#=Fzx_DZ{# zb!d@M!Asxa-n`ezB)=AyXQGi!J|K}s=zk=J{s7%-u?OYb_3iM-9KpOqsg^1^Lny90 zu-{zE}>YG)cqcPYl8Rz<-UFn z@xtlRH&v)$p(uSBG@b7Yz$wTq2hKK4?8jVs$yNs<=fbL=QTJuVP@^4t$Xge2YmafV z#IJ@7@HqcfXL-fCq3m);IDjnAau&!oo* zLFI9{T$=`oyNV&KU~|fTz$~%n`2{fk$sd?rv$56rI#+o#2_Xh)lc6|P zZ`k2WB}ZzNj(JCi6n2mM7EjW6rRA4eY%Auh z0?h1Jpo$SrR4T99Ygm-ZWpd?9S$fGtP9_vOS5oXizsWvuAb_Fk%lJGe4Zc(H{`((` z`7sZhysYD!3_SmlD3+h#&p)*QtpkV~Vgi%;Yd3Z3EK2j4Mce1N{TlV5DR#`xO)Q%> z2-tLXIzqO-#8sn)2wa$nL)(dx)O^HDam@qmEqtqx^}K2HZqs9>)OlieaP^bFuC5A! z8%Q=GDBs6iwZBHDNrE%#Hz)HuPi|j^pj*Pm^Zp~T28E(As%tsvMHZhe?fxSnK4LBM zbzA14bhb_8;WTctpou3kyBd$^QBuj=D7UyiGEfnlhkify?49OuljZ#TL-!E7=ZN(P z%`*IAYILbWNjZs-1G|h-9D{+eM$mP3YU_%QP??ecbBTPr=bf;HL6wK_cvri)_$BK} zgjBGLwhl<=x>bo~k9};kMM1y=`atJq>BFR06e;OR<0$o9{i}v2F7VjeR?TLk_`%Em z>rU_WV*V}edTPy@yN0nm@uueGcRhy6{D7spFPRTNxmzF4)I-xV$^iSPbU+;vuP0&D z>KzxM@ObkiLEuD$Nc9kNIIe{oD|Sv6urT+_eCet%0EKS;I^`=pdF#s0-}DHf^Q+NS z!7K6A+-Ks9|&gjbx`m8Bj+4-VCl5=@kf$0@YT9 z?=ZM_REI2DbWa{RESrR;gzr%n1zaRZ#s<-K1soQ5NT<@Yf1Pao86glgzeCBkI~6y# z9emJ(w;0EZIIZww5_^NG_swkRYX&8Pz?z?R@9f3!r6_%fRPT~+0*$qR7c+@e%qVaS zgk}c=iBOPVe{5`mWL`cjay|Fp^dI4SS`=5Iu0ctr=pc9;JU^nF-V3ga3`<7pv>?K{ zkBm~rq6W?l9d*;j8+pk+)q#!GU$AwpHQKk*WQ6}n{zu;?yZ(kIvf|{4jAOp9+iI{r z4bA5Avkvj8zrenCA(n0L0Orj8B(TYvxEOhW$EaWQvV#^LVkLVg7Iyzy{92oocU_`X zjZ1j^Pvw;KeIp-xfk&&~!oV(s5aHLF)) zh_uDW^^TM8#B-lAWUHVGNkGMm5x`*(c(!+?iV{ouQ1r=st(fdHI_8SXn4U=uKJ(16t@KT?ZAi$@^`SQ%Hj zF_raof8WDoT{TWGO<0lc!bK+XU%nKE0k7Z)7uW0zYbgQs2g}zlldRUo1D{$^$ z1U6Qe@<+7kiqjrD1_OMp0-jf&4a0e z*Gdo+ZI-A&e}ZKdBHX)I&AdFYUCEldftr!y1s{hyI66|{Lx>2VD8J;1*jVGvywi{Z zdAYcip4NaldgmJlZ<_-Hjrka6(y@aE7aFv=#Jk7d3=zJ%o8Tkx1U-CmWOW~}N1R{> zqkGmxZWCm1YR+X&X3Ld$OV!e4(+U=R!xvkQm zTU$fToQJxEwnq=7t&!lJjNA6xBGDB`N^Au8*yF)YV-qt5f!T|+e;-|`z@ z`Bu$aQtFwbS%xnH6}-A@DLmr_9@9Mpc)h9E|47hV_=i1Mct42C;hB!ddb}J<*fwC+ z_HL`?-F|L^GF5li$omD9u0VAh<44y;WQ0)Qj<-)<=BoZjqE_FLuzc9I+)U2-BI}s~ zEp3p)O~6Tl-r0Dpz>1gOcUm!CtY^`dVO|op0sDfYnE`KwP7p(oL4S@Ume*1KT}^%C z)ca``-K9aF!*|~g>CAv%XwhJ!p&IWD`!Jy(fN9muG@km1SzS0!k7lk*^i=1|&W^I7 zY6}+>Pe{Gu#VZo{W7iPf*>v59d6s>k%z&XzM-v!saa2a}*9OAy5GO55n+#@*zLFhgr-|czha4?`>iHF?(8Bo>*IZA zvgUBJAz*F{@UG^5l3R@hEQEeLJ(%Sc;iwdv*RxB>V-CZrEpd!ZPh?0y`MVZ#2S9O6 zPKHs+#az6=L?+hD*5TU~g2IsIi8?6{1u^eyjJJF%Hcj5^D(^2z$kzFKnq+@|i zsGI(tiM!2RFX22Tpz<)vmz*P9_S~2Fbq(>jbjxx$n=El}= z^h9vbF$r_X9^I?C-Gf(b>eAlChv!w}xhxji!N5b3o8k>*gnBR+m6?k0>-`Fo;wwG$ z*xiNXP3&YH_EU(fP<#5|5dmd7j}AUv8Lr$qEq!#U%XBkJ2-})Ge^LIb>unM;CzZKr zX~w4N=0#pnH5M4u$D+=w)^#I0K-kwQcNooZb_bR#Tl3nRsRH=w)lVis_z9QC1HcQ^ z3!){#XjA+Y$qyf~AO7xZ4|Ox^K;Tj_7ize&wQJSxt7EN4>F@|yBQ_~%o+?U8$_zr| z-!`=p;Ja4}cA^F@`I-85@qbLHwyBcH{S`l}Hqu-r_Y{rq zMsRj0_$xiQE^V`imh4XMiTJMj37OeM7aDuNWoV}ELN>}MWtZ>e#(^+zs%WHp@Ccl7 zfX^?OmM`suRCRHE1{?abJ>ctLp3 z!99HjskU%>^oQb`xmocg-_ydiJ8>y-#@nDCpt)!5^&>tpaaIzVt~i8qIhmDBWxiy& z+v8PIE=o1|j1(cINJ9dz*t|M<>#ZX-W%N5|T(2SG{EzMbOlBWmcq`l;?hF&nDags+ac z?5Z1gF^7>q2J(>3a_Pu~BuBDK7N3~TaBGl^ysyWAdqcIU^)bl|M5(o;14D#09 z^OIJjW5_U1I4N6Gt2@${eDe`SfctB@e^m!nc+p)%E%ejku;TL#<2h(pM^TXA=n!v0 zj#*BOT+m~(**4L9q@R6H3q0|r7FT=LZ8v7Gy7%rLt@UtK;=~HabQ>97-7n?!EKgIz zl(AvM>>8ePf(I`@sAS94L@9}Xu=+Ij^)e+2!bMz$)U1?YpWlK7qXbIxv9$4yg1)oT zVl4wfj%7XF%h0E;|)~EQ}9$ z`o(j*Dk;j@si_5@g@8ol!Hb<$2?*3 z{M&ZoE1{V;dxjOQjrVcP<-V``d6kAB?f*-u^{Mil@7_CUzPrO;dO2l`)+FL6NM#Ks zLqNbq_vcSNHl_C}q_MtUN=~i4wM?D$&dc%}9{tZYsubpSo!u@I`95@bU&jJ)8|Yea zXq6q-c4x88u+laryTa}XE>B$+{Cy4q`YGQ&82`u-2_w*!Gl5U~Hyj6Blv}CU# zWw7Dv;t#ZOpao=+}KH3xZ5#=L^*J3zZ&CIwKrpR+}y zw47T$wdw=GU%CF8e>7g#kseb5ORK#ac>Vz;re>rNy8Z|`X>0w7DVu_0do5?_V^z~e ze8F-`g4};3a)cmr#9iPdQh>{W+w^TFFS7ISu=8j#8kI7C-&bc!6{suc8aXPf*B;0RK5)N^c$`57PDnz~39ewzk z^axVGKxjL-8AHg#sbWgrUjG0)gILrROoLF0s_HXUBE=n3h0wZ}H-}4OTXCAPl!~>G zG9qYVYvMFhTej*@lD{$9+POTtSW9$iJ%d3~Xme!&*|=CStuj{LpUz-fs~ zSFUYpY_FcJnA1;yK30=SQZgnF0y?mP^3&!bnr*T{vL8F(63I(rAk2aR%YP7!{Q!xv zy7$-hjE2HerT&&=DfNA`pr5jKiLwH&d2P*=9&tyeWXjKxJ=e=U4i15jA`eH$>h+a}_|D0IQnH>E z-M9wCRo^?1gfuw8`C6hfEv5c&4bx%jk~tsz0#YC1=DKp80rFP?k?NMjIGqWOPOI&A z1iCovcy@MOfJ01v+~+{QY4gXYe)Y$stL#dGOYkWOr*Pq<#Ew2}L-Q}os!p;`j--qK zq+Hb!{|-8&&3G4du#Ax!IS;}a7vZc%2Nc(Sl~Fco-QgE^O`QIMi;c;Hi^m@ zAwIfmAz55z$MJ+$E`&ju)oqK9wnX7C<-v;-4QFSGk}b`N?+G3u6v0%4&luOr#9j#U zM)&rr?g;ge@rK(p!CMW#ET%TrAQ)Tt&Ce9msA}50jJ#)0R6m)_}s&j z;OK3BK0f^FW$DlF<0NJ1u|QyHwdDN$TnCqG84$zrC)c~k`6?zTQ+rC-hW5O{=1@%3 z3N~Ops7Mjq=0Jwt9ua-Pq36CpmOw!cZrl8hX6wV=h1_Sfn0+P{N)RI}q>wc0dDx*^4`7jdxCvWy3Z7B&gqhih%0j zvtfzZj)mS~|72-m)xYAgeDenyB6D)@Kw)!7X*&dL6>JM$$ke&cBv5k24d^1UIvWy; z3DwSa)e04xAVKLjFd1uv@+kRN#w7RIM~5cMUx4AaW!Z?pJF zW^%_C>|TASS)W{y(Y&|E$_1vHNbzi-(|rk@nv;-TA#eGsB6mHZ{TkBp*zGIJd%v#D z*zT5*7j_JlU;AiUnZHQ&_fN`FDvCmY$^!GURVKaH3fxiK)RugE)K$WFL6ECKlqZ31 zx`|pEXS6bGRqgLUU8>+bR}qLen(x{-puSe zN7SrMGVgKC@8K^&*Ul#wL@HowXh47NBZxYlyx#GnO^QLX7XL>hJIm_+=;hdVWP8qi zFnYWNd;(J2kXS@ent`!;IJ(3Lq4{UqWW5BxBp6>%NUONt=BISzl9Bue%-E_9Lb2lO ztNqj>(ZS4BlH`94XHSNvH=jXPN81KEm?6oMGTn_bd2|4&@qO^;cnlD^mWcdl^!F^= zv}3{FnOEw1ASvr&bFR*>V4X5Tf#YGF*+sO(7?pX%?K=VC2YM2fS>%=jf?5Z%k`qs( z-ahXBfoW2d>14iC1d19yoXtnTOYj$0(3{3;oWnhR@S#4^AngS;qwulb&CT44CJEB3 za*o^gwF(3TUz1VBcNkF?(*^iUF3bN%lKZFQK2XS65MBXQPAqCQs*UPVOGj*vF%NRZ za&6E$)sK>2R;g^DNe#Xn!~?7Jai50m!?NIO`AC?G^y+}Xtcf~!*{XDpjFwt&cQf3P-o)j z^9JKLl{-=1&qeA5ifdUWzgv)P)m$H?$m~ou0T8Y99)E&9#tzJ2`Z=)bj)f2*=B@1p zzCvB|pX@%w)O9a#M)6HQmw|3eZHrpQ?E0e^lW1N~u`fLd{x|DXmXZh@$qW zLVR=S<`-EGBf=5B@9|jcGNFl$z{2X9^kihirBq!@bM-V{#2PzWy zs1lbK)WhSaU)7sv^|G=NaXHPN?CLUn>^RrB*#($>e$|N^G>twTDXN(+Zb+67OlPAX zeEXR%;D$;bjWO`irAj6a2O(Nx2Wg6HG-D7rYz*uI6Pk)vO@I%%A!8r z4-(wne_hljzSb`1GVaAB_nevom!pwdY|3{hOz$uHZNDZs7~m|8QR*bBPaL?sH#)A& z)71EepARRw(->R{OUEl}--0}qIe z>#j0wp_AF;8&de<^6P_y0PC$kPU9Ofk#1gT8we)S%XHv;(V7*m%Z-E3*-9G>xw$mN zYNF>xZ15K5p`N|T8hJO3cYQLW1ziDtsCotIl?QGeAq`%uWGw@32~HKs^z-n#zr!o9 z+*FcP1OwlORJgyUB*_H^J8A^k|44WgrCq>wkXrSdq%RLHjpOc$Ch8RIDsz0)R|8ys zz)$>SS_}zPqM1qhrR)DtEN6u-hwCAn(~GhInuViPUz;HDmE?^$U6IhE&SeKu!=`<8 z0#?URfBdCa(BW5-_^F()%Q@Lk(77tF&huVLyB0%(Q3Y<3{zWHJm;gOZVcnH|P2zNG zq?-=qNgl;vVe+@ju_tKd+o~U8td*uN97z363*E9Gi)gh5(iy`MO>F zmm=nRFYQNX38-~8tZzH})luBvRX;tl-T3StCOw%WWs2bC0;TDVF=@9&fLfZI3h>7I z_H_%DmL1zJ@+fT#eC_L*u1IW|uGDvxY4Q^$5aZ_)cP$w@7G zHv`S_3ni}SMOJn37o{XdWR=2LP2&uy!#uLlydm|KQ@xv>;;wF@0|t<904#^bNfMX3 zMkA-_**~d!Ab|U|HeE4^a&OQ=J6W3QOsvQ{vhO-ixvD*GTwmOGz*B=S0v%I==QMq@= zpBXo`4*E<4P)wh_LDYWZJzh9@v+B6lF|OK{OBx*ZWATY2Pvg8b&_nD0N7Gw|MfHE* z-$P3XQc8~q(uhb)i?noypaRk$DLF$(NH>x*N(?E z7f>Fuwv@?Rr;WLdd$uVOKkf56bR-KssL8zIXdDR6nJ;Zld@DB- zfw7a-;~AOMKxh%?DZ_h*(72>0oNn&lew0ed9!zDZ80$+}UL9ZzU%F*Fe|KyQ(29En z1a~tWevb=+KjESi8hd9r@ag(~{iT>KI2-&3WrK>5XOwpxeX#1Z@bnNBDi+)71+DD; zjK3(C#o~~!t9O>A7KfLd;*q2}BL7Cv8{>T&7%0g>-RTy_6Vm@1PC=QcEuUw0hNnw# z3*t3@PG?UKdZ8|7)ztyqJ;F*Y&HHb8ass1|idx%eUD#_)!P_Esi!=#)HtMRaE=c4S zc{9c5Lu+Per?J@9`2V6KYuj5#JxZN@b-P~_Z@L|{7(B*4Sp-xHqIk#9+Pj~%cR3vo zU%ky%T+frrYMV`!-#f{5vczErP^VyZJJIu>N{<4l#FDeZrM9<_WJ>PCa z)xB24`Rv72CZMin%|WKtE9t8{2Wl~^8d^Cy$CV&LH^S$Xh_H$mR1N-3{i7jrkM4dz zz)OA>J>#PCk{N^gO{TbUyH77Q895^5dz!l``6tJHCyPE9CP=|OC zHR=efzKNo7i&dVytb1k28Z+@C?=)znIhv(Ov8fVY?tfTSU%wx>ns+5g(RRFS9SXnH z*V)Iq+8^y4SSqyVKG22rdQDw_y9qwLRrV|I!x3QAtNg;(MNV$Ne)lz{V8hrpio~Liewo0}|5Dz0vlHD!Jl??1c=+&B>yV1tJi%s% z2&}8ojo$Zs<3|L?=HukCI9(OQhI_C3+-fhFB*^hmXdxO>vsoS(ZM-vRJ??7OG0B1V z^O3CZ*w(Dsy8L|9W>YVJA$mxT{v;vwhjNXbJCoDw1IHOB$$?+$XVI)_;5STnDUozd zQMO9&SS5QEeMCdj)_6BUWN0rP?h>$qw_?`TP5}@^rE|c}cfwCgOHQ-AoO(ozy!aK4 z4I;4i)X^&EmCD(x@D9JnWNMjC*fzXAdBlN+iZTeI9u#mFjSU0_NE@ng4floC4`&mx zPb>e%`xg%vCCcrrLPrLll)T`Y`2Y`5ShNaUKb}wBwExNxt~k;0z^`~xdy3I)W9FD` zWL!K(RaQ7eZq5D`OzX((*HoAfvLviEZ*>Y*!sVQ z(EPMN4BZ3xe=zq^Z>D-C89Vev5(7Y31Sap66zhDVddR+^_V2s|DMN(x%e*xY_D5D0 zEILgR+xhj)lM|7F$P{@y7h6z8&Qn0kWkRq)!w=UQFkuID0Br>1;ah4|Ah(n(p zYbcN(J&rJ4WxkkhlXm;aSERzIZ3tvw7|a6N0&$nft+ghZIQwnJn_%AlPZFmpHqn7y6j}lz{J{O+)QoAI)VApyf z_R<6mSWH+em$zq%;24;CQ@UuLy;ifS_KraV*HeaXu{Ho8MGWw${PVcg+?Qi*Lsw<4 z0|0{^d&eBrlitdzyb^K0^h!1#{h{ac>^h`lXVyrMbQc?k^P2#p2-hXbygh<7K!6(y zKodGxoLT@C1eZm>-A1td&|8si-&1AT#(W0qo!_74Gn?%^@sO>Y$zD6O@rcs%|3LB+ z2(5Oh;y2~nH8LJkmpDWE@7K`V50KuQe_-kkjv!_0`zwAhg{c86na0nT*Y)vwK|3kD z;?Hlhh-Fs_nQnw|r2U&f7W}PL@mG#vpGOhL#S`ltY3f;1B64_=f8PGO-}X+>18}hl z^$UUh7JC87^%c7H*G)oEg_E&`n4sg9v%`nb&S&&8Les)pMSq8d{nlelM?xO{qyYO$8rn#n|lMR_c# z;J=}xqXSMMAL#_&5D)NGWU%ueIeciR5Z1L!V9uOzqI52{Ub2BrFrcY^opBrOR>rHVwJkyzE^osk^w--;bT>pyo@zM!HQBt2mZ z54%`UylmlsdaKu5yxYD<^P7AL56ueg~4VGjXIq zp-AIb)~$yrdKO#k7yK(zck&##4(T>0Jup<~@B6LT$Lzezcqw+HxlTpAhoZvD+Q2cN zwVKAy14ZYFiYngg%Y5D}m1`)iX+6R^cHgb`g+={&Zul+$2;({U*zw@5Onxo*6ISKq z4e5j(@tpJ(DykBQY&aUYVuT5gxkOi!T#QbJPUf4*f(L|P)>tL2(F^1SEiAwsj z&D~Lhqk`!vBEMZrg&Go;>pB&F)szfpPUs*GvXm3XgjP5NWKEt&PM#NhA6YB$ef)Lv`4d=bG3idn zva?tH8O$no68?oRG_Qb;B1wIh#w&6ARbL=ewzSV*X70N(FD2aQ1}~gFg}RS9f0HgI z#nuI}q~aUrQ}Q8s#pdpli7S4MXw` zFXqYF@hu$#>Qk3QA~TF1A(%%te;@Qgu4Yh%Zb&9(>7Q!9W4PS1M)2ect`kd;Lx9v{ zXlw;Cz9N>-thQ+;%KtTbbdcDG?Q1{Kh7>L&`TMl?0$~15H|)n52e$(MeHPs>x~zC&K2|qB zF|87u6G&1k;D3@Ins!QhS#>IA2M&%`TlMyZJMKZ=U~(==G1q9ADL{026{P6H{2vJJ z7v9ZuZf>-oKo`QTY8oyfwFJ<<5Z{mF$bmMg1l9}btOY%ZHE5djChctfIbI)lT)(nx znaLb6l}OHC5cKO`Dktsl1M9-xuxe1vD9K8(;rpp-a0HR%NCV)49a$M!5aOFzc^b)( zE_JWKDK!5-(AI3vY7^pL;HG@sitPWy8}fv6rU$bvK3{8FCxno%RqSXUszkh{aCv^} zMzIFVB#=Y`NfD?s+I}~k^fSkE}*se5QL5qN#TLGdF6kpMizxW`Y0H&t1Z^{B!Ek zYcuy-0^9_ct?j+*1~{gJH(WKV)8gy12Kt{r!(I$&EcCj)(RjXFPW6HRC@}pUMP;b{9v9J|H0ELR^_5xu6yuJF^sLCLRQFBXqdC1%rj0>?T(Kx>y6^&{->*<)Gwk9;OUii7PIQpp#Y5jGvSI}>>i`?|tHeu}@%^1GN4qF7WpMp|&uYMfv=ZZtWusI(Omo7I^UN8?O*YHT;yzk|ic+o5&-OsM|-;|SOe9%bn zP;T%4hLW)ST$s}if*1x_0zc9Zt5S=}+SCNdp?)v=`&L+|k=duCkUFA@aZ<2%>{;zQ z?C@%Xr@0Q6cJ=bh31Q=n@@`~BkbJ@NmQ=?H?I``X{gh-0=P}8-M`3xY;6uwm5J(+lW=IuXiMT-n12Xgz-;J(I ztA8)ukOiHj$QhLlwp+jNn~{`ag!fq#oS9sXL<(wN-eT;W2Ay4Bc4W3#^L`tVIqN~V z;hiHVE;B!CgBY&0*Iu%GL_LQ(^B>yuz|gu#(mk}(RX&^emH8WAoa;f`i*OFqx0=#l zBjRV)h*KpFSL1h`h7`9a!}n_5-S%fcO)hZbGqpKA$<~a%dJsSc3i5nNBFo2HH?p)* zp~`gl8&PjVh^H_#SOi#KcIsQcayMl$Nj>pMw|gH(wVsTb{e`Lrv=rLGCjV-Kgi@yK z=kykIsGOTR-th7ZyN=N}x!B8+BX7GaAtB7rZ`*#Q1$^akHj54T@-lM7&`!a_@6(ax zCr+$1N6QAndn;_|*dIOokn5GF_WNN354-?C{2hF+QI2)&U;Xg2Wf#!{$qe#9Kg{Wv zN21e=LYYKR+eP6w;y0Ue^>m}a#K{>sf2Mo)L++8%4~LtGDgd0x|NB^gdy26w?Dwz3 zOb5Z=M|g5!9YpBkF6(G{;QsDH6=D9c#IE`&-Lwv zB;m%{UY;~{!y;}H%F$w5EeY%PTy3tDoA+jsv-WdyuY~4#*JQDWVZjG`j2!(KgK3Da$MvLbvLTHF?cDIf!{FUGmW_@Vci#d3-%N+-iR@K8 zgwbkYFQ0GfBk|3k`M0X9=iCBwrmR<+a?_X2A03DZ9ff1}+{ zCJzggu-qOUfFH^85iuO(Hyp;1A!Ye;JMv0IZA%$bGa*nQB_*?ebbhsSwO%zsz9vY| z-G|_H=b?|_Gv&z3x$xY6b`k=awYWf&VvA4h9>@A`+942O1&-7HJ{VfIOk*c26F`5KN8VGntMdqC4p3VAD(K~0HF)qwVJlJnd ztg!ejb(qp!x@I!JA(ouzl3jBjmC+u7=Pf=nabIpkI?zv_++pmAGLx&3t|W*I!@miv z4b>ht2~2M#<^XUo(aQbyDeakk?vw$s9rs;i$vxQF$mC}RPMp0}floqr``Jz8b5;@^}UBJOt7)OQ$ z09IioR!?_hI@tDSu9z~iN?(rF{(W&`-Xcf$IPDYX$jft1U9&6q@Q(>PL>T|8Hy-aP z<)*%+Vaxwil@TYp;SGDP(C0f~rGKb;v8;TU>tS-tvVG=@l#VjMiA^omR#LKa_y<%+*m+SZFHf?@4&d6n7uyv$KL2o>qn)xYx!v^i$@(5r(AJrciW zO}W3qhTe`d_f557>LqI9z*Artot>QpP{HNsZe`3UuyPF1iP0IGw<3mdsvH)Q>JQ@9 zlWV#u;Wwdgofc~UB*abt%;o4uIF3myZN=!iG;^?KPq|B9-^f~`;MRgK@zb<-x%L7D zto`OBrPqqLO1P1iuufFm3K?3)tGGG4qtyK~+{#=k=5+q`+!Ie5{v=ODR$=SPOJ9-x z;)QO3s%JFQ9|A*^G?+ndONPKjf9u_i$scGP)xYFTX8D*|C^JOlukRJ=fe>|DJkxMo z(tbGHC`rnA0riY{O=PB{JMo3Iu$48EEsd}uND#QIbaG?mH*~;G9bB_GZoe?>>QYYl z_JT!aSJ?c*Q#(6`!!N%iC6NVk__%>pDwKWm+crTv5C1at^i1>VLfVy<)GN(H5QRsC zUMKQhsxJwhYI4HVy~eTv&O1Kx#MaZe#5WhE0L0vIYviB3>^0owI{Y&GF8myvhy$)a zU+UCm-La20cJTRIb3|Imdl?9Z5?euS)c=8Ik?a6yi6(*h5Xe_--5@Rzg@3U?Ms8aK zBHWKPPE|IGUz+R*w&sO%eGM$XixMu?-c@G#wftH6dZ9k96QLM6E@xUl zvnIa1vSg8kV!16K)TrQZod2;^G8%kIg|WYt#nc387HC!+WH0oL^#&rBi@IM&l_;x? zo1p2>Wu9+hV^Wj}a>sgy6gh~KJX)8g#%i_9A>=db!sDlq1Aj2#9k7p&|z75KDI z(OCS{Cm{0SQ^Vd5atGXzgxMGq*Ff1NE0L4K!by$Embt&i$vgsHAw)GUUd!>p#ecqf zt~B_vc#WD@5+|lYXn@!F5(`FKZ+y(!d`r>~k!g2FZi|b*tlB z{_ZW@Xa^zQf}N|l1dWJ@&wrr6Y_v6o?`hBdTlxKLm&`}H>i!jr0 z!v%4B_oZGjt^dS^?LU5vBZOlWYDB9^-_X?}b7 z3vTr~`LyBjy4nT3`7)#SeY1~qZDXRw8D7o8EQwAhREgl4<8I`_lfSa6mXWs_v+S0t z<$HDao>@%#8kXbjDUzUy0%Kp)F{RtQ&E=x9SqT*!P3i!?zD_AQW-RZC5iI%`*^tQk zx3MzEXZ9I~_{`?xa!yU~3Q6u3Wq>cT%Er(%nMSq@{^Z$s2xyOwk)1R_66i+lqD#Mz z5Ks1_oIt05CIgU$%tpyO9Fum!{W5}82FRVi{7g7gKPBu;3&YPUNU}+Qm}APw7m_qmQ?#c)HSJu0BaD<}Eavv};6hv2&#S_LDhGlXj5|P6 zff5ICP(`&d{^J@n?Av+T*vP+GYJiQeyC4vw&$SI{z$L9xknn$0I;H zH2qAXR|vyB+AS2r#x*UYBGjh3F6em|zWjDCAUaN?`}-3>Pk)1F{bupn!XIJzd@(|l zJ`l!-{ogdn6DxpLT4e?V;52?+%*(|)i`K1?YIdD_#*!SrW&5YVuq_$5*^hRB!0;reGOSAx#^P7bXo_l_v&3=v-lgno8-05aZp zuqXiS8&iQ*-Uznn$@cy3`Y5HmaQRnq^556hYF?PxiE{DaUNy*GFM(VzM(CCiD}bRY z<0>lHmtboA$rO=jHd~c_w5`yGzeV`QrmUnlaDnf4XCn7ZmS@6n-p|4a|AQDp3z=!D z*{eLKo`S>B&B{*`fW+|9J3fBsw75eqUPL|zdlC_y4aLAm@g#!OC`ph*1wu<-qdzteaWRHOr- zq?hF{R4Rn)cf!ocy^Sryhs~@j4Pspc!#+6;YP9;n>y+U*9Q z0*43X!;DIL_P8XP8f^tyAi8-*T3k6v^1EwP>KW!g79h_8LSq zNNO6#6C^d&CiWfEZHQ+3?)yWy($S&VA%q1Gl3PEF4GCbl1_wzYdOk z;UqtYqfgO1eC2p#rASfMEL^ok!kkOh2H6DUV2ja1tjd}vI_ z7Lah?ANFq-FcE&fbVUd5o4=lPYKdRUcl%yprSfCr$YAJx^BG1>oSR!4&Bp!pXZ{{Fuh+V?E(Y2;7_XlRqjZAwjQq$s#~wV>=8q#7N2&Yl|x;n z=mI-B)9-I`SiCW$74{{IM&y6C7p1^nVoKf1|3cCFT4W9xn(yh`vm$p^*qi%)=&m=N zjF0LZ&F43T(^2K>i`-Jm3%F^iNL`x!q?^QUiF+1E6t?bHDYeqvB^H$ zS%}VnpX6WpmxN!!nOOX&WH`@ZXdm zer}h(FGvNWvrZMaK(^N*GIr>5C&WI(pYp3bAdFJ+ijexPVVqgDMN9@KU$Y+YsKUEZ zXsy+-6`B*em-PX@l_lL2`7STDa0t#uk48^21W9-Tsn|I#$DTDlzP-JTx|5KPL(PWS zh|U`XG2$Lt4Xl(k0IW4nd&oV=f%nZ3R>>S!j{jVdwHIQGTVAbG4Q*pXTL5bmSCOwN-sl96QbMo!*;wPbBN3QAEM?EB3o&Nra;_udxMb<<_g zU1X31T4#f}bhA>&daBK1Q}C4|%U|<0hu4Zk(MDV?5U9FCvoEo)u1RE}61+M)y%kiXHID zzx2{2;u~f=hp>7AWfO!5)W&E|pQe<6pef zB430}gz&4f%`k$9&KY(YeqHvOJ6X@lQ`<0!m-?;A6V zS?CU$E|nw>+0fq4_3GCEVfXGrx0{;oN;;nWZYgweo7oTseUox+O3elK**xd-;MUy+ zh!>>O_o^B<38SVl{HgraewBX8luT<0vlz)ieFpVy)a$C0=%?B^aL3!*-%w{z^P#E>fBep? z**?T8L6w7m{yawOJR|E#WPB(i;ky_RhX3*!16z|-1yi<3 zthaOb{s(&0Kx!=Q0Ika~s{}m`n`9yS(q3aHMyzud@jiVRl}e370ram)`=vokumChS}mWSvjpb6Oe5wj0e>6c<$FsYq#;FC1r&Z<3g zw6J_wNBY|2Ljn^#9{`iSZB zySWt?x*WpED#;6b)93Ci5(g^ETy+Cr0ijJtn?U(tmG z?jj~o3Zj_pm=$4}QPE~leRSE7szC%Y^O5B50GIP_x$iqs+vP%!m%3Z^qi?Tj z*@gNgM~i~*>^xYfgmoCXq|$9E<_W_jrFEW!2i>fNzPIQT zDBuG^@cWE(wz>qqm0%5-?tQJlUJ8_MY5r-ta+f?HftQ9(C}BjS$S8hd5lH;a$DGzU zYL%n&h}xIB3jcvJSqw}nRqOQ|g%zmW+jvR>cSTWXfiZlEl|uIx$5nF)sv?k56Sy~9 zJUi!P_$f%aKR^lST^QeX#ei(Qi%;}nkhJA;g{AjlLG?BlgQ-ypR~bxAwVYnRJx6TV2yUv931 z$iE3X5WTM*@-<)fdjB&-zv+j-pK4);eG29#*miM!&eOY!wItrb`FRE z#X2T|1Hv?eJo&bTTW-e`wdK>!CRY#?d3XoIQt6zQ$>(CUugdT);iODYlXY0z%h!<@ z{yG`?+RLbhP4J141?x!Ve;~OlOKigx_i|kF7{zQi6m7yk=yR9t9qa$>apWE*h4Fo8 zmeNo;QJ;p_V!-YRoT?CI*XmPumkptL%m6qoE#7>z^5>e6bDoA6^evo$=Nq@HQ1+`4 zr!sO%;QNjRgX$TIiM7fjs(RS+sUQGWLKJt}`)a1sbJ+MY@J#Jbzd31*nFf-cC3k9= zQFN92c8Q5l)tz!j%DnphwFCe53F@TK0Jq|RUpRib6*whg*6AVoh}NQCW=xvlZJKcO z^UnUC7nMRtF=qDV^lRA?e3F!psXLZcfjgB#%fr%tWEYaUL)6@a73hvwt_qu&+e;_j zL#__=yT;e3r^fKpe)oA{bnhi%oVxBN_2dNspqt{;egys7N5iSoKg(O8^N4Fbr1pJ$ z20FgHVO_+^dMzZ~@yGSctprE|z8CwhdvV|xQKU|q?U}ARNlquu=e_*OPWq%IoJ_9( zsH|oY{zLMu7^C=tD#@EEeLe{~Jcgg$1Xod&=JDxMQ@Y(uwl;FPhUHDtfiYySJyild zjLg;bYFeslj~-Lr7yHhL*WrYhX10yHFb#W!3e2v%^gGM;FamcQtIeD)=3i*2kp4_i zu=2CSrTa>D)2J0DOA%7a$~qB4Y=itP_}u|x<(DUURpz8(_n%nTEh4kYqd#)+?pX|8 zqoR;bcRUNJmf{@3RY#HwRII@V0DcqRdxfP7?|Ssf>7lR0!DEE=>-ATt}^lwFnrN2*#|)9|dAoo~MM*hBX0hwr5L zNF)tHoamFzN$5WVS;h3Dba=GF9QpM%pNfm-wFR3JgLEJA{I29UFMm+ABCM61}jl*!w7D022yo)0ZK*+l;@*OK+!q*=9DrxsB z#o+GWBDf;rGm!-IWe33vUy6@3b)_E+vKc}jAbyoK({l~kWGmKGOW!$=)4Cq46r{)w zc`eGQ^v?pVC$)RVw^b8X5RK{Jd|+xwjKlFH2F)COP|QHg{J&W2@<9385m}Y z?}BG<4!O2E`M^GbdCRU+y{|2gzFavq zjk;-Z*szQdI>qXjoy1LwL%c7ygZJ<&d-AOeg{pgBR}8P>Zg#3FY%nbowa<9CdWn~o z^3yq`&NnK4#Cc8RH3V#g)PUDxY0MJp5~>QoH!8{qXo{GqdWd~ZfTUy6kkvKK`bgEVA75G!|jJ+`ASuR zz**T6u#&8W*C(m+M)W831EUEMcP>?>zkFL>l<_m+l1alWyh{)#k^!lL>tKGV4wJsW<3z&4vI`Ud(caE|2PMU#G)*!ym z&Fx>;U+CQae0ooOklFUV*=G-&C>3|`Cb`=Za%utg904x_ zPN(t%bqx`W?!!k8=Ox*~`9xa%m0+PwMP(@t$W+Z@+_4l%k;VR@%Jv03hk`e>*D%#f zy~))wIbqDWT>Z5A<3=_qS#&p;m!6CKv*cCL*R;)D!W*|z36DcHvJT_f?~$ei6P3Aa zQ#q;#Ssrqrio5aBo=>#y%4==X@W1Vd45gQFOJ%ORC`WZ0F+HetE9V~@)91+Ynk_PM zIHe@ATs+f%0c@oOWQPaFn~Tk4pT3%~)&C`}Mi8l$o%WRd9C`k7s%%%5C-n%n-%A7r z6w`*Ak?!;VfizWB{4*^Zd2tE;1}}d zXdMh+NB%Q8f;|%}=j)7{B?`eS*h-|nG>zXS$-cD`Zg4CI8X`xgqQYE{8DaeTA80Hc znof9{pW{ycOhms)fJn1{UGsE|rBH|($JStFn|4m`ch0b{jQ1f|xamYl%=QRTdtP{x ztIL!uQdTpDCLNq#`NnAG81P5MXF#b-H_0JVQ z+jC?IwEcdYmL*QmdQ8jq@-sXKTr9j@?a8R~DY(pXiZ3e8BcT0iY?9Jc5?s&_Rf-R3JK8%~g9Pj?>uKN3k;MORADAA%<()& zbRE{a?V{nJuDRQ(d`+Vm<$VQuhJhv5JFS=GP=O5D!0C*AEjW>-QD8LgofA}K>|@#R zZ670pwdEL5G;XgbM_TgWO%!>boV!L=i!PDSGq){jO%@l6WaIXe?D*V|VJ>Rr^iiSjjg+5V=V5XO1Y$RNgj}>JQ zI~hgrxjk#N0V!9?^={kGWY*6X>H-A;pa)IwPa%i}l={{{26t63KoQkg)l3B}ePIP} z^Hg?5{=WVuWmb5a$6@;YGz8q^kxvB4JY@b<9*38xGZ7YDV0qS9Y2&%cfOUH6Ye`|a zIui2O*=ts^1lz=o*L-8Nz=NMSclDgpC_Qn|(lGu?OJueb%Y)CD3_%>|ziu;NPLZ=T z*nEGWKxNu>j&P;3)dw=@IUdlZPJA;9&?QVWbkT95NW*(7+;PF&z6ZxotRz<8l^q3} zgWh&Gu-xdKGZfnVh7&CXBI(>mos^!Ov)u74w^W`yD z&gO29LvPP8Ma{5OQ>#4%Y`-osEqKUh-?~5m#oG!0_K#COut-PuRkO>~JRO}NT^8L8 zCrg3@-nk*fUQ%@R`G26#;iYX8~1k5%NYBtf682&m@$II zBJorY**eWpCr~im2=Hw*>4N+Vje3b{7Q*HZ707_{*FUrcIO4i5fDTB>{3TMZ87}{3 zE7$>FgZBk*+^SHANZdvUerxGKt5alNh1p+^x&_N_?~+AU_@_>bv5l(ZQ3g0EUj>S{ zG}iSGz12s-ut$L5MhCo1&k;PS+cz{Ia(Zj9D6J!k_jQxd9-UuHvwBDqoba~#-*VeO zN#;-Uqs3HXv%5$vjkfcm#WC1aQ^sSFQD4!vU9Y;M+kMgjIcCkK#Ue*OoBggL)<)RQ zgV$oZN?@S#*Cc zsqZUL{aiz|-=#AAn~9W|jsC+GrdiQt$f)G4cFt$k9{+#j?4o#M6CQ8Q zBs>&HBo7v2KoDg?kI5iIv|amo;{*n!sM(w_&+e*CpRDs;A8P<4fxGze9CP&EP|wM^ zW3oE?XLsS0Eiv1Gfh8L9aJsl5rn{#_YpIEZTGc&}C7$;jB<@`B@!FFzxCH-AjQQ|X z1HTqmU*O>2HHg{5{gPB|#!ON}cZIZv=ZND2&QO;o;totmZL- zoFZfHNX|7IS*MRKVSEoz{K3Ne3gA2dF=8lfA^5o;dQUX=n@iRB1-*pvFf;SlCywiJ zVLAgG?1}P$jL5NJxfy0=i$DhsHTc(8s&r5vI*R|{j%{#cb?f}nuxRjop~`3H?Hr~p z(3+h2s)xL3j6e7}Kq3vMVd}DYht`EmZ-j_)@zobLtofdwx(hHwFuwn%69Ah2k=42a zQy}`Ep_&fpqk+tM+a^mug>GrUci>-$7+0Y90aMcg5$DY2r?nj(=+*4bgmCV!BzIhh z3?cl>9PliT$yC0V)`OP69jj1XmELOctDa_)vb(o-?qvOJooY4mNYIkpWaXj8Z<6KH z{*jTD4YGcgjXqP~A(E9Ubo_bS3@3hZD7wHHD@F$rS{BtmD*Sk@1$q(VN=M@)lBl86 zJ}fQjdaPJ78esVmXlsdi<@2tJ(Y1EC=mPyX7CmjZv;`1P!5|#b4x;l~NQWHqd&7y( zR?-6|^#0fJTQDkeO9REuq_-G2z=^Etf6^`RfR^*84EErJPOcOXr~ft7G};|?hJ>{i zS3W09DQC4VMpIGhyv{PY7&Y}VVhVsE+k z)B~%3e-r#<$p+mipp~aDX2XM|JxbjY^>VbsG}Dr=ByzUzceCPLa%YADv)>#&4luS3 z7sZGIVNX!)#%9-76BAwcp0q&f_+FRQLVtyjoK%`J%5(D0ADkd8rxq1882b>RdTrDt>m8x@|AP!;I3o9xDrPEsl99 zP~m6|kwTT{x6HAFrJIcnP4R_5P9>0Z5mzU|1|moa@G$rzQoF{@ouCEL#x4B^Vh&O| z>E8Gp-9}>P<>9f0q;#s@tKM61?N7StE7m9|>`82?d#?2pMCtYWF~K>d`$Fql%Zjyv z9Iv0TYQtAVUcofnPMIpsjY3J>0#C&h4I1{fBETfCL%%LaPPcJyuuAki6rf|QUo6=* zR`oq0XuOlT6y-1_k2*`hF~C$#-E*dV^uNGPp~pC8ocN8wHHUGP?_z zRm3LfLihAKgU=v?M58Q`9 zaets_Z9$U$)%zb$gnGUm3-r}IS#r2E*IF|x0D4C$W(>k-%$%Fjp8~wB>`%Pbz=`r7 z&XZJa-pNwy+RBZ zNWnW8L|`$<7NfZi#G-yZESlm9<(U3nLvybZ2~aa1gkZy}de{n|~_+ z3hZ=s$w_inYQy-_iP7LkZB*!)ksWJ#Oq2SU@d~?4^767us=vJ?KX}C@`IoMj)#r7c zMT<3|II;JI`!HHj-wxXqxh1OwuH7GhUOo{XMThA$KztyB(AogVG?-dO2^@1Qv^(ii za3ASBbJ}|e_(o{yp0{$wo|Yx8^8V5r4(LBrza@Zuk;4ZRtC@g_`}>A9#lG;sO>flK zHwH^(xdfsw1e>pQgBI1KI&W9KBVfgiSHeq*EXf+F%8!>>V*VP<*62%eAa?ctA5G^S z&es3_|EN_|m6qD6(W+9^-l4;&8eKMNt7@dEy+Vwlc2Ts{s$C_ux7ey`)D|m4?U5J} zBzgbN=XYJ-zw%Emah-EsuXDfd`}ur6);tI^YmJo4D)=8QKHhNA86~DXQ-j2r_f_u7 zVEG03{#`+pKZxLFy(N&l0b1%%OxyZvIXjt92Wq7e z7O|g7C%QOfEcgln1|VIHx@otFcZiS=^-{lRUD(l@9!JL)fh#M?4z310f5?<`AP#NJ} zXWpR`;}jNxAph0qyb*Fd?wZ~g*S~z+q8AwUs~Ozryq=xnJ_@&T?643vO=H1?Fb+PK z+c*jb`BObQaK1)A6Ifce>Fl4D3C7 z`xBbL3!P0piW7GV@wbOy4*}UbOh8WyAO)$Ps?vpeKa`DM4*PBUeu2qg>FydI4kZkC zAyioYr94KuKrhMMn4-9e%h_%ETSw|k6Mk?0DYK34UJI`!KtiNx+tM)QBC1E_I#CV^JWiJVc zm{6XXaBK8%1to^N>sxbYw`*(|HAFD&o_HFkD&F~;>)8i6DuFUk>nNO~{FiS*OUI-t+PNU=?F013a z5D&FOjW70+N);#$-fYu6u0C(RSA5~NoSm9SN~a+gHUFG5qE9tZ!<;kGSPhdw+`0)Q z3Y6vlgvhume`M5jiu1_H*gJXL_zpNi;hDmnUk7COW$8!y1m{@TO-UcR-I_DZB9R=U zZ#L0xNC=}+kl9KAIm^E@oBeL^Yoc(0uN&L>yvLD7IXm%AeCDdsTAgA`9fs68ZADjT z-Ep6bwjkMkWpnAu_z|xnRefaX0s`im81>55VI}cPl79{d5849?54^K7Jq)Rw}s=$CgG8AZ@=}v=< z^9KG7i@X0d@^o?V*5q^$`y!T5zTyx$JJXM9blMR?5McvL;simJX-+tV(7s+1@X5G^ zcIG}_^GlVE#c_TQYVg0~T!b6t)=z?PI-muv%qYg~SmSuz*P;(BvZM?o?ohgUD=F#o zsa}>UpaUJ@6GA5GBN;~g3#DB$<(Y-m-1oknVUOMvUt8T5f9};R8DH`gr)o~fra}H*V^k)E!QVj`wjU(hwG?9L=AFaNEWSu zp=ILAzA2w(@zhVc!E3%rrDMZ(CYY1084GpI2#GP-2UUxK3IK z7=8nXkc$C)NQ;eYC;2bF6Edm3u_q_C<(dGZO=73|Oy8O|Caji*U5)*> z7{ILCAJPM`u<5 z!5q&w4VGrdn@nCganAov_@PRg*8x|u3VfX)rHr_uG(MFt$lGY=$EEoLxe``a8hCw+ z+~%DzFAj@RCcP*58SbsUb$X=(a*}=rQK$R@79wmbWhrzzkE>|5f?8Z+w?Mxt!$EoU zrRh25XbW1xUy`4p?zS@|Ca+8X`@Vy;&Jz~VdglUixjVw>-AKAnTv@@*rtuNZvg zgR_xCI#+0mD__Yz-sufzf1FiL6X@dMh?o3DjW7i$9dN-7QLc&5F7q0SETM8>E^D)Q z7aQtrvWJ8iASV89dV_Drv)`tuNU*LY3i`zLDSE~ z*3!?s3Y-hyTp8yd3>{ZuQT*!$HDNXUIzV196M)uW(7 zKx$ZhBKR(${>_ z2!EaDO7KAc2O`BmYV*4Pe&2BM2*I`6V|}PRzx}(16ue%Gk<+h=htq!LUyR3%?&uO) zF}B^y{Ywh9<4R1AisMew7C7gRAIH4Rd&20A-~eDph;YbdnUTB#iorz2k;4Ilb&=P` z$>@ujJKq{L;YBn3;Gb*T$uEgLedvMS|3HG9{L%FuFgWQf@j%MeI!t7j-`rNa@0Zz^ zu5;}Qqzd5S@`FQa$%t}tBep71JFRL%cW+l(dr`4rCWHJ3Q}kn5Rj2Q6%CC)KMsN@s zIuPP^Wz0yZm#d1rnmCn`IVp#sal=Ly2M&=V5V8bhAW`3d_!O=&qtxU?2ra#Aj8)wg zknhA_ApJtDeP-AZu0Oq1DT6BlG_{_6AXD4YPWW8369sO^ti zy%*y+q?fmo3_Fn;)MAv&9tUld{{l>0--7t2Kp;m-C)zl5VMnm_o!__IqT~^jk~TMm zlQ^)GLzH?tUFAEvV{9$;({~Z}B+yE+EC+>O`peH1)$L=_ORod=_}|g>E?Gn+*$pns zKHcnjWn7vQW>f;M)=cQqVQBi4kTRN?;E$}>_DDTl68M}`WO&6$!0q)y0wCrxsXqYX z(^0b$7~muC(riHVjBd+Jo2g?=y!njB>y}Rt<1QA?h&vzeo+~YpT5m|E7ixjGM}cHk z9n}W$`CImqc*wjMW*{8?hQ>Wj6LC2WMO}_coq1bxi)UTbTxkozvP;&9I9w=*&tRp|Z9jo*hXlwZqp&;fs&&TEY6l*(~kHjKfU=y|Rc$H`%zMX5Jk9Ii&7b3jnC5wJ_r$zm% z{Ld~vzHMXpzcWo>OVfZ~#|Yh+cuYhqqi}rr0lRh1yYcHER}wzt-)i2Jx6BPa6+lRWVR{F%~JapljM8Qs4F;}kPV ziLc&9?ID3>Uxqltbhn-95By29we4-xh7R7j1=_JuM@G-kiz4|H6%nn|nf3ktlv{di z?B6eEtkLrhhuYGn)1aGBf|&=Ku8X4b)pv^C6>IhmA7qHJ+vfITUNve4qUnhW~12$hrpO z=F`M)L6zZ7R8$8yg@<^3Ek=p&D47%1VAQfY)I)lOkVe$)4)SWxZ+!;#jxgF-)=Uq_ zh4ow}f@5Esy)+T=#r4f=r_`l+7xPp()eBxa4xO4abZ4xg11&-W;ZOTRA%xwsmip~| zUJ9g&i-c83(deDKY_KK~9C2RtTtu=fS?nwXE<)a@=qYr`s$Y&d`r=6nf%MA7>o<+^ ze%N#L&XxNCTR&=I_7KF2F-K^@4%SFV)XcWa1up9Py~Y=pj(ZxFTiz=lBnpd2OSatm zXY`M=`r)0$;}|n#5)w*{KshI0g1ZxBDvQY751NUH=ql|Yr4_$^@zxL2!2kjOOKJnh zW%QeUZVRN+XGY1mB1ct?kehVF%>n%(i~-97$!HXIZ+j1Ro~T`@G*Y1kb{acu>OG#I zr`(lJ(i-gZMeu7&TEefAp*S$#rpv1JhTo1{!Wx$fp-L|(3ovOYoM~-A>;3!IHNA;a z-Hlh#xA(J$HjdmLJX4oXxo}DRx+ANcJg?gh1<026`U}C7FSE+V4VG`@UMCzy{t`QL z+$oafPkm?f!|SSWyT;5En1d!xcEH8NOwjH#}eg4VADf26s>p2gpoXi zKQ*m#WBx+SA1mda8xM1$q7}lvhm_GDZ3P`)>HqTZ>+57!Bzw2*J;7?_!<2jabwP=X zre&f{%kg&OAAyZgS;N+fY&)`ZDEC12b-&=g$T1hNGLoai}YG9+5QqDYymhs?WsR=O(iQd*Xgr z2m4T>INet-XZnI^;Jrphn5G^-MKwlZA9aWj(yAhEUE z@lF%3`;PuXUNzhY_a~X_dCrhQ$MjhzHhsCb$mwTr_@fC;Eln@Q%XR|UZa0+oU;eEG zi4A{&cMHF2OYDr$zbkcEi&5D|VNBTscK;a_@ z7vtJPcQuTpEJwP3+x+>MoT8^?!WgPf(V3|qjYDU~wjpqDA|FrJ-?Y_bEpWbF8Ln+> zQ29%hPc#hT=Ci2lDDZ%KKBIme3_fxXnv+L(W{I6_^B~kdRCzZ) z>MNeY$N%OwmtwV)T*5z&rz2w_yuRRXUhIEC7uiES5nYerpJ}(?QW@AA`)ohFl*f8r zv_y@tQhLI5_17(;eaLmm92dwJ zJ}984eXJ#=oB2+tqurVA&rsdu%gjc_BWwRm9l%2Y1;j7Y5wKne%rrTY6ikMc!9L36 z**8CSDYn^R{?p`s2-080%M}GtY&U^(;is@ z(FOB}=cs}|Aoi|VO-k1rIwbvJ^LF%9NE|nowo&tabxx?$jcvg7G?>&5xbdZkF<3pM ze{lZ%;#P~+r_>F9=;rJ9;d#<>m;ydVQ($H91%(!SeBU4)XQcj^Zshz?ZBQC*4vK)# zo8u{42TnAWWa94GgO2||QAWsR?E;uD$NZs{;lhiq`Rgd5NG1SWu9Q}$rEbPhf2H^R zt4IkUmOe4PY{L-+Tho4z4;d)dP;PQsU)sAC-=ft1BEeexKYBp9EDr>+x*?-cwK)|J zs$4y)0>TVl(R%;dOI8(bdf(dXg>9MwA;zmP1X)@+)AxrV4APybD{2mvG4P#D>?s%H zP5v!-#K)h@izlU1V$;s4pzpTiJ(sw4X2!(anTG~gL93# zUctrsVzld}3tj%KwlW+#n;iT3Y=54=Yg+J5lKMa{AbS6g#H&2j=7eJtV*UH9CcZq~ z{w|Z>w_o*Gi7k7TC%a z^_Gj9L&}WL>}X=R>0Uby_RFjN+JJh(<%xcUcn^@X{k5q&mbTl$h_{(sE?1wpr_QG2 zB+T-uuI2xb1s>g}A=jg*jryNlko5<-f z?NDkdkRO!H5juQT-8X6^@_Rs`Rfk^sTc3RSl%%SGudF9~Pk`m|-SwD1*su`JJ;^@g z=)j*;_mRrNBomYrL#$#mCOZ+qq$L1Xr;ihQ?%pPaG3LR!Ny=i+r+vTSw{7vNw|c#k z^N4#VYYm{@W0Nuq7lyx6jEVn>9%JgKNUd)__68Bp!s~+HgsE0407Fw8S=uq}Iay7> zq`7-;s|g$|Nc&f@h~L3we<``r(%9E2@Vn+KoU)mJq5SuRP~lJK zAdfrFQ|$kSs>4g@8h=#0n7 zhz}#Q@RLSzJ_ij$5uTc|1G*1IVLoDGw2UTw<)e)&7VK)xbuN}W&k*VMJkmOJpOS)R z&}P4D^-}e4&))G_*+g&zop8`tZxe1nK7d)5`%Y!j#Az~r|GXG<6$rLo$utMS=S_Gy zfA#A>1QJzHb@mm+d)?|Wk#I92B$lGgCAwb2)D%@?uD4*S%Db*^#yo4AfWc)Y&8fW| zACP;~wW(Up?e{MhzZAhVGl;4K)X`#{%b08mWnWopCq&gS{8sP9Ml|9YuJC{D9V4EFO)c@mMZ6H)xBm96eTZnV)#tJ_qP_m4#fp2T17th??5Sz6BLY$Ca%x{Rt-|KvCc?E* z<8hNEEdy<8A7o~AcCBe~Miqn43Z_mZ;Tx55N|$xNyO3rYcE`Isd9x(X;k_E}d<;H- z-ln0U^-n006E6w=QF|*Mf}4-Z=A|7!p>-BCm)=C;cmT$+$?)Lpg*?KRPbML}Zj+5z;uH>^GM8n#S%GteuDx$DWqXU(VtwQ3=i<(V z^1&0`W2FPgj_g^G3yKcz>wsnF=-whS+opb`}>C*a^2&t|5iwrL? zLLbED6RwR`f_zl~@#G$#ttBdjkTGC{TH=1$HuICcYRFQI$8*8|sf!vZ&@ z*1+fkk|Tj*8(F%plFQmO{b04+_g2oWUA@)@PSM?0=gMAq=KcsWW1d1(@9pT~_Rv>N zr&oxkk>3bgmL{)kvL(@$Uqb}4jt~jUf|`mFTVPqwWk|#)U{MQe^ z9RLoq{e7#-f&(!p4YvOItAVTmCrRueU;Y8g6@B~+5Ql{V0E1pGhc~a!%49!kom%mX z8rZwW#=q7A@AV!;>X2=Kzo-&tddVih1~(d3FH5)8{h&T$BVPK|y#&77s|G9KhP(GJ zw$02U*cEeRdjNw7T+6YbbndY1t*DJ-%DINcu!top>>mJIEsgXM^1zzJmoHRwRUlj+ zI0_7iM6E^Zv5DTf>0KuXWCoPlhH=zNdtB>ij0=XnZ)*I+lw|q4=BJp}1N$W{*a{HK z2dL_lv^+?jwJ~N*m)QgccXqn_vD0@%Knjf)JgMl@_Ru{c1bRz{%YE^IQpo9eJxE!P zwMgZV21Fg4nOd>@2l7D1l#mP*=NX$L-h93LXJnH%Vb`r=A!ugf!XLkgufZwM+`I<= z*rGOSHSMAcPtSHE$)CUj3ph3sce};a*LstIxPFuVP1ic%>pD7tz&lpU&%OYjI)zHbYFprzU zjK3{2gm>zZ)P&?Oz807d;URTnnFBrF0V6B00>e5T(g%3H{K!H;p}{lS>s9>Cj{H6z zx$vMq6{OsscxcA4X4klrOjupUS#)}E-cuT^ZJ&6do><@M^-ayej;y){mPH1Ej{XC2 zY>~8Yj=w#!lUdc67bwece)D11+?;PyQKcANcl$1N#$$=G%-7QAeRfXSv zj0JjKc~M+=QGmU!LEUK;`B(3=ltU??+Z$FIL<5E5#+Kpg*?}!{|6W`M^n57qR;X0F z6~B~*Q@|20Kt#?dqKSrS`%;kz52`FCq?g7?2q_A^PHao52~3pZX^_^t>M1yQP2xl6 z;5F8hAyaBK3MPAT!#s=BjIC%G@2!-c2^xsD|J~V_5Ot95FH0X0M6^q$Tps8-hH`4l z090!Gn=O;|ZcqLQ)GpDJsIQ?MS%(;264Njq31-^ty;!!I$rtAn6HhRE2frS^fqoYh@Bojh@-6QBo~ z8zLp7?iozX7}^Q%3)%lM^&|~)q3`lMdxDY^%s?ZosW7rPUJ42h0N*FFC*=C@N7Z?| zqyO$dqwn#a4pT2dWR}2s5Y9;SP#3t?K7MuUShfsyS%jzM_7^6X-&Hu1fX7KihZN!j zC5Vju2B#;(5V&@?S$(eU2ys3aN3nmpyC%$dXf~=E(P`{KDj{c=1)Skz3W5V2N=!;{ zHt$(a6FSdTb6E&KNlPs3*qwK#FRi7vp(Svj`|nY&J+s(rE3;78|Ayg0i-rts1q-nQ^yHxbXQ#8PZ-Z3b~dIS^e>AU|J|{jo+N56?_$rv%Kj@0nD&zqbt>zI*}0DDAZz z6$Az1WBP=}iT>NQ*x+TZMLWACF+&Cg`@2uf!@}<# z3_Acf@x2d}*+u?-p=nKhWA4&%XyAcZ;0pTAT$s`%Z3I%Q{~qC#%>IM_dg@TsQdx+R zRZ5ms)yl3v>d)1&i*n!EiyR43AXZ&wblQLY?Y zw4`tQIEyxSS5ABi9utlEq`#7@D%B4=jP)J>bZ)~!k4u|??Jj-Dg=-PkVLK+5wYoz; zU-qb`jJA#(|8>xsdw%CD9{80!V{2cKm`}+>cCm68|319(5cvV+$}x|BOyEe+j|k;k z&*%`H$-cDcdR0n%(CuC5<8z(i)_Qw6v#afRQVls)q6Zw_Au@e?Z^F2ZGmz8P@N&~a z5B=`Gni6pa5RGAnpzudTkJ$R#_qW_iLDLUpT5@9Ow{*CVkmxj0JK3~w zmR!-Fd%0GdKQIQ(bM`Rl(xsm#-t0Y^fqZmDj}ul1>>+)GtE4bO;|?<>8+wWCe)2lx zduD^l!(kU?ZO0UiU|>gUj8im{ywX1FMCAax6s?x;K=WngB`kbUJ(1T*;^w*b!9ED zHCJi@@@jeB`w6)|2+$DcxRtJJ%UkhJ&$uep+NodekVr&L{erZPLHfPh@F0$36a^eylk#{K_rf9UM__K(OM^jflhQop z(=Hshm_pX+FO%Y^Wtx}Il*plMd)&6RL;k_(HRIc2T(-6isvtqSQ9dmxoR$iyg<1}A zHRahHgY*2|QG{@G;~@1RseC+>7snTD&n2uly=O>z2gHPR?nRuUc2bC_XH)Qdx5s0P z&g`3mg}P5Z+SCeVtmD%!G&2j%Y;p9Ag4UsIaM@C_Lr)ew=uP5_@Y_36Ur0zl>4j8N zYtTXRoWCx40E?g>aw5jtj#G3iPl_vdw-*9qIU#<=)!!Pm&I>-vtB3A@9nX|0YMB<7 zddgwPCbtiBWDJ$FzZmvgl5}%T9t7J~)*Epd(5oKN(od|;f&%u3dck!?S>O-uM{5L9 z3S*6ckzRr{yVQGcK1>9rg^EXqDQYSZ5u_e!g|zz-l*PsnyLVB<7rNb0KY>dh5OBzK z8&~Fda#3x|ipEVvLY$Z91_mIrdE9R9^*i$C>}|AOP4iY=P#YTb@C6UaJs(_4+kzG^ z(T({a*~s8~snQjG;lmZ``4n!xe}eeKe+|;IFeTJ9q*?K;y2>x)o z`t$9eN)R;mk-y1iTLYJ6Ba&}j7dedr>P2R_ECJF*vKJsEr7&fd+I-);gsA+|`ESMH zcyJB*hzJEPOP9X(RkD)}`5q*G*XI`mD+!=$-}*9Hu`xLO(f44ugU_=DogzAEa^spI z*brIh7*e!-y#9Pf!1V;;&oaDF^8okX89>%Tctk!@0`e&OI~uc=reQ;|Z{dAt%|bCC z>0Y%Ta_e-BTt;{Ef0mB#Gu=-e-&HHm!5e00CD@ZLGHZq0n)mtc|GUO&q(m>4@4QUW zx%{L;%}^iadj}{I3xQVPd-jNOZ?bB|%KVq9K#k7dgzRSGkXO*mdh6QI2oQ&GK;j%< zOD26KS12uR13*M4E}JfRjlQVu&9-KV>%j@6L*$t9YqdeZ`lata_x9P5P{%U1JS!r4 zQiaJ4)oK=!Xl(CrrbjVpA?p%gy-QNnjY*rN?x`h)w9?Pdc1H2Qj)`BM4<>aIms0S> z1m^BVum0hQxBjQ;5p3}jil6W3azd_&dkDA9C}AOUJ*1&=IK&$lEE~5vvbrkU(2$NO zH}drs&-QnC+3;Fgk7-W=VTaaStj3F*|9LAWjie5cq`Q;peOuKeS6FD3T=@7_; z?HiFgqfH|q^*qJMfS@Hy;U%Mx;I}(hNA!50H!r@k&_c9Af!6B<$_tu0K|7{O^S1l( z^pKQZpQ)-KVR=oFZgv7HU}C~td1v)GX5zJ@WWvYbSN|hYwNVQ)F&sU?*@^17Dfshp zaIK5kqWX7zg$q(YuMt=V0g;~K|3JY7)QTH1z39?JnO8sG+-4l94WItsaG+`+de9>EAp3226U>Lw+p(kNcN4a2S1>1 z8tNL8&KEMT+R_0lC6C~d)S-;%($>CiV;wMRItd(9*jz8}D1Bd~ejDEaF&5XubAEhh z;rz+i;t4GWl6XQzTp-+4WY- z-2u3tUCeL&p;2x;qRweY3Trxt>e`2??~L2IK9O0}xEF0Efr1mNk*aEVPmFKX0S=s` zxEG_%Hr1wIVKPnf7PEec>ixwQwVeX`S$Pi14X}vJG)(H&wo94v5bO< ze&l!*cUnPuObv&U{K@eMyp}$WeIVWgDYC!PU_+z!r_o_n(qjk-~?Fw!i0rpv8+nQ^@m0MC}z`M@0 zBD%~db}(u>2H;AsR_;vwZFk(CEqow+@%*lQj@p*})ENVM*x^i$Y_(hYsxB8H?{9#+ zb8ck5Hn{+3nc-xGLI+U-kXIqf5P<+Nj={+w?g4Dwr&jZl%z3eq2rKZPyP?FVO&74n zA+2X(v?+5`U1s!J5=kILpzqYm@<>Qt&0hh7sCp(Qs;rrWxIEt8*sl(yh}&PDQS6O% zOx+!Ke*VVoyHNp%2Pmk2A?FaiX#Xw`bbNQF`fRd+d22IaXKl{i-ty0v4}D*W2`M_@ zDj><%FB^kk-^^OA_Q}X{&!ZpKoDjUpTAXY@%YE{)3T{sZmLDS*IY&19kaw>R45}Nv zmL$$K*Ts7I3-Y>7s)GEsV}dHPpS=3a^#AG>Zkfb0<>3->d1Gp`KYPT7`R`mTkQAyE z8;!;F=RJZ`uha!&FvVnzm1cA6^VEk&X_I(Gx`VxB1m?50CfTqU8A}5PWSY(#X$aa4 z0qiBT<4UkLVnGFc!$Q;N8W%8XojN;Dn-RW2%&7JTa&d8?NTvcDV~>ma7t3$K@6EWs z`6L%gYT2ZXE^TV#)1-gozD=o>q-TpzSl)tugw#DRCp(-Ol9RT2&}k3KorBt}TkMs( zJH*nT4nIxJ_sj(y0al~5v4m%#_UJX5a6ni-{_SOBA&90Y5xt3u>p(OA zOvQtfrU<1wb7!W|o!&J$8cXQDm)l>&{jcVF8ImV}C2r+p8^>d)V zLN-eHPVVo$PUCm>F8Q&Gw=O$w>#c(`}mCJ!Sd`j&x}TaJpxmqh|vDY4B};n46Z6buvVnr2={L zc{H9cbwi)AM42D`GbS!Kl9UoVPrmMLE9B->tT(0y$!!f(hMI*ghe{Kf>d)@N{5-T) za|$+E+cMmX?U(DjcEgn1GPf30GGUMORqSKj8 z*&dV>?Gp52NRH+Q?Jke{a|{E&ATbTFc%X`h6q7SC;6#zBYev}tK66!^IfmyqS)yb2@7yE3_f@d#aAa#^=!+`tfE3jpZn&;0( zyqR@xInyYrI)CsCv*u*$nFmCR(|}$k?&cvBEnw1QW6l|n_UMjcgdA2_PLFBH;+hQ0 z5fa$wk#nXx)M6zh^I|}}<)qtoo0c!Bu+(aMfA@sXLgJ(90MMm6kp1Agm=M$O*j+MTD{@1#iR z{@=HiN0!DxVh!Ous*_)Lp3~`oqn;4;KUB6!VB3u>+9kFd( z*n@_^?(Cs3T4y7_f4>L1r+@j<-m-b~l$%>oTO-%+aZzgV?{fE{vogF00#Mw(>8PN# zX-gUr)-b}QJb7HB-(jgYa@;N}cejq-{`&60IsIM~Ut1tPZ~iI%Fqex^`EP0_YIs7| zq4>)MzjHT}2HHREtR$p`1zVH_WYbvg!JG)YyGF8C5zgdq=(*K6-a6-NjTy$xoE0~& z|NBWN<4s+f0;aVtSiA$CBlfAmx20g-w{>L90~&kD-T8)tp_%nay-sB?o6hLyC|M$J z#~3HD^9K5UNjuj!&op`a^wG@NFZW}ymz8U2ySpYJ=C7PtRK~6Tz#V8ZqM;=72N^;t zA=(|aRQ_zp80~$h)HcqgznE?ty+HR&4djpp{f=ORLphRYLSzIqVpAZhqbAPbdbNYV z9UTKcKD^)<(@Y%PxHtf!+cE9iI(xVyGoqY|+jP2Bmj60es}|7N^8qv;kJ#n9z1~6$ zI5I1JHx|2iSIrF@?)Ltwbwrt{q4kr57s*0$oj-Td?3j1viQOErG{qQfMz%bnTchw- z?PiTJLszlq&yyF2VhtSJK$-NDdHWdqALtwfQcnc3MwZA(+l#|x_btz37`}f?3OgNR zPNv8M8;il5o$<>bl*h!%)!On*u0@xYpjA;Xmc-JJnJAI9o!9^R&r^?wdM^{!G z8@=lLKMc{|TXiT=R<=?;?o`)@pb&+j<5DFB|1(99aZU^$<<|GzH9yRqTvKk%;eDc+ z)U60h`lI}e(6<0}SR9p&8|aRg@)SAK-^JYh57Zi%IC)LVOI59_OAv@X&X7pzpEU`4 zC}xHYqEA}BgBp$+%T!s#H zLZipcLe%w}&BnH?|4TLeKj!)Wea2+{|LjM};qh!8`j7?TPk)oK8-SDDV?2yiPuJ)H zNN#t_c!(+qv^69rFWo!H!xh`nno9jPjA_q6FVD0QtZI7(3ml(_kKx0E`7GrE#rj7D zv$IG;%|IHQm=3t+Cl=~nxe*XnzP%h`M5 zQOJ~%eB|S+8hS1+ri)iTfgZQkUoks}wDy$;GA6a-l7oZH#zD<{I$Vz*S<%0UOaYwh zpt`3jcXr~`03UeBmEomB&m~~GflkY%N~*|K0xh{mfD0akbE$j$ztmmpY&~btso>)} zz*DVgc0T`H4n?sCof&WiWH$Tju=s$v^2S~eDB7*{qV}-|(v<>~I1xWWDz#Ot7T)gv za3FZ=lVW9N*hN~>ZeA9z()$}mr`8WUdh>SYg+Qw67F7-TTb3-P2=trSMtgQ^`jco} zbSoL6&CvSc?xDYf;I66AC)$8CXdF1lds+W)JjDj=3iAU_B{?@{wx_E{+!-F9I1D}b zn78yYKqgSbd#U9n^!UAS{V-hFD1+<)^t0=_u2=pVzYU*#9r6!6X!pyMC`hwGux^T& ze%=K?WO0n{U;YTEHY2&IKkF*&oJe-$JjR6yT{q!aPoEl{hp9wlHZLzjx^%wW-e_g8 z-k6%|0DLByHhr9t0j`zkZH;d>SBkmcl**jq6}@uKZAPf;lb)P{&fgQ%+11VI%;mbZ zE~AQe!7Chgn($fFaMcA4{I9;yd$iy3R-4Q9`dvVX4l14u9Mwg-%uy zp8RP3HNedf5y6z*%^TUs9KHpOgYqcO0g`&yfW6>faTtVqJy#^SN#@AFU%k#>QmY=V z8HlzsRDB>6c!)%^Mc+w%9)`dUc8f@HJYbPl4 z*;D@Ke;O3^^D^=c2_iGY2l?2v^fBO_FBn9^61xr6>1iDyIZk?ec(<}>GZV&Y^PR`= zb<*93bs~k{9}R7*b}A>Z$ax2RNe;0VNBV-}0BSR5*OoWQuTI4k0*zLd7Y5ayDaUc_ z(cfWy*F{BpX#|i^*c`6S&4ndv8zWCC>6BrurX<65zDP-C$fC6OL~#fhc;W67_QF@m zCl$IlI|Wl3y0I<}aehFPHKqIaANTt&%Gg!A)LdX{?K{WFe02*T;3)dT_yp%)^bIa<(N3 z^Vk0arH3FhpID8YU(-DN52Qww!kLn#wDVpq*Cs_(m!9dJj|fy?QgpwHTLd(hPT$lE7l&xhDm7-CttOkeInqo9}S-R|{g(Bz2iv~M%HVnpuwei_ZL zC)q2UMTWDU;jIm5YB%x0zmZHV^wP4`l{3fo_XoP|_hdg;SKCJD>FMCbHq~dafBYK# zwV4QupBly%Z8tN=`mcM5#0ncl%w4C$IOTmFJ5TK*K%(5*m@(iB0k39m2wgU6nE1wi z@YC|ueGrXRY7Ov%szl4ykItPvY^$Dt)R`pWY&7ORYfms-8xk-)X_27TX-RE1KQH>o z{#ljphL_avftTmrAMV0QS<5(+rTRECDAXI|ABbmzh;A8%q(wsy>>Y#d1AwT z;&8?@%1T4$vKz=+8hRGGvMAmu>CIL8kS>jgmsq85SazkFTZ&ouT6P1+nX&r_*B6G@ zR($&4jKI-OaasncEe=;C5OgxwN|)_ovKCqt6#Apgb?_d)VkDU9K6yd8k15~3&#^^l z*AsvdenqEB;UmJ;UL*F4XV$cyR5$hgrT)KFx#%U`^rr5VUy^n1*Wi@gl8;rsV1m)2 zjIk6ZFX4;3^qyM@(QTpJ+fmXl?N}KTtrdso1sEp)6|2Rqs@@^EWO-gc&@qsHe!=FK zd}<;4kC@3z2HI06`ezc9P{dpwE~8SrfU}kCkIRUVYTADGZDT^@yzIjljt?)lvSnN- z6?^fNgouY=3cw7CV2&lb^(E=ZKIRS?D;;n5Utk>5&MQoPPz8MzG*j3=?z=RE zseENs=b!noh0qv(9VX@^rD^_6qb6?Nfv6m0(g)9A)xgdiCbKbch6A3 zCJNic%W}-NIl%8!RBf<;a<+$>2%(S1JAP23fjcHZhGDn?`;TLRGvd-w%*V}3TQi(i zwrIWZyYqpmj5jWE3Yk{S^xLx&a_h@o?fD3Z=tF@Vm~}f&O6o}{Fn!l(g@0$Z&1IIT z4?a4kT+YOG6o0!>?a2{QRd4xh@M5xTmJ@>)r#tg6mQFq~aLknpR8hjrhq^pIXQC_m zMzsUd#oKA9ed1qIz>1hAv&luR@25LSda5Vw8VArg#KpFk_`EsffPYrwd+~O{@`t)( zgQHP~&0h`?SU)Zv0~7`-wk9Fw;Ytk!hRZPM2Ppd?2R}fo-c}OQQet^tYIQAAGLy-) z0B=cVqZSYs4L)inMXTiOV%T5t4p+hkDd_E6}m(8Ldxaj=oL0n7*D;6ut z#kgc{xEIkWQCnomr6n)cm+_OW>z$41QAKs7D%OF^HRrzH9Y|$M*$-9P0M~(gWjRBa zmg_RoFsSH;VTqVSi2PEISq6N*n)$M;dnvtZ;)gJf&lvYL7b=+ilz`9$PKXz60`B#+ zytRNyW->c#1G%ZeP%2k{6-8MoOeKVzMdu~yg-HR&yaw4!NX+^z@cMHjaawc>fn#| z8_oD>%e#pGe_WksIGg_)_9=>@YHw*vt7^6OPNz{dS~Y5=iW)(T+96s+?V_krqo@v~ z_6o6Q?Hw~x)J}>B8NcWLKhL}8g?AiB4!Q5|_qxvOyguh;u0v;8=`Im-Ntal2Yb^hJ zmb|3;L!X#^Z*z*$8r~BwBAU>0Y6U#7coPly!F>LN24nxrY1qrFj#n=|h+LI8+Vr8w zZ2d>4@E_guv-ysy&-4>J5(TD*|2fUnezbZASkYHu}qNMJt^5Xcvq zxjwmxo!#7*XnTvvhj#!~C+buy$G>kESHF zX@Kqnouo6_*>&pK+@bo?s12k#Ci$TcOTgtAA<<;ov@agGFqrj6D~Lt!A&Cfi3?BH zx{kxuzI)Ud7JF1}&7K={{&--)-RLY^eBqf>MR+t>g|;HjI!>W?!NTHgwn?tt7|E-X zdqI|m+QRQ{>KYcim_9zI^YD%^7;nD9hS^?WqTH?=P_lJ!YrE25y)UeP;rrF<{z|K= zE4LjSfqQzmIm?tZKoBv`G3w011XLVXi$uyL_s&bOL{v)+(*}O5)VuEau9{+aI&2i8 zbj2O)p~Sr(cM;(~21-qS*_Pj((nCT|PgI=PBgZWGyR zd9I=a2P$y)^Anp}l3uEllk_To)$h%Rf6~5jwR6q3pJ8?ckM$;W5Ffust?*#DL z!}8FW+^@^wUkouS{{oE7ZgnhLv8PHqeD0z1qg|!u0u&Z=prebSn6J%A{7QJ%V&pop z+8Fk8$lb+Il(jnYT;Tp?Zh?Z*a0cLss*A<}`zfuyDyyugRl;bjFl>4$hGN@dw4S{& zU4bKuwN4naEYN$=tX-X@B9?7GMKdbO#L%eC@p76G)_gI#!OZs&;#iKZr z10WD~0;h%Dju{`Rwd_Hf&Tq}q(vIa^2nVYf%h9Piu*=vI!9GezAO_Do?UcCQf}PRq z&8zAy-yeG$D6L&2-T1;UGzdAmGJk;EXvLfM+8~mT!Y>+|8a2POhHBo6HTqs`p7ghM z-UJv;Ggr{nSCK{d1`Z`S8~Ftn`bVIIFydGI?_~kf7U9(dMu?ec(r^*^LZ~}U&yFp| z<<%y0(9#a12vGk!?xS62Yhw&4e)Vck6Gen-$#t0;e1^`jB|bgSlk{b@I!!LP+EkE) zTLX84cB5-!yOpRvL`3vu8M%;IBDWHXcZcdj7B}8_M0CQh6Z$B!uozt)f@vBs2Zy?k zEqzR1zd2HvufwTrp5SX_o6T46XX}KW)gA_5ps22&~v3TEpGi(Z%rxzCQ%WQTicO+q92vtRLFY0Iqq4~ zoI0)yFnt}6r0c)sjP@SH*qr+%_jT(eG&SDVtWe-ZWLz6j*CZ_=H;Q71kB`@A`n(2iC71C}K+0u}#wY2!$ ze(o~@OKW+Zx*6^*TOVR5~zGVtaZUv5UBtd5+L5@U9DBeDsxRRmV zgi=iHkc{M(;6au53lbW??M&9uMI>#VWMVSP)hyHXgWPXe#RuCd8kFUIcVIcN5{i;n z^O7oJblsLAKswM|Z4wc`bE;4i3IRh-*qYfA)g|2(<&{&BQQ8PcpylrSL4-N%QT5b&Q+0WJvyBm412I>1V2TNklVT0t$T4A zU3XO17#0E=OjAvEmU!)1sdi53sB$!0T{2(yz@HYf1xfgij)kTS1=SpMvqAWRLpKgh z#&e$n4BQAYR8Q;o^LNCuSzaU;2mLl31b(|}R=DSLeYEbc*;HzbR$!yr&256$eA+5< zSr9ODeg-$7d)XA?S9nFRpQ;bx8rXWCSP|)ESPNZ?IEqx5Jnx!jGs84H7Nr3x*4fdeDXtT@^f7hHf-~PutC_6~4 z{vzQ2XXrrlYV+VWUgH}QmBCz^lwt9VZ+EpWpK#Udu~mx$5TzbWbHc!6S;nJIPBjM~A~{8n+_LJq2E7{BhKW%)A-M zRp;orT_olq5@PdE_;?kpph&)TV`#ZyN4O3$08bASby&Dy|O37csuV zB`-hzss?|Y=B^2cY3aQebeXRjQ5xt|Is4zXo+Xen$c5KSV)VVb;I4{u=J<5NyKEq} zp%XUyr*H2z-{J~Sn+mmju=4EZes+c08*wf1MXQ~Z&ZkuXZpiO`DD0)MoyNzvE$Be- zDE6+}?f=_WGcS-ffjR8!rv0QZ@}K28A4}fgTVtA?P5efc`JYFOPud;H{sDhYwr(yq?zKXFG)} zVnE`IkGXNZ4gngU@wMl&z0d{%psC)e|F&Ww>j z8LtdG*Us6CmTwcJ7|hV<;7@=pV7+B=2qdMa5z_{6Y2hC^4(=y8HoTv3aU_DJsFF>}x`btSW{8wRZQ zbSms-G+JvL%2%wr)DDGn(!uavKmR$ZmxEQu}H$ ziU(3qP%qWNB2TZ zUL-cxWcmdjIJFn9->%hnPW&YCAvEGTTD47xWO-oi#n2ThYi^8$S{XC7sPptr8US{4 zZ;P<>sSAvwm0*`qjQ{H9?g@S)SldWDGhbs$MQC{9`BpmM%@ZfAugBaKQ9S|e1GXDL z#`RE$SrMcBMO|4_$$j!}&Hm<@YAwpa^ty%~ZY6aKqW*UU|9DA!ZE6&tb?RPAd7jFb z2EO>Nw!R@^dvMJj7pV1B|0{GIlnkjsCq-PKJWhFJ)M{XQj*8SH^nQk2D{1-QT$svY z-xd7VzlQ#lifx%%M5$0tZ2JXf3N}Po}+Ib60W8LFkD;!jXkOe=lXIv4KI< z7h+8t01GaxN$rx$NKxH6rL~y0Ebp=H6Y(&E@!A)k|LxPo+*AzNK;J5x0j;TZD*!RK zwuZi8Yo?bBVNhRo4xi_bb9vv4=uJ-goF&)Ji64{Y0l*<0HOst5piOE#VBxcoO^)=- zw#kasT+b_)WYxJjKK;R=Rfs7aqYFk@P@mkRl}GrMcs`Y_scLuOkH#?nKCkjyCWvNZ z_+Bwk=*T`f5Th6oVr^PE(>}P(Jed>hJul#Iczu<1^UddDfVs4%LRQ}aFj{f7P|m%* zdtQpCGvR7IGiQFbLtcSNv~ra99Zy8Hk^$%JzjkN-&AKO30c^%Md$(!(Yg$mPV2q)> zKf2yIAIvhUhCry}O*a=e3Yme;(NKONBonY_tHCF)OvG z94@k|?kz_Vz-CutijAuIEgYM7&l;?!!?;hHbj&E~DzWxC} zHCzvQ@+!L*8i4)THY_zAm{tNAWh>afwK>>21^#VEm+64(uX?HIn|hp!NxXYvBP&De zKwZmU`qcsc694KmG_)8}KPi1F)AUC-?R2 zE28IEaYso17?)6>eVgY(iV&Ug3?6{n+)hkW=RkGSX~_R1MKl2U!jNTa6uEgfFITS; z`+S0*#|LHcX|X!-nd}NmnSc51qUzjXhx)482TgcEF0R^I7l(jgZ0M&TE2+?3~%$vEzgv@LTOuJmP zemSyi(FyZbeDm*q)FvYcS z_QUfYu4Gk?#G5Aaao~t?k(XD&? z_Cy3CIt)-QVc`V-cFei^udYtY0!Unqc!QDO7v$-+0}gf|U(9+F2L~_eYg=t{Qg|<% zK_M6h)2jH5ZS_iRt&IV`9>ybI5tgrGLcDqr!Zrzi5(_L#}ErS^4kefEQEF%HnWf z)k3d;){5`QvexWmTBp3+tEA-BZ7a|d2(S*<0d}lSAe!QBFze<6uv_)?OL@l!kcY}M z+hT0rU!o50`p!|Df$u1;uM3pI-`rETxAf6QA+D?{z`!ugz&U+rj?V6ID~Fmsc})M! zwnJ0$&9y`W?fx8zezDwwM-&)oi3nW*F5*j0<5HlPDLwTEP$HbAyJJm~>9krYFE9C+ z3@R*7D%|SyDsWS+3ds$1b)(+6k#7{me^+RgQuq(L0VvhA(6W5wcN|36&mZ$ zO6$J`T$F%9<1lss;b@cq04Ni1bA4@LKwI^uTPPs$MZD>kaJK@rcCoYLFNOgjr^6RW zo5UBSt*`nOTPsk4Rg8P2Xg>TCCI+ zn_glN#Ko)-;mH&yw8K&4zm$a?qg;Jzq4uL|*9xbV-@~{tPk9y3(fKKc`Szb#Eg`B# zlT-j>=tu;|w2D#V{(jEly~+DLms#R1?kvsj<5W(Q2nTBiakSeWn3bfu|LCOjTGQri z=jNX;F~{(BuqdTBb!_{{9PO-fv2fHv(oPUzT_pV)R3M?+=$fW zq}H@aI#A50B?{Q6ZULTPXy=bAn=Rrx?qSR5@86t^QIz|W@w;GG$U<&A`W&3=dd3=( zF*q5)XL?($c_#K%mc&yBc#~L3Ht4EO@tgQlGIk`&mtecbUw|zo*jXw;o9iZ3%jJ>= z+Zpn1Fvh^pivaAhh4Q}%H=3kYirFVf+LR@!sNECaF+&C87K0a4i_f9sJm`)UBGL6y zU7VP!A+i*i3T@$TS4DT>AL03botldz)z5DCguVOyjGI%pEe3rV&}B^LO(uy!1l2rG zZ;2`8@Rv^1^q@N2w5OEdT*Xbbn`I(~Vn6p`a|&yH?{($iOz|+D6@=SPj`39U>yyN! z<`+r-TKNCu`4)Jv=_aQc3h7Pe=UFij(pPEOgc|Hf)#|X{H7~8Fi3*=DAF|79YRc>X z)=UnKKfs>ieMjpamM@D*J)BZ_5CNNCO@qm{wUf>AylJ91qz6+I2}{sg)j@Xx6!Zet z*I=&29qwfZn|b-~-}-91h;M~(@8OG%CVJ50&Gt5)*mfGn_>s&DBu8}f-6ktHb-T?& zTEJ-yS)%eg`C$acrl4DESa)hG$2ooZmmzzbU1G1gpzAtVp17z^-GCln3sMqI{DHqA z`EBBn27~MA+3e;hg?A8h28#o6ni(r$ayjmVxLvxmY~81&k330=i0((L*@bgN1OqR> zS@}T;0a%-KzXl@61ba^zIMeBED5a*i4|C6zgiDY)R}9s5YgWC+hI#rt&4h4fqcPek zpZ@fi3^F-Jd83?6f7_J$hSf-@AK{d#q&s2L53d_uq@53qXY$7> zkZ$H>WulpsMc(CHam(p`8H`a5(e!b8^(Uww8AAP7G*ympU191&tUuZqQ&i+Al-^3+ z8M2B-bXZ&oONk7<8h05&%Ihw5iS=cF(k?-uSsa0PPk!oF07O`;Y(1wkNtX=OsD?xu z5Kj}D2YJm=dm3?2YF3whmhYjTP5a2yV|kh~JUa2ki}n)RG;9z*aj|xME@FsT}9%qlNeU@ z;Rm$-2J_m?UI{@VVj(*kQ}(cNT9+;ut4vVC&^jc_QvI*}!bxr1)YE5H!E;i04tk8S z2PqiQ$M#tc<4NBeVnU=a<9j!|vwb6#FlfC96+6ilR`?6;jb!kzk+RpiK0@YG;&0LF zV8<4BClX;*$ScrJJ9Ad6Z{C8=(&{Ck+c29%Ro=d91Nw<}d%74(z?3|1P*qCtH(PXe z27oRMDxzLZRhF+Bbb(RG+f;|}0wN6Uu01N97xLv=KU-pYN@)m)!UMBT?pjkzQif^H zQsptM6U)jU2WoF6!M`!1=Ju7NIrgrB(kD0!f0!jv7pbU}fa0iztPYJVe@F(B4`Q06r(`>ee z&i#?SVZi<$otoVtBpm(-Khl6zn0s|-fTyI*?^s3%$8pt?)VMoUvKoK6_(C*Wxqsiw!bVlTl*;=yuMrIgSUG| z@0#IJCC-?d9Kqst#@_q@!2ws3RQ#zgd1(Dma#Mma`?+7m(FPjm9-*W2y|b&JgxXe6 zS7c`x`cM2hg2LsOyj&tu?F^T74j^SEWzK*ox-Q#7Y;`O3KmKO&xUO)TT9`}$ed8QZ9Df? zDdaXt_WoPNz32f!p~9L&e_{v~sqKzue#9>v{)M#Jp?EtiTyX=RkZXEy^)dabC^nGm zz;;=dl#T4t0$mo}e*N9*~At zsjfKYSd>-?2d8CY+S*EIsNKZ1kuj6!;Me!XedxA%lMTy3^P9MjD?l6Ey_3RaC}Ly1 z#8QsBU%K>A`)OB7hVzZE?*k*_6OmxEHa3df1nmMvYn*bexTL_TI#EV>;vnclVio0I zIJA{VtoIj6Va;BxH(zY>cvu_@d)+c;Y5mFqtjLu*n_pLU@z~QTp4DYkDae6I(U4AX zn909)Wv1AzHKgz!IQQQlZ#z7I*6bqo)@dU4itt%a!Y|I8ZP@ldkyJa_yyRkbtLPRp ztQY;@Q?r7YZZ>jw6nGqr8d|BX5xmN0t97}fvF^!=|2pc1;Gh0pR5YLw0QcJXLdaK_ zCz8^vn2Xa{{ue)u^7$j`Z$>vlKFT65UqCgzT++-to6h{8|H1ZZr0AjZT4H>%dUtnz zhC-T~5RcmMq*Pr5X1|J3Z)NU#uc z5ZKWdFYuMxV_19geR&~QCWW(iEY*3ipV_YA{&AuHUxnS8!fgiuY5|MRS%f$19vFKM+GiU(=MId~W zE$IyID7h$dnWObyvM;7(h5M8POEukNYvZgQYP};RQ@go;cnWx(WLD3Yg5M(CMj7PO zg;E`7yk8frWIs1<6ZyKa(6a83adv!tBM{RlswD3_B13S(w)Sik5u)1noa8E+IRzip zFTZRqP=I$Ot%uBUdQX#|i^eY)dA(wY0o}dxK0~ZYiUWgEB4Q@Ik4NYGy6fvN>EFP# zdHQKQsbSVh`Hn1PAF2&1uXx$JU_E&NBtC4|I&|UDt6RXjUchp>d`7|+ua1fxY5Cia5heRLJn{O+N z)*fe4?{ID8h`2Q)HWyUP{E(|>d5PC%&_HTm1Qa!iUj16YpKJ7Xd6vdEQlt1bL3wRk zW5Z1I6StqAz60mj7{6u;=|+7H5iDB!+_B+}&3|5f7ZS37*S>geMGxRw)^+9o*YU%x zv({XD<<#13V0oFkLI_Qwuaaj-%1v!l^4&hfU=<1&Trph*lG)JA?&1RD+6q{aA+MWC z439BCJ14$r#qQ%7UFH3UoHwH!o)9L@a=XzYC`Xm){W359x;5+a2X7V!yf|4K>8D)$ zA>YqTcgyfly_$FoD0=zQ$D4afOKzDp!%`a8md3M3LN-g8#IN9Cv=)C*wLw9K9&X{)VLVhcB_x+#e*yIN;&OSo+CU=>OkiQWN#YC40 zT^{I}HyZm_UJkCdmXK1jv}K9q=g?hsEQSU!-DAf^f+MZQAb1nb_?*#h&Uc~7=|6LG z2eiTP8LsUhmifjflZ?qLWEHxQ6bdht=-1XZyB8trHpBLPz7I;23+$j*{4{c}vCj^s zZ52xqpcc1XhcnmZuXNcYI!KOPGhO`KcC|Ujz{^zQQX_ROmAdGKY(je?F_XsBYzm0` zq3ij&wQzd}E&JPFZ+y`fo9w?s{y9ZvfN*XBqE9baIM@U%=q7&tom*BelBsmKKbbI1 z^Xy~&6Gf3AePeLCOHw09(Jlz!22l6chM|vY@EhsAM43jf7fyU>8Be_`p0s(UejW+S zo84N8LP?bcGk1nUVvnpP8YXK=+{=84UV?P&XU?hV$H)Ot6uLI%J6Sfk59)qr-g?;xi+D=d8Wnc5~y@tdJBlIo42oq=bJ zC)^Lb{={0|8?35f==v@aBBrP#^NZSwGIWHIjXeG(nQYTe9*uR7#fYlX+LZX0BFq$) z&6Uz{3qX$R2eaZxRz;*NOZ-RzZrIhnCi!gh$;{r>HoE>dsK)O2d(lLpwMcDnI|Ba< zCfJ8y%vZweX8d$Zd+eCG)9LqHD(=~#ghY)u9ej?tP3DLhSl#GW;G~%0D`MZHRKDA8 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
      1^4TuyD;dvaGj@*HuItImoc)S;RoOiu{ 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

      {`(cIAq<> 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�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

      gMzUGv=x>W$}1FK!XF$0J#N|Hn8XNRU`xVX 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

      xOzCI73N)1e!CMS|;>$t6{81e2 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

      (j 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ªv*W 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