@getopenpay/openpay-js-react 0.5.2-alpha.f4e728d → 0.5.3-alpha.06a0f22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{Resource-CG66x3yU-BIfmNPF-.js → Resource-vMTYzHnH-rvlNMnjl.js} +3 -3
  3. package/dist/SimpleSpanProcessor-Cza16vjV-BxJK0M6w.js +957 -0
  4. package/dist/detect-resources-Ci98P4IY-DDYqc---.js +854 -0
  5. package/dist/diag-api-DUHYukMW-CSfPAY48.js +6 -0
  6. package/dist/{index-BR3hj-Iu-DXclVTr3.js → index-BDhIvQX0-B_JQNCPs.js} +5 -5
  7. package/dist/{index-D_pIW5xT-DslEKVM6.js → index-BaTbkF8M-UZLB4k05.js} +6 -6
  8. package/dist/{index-Bx3Hc25_-BHGA2htW.js → index-BnnW1rC5-CnjXsIEi.js} +2 -2
  9. package/dist/index-BxLG8KOU.js +8468 -0
  10. package/dist/{index-BUHwPKEK-CNW2xnW9.js → index-C2IubpCq-DRIrh3js.js} +29 -29
  11. package/dist/{index-BtdQ9zVo-BxOtHY2-.js → index-C6ufRvNF-CizjFdpJ.js} +69 -69
  12. package/dist/{index-5To_e19N-BJVdje8n.js → index-D0Vc2R2I-DvaXNNYJ.js} +33 -33
  13. package/dist/{index-CivLldgd-DSp8c5b6.js → index-D3XRtQyO-DuEFUy65.js} +12 -12
  14. package/dist/{index-D0jlc51g-C9SUJQjY.js → index-DK5ZdQ5i-C3VM5nh_.js} +15 -15
  15. package/dist/{index-sRxamKF6-Bpsmi4pl.js → index-DNntq8aU-CXDCzFwp.js} +2 -2
  16. package/dist/index.d.ts +3 -52
  17. package/dist/index.js +7 -7
  18. package/dist/{metrics-api-BlEkCK9d-BlLG6cK7.js → metrics-api-twSlCzy8-BXDlL26U.js} +12 -12
  19. package/dist/{sdk-info-DKhdLODI-BimXbZMc.js → sdk-info-BR744-Co-CJxbWmkd.js} +15 -15
  20. package/dist/{url-DgAYxBDj-Bolnkb0Z.js → url-vZYDLDqv-D6TOr8OV.js} +163 -163
  21. package/dist/{utils-19Xh0C18-0H04lrSm.js → utils-B87eBo34-CyTUnMYt.js} +2 -2
  22. package/dist/{utils-tMp7Y4zF-CdVxOFvW.js → utils-kdGzYc-2-BQl4zHJC.js} +12 -12
  23. package/package.json +1 -1
  24. package/dist/SimpleSpanProcessor-DZHwNXyd-BVdtLHpX.js +0 -957
  25. package/dist/detect-resources-DNpQy0K0-lNcYqBWx.js +0 -854
  26. package/dist/diag-api-B2N9Zjft-CQ9YbTyT.js +0 -6
  27. package/dist/index-H0dupMK0.js +0 -9113
