UNPKG

swagger-editor

Version:

- [Anonymized analytics](#anonymized-analytics) - [Getting started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Usage](#usage) - [Development](#development) - [Prerequisites](#prerequisites) - [Setting

1,118 lines 368 kB
//#region \0rolldown/runtime.js var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, i, o, s) => { if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, { get: ((e) => i[e]).bind(null, d), enumerable: !(s = n(i, d)) || s.enumerable }); return e; }, c = (n, r, a) => (a = n == null ? {} : e(i(n)), s(r || !n || !n.__esModule ? t(a, "default", { value: n, enumerable: !0 }) : a, n)), l = class e { start; endExclusive; static ofLength(t) { return new e(0, t); } static ofStartAndLength(t, n) { return new e(t, t + n); } constructor(e, t) { if (this.start = e, this.endExclusive = t, e > t) throw Error(`Invalid range: [${e}, ${t})`); } get isEmpty() { return this.start === this.endExclusive; } get length() { return this.endExclusive - this.start; } delta(t) { return new e(this.start + t, this.endExclusive + t); } deltaStart(t) { return new e(this.start + t, this.endExclusive); } deltaEnd(t) { return new e(this.start, this.endExclusive + t); } equals(e) { return this.start === e.start && this.endExclusive === e.endExclusive; } containsRange(e) { return this.start <= e.start && e.endExclusive <= this.endExclusive; } contains(e) { return this.start <= e && e < this.endExclusive; } join(t) { return new e(Math.min(this.start, t.start), Math.max(this.endExclusive, t.endExclusive)); } intersect(t) { let n = Math.max(this.start, t.start), r = Math.min(this.endExclusive, t.endExclusive); if (n <= r) return new e(n, r); } intersects(e) { return Math.max(this.start, e.start) < Math.min(this.endExclusive, e.endExclusive); } intersectsOrTouches(e) { return Math.max(this.start, e.start) <= Math.min(this.endExclusive, e.endExclusive); } slice(e) { return e.slice(this.start, this.endExclusive); } toString() { return `[${this.start}, ${this.endExclusive})`; } }, u = class e { static instance = new e(); isValid() { return !0; } }, d = class { timeout; startTime = Date.now(); valid = !0; constructor(e) { if (this.timeout = e, e <= 0) throw Error("timeout must be positive"); } isValid() { return !(Date.now() - this.startTime < this.timeout) && this.valid && (this.valid = !1), this.valid; } }, f = class e { offset1; offset2; static zero = new e(0, 0); static max = new e(2 ** 53 - 1, 2 ** 53 - 1); constructor(e, t) { this.offset1 = e, this.offset2 = t; } toString() { return `${this.offset1} <-> ${this.offset2}`; } delta(t) { return t === 0 ? this : new e(this.offset1 + t, this.offset2 + t); } equals(e) { return this.offset1 === e.offset1 && this.offset2 === e.offset2; } }, p = class e { seq1Range; seq2Range; static invert(t, n) { let r = []; return h(t, (t, i) => { r.push(e.fromOffsetPairs(t ? t.getEndExclusives() : f.zero, i ? i.getStarts() : new f(n, (t ? t.seq2Range.endExclusive - t.seq1Range.endExclusive : 0) + n))); }), r; } static fromOffsetPairs(t, n) { return new e(new l(t.offset1, n.offset1), new l(t.offset2, n.offset2)); } static assertSorted(e) { let t; for (let n of e) { if (t && !(t.seq1Range.endExclusive <= n.seq1Range.start && t.seq2Range.endExclusive <= n.seq2Range.start)) throw Error("Sequence diffs must be sorted"); t = n; } } constructor(e, t) { this.seq1Range = e, this.seq2Range = t; } swap() { return new e(this.seq2Range, this.seq1Range); } toString() { return `${this.seq1Range} <-> ${this.seq2Range}`; } join(t) { return new e(this.seq1Range.join(t.seq1Range), this.seq2Range.join(t.seq2Range)); } delta(t) { return t === 0 ? this : new e(this.seq1Range.delta(t), this.seq2Range.delta(t)); } deltaStart(t) { return t === 0 ? this : new e(this.seq1Range.deltaStart(t), this.seq2Range.deltaStart(t)); } deltaEnd(t) { return t === 0 ? this : new e(this.seq1Range.deltaEnd(t), this.seq2Range.deltaEnd(t)); } intersectsOrTouches(e) { return this.seq1Range.intersectsOrTouches(e.seq1Range) || this.seq2Range.intersectsOrTouches(e.seq2Range); } intersect(t) { let n = this.seq1Range.intersect(t.seq1Range), r = this.seq2Range.intersect(t.seq2Range); if (!(!n || !r)) return new e(n, r); } getStarts() { return new f(this.seq1Range.start, this.seq2Range.start); } getEndExclusives() { return new f(this.seq1Range.endExclusive, this.seq2Range.endExclusive); } }, m = class e { diffs; hitTimeout; static trivial(t, n) { return new e([new p(l.ofLength(t.length), l.ofLength(n.length))], !1); } static trivialTimedOut(t, n) { return new e([new p(l.ofLength(t.length), l.ofLength(n.length))], !0); } constructor(e, t) { this.diffs = e, this.hitTimeout = t; } }; function h(e, t) { let n; for (let r of e) t(n, r), n = r; t(n, void 0); } var g = class { width; height; array = []; constructor(e, t) { this.width = e, this.height = t, this.array = Array(e * t); } get(e, t) { return this.array[e + t * this.width]; } set(e, t, n) { this.array[e + t * this.width] = n; } }, _ = class { compute(e, t, n = u.instance, r) { if (e.length === 0 || t.length === 0) return m.trivial(e, t); let i = new g(e.length, t.length), a = new g(e.length, t.length), o = new g(e.length, t.length); for (let s = 0; s < e.length; s++) for (let c = 0; c < t.length; c++) { if (!n.isValid()) return m.trivialTimedOut(e, t); let l = s === 0 ? 0 : i.get(s - 1, c), u = c === 0 ? 0 : i.get(s, c - 1), d; e.getElement(s) === t.getElement(c) ? (d = s === 0 || c === 0 ? 0 : i.get(s - 1, c - 1), s > 0 && c > 0 && a.get(s - 1, c - 1) === 3 && (d += o.get(s - 1, c - 1)), d += r ? r(s, c) : 1) : d = -1; let f = Math.max(l, u, d); if (f === d) { let e = s > 0 && c > 0 ? o.get(s - 1, c - 1) : 0; o.set(s, c, e + 1), a.set(s, c, 3); } else f === l ? (o.set(s, c, 0), a.set(s, c, 1)) : f === u && (o.set(s, c, 0), a.set(s, c, 2)); i.set(s, c, f); } let s = [], c = e.length, d = t.length; function f(e, t) { (e + 1 !== c || t + 1 !== d) && s.push(new p(new l(e + 1, c), new l(t + 1, d))), c = e, d = t; } let h = e.length - 1, _ = t.length - 1; for (; h >= 0 && _ >= 0;) a.get(h, _) === 3 ? (f(h, _), h--, _--) : a.get(h, _) === 1 ? h-- : _--; return f(-1, -1), s.reverse(), new m(s, !1); } }, v = class { compute(e, t, n = u.instance) { if (e.length === 0 || t.length === 0) return m.trivial(e, t); let r = e, i = t; function a(e, t) { for (; e < r.length && t < i.length && r.getElement(e) === i.getElement(t);) e++, t++; return e; } let o = 0, s = new b(); s.set(0, a(0, 0)); let c = new x(); c.set(0, s.get(0) === 0 ? null : new y(null, 0, 0, s.get(0))); let d = 0; loop: for (;;) { if (o++, !n.isValid()) return m.trivialTimedOut(r, i); let e = -Math.min(o, i.length + o % 2), t = Math.min(o, r.length + o % 2); for (d = e; d <= t; d += 2) { let n = d === t ? -1 : s.get(d + 1), o = d === e ? -1 : s.get(d - 1) + 1, l = Math.min(Math.max(n, o), r.length), u = l - d; if (l > r.length || u > i.length) continue; let f = a(l, u); s.set(d, f); let p = l === n ? c.get(d + 1) : c.get(d - 1); if (c.set(d, f === l ? p : new y(p, l, u, f - l)), s.get(d) === r.length && s.get(d) - d === i.length) break loop; } } let f = c.get(d), h = [], g = r.length, _ = i.length; for (;;) { let e = f ? f.x + f.length : 0, t = f ? f.y + f.length : 0; if ((e !== g || t !== _) && h.push(new p(new l(e, g), new l(t, _))), !f) break; g = f.x, _ = f.y, f = f.prev; } return h.reverse(), new m(h, !1); } }, y = class { prev; x; y; length; constructor(e, t, n, r) { this.prev = e, this.x = t, this.y = n, this.length = r; } }, b = class { positiveArr = new Int32Array(10); negativeArr = new Int32Array(10); get(e) { return e < 0 ? (e = -e - 1, this.negativeArr[e]) : this.positiveArr[e]; } set(e, t) { if (e < 0) { if (e = -e - 1, e >= this.negativeArr.length) { let e = this.negativeArr; this.negativeArr = new Int32Array(e.length * 2), this.negativeArr.set(e); } this.negativeArr[e] = t; } else { if (e >= this.positiveArr.length) { let e = this.positiveArr; this.positiveArr = new Int32Array(e.length * 2), this.positiveArr.set(e); } this.positiveArr[e] = t; } } }, x = class { positiveArr = []; negativeArr = []; get(e) { return e < 0 ? (e = -e - 1, this.negativeArr[e]) : this.positiveArr[e]; } set(e, t) { e < 0 ? (e = -e - 1, this.negativeArr[e] = t) : this.positiveArr[e] = t; } }; function ee(e, t, n) { let r = n; return r = S(e, t, r), r = S(e, t, r), r = te(e, t, r), r; } function S(e, t, n) { if (n.length === 0) return n; let r = []; r.push(n[0]); for (let i = 1; i < n.length; i++) { let a = r[r.length - 1], o = n[i]; if (o.seq1Range.isEmpty || o.seq2Range.isEmpty) { let n = o.seq1Range.start - a.seq1Range.endExclusive, i; for (i = 1; i <= n && !(e.getElement(o.seq1Range.start - i) !== e.getElement(o.seq1Range.endExclusive - i) || t.getElement(o.seq2Range.start - i) !== t.getElement(o.seq2Range.endExclusive - i)); i++); if (i--, i === n) { r[r.length - 1] = new p(new l(a.seq1Range.start, o.seq1Range.endExclusive - n), new l(a.seq2Range.start, o.seq2Range.endExclusive - n)); continue; } o = o.delta(-i); } r.push(o); } let i = []; for (let n = 0; n < r.length - 1; n++) { let a = r[n + 1], o = r[n]; if (o.seq1Range.isEmpty || o.seq2Range.isEmpty) { let i = a.seq1Range.start - o.seq1Range.endExclusive, s; for (s = 0; s < i && !(!e.isStronglyEqual(o.seq1Range.start + s, o.seq1Range.endExclusive + s) || !t.isStronglyEqual(o.seq2Range.start + s, o.seq2Range.endExclusive + s)); s++); if (s === i) { r[n + 1] = new p(new l(o.seq1Range.start + i, a.seq1Range.endExclusive), new l(o.seq2Range.start + i, a.seq2Range.endExclusive)); continue; } s > 0 && (o = o.delta(s)); } i.push(o); } return r.length > 0 && i.push(r[r.length - 1]), i; } function te(e, t, n) { if (!e.getBoundaryScore || !t.getBoundaryScore) return n; for (let r = 0; r < n.length; r++) { let i = r > 0 ? n[r - 1] : void 0, a = n[r], o = r + 1 < n.length ? n[r + 1] : void 0, s = new l(i ? i.seq1Range.endExclusive + 1 : 0, o ? o.seq1Range.start - 1 : e.length), c = new l(i ? i.seq2Range.endExclusive + 1 : 0, o ? o.seq2Range.start - 1 : t.length); a.seq1Range.isEmpty ? n[r] = ne(a, e, t, s, c) : a.seq2Range.isEmpty && (n[r] = ne(a.swap(), t, e, c, s).swap()); } return n; } function ne(e, t, n, r, i) { let a = 1; for (; e.seq1Range.start - a >= r.start && e.seq2Range.start - a >= i.start && n.isStronglyEqual(e.seq2Range.start - a, e.seq2Range.endExclusive - a) && a < 100;) a++; a--; let o = 0; for (; e.seq1Range.start + o < r.endExclusive && e.seq2Range.endExclusive + o < i.endExclusive && n.isStronglyEqual(e.seq2Range.start + o, e.seq2Range.endExclusive + o) && o < 100;) o++; if (a === 0 && o === 0) return e; let s = 0, c = -1; for (let r = -a; r <= o; r++) { let i = e.seq2Range.start + r, a = e.seq2Range.endExclusive + r, o = e.seq1Range.start + r, l = t.getBoundaryScore(o) + n.getBoundaryScore(i) + n.getBoundaryScore(a); l > c && (c = l, s = r); } return e.delta(s); } function re(e, t, n) { let r = []; for (let e of n) { let t = r[r.length - 1]; if (!t) { r.push(e); continue; } e.seq1Range.start - t.seq1Range.endExclusive <= 2 || e.seq2Range.start - t.seq2Range.endExclusive <= 2 ? r[r.length - 1] = new p(t.seq1Range.join(e.seq1Range), t.seq2Range.join(e.seq2Range)) : r.push(e); } return r; } function ie(e, t, n, r, i = !1) { let a = p.invert(n, e.length), o = [], s = new f(0, 0); function c(n, c) { if (n.offset1 < s.offset1 || n.offset2 < s.offset2) return; let l = r(e, n.offset1), u = r(t, n.offset2); if (!l || !u) return; let d = new p(l, u), f = d.intersect(c), m = f.seq1Range.length, h = f.seq2Range.length; for (; a.length > 0;) { let n = a[0]; if (!(n.seq1Range.intersects(d.seq1Range) || n.seq2Range.intersects(d.seq2Range))) break; let i = new p(r(e, n.seq1Range.start), r(t, n.seq2Range.start)), o = i.intersect(n); if (m += o.seq1Range.length, h += o.seq2Range.length, d = d.join(i), d.seq1Range.endExclusive >= n.seq1Range.endExclusive) a.shift(); else break; } (i && m + h < d.seq1Range.length + d.seq2Range.length || m + h < (d.seq1Range.length + d.seq2Range.length) * 2 / 3) && o.push(d), s = d.getEndExclusives(); } for (; a.length > 0;) { let e = a.shift(); e.seq1Range.isEmpty || (c(e.getStarts(), e), c(e.getEndExclusives().delta(-1), e)); } return ae(n, o); } function ae(e, t) { let n = []; for (; e.length > 0 || t.length > 0;) { let r = e[0], i = t[0], a; a = r && (!i || r.seq1Range.start < i.seq1Range.start) ? e.shift() : t.shift(), n.length > 0 && n[n.length - 1].seq1Range.endExclusive >= a.seq1Range.start ? n[n.length - 1] = n[n.length - 1].join(a) : n.push(a); } return n; } function oe(e, t, n) { let r = n; if (r.length === 0) return r; let i = 0, a; do { a = !1; let t = [r[0]]; for (let n = 1; n < r.length; n++) { let i = r[n], o = t[t.length - 1]; function s(t, n) { let r = new l(o.seq1Range.endExclusive, i.seq1Range.start); return e.getText(r).replace(/\s/g, "").length <= 4 && (t.seq1Range.length + t.seq2Range.length > 5 || n.seq1Range.length + n.seq2Range.length > 5); } s(o, i) ? (a = !0, t[t.length - 1] = t[t.length - 1].join(i)) : t.push(i); } r = t; } while (i++ < 10 && a); return r; } function se(e, t, n) { let r = n; if (r.length === 0) return r; let i = 0, a; do { a = !1; let n = [r[0]]; for (let i = 1; i < r.length; i++) { let o = r[i], s = n[n.length - 1]; function c(n, r) { let i = new l(s.seq1Range.endExclusive, o.seq1Range.start); if (e.countLinesIn(i) > 5 || i.length > 500) return !1; let a = e.getText(i).trim(); if (a.length > 20 || a.split(/\r\n|\r|\n/).length > 1) return !1; let c = e.countLinesIn(n.seq1Range), u = n.seq1Range.length, d = t.countLinesIn(n.seq2Range), f = n.seq2Range.length, p = e.countLinesIn(r.seq1Range), m = r.seq1Range.length, h = t.countLinesIn(r.seq2Range), g = r.seq2Range.length; function _(e) { return Math.min(e, 130); } return (_(c * 40 + u) ** 1.5 + _(d * 40 + f) ** 1.5) ** 1.5 + (_(p * 40 + m) ** 1.5 + _(h * 40 + g) ** 1.5) ** 1.5 > (130 ** 1.5) ** 1.5 * 1.3; } c(s, o) ? (a = !0, n[n.length - 1] = n[n.length - 1].join(o)) : n.push(o); } r = n; } while (i++ < 10 && a); let o = []; return ce(r, (t, n, r) => { let i = n; function a(e) { return e.length > 0 && e.trim().length <= 3 && n.seq1Range.length + n.seq2Range.length > 100; } let s = e.extendToFullLines(n.seq1Range), c = e.getText(new l(s.start, n.seq1Range.start)); a(c) && (i = i.deltaStart(-c.length)); let u = e.getText(new l(n.seq1Range.endExclusive, s.endExclusive)); a(u) && (i = i.deltaEnd(u.length)); let d = p.fromOffsetPairs(t ? t.getEndExclusives() : f.zero, r ? r.getStarts() : f.max), m = i.intersect(d); o.length > 0 && m.getStarts().equals(o[o.length - 1].getEndExclusives()) ? o[o.length - 1] = o[o.length - 1].join(m) : o.push(m); }), o; } function ce(e, t) { for (let n = 0; n < e.length; n++) t(e[n - 1], e[n], e[n + 1]); } var le = { Space: 32, Tab: 9 }, ue = class { trimmedHash; lines; constructor(e, t) { this.trimmedHash = e, this.lines = t; } getElement(e) { return this.trimmedHash[e]; } get length() { return this.trimmedHash.length; } getBoundaryScore(e) { return 1e3 - ((e === 0 ? 0 : de(this.lines[e - 1])) + (e === this.lines.length ? 0 : de(this.lines[e]))); } getText(e) { return this.lines.slice(e.start, e.endExclusive).join("\n"); } isStronglyEqual(e, t) { return this.lines[e] === this.lines[t]; } }; function de(e) { let t = 0; for (; t < e.length && (e.charCodeAt(t) === le.Space || e.charCodeAt(t) === le.Tab);) t++; return t; } var C = { LineFeed: 10, CarriageReturn: 13, Space: 32, Tab: 9, a: 97, z: 122, A: 65, Z: 90, Digit0: 48, Digit9: 57, Comma: 44, Semicolon: 59 }; function fe(e) { return e === C.Space || e === C.Tab; } var w = class e { startLineNumber; startColumn; endLineNumber; endColumn; constructor(e, t, n, r) { this.startLineNumber = e, this.startColumn = t, this.endLineNumber = n, this.endColumn = r; } static fromPositions(t, n) { return new e(t.lineNumber, t.column, n.lineNumber, n.column); } }, T = class { lineNumber; column; constructor(e, t) { this.lineNumber = e, this.column = t; } isBefore(e) { return this.lineNumber < e.lineNumber ? !0 : e.lineNumber < this.lineNumber ? !1 : this.column < e.column; } }, pe = class { lines; considerWhitespaceChanges; elements = []; firstElementOffsetByLineIdx = []; lineStartOffsets = []; trimmedWsLengthsByLineIdx = []; _range; constructor(e, t, n) { this.lines = e, this.considerWhitespaceChanges = n, this._range = t, this.firstElementOffsetByLineIdx.push(0); for (let t = this._range.startLineNumber; t <= this._range.endLineNumber; t++) { let r = e[t - 1], i = 0; t === this._range.startLineNumber && this._range.startColumn > 1 && (i = this._range.startColumn - 1, r = r.substring(i)), this.lineStartOffsets.push(i); let a = 0; if (!n) { let e = r.trimStart(); a = r.length - e.length, r = e.trimEnd(); } this.trimmedWsLengthsByLineIdx.push(a); let o = t === this._range.endLineNumber ? Math.min(this._range.endColumn - 1 - i - a, r.length) : r.length; for (let e = 0; e < o; e++) this.elements.push(r.charCodeAt(e)); t < this._range.endLineNumber && (this.elements.push(10), this.firstElementOffsetByLineIdx.push(this.elements.length)); } } toString() { return `Slice: "${this.text}"`; } get text() { return this.getText(new l(0, this.length)); } getText(e) { return this.elements.slice(e.start, e.endExclusive).map((e) => String.fromCharCode(e)).join(""); } getElement(e) { return this.elements[e]; } get length() { return this.elements.length; } getBoundaryScore(e) { let t = _e(e > 0 ? this.elements[e - 1] : -1), n = _e(e < this.elements.length ? this.elements[e] : -1); if (t === 7 && n === 8) return 0; if (t === 8) return 150; let r = 0; return t !== n && (r += 10, t === 0 && n === 1 && (r += 1)), r += ge(t), r += ge(n), r; } translateOffset(e, t = "right") { let n = ve(this.firstElementOffsetByLineIdx, (t) => t <= e), r = e - this.firstElementOffsetByLineIdx[n]; return new T(this._range.startLineNumber + n, 1 + this.lineStartOffsets[n] + r + (r === 0 && t === "left" ? 0 : this.trimmedWsLengthsByLineIdx[n])); } translateRange(e) { let t = this.translateOffset(e.start, "right"), n = this.translateOffset(e.endExclusive, "left"); return n.isBefore(t) ? w.fromPositions(n, n) : w.fromPositions(t, n); } findWordContaining(e) { if (e < 0 || e >= this.elements.length || !E(this.elements[e])) return; let t = e; for (; t > 0 && E(this.elements[t - 1]);) t--; let n = e; for (; n < this.elements.length && E(this.elements[n]);) n++; return new l(t, n); } findSubWordContaining(e) { if (e < 0 || e >= this.elements.length || !E(this.elements[e])) return; let t = e; for (; t > 0 && E(this.elements[t - 1]) && !me(this.elements[t]);) t--; let n = e; for (; n < this.elements.length && E(this.elements[n]) && !me(this.elements[n]);) n++; return new l(t, n); } countLinesIn(e) { return this.translateOffset(e.endExclusive).lineNumber - this.translateOffset(e.start).lineNumber; } isStronglyEqual(e, t) { return this.elements[e] === this.elements[t]; } extendToFullLines(e) { return new l(ye(this.firstElementOffsetByLineIdx, (t) => t <= e.start) ?? 0, be(this.firstElementOffsetByLineIdx, (t) => e.endExclusive <= t) ?? this.elements.length); } }; function E(e) { return e >= C.a && e <= C.z || e >= C.A && e <= C.Z || e >= C.Digit0 && e <= C.Digit9; } function me(e) { return e >= C.A && e <= C.Z; } var he = { 0: 0, 1: 0, 2: 0, 3: 10, 4: 2, 5: 30, 6: 3, 7: 10, 8: 10 }; function ge(e) { return he[e]; } function _e(e) { return e === C.LineFeed ? 8 : e === C.CarriageReturn ? 7 : fe(e) ? 6 : e >= C.a && e <= C.z ? 0 : e >= C.A && e <= C.Z ? 1 : e >= C.Digit0 && e <= C.Digit9 ? 2 : e === -1 ? 3 : e === C.Comma || e === C.Semicolon ? 5 : 4; } function ve(e, t) { let n = 0, r = e.length - 1; for (; n <= r;) { let i = Math.floor((n + r) / 2); t(e[i]) ? n = i + 1 : r = i - 1; } return r; } function ye(e, t) { let n = ve(e, t); return n >= 0 ? e[n] : void 0; } function be(e, t) { let n = 0, r = e.length - 1; for (; n <= r;) { let i = Math.floor((n + r) / 2); t(e[i]) ? r = i - 1 : n = i + 1; } return n < e.length ? e[n] : void 0; } var D = class e { startLineNumber; endLineNumberExclusive; constructor(e, t) { if (this.startLineNumber = e, this.endLineNumberExclusive = t, e > t) throw Error(`Invalid range: ${e} > ${t}`); } get isEmpty() { return this.startLineNumber === this.endLineNumberExclusive; } get length() { return this.endLineNumberExclusive - this.startLineNumber; } join(t) { return new e(Math.min(this.startLineNumber, t.startLineNumber), Math.max(this.endLineNumberExclusive, t.endLineNumberExclusive)); } intersectsOrTouches(e) { return this.startLineNumber <= e.endLineNumberExclusive && e.startLineNumber <= this.endLineNumberExclusive; } toOffsetRange() { return new l(this.startLineNumber - 1, this.endLineNumberExclusive - 1); } toString() { return `[${this.startLineNumber}, ${this.endLineNumberExclusive})`; } }, O = class { originalRange; modifiedRange; constructor(e, t) { this.originalRange = e, this.modifiedRange = t; } toString() { return `${xe(this.originalRange)} <-> ${xe(this.modifiedRange)}`; } static assertSorted(e) { for (let t = 1; t < e.length; t++) { let n = e[t - 1], r = e[t]; if (!(n.originalRange.endLineNumber <= r.originalRange.startLineNumber || n.originalRange.endLineNumber === r.originalRange.startLineNumber && n.originalRange.endColumn <= r.originalRange.startColumn)) throw Error("RangeMappings must be sorted"); } } }; function xe(e) { return `(${e.startLineNumber}:${e.startColumn})-(${e.endLineNumber}:${e.endColumn})`; } var k = class { original; modified; constructor(e, t) { this.original = e, this.modified = t; } toString() { return `${this.original} <-> ${this.modified}`; } toRangeMapping2(e, t) { let n = (e, t) => e >= 1 && e <= t.length, r = (e, t, n) => { if (e < 1) return new T(1, 1); if (e > n.length) return new T(n.length, n[n.length - 1].length + 1); let r = n[e - 1]; return t > r.length + 1 ? new T(e, r.length + 1) : new T(e, t); }; if (n(this.original.endLineNumberExclusive, e) && n(this.modified.endLineNumberExclusive, t)) return new O(new w(this.original.startLineNumber, 1, this.original.endLineNumberExclusive, 1), new w(this.modified.startLineNumber, 1, this.modified.endLineNumberExclusive, 1)); if (!this.original.isEmpty && !this.modified.isEmpty) return new O(w.fromPositions(new T(this.original.startLineNumber, 1), r(this.original.endLineNumberExclusive - 1, 2 ** 53 - 1, e)), w.fromPositions(new T(this.modified.startLineNumber, 1), r(this.modified.endLineNumberExclusive - 1, 2 ** 53 - 1, t))); if (this.original.startLineNumber > 1 && this.modified.startLineNumber > 1) return new O(w.fromPositions(r(this.original.startLineNumber - 1, 2 ** 53 - 1, e), r(this.original.endLineNumberExclusive - 1, 2 ** 53 - 1, e)), w.fromPositions(r(this.modified.startLineNumber - 1, 2 ** 53 - 1, t), r(this.modified.endLineNumberExclusive - 1, 2 ** 53 - 1, t))); throw Error("Invalid diff: cannot convert to range mapping"); } }, A = class extends k { innerChanges; constructor(e, t, n) { super(e, t), this.innerChanges = n; } }, j = class { changes; moves; hitTimeout; constructor(e, t, n) { this.changes = e, this.moves = t, this.hitTimeout = n; } }, Se = class { lineRangeMapping; changes; constructor(e, t) { this.lineRangeMapping = e, this.changes = t; } }; function Ce(e, t, n, r = !1) { let i = []; for (let r of Te(e.map((e) => we(e, t, n)), (e, t) => e.original.intersectsOrTouches(t.original) || e.modified.intersectsOrTouches(t.modified))) { let e = r[0], t = r[r.length - 1]; i.push(new A(e.original.join(t.original), e.modified.join(t.modified), r.map((e) => e.innerChanges[0]))); } if (!r) for (let e = 1; e < i.length; e++) { let t = i[e - 1], n = i[e]; if (t.original.endLineNumberExclusive > n.original.startLineNumber || t.modified.endLineNumberExclusive > n.modified.startLineNumber) break; } return i; } function we(e, t, n) { let r = 0, i = 0; return e.modifiedRange.endColumn === 1 && e.originalRange.endColumn === 1 && e.originalRange.startLineNumber + r <= e.originalRange.endLineNumber && e.modifiedRange.startLineNumber + r <= e.modifiedRange.endLineNumber && (i = -1), e.modifiedRange.startColumn - 1 >= (n[e.modifiedRange.startLineNumber - 1]?.length ?? 0) && e.originalRange.startColumn - 1 >= (t[e.originalRange.startLineNumber - 1]?.length ?? 0) && e.originalRange.startLineNumber <= e.originalRange.endLineNumber + i && e.modifiedRange.startLineNumber <= e.modifiedRange.endLineNumber + i && (r = 1), new A(new D(e.originalRange.startLineNumber + r, e.originalRange.endLineNumber + 1 + i), new D(e.modifiedRange.startLineNumber + r, e.modifiedRange.endLineNumber + 1 + i), [e]); } function* Te(e, t) { let n, r; for (let i of e) r !== void 0 && t(r, i) ? n.push(i) : (n && (yield n), n = [i]), r = i; n && (yield n); } var Ee = class { lines; constructor(e) { this.lines = e; } get lineCount() { return this.lines.length; } getLineContent(e) { return this.lines[e - 1]; } }, De = class { _dynamicProgrammingDiffing = new _(); _myersDiffingAlgorithm = new v(); computeDiff(e, t, n) { if (e.length <= 1 && ke(e, t)) return new j([], [], !1); if (e.length === 1 && e[0].length === 0 || t.length === 1 && t[0].length === 0) return new j([new A(new D(1, e.length + 1), new D(1, t.length + 1), [new O(new w(1, 1, e.length, e[e.length - 1].length + 1), new w(1, 1, t.length, t[t.length - 1].length + 1))])], [], !1); let r = n.maxComputationTimeMs === 0 ? u.instance : new d(n.maxComputationTimeMs), i = !n.ignoreTrimWhitespace, a = /* @__PURE__ */ new Map(); function o(e) { let t = a.get(e); return t === void 0 && (t = a.size, a.set(e, t)), t; } let s = e.map((e) => o(e.trim())), c = t.map((e) => o(e.trim())), f = new ue(s, e), m = new ue(c, t), h = f.length + m.length < 1700 ? this._dynamicProgrammingDiffing.compute(f, m, r, (n, r) => e[n] === t[r] ? t[r].length === 0 ? .1 : 1 + Math.log(1 + t[r].length) : .99) : this._myersDiffingAlgorithm.compute(f, m, r), g = h.diffs, _ = h.hitTimeout; g = ee(f, m, g), g = oe(f, m, g); let v = [], y = (a) => { if (i) for (let o = 0; o < a; o++) { let a = b + o, s = x + o; if (e[a] !== t[s]) { let o = this._refineDiff(e, t, new p(new l(a, a + 1), new l(s, s + 1)), r, i, n); for (let e of o.mappings) v.push(e); o.hitTimeout && (_ = !0); } } }, b = 0, x = 0; for (let a of g) { y(a.seq1Range.start - b), b = a.seq1Range.endExclusive, x = a.seq2Range.endExclusive; let o = this._refineDiff(e, t, a, r, i, n); o.hitTimeout && (_ = !0); for (let e of o.mappings) v.push(e); } y(e.length - b); let S = new Ee(e), te = new Ee(t); return new j(Ce(v, S.lines, te.lines), [], _); } _refineDiff(e, t, n, r, i, a) { let o = Oe(n).toRangeMapping2(e, t), s = new pe(e, o.originalRange, i), c = new pe(t, o.modifiedRange, i), l = s.length + c.length < 500 ? this._dynamicProgrammingDiffing.compute(s, c, r) : this._myersDiffingAlgorithm.compute(s, c, r), u = l.diffs; return u = ee(s, c, u), u = ie(s, c, u, (e, t) => e.findWordContaining(t)), a.extendToSubwords && (u = ie(s, c, u, (e, t) => e.findSubWordContaining(t), !0)), u = re(s, c, u), u = se(s, c, u), { mappings: u.map((e) => new O(s.translateRange(e.seq1Range), c.translateRange(e.seq2Range))), hitTimeout: l.hitTimeout }; } }; function Oe(e) { return new k(new D(e.seq1Range.start + 1, e.seq1Range.endExclusive + 1), new D(e.seq2Range.start + 1, e.seq2Range.endExclusive + 1)); } function ke(e, t) { if (e.length !== t.length) return !1; for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1; return !0; } function Ae(e, t, n) { let r = B(e, K.__wbindgen_malloc, K.__wbindgen_realloc), i = G, a = B(t, K.__wbindgen_malloc, K.__wbindgen_realloc), o = G, s = K.computeDiff(r, i, a, o, n); if (s[2]) throw V(s[1]); return V(s[0]); } function je(e, t, n) { let r = K.computeDiffLines(e, t, n); if (r[2]) throw V(r[1]); return V(r[0]); } function Me() { K.init(); } function Ne() { return { __proto__: null, "./diff_wasm_bg.js": { __proto__: null, __wbg_Error_ef53bc310eb298a0: function(e, t) { return Error(F(e, t)); }, __wbg_Number_6b506e6536831eaa: function(e) { return Number(e); }, __wbg_String_8564e559799eccda: function(e, t) { let n = B(String(t), K.__wbindgen_malloc, K.__wbindgen_realloc), r = G; P().setInt32(e + 4, r, !0), P().setInt32(e + 0, n, !0); }, __wbg___wbindgen_bigint_get_as_i64_38130e98eecd467d: function(e, t) { let n = t, r = typeof n == "bigint" ? n : void 0; P().setBigInt64(e + 8, z(r) ? BigInt(0) : r, !0), P().setInt32(e + 0, !z(r), !0); }, __wbg___wbindgen_boolean_get_1a45e2c38d4d41b9: function(e) { let t = e, n = typeof t == "boolean" ? t : void 0; return z(n) ? 16777215 : +!!n; }, __wbg___wbindgen_debug_string_0accd80f45e5faa2: function(e, t) { let n = B(M(t), K.__wbindgen_malloc, K.__wbindgen_realloc), r = G; P().setInt32(e + 4, r, !0), P().setInt32(e + 0, n, !0); }, __wbg___wbindgen_in_70a403a56e771704: function(e, t) { return e in t; }, __wbg___wbindgen_is_bigint_6ffd6468a9bc44b9: function(e) { return typeof e == "bigint"; }, __wbg___wbindgen_is_function_754e9f305ff6029e: function(e) { return typeof e == "function"; }, __wbg___wbindgen_is_null_87c3bfe968c6a5ad: function(e) { return e === null; }, __wbg___wbindgen_is_object_56732c2bc353f41d: function(e) { let t = e; return typeof t == "object" && !!t; }, __wbg___wbindgen_is_undefined_67b456be8673d3d7: function(e) { return e === void 0; }, __wbg___wbindgen_jsval_eq_1068e624fa87f6ab: function(e, t) { return e === t; }, __wbg___wbindgen_jsval_loose_eq_2c56564c75129511: function(e, t) { return e == t; }, __wbg___wbindgen_number_get_9bb1761122181af2: function(e, t) { let n = t, r = typeof n == "number" ? n : void 0; P().setFloat64(e + 8, z(r) ? 0 : r, !0), P().setInt32(e + 0, !z(r), !0); }, __wbg___wbindgen_string_get_72bdf95d3ae505b1: function(e, t) { let n = t, r = typeof n == "string" ? n : void 0; var i = z(r) ? 0 : B(r, K.__wbindgen_malloc, K.__wbindgen_realloc), a = G; P().setInt32(e + 4, a, !0), P().setInt32(e + 0, i, !0); }, __wbg___wbindgen_throw_1506f2235d1bdba0: function(e, t) { throw Error(F(e, t)); }, __wbg_call_8a89609d89f6608a: function() { return R(function(e, t) { return e.call(t); }, arguments); }, __wbg_done_60cf307fcc680536: function(e) { return e.done; }, __wbg_error_a6fa202b58aa1cd3: function(e, t) { let n, r; try { n = e, r = t, console.error(F(e, t)); } finally { K.__wbindgen_free(n, r, 1); } }, __wbg_get_1f8f054ddbaa7db2: function() { return R(function(e, t) { return Reflect.get(e, t); }, arguments); }, __wbg_get_unchecked_33f6e5c9e2f2d6b2: function(e, t) { return e[t >>> 0]; }, __wbg_get_with_ref_key_6412cf3094599694: function(e, t) { return e[t]; }, __wbg_instanceof_ArrayBuffer_8f49811467741499: function(e) { let t; try { t = e instanceof ArrayBuffer; } catch { t = !1; } return t; }, __wbg_instanceof_Uint8Array_86f30649f63ef9c2: function(e) { let t; try { t = e instanceof Uint8Array; } catch { t = !1; } return t; }, __wbg_isArray_67c2c9c4313f4448: function(e) { return Array.isArray(e); }, __wbg_isSafeInteger_66acec27e09e99a7: function(e) { return Number.isSafeInteger(e); }, __wbg_iterator_8732428d309e270e: function() { return Symbol.iterator; }, __wbg_length_4a591ecaa01354d9: function(e) { return e.length; }, __wbg_length_66f1a4b2e9026940: function(e) { return e.length; }, __wbg_new_227d7c05414eb861: function() { return /* @__PURE__ */ Error(); }, __wbg_new_578aeef4b6b94378: function(e) { return new Uint8Array(e); }, __wbg_new_ce1ab61c1c2b300d: function() { return {}; }, __wbg_new_d90091b82fdf5b91: function() { return []; }, __wbg_next_9e03acdf51c4960d: function(e) { return e.next; }, __wbg_next_eb8ca7351fa27906: function() { return R(function(e) { return e.next(); }, arguments); }, __wbg_prototypesetcall_3249fc62a0fafa30: function(e, t, n) { Uint8Array.prototype.set.call(Fe(e, t), n); }, __wbg_set_6be42768c690e380: function(e, t, n) { e[t] = n; }, __wbg_set_dca99999bba88a9a: function(e, t, n) { e[t >>> 0] = n; }, __wbg_stack_3b0d974bbf31e44f: function(e, t) { let n = t.stack, r = B(n, K.__wbindgen_malloc, K.__wbindgen_realloc), i = G; P().setInt32(e + 4, i, !0), P().setInt32(e + 0, r, !0); }, __wbg_value_f3625092ee4b37f4: function(e) { return e.value; }, __wbindgen_cast_0000000000000001: function(e) { return e; }, __wbindgen_cast_0000000000000002: function(e, t) { return F(e, t); }, __wbindgen_cast_0000000000000003: function(e) { return BigInt.asUintN(64, e); }, __wbindgen_init_externref_table: function() { let e = K.__wbindgen_externrefs, t = e.grow(4); e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, !0), e.set(t + 3, !1); } } }; } function Pe(e) { let t = K.__externref_table_alloc(); return K.__wbindgen_externrefs.set(t, e), t; } function M(e) { let t = typeof e; if (t == "number" || t == "boolean" || e == null) return `${e}`; if (t == "string") return `"${e}"`; if (t == "symbol") { let t = e.description; return t == null ? "Symbol" : `Symbol(${t})`; } if (t == "function") { let t = e.name; return typeof t == "string" && t.length > 0 ? `Function(${t})` : "Function"; } if (Array.isArray(e)) { let t = e.length, n = "["; t > 0 && (n += M(e[0])); for (let r = 1; r < t; r++) n += ", " + M(e[r]); return n += "]", n; } let n = /\[object ([^\]]+)\]/.exec(toString.call(e)), r; if (n && n.length > 1) r = n[1]; else return toString.call(e); if (r == "Object") try { return "Object(" + JSON.stringify(e) + ")"; } catch { return "Object"; } return e instanceof Error ? `${e.name}: ${e.message}\n${e.stack}` : r; } function Fe(e, t) { return e >>>= 0, L().subarray(e / 1, e / 1 + t); } var N = null; function P() { return (N === null || N.buffer.detached === !0 || N.buffer.detached === void 0 && N.buffer !== K.memory.buffer) && (N = new DataView(K.memory.buffer)), N; } function F(e, t) { return Le(e >>> 0, t); } var I = null; function L() { return (I === null || I.byteLength === 0) && (I = new Uint8Array(K.memory.buffer)), I; } function R(e, t) { try { return e.apply(this, t); } catch (e) { let t = Pe(e); K.__wbindgen_exn_store(t); } } function z(e) { return e == null; } function B(e, t, n) { if (n === void 0) { let n = W.encode(e), r = t(n.length, 1) >>> 0; return L().subarray(r, r + n.length).set(n), G = n.length, r; } let r = e.length, i = t(r, 1) >>> 0, a = L(), o = 0; for (; o < r; o++) { let t = e.charCodeAt(o); if (t > 127) break; a[i + o] = t; } if (o !== r) { o !== 0 && (e = e.slice(o)), i = n(i, r, r = o + e.length * 3, 1) >>> 0; let t = L().subarray(i + o, i + r), a = W.encodeInto(e, t); o += a.written, i = n(i, r, o, 1) >>> 0; } return G = o, i; } function V(e) { let t = K.__wbindgen_externrefs.get(e); return K.__externref_table_dealloc(e), t; } var H = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }); H.decode(); var Ie = 2146435072, U = 0; function Le(e, t) { return U += t, U >= Ie && (H = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }), H.decode(), U = t), H.decode(L().subarray(e, e + t)); } var W = new TextEncoder(); "encodeInto" in W || (W.encodeInto = function(e, t) { let n = W.encode(e); return t.set(n), { read: e.length, written: n.length }; }); var G = 0, K; function Re(e, t) { return K = e.exports, N = null, I = null, K.__wbindgen_start(), K; } async function ze(e, t) { if (typeof Response == "function" && e instanceof Response) { if (typeof WebAssembly.instantiateStreaming == "function") try { return await WebAssembly.instantiateStreaming(e, t); } catch (t) { if (e.ok && n(e.type) && e.headers.get("Content-Type") !== "application/wasm") console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", t); else throw t; } let r = await e.arrayBuffer(); return await WebAssembly.instantiate(r, t); } else { let n = await WebAssembly.instantiate(e, t); return n instanceof WebAssembly.Instance ? { instance: n, module: e } : n; } function n(e) { switch (e) { case "basic": case "cors": case "default": return !0; } return !1; } } function Be(e) { if (K !== void 0) return K; e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module: e} = e : console.warn("using deprecated parameters for `initSync()`; pass a single object instead")); let t = Ne(); return e instanceof WebAssembly.Module || (e = new WebAssembly.Module(e)), Re(new WebAssembly.Instance(e, t)); } async function Ve(e) { if (K !== void 0) return K; e !== void 0 && (Object.getPrototypeOf(e) === Object.prototype ? {module_or_path: e} = e : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), e === void 0 && (e = new URL(new URL("data:application/wasm;base64,AGFzbQEAAAAB3AIyYAJ/fwF/YAN/f38Bf2ACf38AYAN/f38AYAF/AGAEf39/fwBgBX9/f39/AGABbwF/YAZ/f39/f38AYAF/AX9gAn9vAGAAAGAEf39/fwF/YAFvAW9gAAFvYAADf39/YAJvbwFvYAJvbwF/YAh/f39/f39/fwBgBX9/f39/AX9gAn9/AW9gAXwBfGAGf39/f39/AX9gBX9/fn9/AGAFf399f38AYAV/f3x/fwBgA29/bwBgAm9/AW9gA29vbwBgA39/bwBgAW8BfGABfAFvYAF+AW9gCX9/f39/f39/fwBgCn9/f39/f39/f38AYAJ/fwF+YAl/f39/f39+fn4AYAABf2ADf35+AGADf39+AGAGf39/fn9/AGAGf39/fX9/AGAGf39/fH9/AGAFf39/f28Df39/YANvb28Df39/YAR/fH9/AGAEf31/fwBgBH9+f38AYAJ8fAF8YAF+AX8CyBMtES4vZGlmZl93YXNtX2JnLmpzGl9fd2JnX3NldF9kY2E5OTk5OWJiYTg4YTlhABoRLi9kaWZmX3dhc21fYmcuanMkX193YmdfZ2V0X3VuY2hlY2tlZF8zM2Y2ZTVjOWUyZjJkNmIyABsRLi9kaWZmX3dhc21fYmcuanMdX193YmdfbGVuZ3RoXzY2ZjFhNGIyZTkwMjY5NDAABxEuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19uZXh0X2ViOGNhNzM1MWZhMjc5MDYADREuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19kb25lXzYwY2YzMDdmY2M2ODA1MzYABxEuL2RpZmZfd2FzbV9iZy5qcxxfX3diZ192YWx1ZV9mMzYyNTA5MmVlNGIzN2Y0AA0RLi9kaWZmX3dhc21fYmcuanMnX193YmdfZ2V0X3dpdGhfcmVmX2tleV82NDEyY2YzMDk0NTk5Njk0ABARLi9kaWZmX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBEuL2RpZmZfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAKES4vZGlmZl93YXNtX2JnLmpzGl9fd2JnX25ld19kOTAwOTFiODJmZGY1YjkxAA4RLi9kaWZmX3dhc21fYmcuanMaX193YmdfbmV3X2NlMWFiNjFjMWMyYjMwMGQADhEuL2RpZmZfd2FzbV9iZy5qcxpfX3diZ19uZXdfNTc4YWVlZjRiNmI5NDM3OAANES4vZGlmZl93YXNtX2JnLmpzHV9fd2JnX2xlbmd0aF80YTU5MWVjYWEwMTM1NGQ5AAcRLi9kaWZmX3dhc21fYmcuanMnX193YmdfcHJvdG90eXBlc2V0Y2FsbF8zMjQ5ZmM2MmEwZmFmYTMwAB0RLi9kaWZmX3dhc21fYmcuanMsX193YmdfaW5zdGFuY2VvZl9VaW50OEFycmF5Xzg2ZjMwNjQ5ZjYzZWY5YzIABxEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19pbnN0YW5jZW9mX0FycmF5QnVmZmVyXzhmNDk4MTE0Njc3NDE0OTkABxEuL2RpZmZfd2FzbV9iZy5qcx5fX3diZ19pc0FycmF5XzY3YzJjOWM0MzEzZjQ0NDgABxEuL2RpZmZfd2FzbV9iZy5qcyRfX3diZ19pc1NhZmVJbnRlZ2VyXzY2YWNlYzI3ZTA5ZTk5YTcABxEuL2RpZmZfd2FzbV9iZy5qcx9fX3diZ19pdGVyYXRvcl84NzMyNDI4ZDMwOWUyNzBlAA4RLi9kaWZmX3dhc21fYmcuanMbX193YmdfbmV4dF85ZTAzYWNkZjUxYzQ5NjBkAA0RLi9kaWZmX3dhc21fYmcuanMaX193YmdfZ2V0XzFmOGYwNTRkZGJhYTdkYjIAEBEuL2RpZmZfd2FzbV9iZy5qcxtfX3diZ19jYWxsXzhhODk2MDlkODlmNjYwOGEAEBEuL2RpZmZfd2FzbV9iZy5qcxpfX3diZ19uZXdfMjI3ZDdjMDU0MTRlYjg2MQAOES4vZGlmZl93YXNtX2JnLmpzHF9fd2JnX3N0YWNrXzNiMGQ5NzRiYmYzMWU0NGYAChEuL2RpZmZfd2FzbV9iZy5qcxxfX3diZ19lcnJvcl9hNmZhMjAyYjU4YWExY2QzAAIRLi9kaWZmX3dhc21fYmcuanMsX193YmdfX193YmluZGdlbl9udW1iZXJfZ2V0XzliYjE3NjExMjIxODFhZjIAChEuL2RpZmZfd2FzbV9iZy5qcyRfX3diZ19fX3diaW5kZ2VuX2luXzcwYTQwM2E1NmU3NzE3MDQAEREuL2RpZmZfd2FzbV9iZy5qcydfX3diZ19fX3diaW5kZ2VuX3Rocm93XzE1MDZmMjIzNWQxYmRiYTAAAhEuL2RpZmZfd2FzbV9iZy5qcylfX3diZ19fX3diaW5kZ2VuX2lzX251bGxfODdjM2JmZTk2OGM2YTVhZAAHES4vZGlmZl93YXNtX2JnLmpzKl9fd2JnX19fd2JpbmRnZW5fanN2YWxfZXFfMTA2OGU2MjRmYTg3ZjZhYgARES4vZGlmZl93YXNtX2JnLmpzHV9fd2JnX051bWJlcl82YjUwNmU2NTM2ODMxZWFhAB4RLi9kaWZmX3dhc21fYmcuanMcX193YmdfRXJyb3JfZWY1M2JjMzEwZWIyOThhMAAUES4vZGlmZl93YXNtX2JnLmpzK19fd2JnX19fd2JpbmRnZW5faXNfYmlnaW50XzZmZmQ2NDY4YTliYzQ0YjkABxEuL2RpZmZfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF81NjczMmMyYmMzNTNmNDFkAAcRLi9kaWZmX3dhc21fYmcuanMsX193YmdfX193YmluZGdlbl9zdHJpbmdfZ2V0XzcyYmRmOTVkM2FlNTA1YjEAChEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19fX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0XzFhNDVlMmMzOGQ0ZDQxYjkABxEuL2RpZmZfd2FzbV9iZy5qcy1fX3diZ19fX3diaW5kZ2VuX2lzX2Z1bmN0aW9uXzc1NGU5ZjMwNWZmNjAyOWUABxEuL2RpZmZfd2FzbV9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF82N2I0NTZiZTg2NzNkM2Q3AAcRLi9kaWZmX3dhc21fYmcuanMwX193YmdfX193YmluZGdlbl9qc3ZhbF9sb29zZV9lcV8yYzU2NTY0Yzc1MTI5NTExABERLi9kaWZmX3dhc21fYmcuanMzX193YmdfX193YmluZGdlbl9iaWdpbnRfZ2V0X2FzX2k2NF8zODEzMGU5OGVlY2Q0NjdkAAoRLi9kaWZmX3dhc21fYmcuanMuX193YmdfX193YmluZGdlbl9kZWJ1Z19zdHJpbmdfMGFjY2Q4MGY0NWU1ZmFhMgAKES4vZGlmZl93YXNtX2JnLmpzH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZf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uN/AAEGs38AANgIAQbTfwABBrN/AADYCAEHA38AAQbTfwAA2AgBBvN/AAEG038AANgIAQcjfwABBvN/AADYCAEHE38AAQbzfwAA2AgBB0N/AAEHE38AANgIAQczfwABBxN/AADYCAEHY38AAQczfwAA2AgBB1N/AAEHM38AANgIAQeDfwABB1N/AADYCAEHo38AAQdzfwAA2AgBB3N/AAEHU38AANgIAQfDfwABB5N/AADYCAEHk38AAQdzfwAA2AgBB+N/AAEHs38AANgIAQezfwABB5N/AADYCAEGA4MAAQfTfwAA2AgBB9N/AAEHs38AANgIAQYjgwABB/N/AADYCAEH838AAQfTfwAA2AgBBkODAAEGE4MAANgIAQYTgwABB/N/AADYCAEGY4MAAQYzgwAA2AgBBjODAAEGE4MAANgIAQaDgwABBlODAADYCAEGU4MAAQYzgwAA2AgBBqODAAEGc4MAANgIAQZzgwABBlODAADYCAEGw4MAAQaTgwAA2AgBBpODAAEGc4MAANgIAQbjgwABBrODAADYCAEGs4MAAQaTgwAA2AgBBwODAAEG04MAANgIAQbTgwABBrODAADYCAEHI4MAAQbzgwAA2AgBBvODAAEG04MAANgIAQdDgwABBxODAADYCAEHE4MAAQbzgwAA2AgBB2ODAAEHM4MAANgIAQczgwABBxODAADYCAEHw4MAAIAFBD2pBeHEiAEEIayICNgIAQdTgwABBzODAADYCAEHo4MAAIARBKGsiBCABIABrakEIaiIANgIAIAIgAEEBcjYCBCABIARqQSg2AgRB/ODAAEGAgIABNgIADAgLIAIgA0kgASACTXINACAAKAIMIgNBAXENACADQQF2IAdGDQMLQYDhwABBgOHAACgCACIAIAEgACABSRs2AgAgASAEaiEDQcTewAAhAAJAAkADQCADIAAoAgAiBkcEQCAAKAIIIgANAQwCCwsgACgCDCIDQQFxDQAgA0EBdiAHRg0BC0HE3sAAIQADQAJAIAIgACgCACIDTwRAIAIgAyAAKAIEaiIGSQ0BCyAAKAIIIQAMAQsLQfDgwAAgAUEPakF4cSIAQQhrIgM2AgBB6ODAACAEQShrIgkgASAAa2pBCGoiADYCACADIABBAXI2AgQgASAJakEoNgIEQfzgwABBgICAATYCACACIAZBIGtBeHFBCGsiACAAIAJBEGpJGyIDQRs2AgRBxN7AACkCACEKIANBEGpBzN7AACkCADcCACADQQhqIgAgCjcCAEHQ3sAAIAc2AgBByN7AACAENgIAQcTewAAgATYCAEHM3sAAIAA2AgAgA0EcaiEAA0AgAEEHNgIAIABBBGoiACAGSQ0ACyACIANGDQcgAyADKAIEQX5xNgIEIAIgAyACayIAQQFyNgIEIAMgADYCACAAQYACTwRAIAIgABBbDAgLAkBB3ODAACgCACIBQQEgAEEDdnQiBHFFBEBB3ODAACABIARyNgIAIABB+AFxQdTewABqIgAhAQwBCyAAQfgBcSIAQdTewABqIQEgAEHc3sAAaigCACEACyABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggMBwsgACABNgIAIAAgACgCBCAEajYCBCABQQ9qQXhxQQhrIgQgBUEDcjYCBCAGQQ9qQXhxQQhrIgMgBCAFaiIAayEFIANB8ODAACgCAEYNAyADQezgwAAoAgBGDQQgAygCBCICQQNxQQFGBEAgAyACQXhxIgEQVSABIAVqIQUgASADaiIDKAIEIQILIAMgAkF+cTYCBCAAIAVBAXI2AgQgACAFaiAFNgIAIAVBgAJPBEAgACAFEFsMBgsCQEHc4MAAKAIAIgFBASAFQQN2dCICcUUEQEHc4MAAIAEgAnI2AgAgBUH4AXFB1N7AAGoiBSEDDAELIAVB+AFxIgFB1N7AAGohAyABQdzewABqKAIAIQULIAMgADYCCCAFIAA2AgwgACADNgIMIAAgBTYCCAwFC0Ho4MAAIAAgBWsiATYCAEHw4MAAQfDgwAAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEADAYLQezgwAAoAgAhAAJAIAEgBWsiAkEPTQRAQezgwABBADYCAEHk4MAAQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELQeTgwAAgAjYCAEHs4MAAIAAgBWoiBDYCACAEIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAsgAEEIaiEADAULIAAgBCAGajYCBEHw4MAAQfDgwAAoAgAiAEEPakF4cSIBQQhrIgI2AgBB6ODAAEHo4MAAKAIAIARqIgQgACABa2pBCGoiATYCACACIAFBAXI2AgQgACAEakEoNgIEQfzgwABBgICAATYCAAwDC0Hw4MAAIAA2AgBB6ODAAEHo4MAAKAIAIAVqIgE2AgAgACABQQFyNgIEDAELQezgwAAgADYCAEHk4MAAQeTgwAAoAgAgBWoiATYCACAAIAFBAXI2AgQgACABaiABNgIACyAEQQhqIQAMAQtBACEAQejgwAAoAgAiASAFTQ0AQejgwAAgASAFayIBNgIAQfDgwABB8ODAACgCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQALIAhBEGokACAAC9BmAyh/A34FfCMAQfACayIJJAACQAJAAkACQAJAAkAgAiAERiACQQFNcUUEQCACQQFGDQEMAgsgAgRAIAFBCGooAgAiBiADQQhqKAIARw0BIAFBBGooAgAgA0EEaigCACAGEJ0BDQELIABBADoADCAAQQA2AgggAEKAgICAwAA3AgAMBAsgASgCCEUNAQsgBEEBRw0BIAMoAggNAQsCQEEcQQQQ4gEiBQRAQSBBBBDiASIGRQ0BQQEhDyACBEAgASACQQxsakEEaygCAEEBaiEPCyAGIAQEfyADIARBDGxqQQRrKAIAQQFqBUEBCzYCHCAGIAQ2AhggBkKBgICAEDcCECAGIA82AgwgBiACNgIIIAZCgYCAgBA3AgAgBSAEQQFqNgIYIAVBATYCFCAFIAJBAWo2AhAgBUKBgICAEDcCCCAFIAY2AgQgBUEBNgIAIABBADoADCAAQQE2AgggACAFNgIEIABBATYCAAwDC0EEQRwQ