Newer
Older
EnvoyControlPlane / static / lib / js-yaml.min.js
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
!function(e, t) {
    "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).jsyaml = {})
}(this, (function(e) {
    "use strict";
    function t(e) {
        return null == e
    }
    var n = {
        isNothing: t,
        isObject: function(e) {
            return "object" == typeof e && null !== e
        },
        toArray: function(e) {
            return Array.isArray(e) ? e : t(e) ? [] : [e]
        },
        repeat: function(e, t) {
            var n, i = "";
            for (n = 0; n < t; n += 1)
                i += e;
            return i
        },
        isNegativeZero: function(e) {
            return 0 === e && Number.NEGATIVE_INFINITY === 1 / e
        },
        extend: function(e, t) {
            var n, i, r, o;
            if (t)
                for (n = 0,
                i = (o = Object.keys(t)).length; n < i; n += 1)
                    e[r = o[n]] = t[r];
            return e
        }
    };
    function i(e, t) {
        var n = ""
          , i = e.reason || "(unknown reason)";
        return e.mark ? (e.mark.name && (n += 'in "' + e.mark.name + '" '),
        n += "(" + (e.mark.line + 1) + ":" + (e.mark.column + 1) + ")",
        !t && e.mark.snippet && (n += "\n\n" + e.mark.snippet),
        i + " " + n) : i
    }
    function r(e, t) {
        Error.call(this),
        this.name = "YAMLException",
        this.reason = e,
        this.mark = t,
        this.message = i(this, !1),
        Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = (new Error).stack || ""
    }
    r.prototype = Object.create(Error.prototype),
    r.prototype.constructor = r,
    r.prototype.toString = function(e) {
        return this.name + ": " + i(this, e)
    }
    ;
    var o = r;
    function a(e, t, n, i, r) {
        var o = ""
          , a = ""
          , l = Math.floor(r / 2) - 1;
        return i - t > l && (t = i - l + (o = " ... ").length),
        n - i > l && (n = i + l - (a = " ...").length),
        {
            str: o + e.slice(t, n).replace(/\t/g, "→") + a,
            pos: i - t + o.length
        }
    }
    function l(e, t) {
        return n.repeat(" ", t - e.length) + e
    }
    var c = function(e, t) {
        if (t = Object.create(t || null),
        !e.buffer)
            return null;
        t.maxLength || (t.maxLength = 79),
        "number" != typeof t.indent && (t.indent = 1),
        "number" != typeof t.linesBefore && (t.linesBefore = 3),
        "number" != typeof t.linesAfter && (t.linesAfter = 2);
        for (var i, r = /\r?\n|\r|\0/g, o = [0], c = [], s = -1; i = r.exec(e.buffer); )
            c.push(i.index),
            o.push(i.index + i[0].length),
            e.position <= i.index && s < 0 && (s = o.length - 2);
        s < 0 && (s = o.length - 1);
        var u, p, f = "", d = Math.min(e.line + t.linesAfter, c.length).toString().length, h = t.maxLength - (t.indent + d + 3);
        for (u = 1; u <= t.linesBefore && !(s - u < 0); u++)
            p = a(e.buffer, o[s - u], c[s - u], e.position - (o[s] - o[s - u]), h),
            f = n.repeat(" ", t.indent) + l((e.line - u + 1).toString(), d) + " | " + p.str + "\n" + f;
        for (p = a(e.buffer, o[s], c[s], e.position, h),
        f += n.repeat(" ", t.indent) + l((e.line + 1).toString(), d) + " | " + p.str + "\n",
        f += n.repeat("-", t.indent + d + 3 + p.pos) + "^\n",
        u = 1; u <= t.linesAfter && !(s + u >= c.length); u++)
            p = a(e.buffer, o[s + u], c[s + u], e.position - (o[s] - o[s + u]), h),
            f += n.repeat(" ", t.indent) + l((e.line + u + 1).toString(), d) + " | " + p.str + "\n";
        return f.replace(/\n$/, "")
    }
      , s = ["kind", "multi", "resolve", "construct", "instanceOf", "predicate", "represent", "representName", "defaultStyle", "styleAliases"]
      , u = ["scalar", "sequence", "mapping"];
    var p = function(e, t) {
        if (t = t || {},
        Object.keys(t).forEach((function(t) {
            if (-1 === s.indexOf(t))
                throw new o('Unknown option "' + t + '" is met in definition of "' + e + '" YAML type.')
        }
        )),
        this.options = t,
        this.tag = e,
        this.kind = t.kind || null,
        this.resolve = t.resolve || function() {
            return !0
        }
        ,
        this.construct = t.construct || function(e) {
            return e
        }
        ,
        this.instanceOf = t.instanceOf || null,
        this.predicate = t.predicate || null,
        this.represent = t.represent || null,
        this.representName = t.representName || null,
        this.defaultStyle = t.defaultStyle || null,
        this.multi = t.multi || !1,
        this.styleAliases = function(e) {
            var t = {};
            return null !== e && Object.keys(e).forEach((function(n) {
                e[n].forEach((function(e) {
                    t[String(e)] = n
                }
                ))
            }
            )),
            t
        }(t.styleAliases || null),
        -1 === u.indexOf(this.kind))
            throw new o('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.')
    };
    function f(e, t) {
        var n = [];
        return e[t].forEach((function(e) {
            var t = n.length;
            n.forEach((function(n, i) {
                n.tag === e.tag && n.kind === e.kind && n.multi === e.multi && (t = i)
            }
            )),
            n[t] = e
        }
        )),
        n
    }
    function d(e) {
        return this.extend(e)
    }
    d.prototype.extend = function(e) {
        var t = []
          , n = [];
        if (e instanceof p)
            n.push(e);
        else if (Array.isArray(e))
            n = n.concat(e);
        else {
            if (!e || !Array.isArray(e.implicit) && !Array.isArray(e.explicit))
                throw new o("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
            e.implicit && (t = t.concat(e.implicit)),
            e.explicit && (n = n.concat(e.explicit))
        }
        t.forEach((function(e) {
            if (!(e instanceof p))
                throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.");
            if (e.loadKind && "scalar" !== e.loadKind)
                throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
            if (e.multi)
                throw new o("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")
        }
        )),
        n.forEach((function(e) {
            if (!(e instanceof p))
                throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.")
        }
        ));
        var i = Object.create(d.prototype);
        return i.implicit = (this.implicit || []).concat(t),
        i.explicit = (this.explicit || []).concat(n),
        i.compiledImplicit = f(i, "implicit"),
        i.compiledExplicit = f(i, "explicit"),
        i.compiledTypeMap = function() {
            var e, t, n = {
                scalar: {},
                sequence: {},
                mapping: {},
                fallback: {},
                multi: {
                    scalar: [],
                    sequence: [],
                    mapping: [],
                    fallback: []
                }
            };
            function i(e) {
                e.multi ? (n.multi[e.kind].push(e),
                n.multi.fallback.push(e)) : n[e.kind][e.tag] = n.fallback[e.tag] = e
            }
            for (e = 0,
            t = arguments.length; e < t; e += 1)
                arguments[e].forEach(i);
            return n
        }(i.compiledImplicit, i.compiledExplicit),
        i
    }
    ;
    var h = d
      , g = new p("tag:yaml.org,2002:str",{
        kind: "scalar",
        construct: function(e) {
            return null !== e ? e : ""
        }
    })
      , m = new p("tag:yaml.org,2002:seq",{
        kind: "sequence",
        construct: function(e) {
            return null !== e ? e : []
        }
    })
      , y = new p("tag:yaml.org,2002:map",{
        kind: "mapping",
        construct: function(e) {
            return null !== e ? e : {}
        }
    })
      , b = new h({
        explicit: [g, m, y]
    });
    var A = new p("tag:yaml.org,2002:null",{
        kind: "scalar",
        resolve: function(e) {
            if (null === e)
                return !0;
            var t = e.length;
            return 1 === t && "~" === e || 4 === t && ("null" === e || "Null" === e || "NULL" === e)
        },
        construct: function() {
            return null
        },
        predicate: function(e) {
            return null === e
        },
        represent: {
            canonical: function() {
                return "~"
            },
            lowercase: function() {
                return "null"
            },
            uppercase: function() {
                return "NULL"
            },
            camelcase: function() {
                return "Null"
            },
            empty: function() {
                return ""
            }
        },
        defaultStyle: "lowercase"
    });
    var v = new p("tag:yaml.org,2002:bool",{
        kind: "scalar",
        resolve: function(e) {
            if (null === e)
                return !1;
            var t = e.length;
            return 4 === t && ("true" === e || "True" === e || "TRUE" === e) || 5 === t && ("false" === e || "False" === e || "FALSE" === e)
        },
        construct: function(e) {
            return "true" === e || "True" === e || "TRUE" === e
        },
        predicate: function(e) {
            return "[object Boolean]" === Object.prototype.toString.call(e)
        },
        represent: {
            lowercase: function(e) {
                return e ? "true" : "false"
            },
            uppercase: function(e) {
                return e ? "TRUE" : "FALSE"
            },
            camelcase: function(e) {
                return e ? "True" : "False"
            }
        },
        defaultStyle: "lowercase"
    });
    function w(e) {
        return 48 <= e && e <= 55
    }
    function k(e) {
        return 48 <= e && e <= 57
    }
    var C = new p("tag:yaml.org,2002:int",{
        kind: "scalar",
        resolve: function(e) {
            if (null === e)
                return !1;
            var t, n, i = e.length, r = 0, o = !1;
            if (!i)
                return !1;
            if ("-" !== (t = e[r]) && "+" !== t || (t = e[++r]),
            "0" === t) {
                if (r + 1 === i)
                    return !0;
                if ("b" === (t = e[++r])) {
                    for (r++; r < i; r++)
                        if ("_" !== (t = e[r])) {
                            if ("0" !== t && "1" !== t)
                                return !1;
                            o = !0
                        }
                    return o && "_" !== t
                }
                if ("x" === t) {
                    for (r++; r < i; r++)
                        if ("_" !== (t = e[r])) {
                            if (!(48 <= (n = e.charCodeAt(r)) && n <= 57 || 65 <= n && n <= 70 || 97 <= n && n <= 102))
                                return !1;
                            o = !0
                        }
                    return o && "_" !== t
                }
                if ("o" === t) {
                    for (r++; r < i; r++)
                        if ("_" !== (t = e[r])) {
                            if (!w(e.charCodeAt(r)))
                                return !1;
                            o = !0
                        }
                    return o && "_" !== t
                }
            }
            if ("_" === t)
                return !1;
            for (; r < i; r++)
                if ("_" !== (t = e[r])) {
                    if (!k(e.charCodeAt(r)))
                        return !1;
                    o = !0
                }
            return !(!o || "_" === t)
        },
        construct: function(e) {
            var t, n = e, i = 1;
            if (-1 !== n.indexOf("_") && (n = n.replace(/_/g, "")),
            "-" !== (t = n[0]) && "+" !== t || ("-" === t && (i = -1),
            t = (n = n.slice(1))[0]),
            "0" === n)
                return 0;
            if ("0" === t) {
                if ("b" === n[1])
                    return i * parseInt(n.slice(2), 2);
                if ("x" === n[1])
                    return i * parseInt(n.slice(2), 16);
                if ("o" === n[1])
                    return i * parseInt(n.slice(2), 8)
            }
            return i * parseInt(n, 10)
        },
        predicate: function(e) {
            return "[object Number]" === Object.prototype.toString.call(e) && e % 1 == 0 && !n.isNegativeZero(e)
        },
        represent: {
            binary: function(e) {
                return e >= 0 ? "0b" + e.toString(2) : "-0b" + e.toString(2).slice(1)
            },
            octal: function(e) {
                return e >= 0 ? "0o" + e.toString(8) : "-0o" + e.toString(8).slice(1)
            },
            decimal: function(e) {
                return e.toString(10)
            },
            hexadecimal: function(e) {
                return e >= 0 ? "0x" + e.toString(16).toUpperCase() : "-0x" + e.toString(16).toUpperCase().slice(1)
            }
        },
        defaultStyle: "decimal",
        styleAliases: {
            binary: [2, "bin"],
            octal: [8, "oct"],
            decimal: [10, "dec"],
            hexadecimal: [16, "hex"]
        }
    })
      , x = new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
    var I = /^[-+]?[0-9]+e/;
    var S = new p("tag:yaml.org,2002:float",{
        kind: "scalar",
        resolve: function(e) {
            return null !== e && !(!x.test(e) || "_" === e[e.length - 1])
        },
        construct: function(e) {
            var t, n;
            return n = "-" === (t = e.replace(/_/g, "").toLowerCase())[0] ? -1 : 1,
            "+-".indexOf(t[0]) >= 0 && (t = t.slice(1)),
            ".inf" === t ? 1 === n ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : ".nan" === t ? NaN : n * parseFloat(t, 10)
        },
        predicate: function(e) {
            return "[object Number]" === Object.prototype.toString.call(e) && (e % 1 != 0 || n.isNegativeZero(e))
        },
        represent: function(e, t) {
            var i;
            if (isNaN(e))
                switch (t) {
                case "lowercase":
                    return ".nan";
                case "uppercase":
                    return ".NAN";
                case "camelcase":
                    return ".NaN"
                }
            else if (Number.POSITIVE_INFINITY === e)
                switch (t) {
                case "lowercase":
                    return ".inf";
                case "uppercase":
                    return ".INF";
                case "camelcase":
                    return ".Inf"
                }
            else if (Number.NEGATIVE_INFINITY === e)
                switch (t) {
                case "lowercase":
                    return "-.inf";
                case "uppercase":
                    return "-.INF";
                case "camelcase":
                    return "-.Inf"
                }
            else if (n.isNegativeZero(e))
                return "-0.0";
            return i = e.toString(10),
            I.test(i) ? i.replace("e", ".e") : i
        },
        defaultStyle: "lowercase"
    })
      , O = b.extend({
        implicit: [A, v, C, S]
    })
      , j = O
      , T = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$")
      , N = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");
    var F = new p("tag:yaml.org,2002:timestamp",{
        kind: "scalar",
        resolve: function(e) {
            return null !== e && (null !== T.exec(e) || null !== N.exec(e))
        },
        construct: function(e) {
            var t, n, i, r, o, a, l, c, s = 0, u = null;
            if (null === (t = T.exec(e)) && (t = N.exec(e)),
            null === t)
                throw new Error("Date resolve error");
            if (n = +t[1],
            i = +t[2] - 1,
            r = +t[3],
            !t[4])
                return new Date(Date.UTC(n, i, r));
            if (o = +t[4],
            a = +t[5],
            l = +t[6],
            t[7]) {
                for (s = t[7].slice(0, 3); s.length < 3; )
                    s += "0";
                s = +s
            }
            return t[9] && (u = 6e4 * (60 * +t[10] + +(t[11] || 0)),
            "-" === t[9] && (u = -u)),
            c = new Date(Date.UTC(n, i, r, o, a, l, s)),
            u && c.setTime(c.getTime() - u),
            c
        },
        instanceOf: Date,
        represent: function(e) {
            return e.toISOString()
        }
    });
    var E = new p("tag:yaml.org,2002:merge",{
        kind: "scalar",
        resolve: function(e) {
            return "<<" === e || null === e
        }
    })
      , M = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
    var L = new p("tag:yaml.org,2002:binary",{
        kind: "scalar",
        resolve: function(e) {
            if (null === e)
                return !1;
            var t, n, i = 0, r = e.length, o = M;
            for (n = 0; n < r; n++)
                if (!((t = o.indexOf(e.charAt(n))) > 64)) {
                    if (t < 0)
                        return !1;
                    i += 6
                }
            return i % 8 == 0
        },
        construct: function(e) {
            var t, n, i = e.replace(/[\r\n=]/g, ""), r = i.length, o = M, a = 0, l = [];
            for (t = 0; t < r; t++)
                t % 4 == 0 && t && (l.push(a >> 16 & 255),
                l.push(a >> 8 & 255),
                l.push(255 & a)),
                a = a << 6 | o.indexOf(i.charAt(t));
            return 0 === (n = r % 4 * 6) ? (l.push(a >> 16 & 255),
            l.push(a >> 8 & 255),
            l.push(255 & a)) : 18 === n ? (l.push(a >> 10 & 255),
            l.push(a >> 2 & 255)) : 12 === n && l.push(a >> 4 & 255),
            new Uint8Array(l)
        },
        predicate: function(e) {
            return "[object Uint8Array]" === Object.prototype.toString.call(e)
        },
        represent: function(e) {
            var t, n, i = "", r = 0, o = e.length, a = M;
            for (t = 0; t < o; t++)
                t % 3 == 0 && t && (i += a[r >> 18 & 63],
                i += a[r >> 12 & 63],
                i += a[r >> 6 & 63],
                i += a[63 & r]),
                r = (r << 8) + e[t];
            return 0 === (n = o % 3) ? (i += a[r >> 18 & 63],
            i += a[r >> 12 & 63],
            i += a[r >> 6 & 63],
            i += a[63 & r]) : 2 === n ? (i += a[r >> 10 & 63],
            i += a[r >> 4 & 63],
            i += a[r << 2 & 63],
            i += a[64]) : 1 === n && (i += a[r >> 2 & 63],
            i += a[r << 4 & 63],
            i += a[64],
            i += a[64]),
            i
        }
    })
      , _ = Object.prototype.hasOwnProperty
      , D = Object.prototype.toString;
    var U = new p("tag:yaml.org,2002:omap",{
        kind: "sequence",
        resolve: function(e) {
            if (null === e)
                return !0;
            var t, n, i, r, o, a = [], l = e;
            for (t = 0,
            n = l.length; t < n; t += 1) {
                if (i = l[t],
                o = !1,
                "[object Object]" !== D.call(i))
                    return !1;
                for (r in i)
                    if (_.call(i, r)) {
                        if (o)
                            return !1;
                        o = !0
                    }
                if (!o)
                    return !1;
                if (-1 !== a.indexOf(r))
                    return !1;
                a.push(r)
            }
            return !0
        },
        construct: function(e) {
            return null !== e ? e : []
        }
    })
      , q = Object.prototype.toString;
    var Y = new p("tag:yaml.org,2002:pairs",{
        kind: "sequence",
        resolve: function(e) {
            if (null === e)
                return !0;
            var t, n, i, r, o, a = e;
            for (o = new Array(a.length),
            t = 0,
            n = a.length; t < n; t += 1) {
                if (i = a[t],
                "[object Object]" !== q.call(i))
                    return !1;
                if (1 !== (r = Object.keys(i)).length)
                    return !1;
                o[t] = [r[0], i[r[0]]]
            }
            return !0
        },
        construct: function(e) {
            if (null === e)
                return [];
            var t, n, i, r, o, a = e;
            for (o = new Array(a.length),
            t = 0,
            n = a.length; t < n; t += 1)
                i = a[t],
                r = Object.keys(i),
                o[t] = [r[0], i[r[0]]];
            return o
        }
    })
      , R = Object.prototype.hasOwnProperty;
    var B = new p("tag:yaml.org,2002:set",{
        kind: "mapping",
        resolve: function(e) {
            if (null === e)
                return !0;
            var t, n = e;
            for (t in n)
                if (R.call(n, t) && null !== n[t])
                    return !1;
            return !0
        },
        construct: function(e) {
            return null !== e ? e : {}
        }
    })
      , K = j.extend({
        implicit: [F, E],
        explicit: [L, U, Y, B]
    })
      , P = Object.prototype.hasOwnProperty
      , W = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
      , H = /[\x85\u2028\u2029]/
      , $ = /[,\[\]\{\}]/
      , G = /^(?:!|!!|![a-z\-]+!)$/i
      , V = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
    function Z(e) {
        return Object.prototype.toString.call(e)
    }
    function J(e) {
        return 10 === e || 13 === e
    }
    function Q(e) {
        return 9 === e || 32 === e
    }
    function z(e) {
        return 9 === e || 32 === e || 10 === e || 13 === e
    }
    function X(e) {
        return 44 === e || 91 === e || 93 === e || 123 === e || 125 === e
    }
    function ee(e) {
        var t;
        return 48 <= e && e <= 57 ? e - 48 : 97 <= (t = 32 | e) && t <= 102 ? t - 97 + 10 : -1
    }
    function te(e) {
        return 48 === e ? "\0" : 97 === e ? "" : 98 === e ? "\b" : 116 === e || 9 === e ? "\t" : 110 === e ? "\n" : 118 === e ? "\v" : 102 === e ? "\f" : 114 === e ? "\r" : 101 === e ? "" : 32 === e ? " " : 34 === e ? '"' : 47 === e ? "/" : 92 === e ? "\\" : 78 === e ? "…" : 95 === e ? " " : 76 === e ? "\u2028" : 80 === e ? "\u2029" : ""
    }
    function ne(e) {
        return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode(55296 + (e - 65536 >> 10), 56320 + (e - 65536 & 1023))
    }
    for (var ie = new Array(256), re = new Array(256), oe = 0; oe < 256; oe++)
        ie[oe] = te(oe) ? 1 : 0,
        re[oe] = te(oe);
    function ae(e, t) {
        this.input = e,
        this.filename = t.filename || null,
        this.schema = t.schema || K,
        this.onWarning = t.onWarning || null,
        this.legacy = t.legacy || !1,
        this.json = t.json || !1,
        this.listener = t.listener || null,
        this.implicitTypes = this.schema.compiledImplicit,
        this.typeMap = this.schema.compiledTypeMap,
        this.length = e.length,
        this.position = 0,
        this.line = 0,
        this.lineStart = 0,
        this.lineIndent = 0,
        this.firstTabInLine = -1,
        this.documents = []
    }
    function le(e, t) {
        var n = {
            name: e.filename,
            buffer: e.input.slice(0, -1),
            position: e.position,
            line: e.line,
            column: e.position - e.lineStart
        };
        return n.snippet = c(n),
        new o(t,n)
    }
    function ce(e, t) {
        throw le(e, t)
    }
    function se(e, t) {
        e.onWarning && e.onWarning.call(null, le(e, t))
    }
    var ue = {
        YAML: function(e, t, n) {
            var i, r, o;
            null !== e.version && ce(e, "duplication of %YAML directive"),
            1 !== n.length && ce(e, "YAML directive accepts exactly one argument"),
            null === (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])) && ce(e, "ill-formed argument of the YAML directive"),
            r = parseInt(i[1], 10),
            o = parseInt(i[2], 10),
            1 !== r && ce(e, "unacceptable YAML version of the document"),
            e.version = n[0],
            e.checkLineBreaks = o < 2,
            1 !== o && 2 !== o && se(e, "unsupported YAML version of the document")
        },
        TAG: function(e, t, n) {
            var i, r;
            2 !== n.length && ce(e, "TAG directive accepts exactly two arguments"),
            i = n[0],
            r = n[1],
            G.test(i) || ce(e, "ill-formed tag handle (first argument) of the TAG directive"),
            P.call(e.tagMap, i) && ce(e, 'there is a previously declared suffix for "' + i + '" tag handle'),
            V.test(r) || ce(e, "ill-formed tag prefix (second argument) of the TAG directive");
            try {
                r = decodeURIComponent(r)
            } catch (t) {
                ce(e, "tag prefix is malformed: " + r)
            }
            e.tagMap[i] = r
        }
    };
    function pe(e, t, n, i) {
        var r, o, a, l;
        if (t < n) {
            if (l = e.input.slice(t, n),
            i)
                for (r = 0,
                o = l.length; r < o; r += 1)
                    9 === (a = l.charCodeAt(r)) || 32 <= a && a <= 1114111 || ce(e, "expected valid JSON character");
            else
                W.test(l) && ce(e, "the stream contains non-printable characters");
            e.result += l
        }
    }
    function fe(e, t, i, r) {
        var o, a, l, c;
        for (n.isObject(i) || ce(e, "cannot merge mappings; the provided source object is unacceptable"),
        l = 0,
        c = (o = Object.keys(i)).length; l < c; l += 1)
            a = o[l],
            P.call(t, a) || (t[a] = i[a],
            r[a] = !0)
    }
    function de(e, t, n, i, r, o, a, l, c) {
        var s, u;
        if (Array.isArray(r))
            for (s = 0,
            u = (r = Array.prototype.slice.call(r)).length; s < u; s += 1)
                Array.isArray(r[s]) && ce(e, "nested arrays are not supported inside keys"),
                "object" == typeof r && "[object Object]" === Z(r[s]) && (r[s] = "[object Object]");
        if ("object" == typeof r && "[object Object]" === Z(r) && (r = "[object Object]"),
        r = String(r),
        null === t && (t = {}),
        "tag:yaml.org,2002:merge" === i)
            if (Array.isArray(o))
                for (s = 0,
                u = o.length; s < u; s += 1)
                    fe(e, t, o[s], n);
            else
                fe(e, t, o, n);
        else
            e.json || P.call(n, r) || !P.call(t, r) || (e.line = a || e.line,
            e.lineStart = l || e.lineStart,
            e.position = c || e.position,
            ce(e, "duplicated mapping key")),
            "__proto__" === r ? Object.defineProperty(t, r, {
                configurable: !0,
                enumerable: !0,
                writable: !0,
                value: o
            }) : t[r] = o,
            delete n[r];
        return t
    }
    function he(e) {
        var t;
        10 === (t = e.input.charCodeAt(e.position)) ? e.position++ : 13 === t ? (e.position++,
        10 === e.input.charCodeAt(e.position) && e.position++) : ce(e, "a line break is expected"),
        e.line += 1,
        e.lineStart = e.position,
        e.firstTabInLine = -1
    }
    function ge(e, t, n) {
        for (var i = 0, r = e.input.charCodeAt(e.position); 0 !== r; ) {
            for (; Q(r); )
                9 === r && -1 === e.firstTabInLine && (e.firstTabInLine = e.position),
                r = e.input.charCodeAt(++e.position);
            if (t && 35 === r)
                do {
                    r = e.input.charCodeAt(++e.position)
                } while (10 !== r && 13 !== r && 0 !== r);
            if (!J(r))
                break;
            for (he(e),
            r = e.input.charCodeAt(e.position),
            i++,
            e.lineIndent = 0; 32 === r; )
                e.lineIndent++,
                r = e.input.charCodeAt(++e.position)
        }
        return -1 !== n && 0 !== i && e.lineIndent < n && se(e, "deficient indentation"),
        i
    }
    function me(e) {
        var t, n = e.position;
        return !(45 !== (t = e.input.charCodeAt(n)) && 46 !== t || t !== e.input.charCodeAt(n + 1) || t !== e.input.charCodeAt(n + 2) || (n += 3,
        0 !== (t = e.input.charCodeAt(n)) && !z(t)))
    }
    function ye(e, t) {
        1 === t ? e.result += " " : t > 1 && (e.result += n.repeat("\n", t - 1))
    }
    function be(e, t) {
        var n, i, r = e.tag, o = e.anchor, a = [], l = !1;
        if (-1 !== e.firstTabInLine)
            return !1;
        for (null !== e.anchor && (e.anchorMap[e.anchor] = a),
        i = e.input.charCodeAt(e.position); 0 !== i && (-1 !== e.firstTabInLine && (e.position = e.firstTabInLine,
        ce(e, "tab characters must not be used in indentation")),
        45 === i) && z(e.input.charCodeAt(e.position + 1)); )
            if (l = !0,
            e.position++,
            ge(e, !0, -1) && e.lineIndent <= t)
                a.push(null),
                i = e.input.charCodeAt(e.position);
            else if (n = e.line,
            we(e, t, 3, !1, !0),
            a.push(e.result),
            ge(e, !0, -1),
            i = e.input.charCodeAt(e.position),
            (e.line === n || e.lineIndent > t) && 0 !== i)
                ce(e, "bad indentation of a sequence entry");
            else if (e.lineIndent < t)
                break;
        return !!l && (e.tag = r,
        e.anchor = o,
        e.kind = "sequence",
        e.result = a,
        !0)
    }
    function Ae(e) {
        var t, n, i, r, o = !1, a = !1;
        if (33 !== (r = e.input.charCodeAt(e.position)))
            return !1;
        if (null !== e.tag && ce(e, "duplication of a tag property"),
        60 === (r = e.input.charCodeAt(++e.position)) ? (o = !0,
        r = e.input.charCodeAt(++e.position)) : 33 === r ? (a = !0,
        n = "!!",
        r = e.input.charCodeAt(++e.position)) : n = "!",
        t = e.position,
        o) {
            do {
                r = e.input.charCodeAt(++e.position)
            } while (0 !== r && 62 !== r);
            e.position < e.length ? (i = e.input.slice(t, e.position),
            r = e.input.charCodeAt(++e.position)) : ce(e, "unexpected end of the stream within a verbatim tag")
        } else {
            for (; 0 !== r && !z(r); )
                33 === r && (a ? ce(e, "tag suffix cannot contain exclamation marks") : (n = e.input.slice(t - 1, e.position + 1),
                G.test(n) || ce(e, "named tag handle cannot contain such characters"),
                a = !0,
                t = e.position + 1)),
                r = e.input.charCodeAt(++e.position);
            i = e.input.slice(t, e.position),
            $.test(i) && ce(e, "tag suffix cannot contain flow indicator characters")
        }
        i && !V.test(i) && ce(e, "tag name cannot contain such characters: " + i);
        try {
            i = decodeURIComponent(i)
        } catch (t) {
            ce(e, "tag name is malformed: " + i)
        }
        return o ? e.tag = i : P.call(e.tagMap, n) ? e.tag = e.tagMap[n] + i : "!" === n ? e.tag = "!" + i : "!!" === n ? e.tag = "tag:yaml.org,2002:" + i : ce(e, 'undeclared tag handle "' + n + '"'),
        !0
    }
    function ve(e) {
        var t, n;
        if (38 !== (n = e.input.charCodeAt(e.position)))
            return !1;
        for (null !== e.anchor && ce(e, "duplication of an anchor property"),
        n = e.input.charCodeAt(++e.position),
        t = e.position; 0 !== n && !z(n) && !X(n); )
            n = e.input.charCodeAt(++e.position);
        return e.position === t && ce(e, "name of an anchor node must contain at least one character"),
        e.anchor = e.input.slice(t, e.position),
        !0
    }
    function we(e, t, i, r, o) {
        var a, l, c, s, u, p, f, d, h, g = 1, m = !1, y = !1;
        if (null !== e.listener && e.listener("open", e),
        e.tag = null,
        e.anchor = null,
        e.kind = null,
        e.result = null,
        a = l = c = 4 === i || 3 === i,
        r && ge(e, !0, -1) && (m = !0,
        e.lineIndent > t ? g = 1 : e.lineIndent === t ? g = 0 : e.lineIndent < t && (g = -1)),
        1 === g)
            for (; Ae(e) || ve(e); )
                ge(e, !0, -1) ? (m = !0,
                c = a,
                e.lineIndent > t ? g = 1 : e.lineIndent === t ? g = 0 : e.lineIndent < t && (g = -1)) : c = !1;
        if (c && (c = m || o),
        1 !== g && 4 !== i || (d = 1 === i || 2 === i ? t : t + 1,
        h = e.position - e.lineStart,
        1 === g ? c && (be(e, h) || function(e, t, n) {
            var i, r, o, a, l, c, s, u = e.tag, p = e.anchor, f = {}, d = Object.create(null), h = null, g = null, m = null, y = !1, b = !1;
            if (-1 !== e.firstTabInLine)
                return !1;
            for (null !== e.anchor && (e.anchorMap[e.anchor] = f),
            s = e.input.charCodeAt(e.position); 0 !== s; ) {
                if (y || -1 === e.firstTabInLine || (e.position = e.firstTabInLine,
                ce(e, "tab characters must not be used in indentation")),
                i = e.input.charCodeAt(e.position + 1),
                o = e.line,
                63 !== s && 58 !== s || !z(i)) {
                    if (a = e.line,
                    l = e.lineStart,
                    c = e.position,
                    !we(e, n, 2, !1, !0))
                        break;
                    if (e.line === o) {
                        for (s = e.input.charCodeAt(e.position); Q(s); )
                            s = e.input.charCodeAt(++e.position);
                        if (58 === s)
                            z(s = e.input.charCodeAt(++e.position)) || ce(e, "a whitespace character is expected after the key-value separator within a block mapping"),
                            y && (de(e, f, d, h, g, null, a, l, c),
                            h = g = m = null),
                            b = !0,
                            y = !1,
                            r = !1,
                            h = e.tag,
                            g = e.result;
                        else {
                            if (!b)
                                return e.tag = u,
                                e.anchor = p,
                                !0;
                            ce(e, "can not read an implicit mapping pair; a colon is missed")
                        }
                    } else {
                        if (!b)
                            return e.tag = u,
                            e.anchor = p,
                            !0;
                        ce(e, "can not read a block mapping entry; a multiline key may not be an implicit key")
                    }
                } else
                    63 === s ? (y && (de(e, f, d, h, g, null, a, l, c),
                    h = g = m = null),
                    b = !0,
                    y = !0,
                    r = !0) : y ? (y = !1,
                    r = !0) : ce(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),
                    e.position += 1,
                    s = i;
                if ((e.line === o || e.lineIndent > t) && (y && (a = e.line,
                l = e.lineStart,
                c = e.position),
                we(e, t, 4, !0, r) && (y ? g = e.result : m = e.result),
                y || (de(e, f, d, h, g, m, a, l, c),
                h = g = m = null),
                ge(e, !0, -1),
                s = e.input.charCodeAt(e.position)),
                (e.line === o || e.lineIndent > t) && 0 !== s)
                    ce(e, "bad indentation of a mapping entry");
                else if (e.lineIndent < t)
                    break
            }
            return y && de(e, f, d, h, g, null, a, l, c),
            b && (e.tag = u,
            e.anchor = p,
            e.kind = "mapping",
            e.result = f),
            b
        }(e, h, d)) || function(e, t) {
            var n, i, r, o, a, l, c, s, u, p, f, d, h = !0, g = e.tag, m = e.anchor, y = Object.create(null);
            if (91 === (d = e.input.charCodeAt(e.position)))
                a = 93,
                s = !1,
                o = [];
            else {
                if (123 !== d)
                    return !1;
                a = 125,
                s = !0,
                o = {}
            }
            for (null !== e.anchor && (e.anchorMap[e.anchor] = o),
            d = e.input.charCodeAt(++e.position); 0 !== d; ) {
                if (ge(e, !0, t),
                (d = e.input.charCodeAt(e.position)) === a)
                    return e.position++,
                    e.tag = g,
                    e.anchor = m,
                    e.kind = s ? "mapping" : "sequence",
                    e.result = o,
                    !0;
                h ? 44 === d && ce(e, "expected the node content, but found ','") : ce(e, "missed comma between flow collection entries"),
                f = null,
                l = c = !1,
                63 === d && z(e.input.charCodeAt(e.position + 1)) && (l = c = !0,
                e.position++,
                ge(e, !0, t)),
                n = e.line,
                i = e.lineStart,
                r = e.position,
                we(e, t, 1, !1, !0),
                p = e.tag,
                u = e.result,
                ge(e, !0, t),
                d = e.input.charCodeAt(e.position),
                !c && e.line !== n || 58 !== d || (l = !0,
                d = e.input.charCodeAt(++e.position),
                ge(e, !0, t),
                we(e, t, 1, !1, !0),
                f = e.result),
                s ? de(e, o, y, p, u, f, n, i, r) : l ? o.push(de(e, null, y, p, u, f, n, i, r)) : o.push(u),
                ge(e, !0, t),
                44 === (d = e.input.charCodeAt(e.position)) ? (h = !0,
                d = e.input.charCodeAt(++e.position)) : h = !1
            }
            ce(e, "unexpected end of the stream within a flow collection")
        }(e, d) ? y = !0 : (l && function(e, t) {
            var i, r, o, a, l, c = 1, s = !1, u = !1, p = t, f = 0, d = !1;
            if (124 === (a = e.input.charCodeAt(e.position)))
                r = !1;
            else {
                if (62 !== a)
                    return !1;
                r = !0
            }
            for (e.kind = "scalar",
            e.result = ""; 0 !== a; )
                if (43 === (a = e.input.charCodeAt(++e.position)) || 45 === a)
                    1 === c ? c = 43 === a ? 3 : 2 : ce(e, "repeat of a chomping mode identifier");
                else {
                    if (!((o = 48 <= (l = a) && l <= 57 ? l - 48 : -1) >= 0))
                        break;
                    0 === o ? ce(e, "bad explicit indentation width of a block scalar; it cannot be less than one") : u ? ce(e, "repeat of an indentation width identifier") : (p = t + o - 1,
                    u = !0)
                }
            if (Q(a)) {
                do {
                    a = e.input.charCodeAt(++e.position)
                } while (Q(a));
                if (35 === a)
                    do {
                        a = e.input.charCodeAt(++e.position)
                    } while (!J(a) && 0 !== a)
            }
            for (; 0 !== a; ) {
                for (he(e),
                e.lineIndent = 0,
                a = e.input.charCodeAt(e.position); (!u || e.lineIndent < p) && 32 === a; )
                    e.lineIndent++,
                    a = e.input.charCodeAt(++e.position);
                if (!u && e.lineIndent > p && (p = e.lineIndent),
                J(a))
                    f++;
                else {
                    if (e.lineIndent < p) {
                        3 === c ? e.result += n.repeat("\n", s ? 1 + f : f) : 1 === c && s && (e.result += "\n");
                        break
                    }
                    for (r ? Q(a) ? (d = !0,
                    e.result += n.repeat("\n", s ? 1 + f : f)) : d ? (d = !1,
                    e.result += n.repeat("\n", f + 1)) : 0 === f ? s && (e.result += " ") : e.result += n.repeat("\n", f) : e.result += n.repeat("\n", s ? 1 + f : f),
                    s = !0,
                    u = !0,
                    f = 0,
                    i = e.position; !J(a) && 0 !== a; )
                        a = e.input.charCodeAt(++e.position);
                    pe(e, i, e.position, !1)
                }
            }
            return !0
        }(e, d) || function(e, t) {
            var n, i, r;
            if (39 !== (n = e.input.charCodeAt(e.position)))
                return !1;
            for (e.kind = "scalar",
            e.result = "",
            e.position++,
            i = r = e.position; 0 !== (n = e.input.charCodeAt(e.position)); )
                if (39 === n) {
                    if (pe(e, i, e.position, !0),
                    39 !== (n = e.input.charCodeAt(++e.position)))
                        return !0;
                    i = e.position,
                    e.position++,
                    r = e.position
                } else
                    J(n) ? (pe(e, i, r, !0),
                    ye(e, ge(e, !1, t)),
                    i = r = e.position) : e.position === e.lineStart && me(e) ? ce(e, "unexpected end of the document within a single quoted scalar") : (e.position++,
                    r = e.position);
            ce(e, "unexpected end of the stream within a single quoted scalar")
        }(e, d) || function(e, t) {
            var n, i, r, o, a, l, c;
            if (34 !== (l = e.input.charCodeAt(e.position)))
                return !1;
            for (e.kind = "scalar",
            e.result = "",
            e.position++,
            n = i = e.position; 0 !== (l = e.input.charCodeAt(e.position)); ) {
                if (34 === l)
                    return pe(e, n, e.position, !0),
                    e.position++,
                    !0;
                if (92 === l) {
                    if (pe(e, n, e.position, !0),
                    J(l = e.input.charCodeAt(++e.position)))
                        ge(e, !1, t);
                    else if (l < 256 && ie[l])
                        e.result += re[l],
                        e.position++;
                    else if ((a = 120 === (c = l) ? 2 : 117 === c ? 4 : 85 === c ? 8 : 0) > 0) {
                        for (r = a,
                        o = 0; r > 0; r--)
                            (a = ee(l = e.input.charCodeAt(++e.position))) >= 0 ? o = (o << 4) + a : ce(e, "expected hexadecimal character");
                        e.result += ne(o),
                        e.position++
                    } else
                        ce(e, "unknown escape sequence");
                    n = i = e.position
                } else
                    J(l) ? (pe(e, n, i, !0),
                    ye(e, ge(e, !1, t)),
                    n = i = e.position) : e.position === e.lineStart && me(e) ? ce(e, "unexpected end of the document within a double quoted scalar") : (e.position++,
                    i = e.position)
            }
            ce(e, "unexpected end of the stream within a double quoted scalar")
        }(e, d) ? y = !0 : !function(e) {
            var t, n, i;
            if (42 !== (i = e.input.charCodeAt(e.position)))
                return !1;
            for (i = e.input.charCodeAt(++e.position),
            t = e.position; 0 !== i && !z(i) && !X(i); )
                i = e.input.charCodeAt(++e.position);
            return e.position === t && ce(e, "name of an alias node must contain at least one character"),
            n = e.input.slice(t, e.position),
            P.call(e.anchorMap, n) || ce(e, 'unidentified alias "' + n + '"'),
            e.result = e.anchorMap[n],
            ge(e, !0, -1),
            !0
        }(e) ? function(e, t, n) {
            var i, r, o, a, l, c, s, u, p = e.kind, f = e.result;
            if (z(u = e.input.charCodeAt(e.position)) || X(u) || 35 === u || 38 === u || 42 === u || 33 === u || 124 === u || 62 === u || 39 === u || 34 === u || 37 === u || 64 === u || 96 === u)
                return !1;
            if ((63 === u || 45 === u) && (z(i = e.input.charCodeAt(e.position + 1)) || n && X(i)))
                return !1;
            for (e.kind = "scalar",
            e.result = "",
            r = o = e.position,
            a = !1; 0 !== u; ) {
                if (58 === u) {
                    if (z(i = e.input.charCodeAt(e.position + 1)) || n && X(i))
                        break
                } else if (35 === u) {
                    if (z(e.input.charCodeAt(e.position - 1)))
                        break
                } else {
                    if (e.position === e.lineStart && me(e) || n && X(u))
                        break;
                    if (J(u)) {
                        if (l = e.line,
                        c = e.lineStart,
                        s = e.lineIndent,
                        ge(e, !1, -1),
                        e.lineIndent >= t) {
                            a = !0,
                            u = e.input.charCodeAt(e.position);
                            continue
                        }
                        e.position = o,
                        e.line = l,
                        e.lineStart = c,
                        e.lineIndent = s;
                        break
                    }
                }
                a && (pe(e, r, o, !1),
                ye(e, e.line - l),
                r = o = e.position,
                a = !1),
                Q(u) || (o = e.position + 1),
                u = e.input.charCodeAt(++e.position)
            }
            return pe(e, r, o, !1),
            !!e.result || (e.kind = p,
            e.result = f,
            !1)
        }(e, d, 1 === i) && (y = !0,
        null === e.tag && (e.tag = "?")) : (y = !0,
        null === e.tag && null === e.anchor || ce(e, "alias node should not have any properties")),
        null !== e.anchor && (e.anchorMap[e.anchor] = e.result)) : 0 === g && (y = c && be(e, h))),
        null === e.tag)
            null !== e.anchor && (e.anchorMap[e.anchor] = e.result);
        else if ("?" === e.tag) {
            for (null !== e.result && "scalar" !== e.kind && ce(e, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + e.kind + '"'),
            s = 0,
            u = e.implicitTypes.length; s < u; s += 1)
                if ((f = e.implicitTypes[s]).resolve(e.result)) {
                    e.result = f.construct(e.result),
                    e.tag = f.tag,
                    null !== e.anchor && (e.anchorMap[e.anchor] = e.result);
                    break
                }
        } else if ("!" !== e.tag) {
            if (P.call(e.typeMap[e.kind || "fallback"], e.tag))
                f = e.typeMap[e.kind || "fallback"][e.tag];
            else
                for (f = null,
                s = 0,
                u = (p = e.typeMap.multi[e.kind || "fallback"]).length; s < u; s += 1)
                    if (e.tag.slice(0, p[s].tag.length) === p[s].tag) {
                        f = p[s];
                        break
                    }
            f || ce(e, "unknown tag !<" + e.tag + ">"),
            null !== e.result && f.kind !== e.kind && ce(e, "unacceptable node kind for !<" + e.tag + '> tag; it should be "' + f.kind + '", not "' + e.kind + '"'),
            f.resolve(e.result, e.tag) ? (e.result = f.construct(e.result, e.tag),
            null !== e.anchor && (e.anchorMap[e.anchor] = e.result)) : ce(e, "cannot resolve a node with !<" + e.tag + "> explicit tag")
        }
        return null !== e.listener && e.listener("close", e),
        null !== e.tag || null !== e.anchor || y
    }
    function ke(e) {
        var t, n, i, r, o = e.position, a = !1;
        for (e.version = null,
        e.checkLineBreaks = e.legacy,
        e.tagMap = Object.create(null),
        e.anchorMap = Object.create(null); 0 !== (r = e.input.charCodeAt(e.position)) && (ge(e, !0, -1),
        r = e.input.charCodeAt(e.position),
        !(e.lineIndent > 0 || 37 !== r)); ) {
            for (a = !0,
            r = e.input.charCodeAt(++e.position),
            t = e.position; 0 !== r && !z(r); )
                r = e.input.charCodeAt(++e.position);
            for (i = [],
            (n = e.input.slice(t, e.position)).length < 1 && ce(e, "directive name must not be less than one character in length"); 0 !== r; ) {
                for (; Q(r); )
                    r = e.input.charCodeAt(++e.position);
                if (35 === r) {
                    do {
                        r = e.input.charCodeAt(++e.position)
                    } while (0 !== r && !J(r));
                    break
                }
                if (J(r))
                    break;
                for (t = e.position; 0 !== r && !z(r); )
                    r = e.input.charCodeAt(++e.position);
                i.push(e.input.slice(t, e.position))
            }
            0 !== r && he(e),
            P.call(ue, n) ? ue[n](e, n, i) : se(e, 'unknown document directive "' + n + '"')
        }
        ge(e, !0, -1),
        0 === e.lineIndent && 45 === e.input.charCodeAt(e.position) && 45 === e.input.charCodeAt(e.position + 1) && 45 === e.input.charCodeAt(e.position + 2) ? (e.position += 3,
        ge(e, !0, -1)) : a && ce(e, "directives end mark is expected"),
        we(e, e.lineIndent - 1, 4, !1, !0),
        ge(e, !0, -1),
        e.checkLineBreaks && H.test(e.input.slice(o, e.position)) && se(e, "non-ASCII line breaks are interpreted as content"),
        e.documents.push(e.result),
        e.position === e.lineStart && me(e) ? 46 === e.input.charCodeAt(e.position) && (e.position += 3,
        ge(e, !0, -1)) : e.position < e.length - 1 && ce(e, "end of the stream or a document separator is expected")
    }
    function Ce(e, t) {
        t = t || {},
        0 !== (e = String(e)).length && (10 !== e.charCodeAt(e.length - 1) && 13 !== e.charCodeAt(e.length - 1) && (e += "\n"),
        65279 === e.charCodeAt(0) && (e = e.slice(1)));
        var n = new ae(e,t)
          , i = e.indexOf("\0");
        for (-1 !== i && (n.position = i,
        ce(n, "null byte is not allowed in input")),
        n.input += "\0"; 32 === n.input.charCodeAt(n.position); )
            n.lineIndent += 1,
            n.position += 1;
        for (; n.position < n.length - 1; )
            ke(n);
        return n.documents
    }
    var xe = {
        loadAll: function(e, t, n) {
            null !== t && "object" == typeof t && void 0 === n && (n = t,
            t = null);
            var i = Ce(e, n);
            if ("function" != typeof t)
                return i;
            for (var r = 0, o = i.length; r < o; r += 1)
                t(i[r])
        },
        load: function(e, t) {
            var n = Ce(e, t);
            if (0 !== n.length) {
                if (1 === n.length)
                    return n[0];
                throw new o("expected a single document in the stream, but found more")
            }
        }
    }
      , Ie = Object.prototype.toString
      , Se = Object.prototype.hasOwnProperty
      , Oe = 65279
      , je = {
        0: "\\0",
        7: "\\a",
        8: "\\b",
        9: "\\t",
        10: "\\n",
        11: "\\v",
        12: "\\f",
        13: "\\r",
        27: "\\e",
        34: '\\"',
        92: "\\\\",
        133: "\\N",
        160: "\\_",
        8232: "\\L",
        8233: "\\P"
    }
      , Te = ["y", "Y", "yes", "Yes", "YES", "on", "On", "ON", "n", "N", "no", "No", "NO", "off", "Off", "OFF"]
      , Ne = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
    function Fe(e) {
        var t, i, r;
        if (t = e.toString(16).toUpperCase(),
        e <= 255)
            i = "x",
            r = 2;
        else if (e <= 65535)
            i = "u",
            r = 4;
        else {
            if (!(e <= 4294967295))
                throw new o("code point within a string may not be greater than 0xFFFFFFFF");
            i = "U",
            r = 8
        }
        return "\\" + i + n.repeat("0", r - t.length) + t
    }
    function Ee(e) {
        this.schema = e.schema || K,
        this.indent = Math.max(1, e.indent || 2),
        this.noArrayIndent = e.noArrayIndent || !1,
        this.skipInvalid = e.skipInvalid || !1,
        this.flowLevel = n.isNothing(e.flowLevel) ? -1 : e.flowLevel,
        this.styleMap = function(e, t) {
            var n, i, r, o, a, l, c;
            if (null === t)
                return {};
            for (n = {},
            r = 0,
            o = (i = Object.keys(t)).length; r < o; r += 1)
                a = i[r],
                l = String(t[a]),
                "!!" === a.slice(0, 2) && (a = "tag:yaml.org,2002:" + a.slice(2)),
                (c = e.compiledTypeMap.fallback[a]) && Se.call(c.styleAliases, l) && (l = c.styleAliases[l]),
                n[a] = l;
            return n
        }(this.schema, e.styles || null),
        this.sortKeys = e.sortKeys || !1,
        this.lineWidth = e.lineWidth || 80,
        this.noRefs = e.noRefs || !1,
        this.noCompatMode = e.noCompatMode || !1,
        this.condenseFlow = e.condenseFlow || !1,
        this.quotingType = '"' === e.quotingType ? 2 : 1,
        this.forceQuotes = e.forceQuotes || !1,
        this.replacer = "function" == typeof e.replacer ? e.replacer : null,
        this.implicitTypes = this.schema.compiledImplicit,
        this.explicitTypes = this.schema.compiledExplicit,
        this.tag = null,
        this.result = "",
        this.duplicates = [],
        this.usedDuplicates = null
    }
    function Me(e, t) {
        for (var i, r = n.repeat(" ", t), o = 0, a = -1, l = "", c = e.length; o < c; )
            -1 === (a = e.indexOf("\n", o)) ? (i = e.slice(o),
            o = c) : (i = e.slice(o, a + 1),
            o = a + 1),
            i.length && "\n" !== i && (l += r),
            l += i;
        return l
    }
    function Le(e, t) {
        return "\n" + n.repeat(" ", e.indent * t)
    }
    function _e(e) {
        return 32 === e || 9 === e
    }
    function De(e) {
        return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && 8232 !== e && 8233 !== e || 57344 <= e && e <= 65533 && e !== Oe || 65536 <= e && e <= 1114111
    }
    function Ue(e) {
        return De(e) && e !== Oe && 13 !== e && 10 !== e
    }
    function qe(e, t, n) {
        var i = Ue(e)
          , r = i && !_e(e);
        return (n ? i : i && 44 !== e && 91 !== e && 93 !== e && 123 !== e && 125 !== e) && 35 !== e && !(58 === t && !r) || Ue(t) && !_e(t) && 35 === e || 58 === t && r
    }
    function Ye(e, t) {
        var n, i = e.charCodeAt(t);
        return i >= 55296 && i <= 56319 && t + 1 < e.length && (n = e.charCodeAt(t + 1)) >= 56320 && n <= 57343 ? 1024 * (i - 55296) + n - 56320 + 65536 : i
    }
    function Re(e) {
        return /^\n* /.test(e)
    }
    function Be(e, t, n, i, r, o, a, l) {
        var c, s, u = 0, p = null, f = !1, d = !1, h = -1 !== i, g = -1, m = De(s = Ye(e, 0)) && s !== Oe && !_e(s) && 45 !== s && 63 !== s && 58 !== s && 44 !== s && 91 !== s && 93 !== s && 123 !== s && 125 !== s && 35 !== s && 38 !== s && 42 !== s && 33 !== s && 124 !== s && 61 !== s && 62 !== s && 39 !== s && 34 !== s && 37 !== s && 64 !== s && 96 !== s && function(e) {
            return !_e(e) && 58 !== e
        }(Ye(e, e.length - 1));
        if (t || a)
            for (c = 0; c < e.length; u >= 65536 ? c += 2 : c++) {
                if (!De(u = Ye(e, c)))
                    return 5;
                m = m && qe(u, p, l),
                p = u
            }
        else {
            for (c = 0; c < e.length; u >= 65536 ? c += 2 : c++) {
                if (10 === (u = Ye(e, c)))
                    f = !0,
                    h && (d = d || c - g - 1 > i && " " !== e[g + 1],
                    g = c);
                else if (!De(u))
                    return 5;
                m = m && qe(u, p, l),
                p = u
            }
            d = d || h && c - g - 1 > i && " " !== e[g + 1]
        }
        return f || d ? n > 9 && Re(e) ? 5 : a ? 2 === o ? 5 : 2 : d ? 4 : 3 : !m || a || r(e) ? 2 === o ? 5 : 2 : 1
    }
    function Ke(e, t, n, i, r) {
        e.dump = function() {
            if (0 === t.length)
                return 2 === e.quotingType ? '""' : "''";
            if (!e.noCompatMode && (-1 !== Te.indexOf(t) || Ne.test(t)))
                return 2 === e.quotingType ? '"' + t + '"' : "'" + t + "'";
            var a = e.indent * Math.max(1, n)
              , l = -1 === e.lineWidth ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - a)
              , c = i || e.flowLevel > -1 && n >= e.flowLevel;
            switch (Be(t, c, e.indent, l, (function(t) {
                return function(e, t) {
                    var n, i;
                    for (n = 0,
                    i = e.implicitTypes.length; n < i; n += 1)
                        if (e.implicitTypes[n].resolve(t))
                            return !0;
                    return !1
                }(e, t)
            }
            ), e.quotingType, e.forceQuotes && !i, r)) {
            case 1:
                return t;
            case 2:
                return "'" + t.replace(/'/g, "''") + "'";
            case 3:
                return "|" + Pe(t, e.indent) + We(Me(t, a));
            case 4:
                return ">" + Pe(t, e.indent) + We(Me(function(e, t) {
                    var n, i, r = /(\n+)([^\n]*)/g, o = (l = e.indexOf("\n"),
                    l = -1 !== l ? l : e.length,
                    r.lastIndex = l,
                    He(e.slice(0, l), t)), a = "\n" === e[0] || " " === e[0];
                    var l;
                    for (; i = r.exec(e); ) {
                        var c = i[1]
                          , s = i[2];
                        n = " " === s[0],
                        o += c + (a || n || "" === s ? "" : "\n") + He(s, t),
                        a = n
                    }
                    return o
                }(t, l), a));
            case 5:
                return '"' + function(e) {
                    for (var t, n = "", i = 0, r = 0; r < e.length; i >= 65536 ? r += 2 : r++)
                        i = Ye(e, r),
                        !(t = je[i]) && De(i) ? (n += e[r],
                        i >= 65536 && (n += e[r + 1])) : n += t || Fe(i);
                    return n
                }(t) + '"';
            default:
                throw new o("impossible error: invalid scalar style")
            }
        }()
    }
    function Pe(e, t) {
        var n = Re(e) ? String(t) : ""
          , i = "\n" === e[e.length - 1];
        return n + (i && ("\n" === e[e.length - 2] || "\n" === e) ? "+" : i ? "" : "-") + "\n"
    }
    function We(e) {
        return "\n" === e[e.length - 1] ? e.slice(0, -1) : e
    }
    function He(e, t) {
        if ("" === e || " " === e[0])
            return e;
        for (var n, i, r = / [^ ]/g, o = 0, a = 0, l = 0, c = ""; n = r.exec(e); )
            (l = n.index) - o > t && (i = a > o ? a : l,
            c += "\n" + e.slice(o, i),
            o = i + 1),
            a = l;
        return c += "\n",
        e.length - o > t && a > o ? c += e.slice(o, a) + "\n" + e.slice(a + 1) : c += e.slice(o),
        c.slice(1)
    }
    function $e(e, t, n, i) {
        var r, o, a, l = "", c = e.tag;
        for (r = 0,
        o = n.length; r < o; r += 1)
            a = n[r],
            e.replacer && (a = e.replacer.call(n, String(r), a)),
            (Ve(e, t + 1, a, !0, !0, !1, !0) || void 0 === a && Ve(e, t + 1, null, !0, !0, !1, !0)) && (i && "" === l || (l += Le(e, t)),
            e.dump && 10 === e.dump.charCodeAt(0) ? l += "-" : l += "- ",
            l += e.dump);
        e.tag = c,
        e.dump = l || "[]"
    }
    function Ge(e, t, n) {
        var i, r, a, l, c, s;
        for (a = 0,
        l = (r = n ? e.explicitTypes : e.implicitTypes).length; a < l; a += 1)
            if (((c = r[a]).instanceOf || c.predicate) && (!c.instanceOf || "object" == typeof t && t instanceof c.instanceOf) && (!c.predicate || c.predicate(t))) {
                if (n ? c.multi && c.representName ? e.tag = c.representName(t) : e.tag = c.tag : e.tag = "?",
                c.represent) {
                    if (s = e.styleMap[c.tag] || c.defaultStyle,
                    "[object Function]" === Ie.call(c.represent))
                        i = c.represent(t, s);
                    else {
                        if (!Se.call(c.represent, s))
                            throw new o("!<" + c.tag + '> tag resolver accepts not "' + s + '" style');
                        i = c.represent[s](t, s)
                    }
                    e.dump = i
                }
                return !0
            }
        return !1
    }
    function Ve(e, t, n, i, r, a, l) {
        e.tag = null,
        e.dump = n,
        Ge(e, n, !1) || Ge(e, n, !0);
        var c, s = Ie.call(e.dump), u = i;
        i && (i = e.flowLevel < 0 || e.flowLevel > t);
        var p, f, d = "[object Object]" === s || "[object Array]" === s;
        if (d && (f = -1 !== (p = e.duplicates.indexOf(n))),
        (null !== e.tag && "?" !== e.tag || f || 2 !== e.indent && t > 0) && (r = !1),
        f && e.usedDuplicates[p])
            e.dump = "*ref_" + p;
        else {
            if (d && f && !e.usedDuplicates[p] && (e.usedDuplicates[p] = !0),
            "[object Object]" === s)
                i && 0 !== Object.keys(e.dump).length ? (!function(e, t, n, i) {
                    var r, a, l, c, s, u, p = "", f = e.tag, d = Object.keys(n);
                    if (!0 === e.sortKeys)
                        d.sort();
                    else if ("function" == typeof e.sortKeys)
                        d.sort(e.sortKeys);
                    else if (e.sortKeys)
                        throw new o("sortKeys must be a boolean or a function");
                    for (r = 0,
                    a = d.length; r < a; r += 1)
                        u = "",
                        i && "" === p || (u += Le(e, t)),
                        c = n[l = d[r]],
                        e.replacer && (c = e.replacer.call(n, l, c)),
                        Ve(e, t + 1, l, !0, !0, !0) && ((s = null !== e.tag && "?" !== e.tag || e.dump && e.dump.length > 1024) && (e.dump && 10 === e.dump.charCodeAt(0) ? u += "?" : u += "? "),
                        u += e.dump,
                        s && (u += Le(e, t)),
                        Ve(e, t + 1, c, !0, s) && (e.dump && 10 === e.dump.charCodeAt(0) ? u += ":" : u += ": ",
                        p += u += e.dump));
                    e.tag = f,
                    e.dump = p || "{}"
                }(e, t, e.dump, r),
                f && (e.dump = "&ref_" + p + e.dump)) : (!function(e, t, n) {
                    var i, r, o, a, l, c = "", s = e.tag, u = Object.keys(n);
                    for (i = 0,
                    r = u.length; i < r; i += 1)
                        l = "",
                        "" !== c && (l += ", "),
                        e.condenseFlow && (l += '"'),
                        a = n[o = u[i]],
                        e.replacer && (a = e.replacer.call(n, o, a)),
                        Ve(e, t, o, !1, !1) && (e.dump.length > 1024 && (l += "? "),
                        l += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "),
                        Ve(e, t, a, !1, !1) && (c += l += e.dump));
                    e.tag = s,
                    e.dump = "{" + c + "}"
                }(e, t, e.dump),
                f && (e.dump = "&ref_" + p + " " + e.dump));
            else if ("[object Array]" === s)
                i && 0 !== e.dump.length ? (e.noArrayIndent && !l && t > 0 ? $e(e, t - 1, e.dump, r) : $e(e, t, e.dump, r),
                f && (e.dump = "&ref_" + p + e.dump)) : (!function(e, t, n) {
                    var i, r, o, a = "", l = e.tag;
                    for (i = 0,
                    r = n.length; i < r; i += 1)
                        o = n[i],
                        e.replacer && (o = e.replacer.call(n, String(i), o)),
                        (Ve(e, t, o, !1, !1) || void 0 === o && Ve(e, t, null, !1, !1)) && ("" !== a && (a += "," + (e.condenseFlow ? "" : " ")),
                        a += e.dump);
                    e.tag = l,
                    e.dump = "[" + a + "]"
                }(e, t, e.dump),
                f && (e.dump = "&ref_" + p + " " + e.dump));
            else {
                if ("[object String]" !== s) {
                    if ("[object Undefined]" === s)
                        return !1;
                    if (e.skipInvalid)
                        return !1;
                    throw new o("unacceptable kind of an object to dump " + s)
                }
                "?" !== e.tag && Ke(e, e.dump, t, a, u)
            }
            null !== e.tag && "?" !== e.tag && (c = encodeURI("!" === e.tag[0] ? e.tag.slice(1) : e.tag).replace(/!/g, "%21"),
            c = "!" === e.tag[0] ? "!" + c : "tag:yaml.org,2002:" === c.slice(0, 18) ? "!!" + c.slice(18) : "!<" + c + ">",
            e.dump = c + " " + e.dump)
        }
        return !0
    }
    function Ze(e, t) {
        var n, i, r = [], o = [];
        for (Je(e, r, o),
        n = 0,
        i = o.length; n < i; n += 1)
            t.duplicates.push(r[o[n]]);
        t.usedDuplicates = new Array(i)
    }
    function Je(e, t, n) {
        var i, r, o;
        if (null !== e && "object" == typeof e)
            if (-1 !== (r = t.indexOf(e)))
                -1 === n.indexOf(r) && n.push(r);
            else if (t.push(e),
            Array.isArray(e))
                for (r = 0,
                o = e.length; r < o; r += 1)
                    Je(e[r], t, n);
            else
                for (r = 0,
                o = (i = Object.keys(e)).length; r < o; r += 1)
                    Je(e[i[r]], t, n)
    }
    function Qe(e, t) {
        return function() {
            throw new Error("Function yaml." + e + " is removed in js-yaml 4. Use yaml." + t + " instead, which is now safe by default.")
        }
    }
    var ze = p
      , Xe = h
      , et = b
      , tt = O
      , nt = j
      , it = K
      , rt = xe.load
      , ot = xe.loadAll
      , at = {
        dump: function(e, t) {
            var n = new Ee(t = t || {});
            n.noRefs || Ze(e, n);
            var i = e;
            return n.replacer && (i = n.replacer.call({
                "": i
            }, "", i)),
            Ve(n, 0, i, !0, !0) ? n.dump + "\n" : ""
        }
    }.dump
      , lt = o
      , ct = {
        binary: L,
        float: S,
        map: y,
        null: A,
        pairs: Y,
        set: B,
        timestamp: F,
        bool: v,
        int: C,
        merge: E,
        omap: U,
        seq: m,
        str: g
    }
      , st = Qe("safeLoad", "load")
      , ut = Qe("safeLoadAll", "loadAll")
      , pt = Qe("safeDump", "dump")
      , ft = {
        Type: ze,
        Schema: Xe,
        FAILSAFE_SCHEMA: et,
        JSON_SCHEMA: tt,
        CORE_SCHEMA: nt,
        DEFAULT_SCHEMA: it,
        load: rt,
        loadAll: ot,
        dump: at,
        YAMLException: lt,
        types: ct,
        safeLoad: st,
        safeLoadAll: ut,
        safeDump: pt
    };
    e.CORE_SCHEMA = nt,
    e.DEFAULT_SCHEMA = it,
    e.FAILSAFE_SCHEMA = et,
    e.JSON_SCHEMA = tt,
    e.Schema = Xe,
    e.Type = ze,
    e.YAMLException = lt,
    e.default = ft,
    e.dump = at,
    e.load = rt,
    e.loadAll = ot,
    e.safeDump = pt,
    e.safeLoad = st,
    e.safeLoadAll = ut,
    e.types = ct,
    Object.defineProperty(e, "__esModule", {
        value: !0
    })
}
));