@@ -1,10 +1,10 @@
1
- import { $ as P, G as f, g as x, z as s, t as I, r as b } from "./index-H0dupMK0.js";
2
- var L = P("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
1
+ import { T as x, U as f, d as P, x as s, z as I, H as b } from "./index-BxLG8KOU.js";
2
+ var L = x("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
3
3
  function v(t) {
4
4
  return t.getValue(L) === !0;
5
5
  }
6
- var p = P("OpenTelemetry Context Key B3 Debug Flag"), c = "b3", _ = "x-b3-traceid", d = "x-b3-spanid", y = "x-b3-sampled", R = "x-b3-parentspanid", E = "x-b3-flags", j = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), m = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
7
- function T(t) {
6
+ var p = x("OpenTelemetry Context Key B3 Debug Flag"), c = "b3", d = "x-b3-traceid", g = "x-b3-spanid", y = "x-b3-sampled", R = "x-b3-parentspanid", E = "x-b3-flags", T = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), j = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
7
+ function m(t) {
8
8
  return t === s.SAMPLED || t === s.NONE;
9
9
  }
10
10
  function B(t) {
@@ -15,38 +15,38 @@ function l(t, r, e) {
15
15
  return B(a);
16
16
  }
17
17
  function C(t, r) {
18
- var e = l(t, r, _);
18
+ var e = l(t, r, d);
19
19
  return typeof e == "string" ? e.padStart(32, "0") : "";
20
20
  }
21
21
  function F(t, r) {
22
- var e = l(t, r, d);
22
+ var e = l(t, r, g);
23
23
  return typeof e == "string" ? e : "";
24
24
  }
25
25
  function D(t, r) {
26
26
  var e = l(t, r, E);
27
27
  return e === "1" ? "1" : void 0;
28
28
  }
29
- function w(t, r) {
29
+ function H(t, r) {
30
30
  var e = l(t, r, y), a = D(t, r);
31
- if (a === "1" || j.has(e))
31
+ if (a === "1" || T.has(e))
32
32
  return s.SAMPLED;
33
- if (e === void 0 || m.has(e))
33
+ if (e === void 0 || j.has(e))
34
34
  return s.NONE;
35
35
  }
36
- var G = (
36
+ var w = (
37
37
  /** @class */
38
38
  function() {
39
39
  function t() {
40
40
  }
41
41
  return t.prototype.inject = function(r, e, a) {
42
42
  var n = f.getSpanContext(r);
43
- if (!(!n || !x(n) || v(r))) {
43
+ if (!(!n || !P(n) || v(r))) {
44
44
  var i = r.getValue(p);
45
- a.set(e, _, n.traceId), a.set(e, d, n.spanId), i === "1" ? a.set(e, E, i) : n.traceFlags !== void 0 && a.set(e, y, (s.SAMPLED & n.traceFlags) === s.SAMPLED ? "1" : "0");
45
+ a.set(e, d, n.traceId), a.set(e, g, n.spanId), i === "1" ? a.set(e, E, i) : n.traceFlags !== void 0 && a.set(e, y, (s.SAMPLED & n.traceFlags) === s.SAMPLED ? "1" : "0");
46
46
  }
47
47
  }, t.prototype.extract = function(r, e, a) {
48
- var n = C(e, a), i = F(e, a), o = w(e, a), u = D(e, a);
49
- return I(n) && b(i) && T(o) ? (r = r.setValue(p, u), f.setSpanContext(r, {
48
+ var n = C(e, a), i = F(e, a), o = H(e, a), u = D(e, a);
49
+ return I(n) && b(i) && m(o) ? (r = r.setValue(p, u), f.setSpanContext(r, {
50
50
  traceId: n,
51
51
  spanId: i,
52
52
  isRemote: !0,
@@ -54,15 +54,15 @@ var G = (
54
54
  })) : r;
55
55
  }, t.prototype.fields = function() {
56
56
  return [
57
- _,
58
57
  d,
58
+ g,
59
59
  E,
60
60
  y,
61
61
  R
62
62
  ];
63
63
  }, t;
64
64
  }()
65
- ), H = function(t, r) {
65
+ ), O = function(t, r) {
66
66
  var e = typeof Symbol == "function" && t[Symbol.iterator];
67
67
  if (!e) return t;
68
68
  var a = e.call(t), n, i = [], o;
@@ -78,21 +78,21 @@ var G = (
78
78
  }
79
79
  }
80
80
  return i;
81
- }, O = /((?:[0-9a-f]{16}){1,2})-([0-9a-f]{16})(?:-([01d](?![0-9a-f])))?(?:-([0-9a-f]{16}))?/, X = "0".repeat(16), V = /* @__PURE__ */ new Set(["d", "1"]), U = "d";
81
+ }, U = /((?:[0-9a-f]{16}){1,2})-([0-9a-f]{16})(?:-([01d](?![0-9a-f])))?(?:-([0-9a-f]{16}))?/, X = "0".repeat(16), V = /* @__PURE__ */ new Set(["d", "1"]), G = "d";
82
82
  function K(t) {
83
83
  return t.length === 32 ? t : "" + X + t;
84
84
  }
85
85
  function z(t) {
86
86
  return t && V.has(t) ? s.SAMPLED : s.NONE;
87
87
  }
88
- var $ = (
88
+ var k = (
89
89
  /** @class */
90
90
  function() {
91
91
  function t() {
92
92
  }
93
93
  return t.prototype.inject = function(r, e, a) {
94
94
  var n = f.getSpanContext(r);
95
- if (!(!n || !x(n) || v(r))) {
95
+ if (!(!n || !P(n) || v(r))) {
96
96
  var i = r.getValue(p) || n.traceFlags & 1, o = n.traceId + "-" + n.spanId + "-" + i;
97
97
  a.set(e, c, o);
98
98
  }
@@ -100,14 +100,14 @@ var $ = (
100
100
  var n = a.get(e, c), i = Array.isArray(n) ? n[0] : n;
101
101
  if (typeof i != "string")
102
102
  return r;
103
- var o = i.match(O);
103
+ var o = i.match(U);
104
104
  if (!o)
105
105
  return r;
106
- var u = H(o, 4), M = u[1], A = u[2], g = u[3], h = K(M);
106
+ var u = O(o, 4), M = u[1], A = u[2], _ = u[3], h = K(M);
107
107
  if (!I(h) || !b(A))
108
108
  return r;
109
- var N = z(g);
110
- return g === U && (r = r.setValue(p, g)), f.setSpanContext(r, {
109
+ var N = z(_);
110
+ return _ === G && (r = r.setValue(p, _)), f.setSpanContext(r, {
111
111
  traceId: h,
112
112
  spanId: A,
113
113
  isRemote: !0,
@@ -121,11 +121,11 @@ var $ = (
121
121
  (function(t) {
122
122
  t[t.SINGLE_HEADER = 0] = "SINGLE_HEADER", t[t.MULTI_HEADER = 1] = "MULTI_HEADER";
123
123
  })(S || (S = {}));
124
- var Y = (
124
+ var q = (
125
125
  /** @class */
126
126
  function() {
127
127
  function t(r) {
128
- r === void 0 && (r = {}), this._b3MultiPropagator = new G(), this._b3SinglePropagator = new $(), r.injectEncoding === S.MULTI_HEADER ? (this._inject = this._b3MultiPropagator.inject, this._fields = this._b3MultiPropagator.fields()) : (this._inject = this._b3SinglePropagator.inject, this._fields = this._b3SinglePropagator.fields());
128
+ r === void 0 && (r = {}), this._b3MultiPropagator = new w(), this._b3SinglePropagator = new k(), r.injectEncoding === S.MULTI_HEADER ? (this._inject = this._b3MultiPropagator.inject, this._fields = this._b3MultiPropagator.fields()) : (this._inject = this._b3SinglePropagator.inject, this._fields = this._b3SinglePropagator.fields());
129
129
  }
130
130
  return t.prototype.inject = function(r, e, a) {
131
131
  v(r) || this._inject(r, e, a);
@@ -139,12 +139,12 @@ var Y = (
139
139
  );
140
140
  export {
141
141
  S as B3InjectEncoding,
142
- Y as B3Propagator,
142
+ q as B3Propagator,
143
143
  c as B3_CONTEXT_HEADER,
144
144
  E as X_B3_FLAGS,
145
145
  R as X_B3_PARENT_SPAN_ID,
146
146
  y as X_B3_SAMPLED,
147
- d as X_B3_SPAN_ID,
148
- _ as X_B3_TRACE_ID
147
+ g as X_B3_SPAN_ID,
148
+ d as X_B3_TRACE_ID
149
149
  };
150
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQlVId1BLRUstIX57MDBtfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7ICQgYXMgJGksIEcgYXMgR2UsIGcgYXMgZ24sIHogYXMgenQsIHQgYXMgdHMsIHIgYXMgcnMgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIEMgPSAkaShcIk9wZW5UZWxlbWV0cnkgU0RLIENvbnRleHQgS2V5IFNVUFBSRVNTX1RSQUNJTkdcIik7XG5mdW5jdGlvbiBBKHIpIHtcbiAgcmV0dXJuIHIuZ2V0VmFsdWUoQykgPT09ICEwO1xufVxudmFyIHAgPSAkaShcIk9wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgQjMgRGVidWcgRmxhZ1wiKSwgZiA9IFwiYjNcIiwgdiA9IFwieC1iMy10cmFjZWlkXCIsIGcgPSBcIngtYjMtc3BhbmlkXCIsIGMgPSBcIngtYjMtc2FtcGxlZFwiLCBOID0gXCJ4LWIzLXBhcmVudHNwYW5pZFwiLCBTID0gXCJ4LWIzLWZsYWdzXCIsIFYgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbITAsIFwidHJ1ZVwiLCBcIlRydWVcIiwgXCIxXCIsIDFdKSwgQiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFshMSwgXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiMFwiLCAwXSk7XG5mdW5jdGlvbiBGKHIpIHtcbiAgcmV0dXJuIHIgPT09IHp0LlNBTVBMRUQgfHwgciA9PT0genQuTk9ORTtcbn1cbmZ1bmN0aW9uIFIocikge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyKSA/IHJbMF0gOiByO1xufVxuZnVuY3Rpb24gZChyLCB0LCBlKSB7XG4gIHZhciBuID0gdC5nZXQociwgZSk7XG4gIHJldHVybiBSKG4pO1xufVxuZnVuY3Rpb24gbShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCB2KTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlLnBhZFN0YXJ0KDMyLCBcIjBcIikgOiBcIlwiO1xufVxuZnVuY3Rpb24geChyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBnKTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlIDogXCJcIjtcbn1cbmZ1bmN0aW9uIGgociwgdCkge1xuICB2YXIgZSA9IGQociwgdCwgUyk7XG4gIHJldHVybiBlID09PSBcIjFcIiA/IFwiMVwiIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gVShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBjKSwgbiA9IGgociwgdCk7XG4gIGlmIChuID09PSBcIjFcIiB8fCBWLmhhcyhlKSlcbiAgICByZXR1cm4genQuU0FNUExFRDtcbiAgaWYgKGUgPT09IHZvaWQgMCB8fCBCLmhhcyhlKSlcbiAgICByZXR1cm4genQuTk9ORTtcbn1cbnZhciBHID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5pbmplY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IEdlLmdldFNwYW5Db250ZXh0KHQpO1xuICAgICAgaWYgKCEoIWEgfHwgIWduKGEpIHx8IEEodCkpKSB7XG4gICAgICAgIHZhciBpID0gdC5nZXRWYWx1ZShwKTtcbiAgICAgICAgbi5zZXQoZSwgdiwgYS50cmFjZUlkKSwgbi5zZXQoZSwgZywgYS5zcGFuSWQpLCBpID09PSBcIjFcIiA/IG4uc2V0KGUsIFMsIGkpIDogYS50cmFjZUZsYWdzICE9PSB2b2lkIDAgJiYgbi5zZXQoZSwgYywgKHp0LlNBTVBMRUQgJiBhLnRyYWNlRmxhZ3MpID09PSB6dC5TQU1QTEVEID8gXCIxXCIgOiBcIjBcIik7XG4gICAgICB9XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbShlLCBuKSwgaSA9IHgoZSwgbiksIHUgPSBVKGUsIG4pLCBzID0gaChlLCBuKTtcbiAgICAgIHJldHVybiB0cyhhKSAmJiBycyhpKSAmJiBGKHUpID8gKHQgPSB0LnNldFZhbHVlKHAsIHMpLCBHZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IGEsXG4gICAgICAgIHNwYW5JZDogaSxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiB1XG4gICAgICB9KSkgOiB0O1xuICAgIH0sIHIucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdixcbiAgICAgICAgZyxcbiAgICAgICAgUyxcbiAgICAgICAgYyxcbiAgICAgICAgTlxuICAgICAgXTtcbiAgICB9LCByO1xuICB9KClcbiksIEggPSBmdW5jdGlvbihyLCB0KSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgcltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiByO1xuICB2YXIgbiA9IGUuY2FsbChyKSwgYSwgaSA9IFtdLCB1O1xuICB0cnkge1xuICAgIGZvciAoOyAodCA9PT0gdm9pZCAwIHx8IHQtLSA+IDApICYmICEoYSA9IG4ubmV4dCgpKS5kb25lOyApIGkucHVzaChhLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIHUgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGEgJiYgIWEuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICh1KSB0aHJvdyB1LmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaTtcbn0sIFggPSAvKCg/OlswLTlhLWZdezE2fSl7MSwyfSktKFswLTlhLWZdezE2fSkoPzotKFswMWRdKD8hWzAtOWEtZl0pKSk/KD86LShbMC05YS1mXXsxNn0pKT8vLCBqID0gXCIwXCIucmVwZWF0KDE2KSwgdyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcImRcIiwgXCIxXCJdKSwgTyA9IFwiZFwiO1xuZnVuY3Rpb24gSyhyKSB7XG4gIHJldHVybiByLmxlbmd0aCA9PT0gMzIgPyByIDogXCJcIiArIGogKyByO1xufVxuZnVuY3Rpb24gWShyKSB7XG4gIHJldHVybiByICYmIHcuaGFzKHIpID8genQuU0FNUExFRCA6IHp0Lk5PTkU7XG59XG52YXIgayA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgdmFyIGEgPSBHZS5nZXRTcGFuQ29udGV4dCh0KTtcbiAgICAgIGlmICghKCFhIHx8ICFnbihhKSB8fCBBKHQpKSkge1xuICAgICAgICB2YXIgaSA9IHQuZ2V0VmFsdWUocCkgfHwgYS50cmFjZUZsYWdzICYgMSwgdSA9IGEudHJhY2VJZCArIFwiLVwiICsgYS5zcGFuSWQgKyBcIi1cIiArIGk7XG4gICAgICAgIG4uc2V0KGUsIGYsIHUpO1xuICAgICAgfVxuICAgIH0sIHIucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IG4uZ2V0KGUsIGYpLCBpID0gQXJyYXkuaXNBcnJheShhKSA/IGFbMF0gOiBhO1xuICAgICAgaWYgKHR5cGVvZiBpICE9IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiB0O1xuICAgICAgdmFyIHUgPSBpLm1hdGNoKFgpO1xuICAgICAgaWYgKCF1KVxuICAgICAgICByZXR1cm4gdDtcbiAgICAgIHZhciBzID0gSCh1LCA0KSwgTCA9IHNbMV0sIFAgPSBzWzJdLCBfID0gc1szXSwgeSA9IEsoTCk7XG4gICAgICBpZiAoIXRzKHkpIHx8ICFycyhQKSlcbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgICB2YXIgTSA9IFkoXyk7XG4gICAgICByZXR1cm4gXyA9PT0gTyAmJiAodCA9IHQuc2V0VmFsdWUocCwgXykpLCBHZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IHksXG4gICAgICAgIHNwYW5JZDogUCxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiBNXG4gICAgICB9KTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBbZl07XG4gICAgfSwgcjtcbiAgfSgpXG4pLCBFO1xuKGZ1bmN0aW9uKHIpIHtcbiAgcltyLlNJTkdMRV9IRUFERVIgPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiLCByW3IuTVVMVElfSEVBREVSID0gMV0gPSBcIk1VTFRJX0hFQURFUlwiO1xufSkoRSB8fCAoRSA9IHt9KSk7XG52YXIgeiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKHQpIHtcbiAgICAgIHQgPT09IHZvaWQgMCAmJiAodCA9IHt9KSwgdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IgPSBuZXcgRygpLCB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IgPSBuZXcgaygpLCB0LmluamVjdEVuY29kaW5nID09PSBFLk1VTFRJX0hFQURFUiA/ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5pbmplY3QsIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpKSA6ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuaW5qZWN0LCB0aGlzLl9maWVsZHMgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuZmllbGRzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgQSh0KSB8fCB0aGlzLl9pbmplY3QodCwgZSwgbik7XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbi5nZXQoZSwgZiksIGkgPSBBcnJheS5pc0FycmF5KGEpID8gYVswXSA6IGE7XG4gICAgICByZXR1cm4gaSA/IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5leHRyYWN0KHQsIGUsIG4pIDogdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuZXh0cmFjdCh0LCBlLCBuKTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gICAgfSwgcjtcbiAgfSgpXG4pO1xuXG5leHBvcnQgeyBFIGFzIEIzSW5qZWN0RW5jb2RpbmcsIHogYXMgQjNQcm9wYWdhdG9yLCBmIGFzIEIzX0NPTlRFWFRfSEVBREVSLCBTIGFzIFhfQjNfRkxBR1MsIE4gYXMgWF9CM19QQVJFTlRfU1BBTl9JRCwgYyBhcyBYX0IzX1NBTVBMRUQsIGcgYXMgWF9CM19TUEFOX0lELCB2IGFzIFhfQjNfVFJBQ0VfSUQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBRXJFLElBQUlDLElBQUlOLEVBQUcsZ0RBQWdEO0FBQzNELFNBQVNPLEVBQUVDLEdBQUc7QUFDWixTQUFPQSxFQUFFLFNBQVNGLENBQUMsTUFBTTtBQUMzQjtBQUNBLElBQUksSUFBSU4sRUFBRyx5Q0FBeUMsR0FBR1MsSUFBSSxNQUFNQyxJQUFJLGdCQUFnQkMsSUFBSSxlQUFlQyxJQUFJLGdCQUFnQkMsSUFBSSxxQkFBcUJDLElBQUksY0FBY0MsSUFBb0Isb0JBQUksSUFBSSxDQUFDLElBQUksUUFBUSxRQUFRLEtBQUssQ0FBQyxDQUFDLEdBQUdDLElBQW9CLG9CQUFJLElBQUksQ0FBQyxJQUFJLFNBQVMsU0FBUyxLQUFLLENBQUMsQ0FBQztBQUM1UixTQUFTQyxFQUFFVCxHQUFHO0FBQ1osU0FBT0EsTUFBTUwsRUFBRyxXQUFXSyxNQUFNTCxFQUFHO0FBQ3RDO0FBQ0Es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QU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlDO0FBQUE7QUFBQSxFQUVGLFdBQVc7QUFDVCxhQUFTakMsRUFBRVksR0FBRztBQUNaLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsSUFBSSxFQUFFLEdBQUcsS0FBSyxzQkFBc0IsSUFBSWMsRUFBRSxHQUFHZCxFQUFFLG1CQUFtQm9CLEVBQUUsZ0JBQWdCLEtBQUssVUFBVSxLQUFLLG1CQUFtQixRQUFRLEtBQUssVUFBVSxLQUFLLG1CQUFtQixPQUFPLE1BQU0sS0FBSyxVQUFVLEtBQUssb0JBQW9CLFFBQVEsS0FBSyxVQUFVLEtBQUssb0JBQW9CLE9BQU87QUFBQSxJQUM1VTtBQUNBLFdBQU9oQyxFQUFFLFVBQVUsU0FBUyxTQUFTWSxHQUFHLEdBQUdDLEdBQUc7QUFDNUMsTUFBQWQsRUFBRWEsQ0FBQyxLQUFLLEtBQUssUUFBUUEsR0FBRyxHQUFHQyxDQUFDO0FBQUEsSUFDOUIsR0FBR2IsRUFBRSxVQUFVLFVBQVUsU0FBU1ksR0FBRyxHQUFHQyxHQUFHO0FBQ3pDLFVBQUlLLElBQUlMLEVBQUUsSUFBSSxHQUFHWixDQUFDLEdBQUcsSUFBSSxNQUFNLFFBQVFpQixDQUFDLElBQUlBLEVBQUUsQ0FBQyxJQUFJQTtBQUNuRCxhQUFPLElBQUksS0FBSyxvQkFBb0IsUUFBUU4sR0FBRyxHQUFHQyxDQUFDLElBQUksS0FBSyxtQkFBbUIsUUFBUUQsR0FBRyxHQUFHQyxDQUFDO0FBQUEsSUFDaEcsR0FBR2IsRUFBRSxVQUFVLFNBQVMsV0FBVztBQUNqQyxhQUFPLEtBQUs7QUFBQSxJQUNkLEdBQUdBO0FBQUEsRUFDTCxFQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbIiRpIiwgIkdlIiwgImduIiwgInp0IiwgInRzIiwgInJzIiwgIkMiLCAiQSIsICJyIiwgImYiLCAidiIsICJnIiwgImMiLCAiTiIsICJTIiwgIlYiLCAiQiIsICJGIiwgIlIiLCAiZCIsICJ0IiwgIm4iLCAibSIsICJ4IiwgImgiLCAiVSIsICJhIiwgInUiLCAicyIsICJYIiwgImoiLCAidyIsICJPIiwgIlkiLCAiayIsICJMIiwgIlAiLCAiXyIsICJ5IiwgIk0iLCAiRSIsICJ6Il0KfQo=
150
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQzJJdWJwQ3EtIX57MDBtfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFQgYXMgVGksIFUgYXMgVWUsIGQgYXMgZG4sIHggYXMgeHQsIHogYXMgemksIEggYXMgSGkgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIEMgPSBUaShcIk9wZW5UZWxlbWV0cnkgU0RLIENvbnRleHQgS2V5IFNVUFBSRVNTX1RSQUNJTkdcIik7XG5mdW5jdGlvbiBBKHIpIHtcbiAgcmV0dXJuIHIuZ2V0VmFsdWUoQykgPT09ICEwO1xufVxudmFyIHAgPSBUaShcIk9wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgQjMgRGVidWcgRmxhZ1wiKSwgZiA9IFwiYjNcIiwgdiA9IFwieC1iMy10cmFjZWlkXCIsIGcgPSBcIngtYjMtc3BhbmlkXCIsIGMgPSBcIngtYjMtc2FtcGxlZFwiLCBOID0gXCJ4LWIzLXBhcmVudHNwYW5pZFwiLCBTID0gXCJ4LWIzLWZsYWdzXCIsIFYgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbITAsIFwidHJ1ZVwiLCBcIlRydWVcIiwgXCIxXCIsIDFdKSwgQiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFshMSwgXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiMFwiLCAwXSk7XG5mdW5jdGlvbiBGKHIpIHtcbiAgcmV0dXJuIHIgPT09IHh0LlNBTVBMRUQgfHwgciA9PT0geHQuTk9ORTtcbn1cbmZ1bmN0aW9uIFIocikge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyKSA/IHJbMF0gOiByO1xufVxuZnVuY3Rpb24gZChyLCB0LCBlKSB7XG4gIHZhciBuID0gdC5nZXQociwgZSk7XG4gIHJldHVybiBSKG4pO1xufVxuZnVuY3Rpb24gbShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCB2KTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlLnBhZFN0YXJ0KDMyLCBcIjBcIikgOiBcIlwiO1xufVxuZnVuY3Rpb24geChyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBnKTtcbiAgcmV0dXJuIHR5cGVvZiBlID09IFwic3RyaW5nXCIgPyBlIDogXCJcIjtcbn1cbmZ1bmN0aW9uIGgociwgdCkge1xuICB2YXIgZSA9IGQociwgdCwgUyk7XG4gIHJldHVybiBlID09PSBcIjFcIiA/IFwiMVwiIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gVShyLCB0KSB7XG4gIHZhciBlID0gZChyLCB0LCBjKSwgbiA9IGgociwgdCk7XG4gIGlmIChuID09PSBcIjFcIiB8fCBWLmhhcyhlKSlcbiAgICByZXR1cm4geHQuU0FNUExFRDtcbiAgaWYgKGUgPT09IHZvaWQgMCB8fCBCLmhhcyhlKSlcbiAgICByZXR1cm4geHQuTk9ORTtcbn1cbnZhciBHID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5pbmplY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IFVlLmdldFNwYW5Db250ZXh0KHQpO1xuICAgICAgaWYgKCEoIWEgfHwgIWRuKGEpIHx8IEEodCkpKSB7XG4gICAgICAgIHZhciBpID0gdC5nZXRWYWx1ZShwKTtcbiAgICAgICAgbi5zZXQoZSwgdiwgYS50cmFjZUlkKSwgbi5zZXQoZSwgZywgYS5zcGFuSWQpLCBpID09PSBcIjFcIiA/IG4uc2V0KGUsIFMsIGkpIDogYS50cmFjZUZsYWdzICE9PSB2b2lkIDAgJiYgbi5zZXQoZSwgYywgKHh0LlNBTVBMRUQgJiBhLnRyYWNlRmxhZ3MpID09PSB4dC5TQU1QTEVEID8gXCIxXCIgOiBcIjBcIik7XG4gICAgICB9XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbShlLCBuKSwgaSA9IHgoZSwgbiksIHUgPSBVKGUsIG4pLCBzID0gaChlLCBuKTtcbiAgICAgIHJldHVybiB6aShhKSAmJiBIaShpKSAmJiBGKHUpID8gKHQgPSB0LnNldFZhbHVlKHAsIHMpLCBVZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IGEsXG4gICAgICAgIHNwYW5JZDogaSxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiB1XG4gICAgICB9KSkgOiB0O1xuICAgIH0sIHIucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdixcbiAgICAgICAgZyxcbiAgICAgICAgUyxcbiAgICAgICAgYyxcbiAgICAgICAgTlxuICAgICAgXTtcbiAgICB9LCByO1xuICB9KClcbiksIEggPSBmdW5jdGlvbihyLCB0KSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgcltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiByO1xuICB2YXIgbiA9IGUuY2FsbChyKSwgYSwgaSA9IFtdLCB1O1xuICB0cnkge1xuICAgIGZvciAoOyAodCA9PT0gdm9pZCAwIHx8IHQtLSA+IDApICYmICEoYSA9IG4ubmV4dCgpKS5kb25lOyApIGkucHVzaChhLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIHUgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGEgJiYgIWEuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICh1KSB0aHJvdyB1LmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaTtcbn0sIFggPSAvKCg/OlswLTlhLWZdezE2fSl7MSwyfSktKFswLTlhLWZdezE2fSkoPzotKFswMWRdKD8hWzAtOWEtZl0pKSk/KD86LShbMC05YS1mXXsxNn0pKT8vLCBqID0gXCIwXCIucmVwZWF0KDE2KSwgdyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcImRcIiwgXCIxXCJdKSwgTyA9IFwiZFwiO1xuZnVuY3Rpb24gSyhyKSB7XG4gIHJldHVybiByLmxlbmd0aCA9PT0gMzIgPyByIDogXCJcIiArIGogKyByO1xufVxuZnVuY3Rpb24gWShyKSB7XG4gIHJldHVybiByICYmIHcuaGFzKHIpID8geHQuU0FNUExFRCA6IHh0Lk5PTkU7XG59XG52YXIgayA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgdmFyIGEgPSBVZS5nZXRTcGFuQ29udGV4dCh0KTtcbiAgICAgIGlmICghKCFhIHx8ICFkbihhKSB8fCBBKHQpKSkge1xuICAgICAgICB2YXIgaSA9IHQuZ2V0VmFsdWUocCkgfHwgYS50cmFjZUZsYWdzICYgMSwgdSA9IGEudHJhY2VJZCArIFwiLVwiICsgYS5zcGFuSWQgKyBcIi1cIiArIGk7XG4gICAgICAgIG4uc2V0KGUsIGYsIHUpO1xuICAgICAgfVxuICAgIH0sIHIucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbih0LCBlLCBuKSB7XG4gICAgICB2YXIgYSA9IG4uZ2V0KGUsIGYpLCBpID0gQXJyYXkuaXNBcnJheShhKSA/IGFbMF0gOiBhO1xuICAgICAgaWYgKHR5cGVvZiBpICE9IFwic3RyaW5nXCIpXG4gICAgICAgIHJldHVybiB0O1xuICAgICAgdmFyIHUgPSBpLm1hdGNoKFgpO1xuICAgICAgaWYgKCF1KVxuICAgICAgICByZXR1cm4gdDtcbiAgICAgIHZhciBzID0gSCh1LCA0KSwgTCA9IHNbMV0sIFAgPSBzWzJdLCBfID0gc1szXSwgeSA9IEsoTCk7XG4gICAgICBpZiAoIXppKHkpIHx8ICFIaShQKSlcbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgICB2YXIgTSA9IFkoXyk7XG4gICAgICByZXR1cm4gXyA9PT0gTyAmJiAodCA9IHQuc2V0VmFsdWUocCwgXykpLCBVZS5zZXRTcGFuQ29udGV4dCh0LCB7XG4gICAgICAgIHRyYWNlSWQ6IHksXG4gICAgICAgIHNwYW5JZDogUCxcbiAgICAgICAgaXNSZW1vdGU6ICEwLFxuICAgICAgICB0cmFjZUZsYWdzOiBNXG4gICAgICB9KTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBbZl07XG4gICAgfSwgcjtcbiAgfSgpXG4pLCBFO1xuKGZ1bmN0aW9uKHIpIHtcbiAgcltyLlNJTkdMRV9IRUFERVIgPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiLCByW3IuTVVMVElfSEVBREVSID0gMV0gPSBcIk1VTFRJX0hFQURFUlwiO1xufSkoRSB8fCAoRSA9IHt9KSk7XG52YXIgeiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiByKHQpIHtcbiAgICAgIHQgPT09IHZvaWQgMCAmJiAodCA9IHt9KSwgdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IgPSBuZXcgRygpLCB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IgPSBuZXcgaygpLCB0LmluamVjdEVuY29kaW5nID09PSBFLk1VTFRJX0hFQURFUiA/ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5pbmplY3QsIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpKSA6ICh0aGlzLl9pbmplY3QgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuaW5qZWN0LCB0aGlzLl9maWVsZHMgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuZmllbGRzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24odCwgZSwgbikge1xuICAgICAgQSh0KSB8fCB0aGlzLl9pbmplY3QodCwgZSwgbik7XG4gICAgfSwgci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uKHQsIGUsIG4pIHtcbiAgICAgIHZhciBhID0gbi5nZXQoZSwgZiksIGkgPSBBcnJheS5pc0FycmF5KGEpID8gYVswXSA6IGE7XG4gICAgICByZXR1cm4gaSA/IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5leHRyYWN0KHQsIGUsIG4pIDogdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuZXh0cmFjdCh0LCBlLCBuKTtcbiAgICB9LCByLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gICAgfSwgcjtcbiAgfSgpXG4pO1xuXG5leHBvcnQgeyBFIGFzIEIzSW5qZWN0RW5jb2RpbmcsIHogYXMgQjNQcm9wYWdhdG9yLCBmIGFzIEIzX0NPTlRFWFRfSEVBREVSLCBTIGFzIFhfQjNfRkxBR1MsIE4gYXMgWF9CM19QQVJFTlRfU1BBTl9JRCwgYyBhcyBYX0IzX1NBTVBMRUQsIGcgYXMgWF9CM19TUEFOX0lELCB2IGFzIFhfQjNfVFJBQ0VfSUQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBRXJFLElBQUlDLElBQUlOLEVBQUcsZ0RBQWdEO0FBQzNELFNBQVNPLEVBQUVDLEdBQUc7QUFDWixTQUFPQSxFQUFFLFNBQVNGLENBQUMsTUFBTTtBQUMzQjtBQUNBLElBQUksSUFBSU4sRUFBRyx5Q0FBeUMsR0FBR1MsSUFBSSxNQUFNQyxJQUFJLGdCQUFnQixJQUFJLGVBQWVDLElBQUksZ0JBQWdCQyxJQUFJLHFCQUFxQkMsSUFBSSxjQUFjQyxJQUFvQixvQkFBSSxJQUFJLENBQUMsSUFBSSxRQUFRLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FBR0MsSUFBb0Isb0JBQUksSUFBSSxDQUFDLElBQUksU0FBUyxTQUFTLEtBQUssQ0FBQyxDQUFDO0FBQzVSLFNBQVNDLEVBQUVSLEdBQUc7QUFDWixTQUFPQSxNQUFNTCxFQUFHLFdBQVdLLE1BQU1MLEVBQUc7QUFDdEM7QUFDQSxT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SSxDQUFDLEVBQUU7QUFDaEIsSUFBSUM7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVNoQyxFQUFFVyxHQUFHO0FBQ1osTUFBQUEsTUFBTSxXQUFXQSxJQUFJLENBQUMsSUFBSSxLQUFLLHFCQUFxQixJQUFJTSxFQUFFLEdBQUcsS0FBSyxzQkFBc0IsSUFBSSxFQUFFLEdBQUdOLEVBQUUsbUJBQW1Cb0IsRUFBRSxnQkFBZ0IsS0FBSyxVQUFVLEtBQUssbUJBQW1CLFFBQVEsS0FBSyxVQUFVLEtBQUssbUJBQW1CLE9BQU8sTUFBTSxLQUFLLFVBQVUsS0FBSyxvQkFBb0IsUUFBUSxLQUFLLFVBQVUsS0FBSyxvQkFBb0IsT0FBTztBQUFBLElBQzVVO0FBQ0EsV0FBTy9CLEVBQUUsVUFBVSxTQUFTLFNBQVNXLEdBQUcsR0FBR0MsR0FBRztBQUM1QyxNQUFBYixFQUFFWSxDQUFDLEtBQUssS0FBSyxRQUFRQSxHQUFHLEdBQUdDLENBQUM7QUFBQSxJQUM5QixHQUFHWixFQUFFLFVBQVUsVUFBVSxTQUFTVyxHQUFHLEdBQUdDLEdBQUc7QUFDekMsVUFBSU0sSUFBSU4sRUFBRSxJQUFJLEdBQUdYLENBQUMsR0FBRyxJQUFJLE1BQU0sUUFBUWlCLENBQUMsSUFBSUEsRUFBRSxDQUFDLElBQUlBO0FBQ25ELGFBQU8sSUFBSSxLQUFLLG9CQUFvQixRQUFRUCxHQUFHLEdBQUdDLENBQUMsSUFBSSxLQUFLLG1CQUFtQixRQUFRRCxHQUFHLEdBQUdDLENBQUM7QUFBQSxJQUNoRyxHQUFHWixFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLGFBQU8sS0FBSztBQUFBLElBQ2QsR0FBR0E7QUFBQSxFQUNMLEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiVGkiLCAiVWUiLCAiZG4iLCAieHQiLCAiemkiLCAiSGkiLCAiQyIsICJBIiwgInIiLCAiZiIsICJ2IiwgImMiLCAiTiIsICJTIiwgIlYiLCAiQiIsICJGIiwgIlIiLCAiZCIsICJ0IiwgIm4iLCAibSIsICJ4IiwgImgiLCAiVSIsICJHIiwgImEiLCAidSIsICJzIiwgIkgiLCAiWCIsICJqIiwgInciLCAiTyIsICJZIiwgIkwiLCAiUCIsICJ5IiwgIk0iLCAiRSIsICJ6Il0KfQo=