@getopenpay/openpay-js 0.5.15 → 0.5.17
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.
- package/dist/{Resource-Ds5bbQ3b.js → Resource-B7bleRFM.js} +4 -4
- package/dist/{SimpleSpanProcessor-0bSccE1S.js → SimpleSpanProcessor-iCWR2wrc.js} +37 -37
- package/dist/{detect-resources-UwRkF4Xd.js → detect-resources-D2kOb3PM.js} +12 -12
- package/dist/{diag-api-CMlZXyyv.js → diag-api-BoyoSeID.js} +1 -1
- package/dist/{index-BmKZeOoc.js → index-BPMrBQET.js} +6 -6
- package/dist/{index-BhZy-TW3.js → index-BYTBH3hu.js} +10 -10
- package/dist/{index-BZEpD-f0.js → index-Bt776KGI.js} +135 -135
- package/dist/{index-1jECpTsg.js → index-ChUHjTV-.js} +9 -9
- package/dist/{index-DFO-DCsT.js → index-Cu-H4NqV.js} +11 -11
- package/dist/index-DC5j54sB.js +7002 -0
- package/dist/{index-DsxDp11a.js → index-DKzJ38go.js} +4 -4
- package/dist/{index-JNJd_YS1.js → index-DSo9rD_X.js} +33 -33
- package/dist/{index-CDdbDQxQ.js → index-DutR89R3.js} +1 -1
- package/dist/{index-CWTkU3J-.js → index-_XOmOW58.js} +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +8 -8
- package/dist/{metrics-api-C9pRFfr-.js → metrics-api-CyZz_Aku.js} +28 -28
- package/dist/{suppress-tracing-B94rObkn.js → suppress-tracing-3WarLq8k.js} +1 -1
- package/dist/{url-CdPstDG9.js → url-CWnDM543.js} +8 -8
- package/dist/{utils-VJ-0MC7c.js → utils-BnYsKdhz.js} +20 -20
- package/dist/{utils--M6ihaNw.js → utils-CRswusUx.js} +1 -1
- package/package.json +1 -1
- package/dist/index-j7i6AeZa.js +0 -7005
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as M, t as p, i as P, T as o, b as D, d as b } from "./index-
|
|
2
|
-
import { i as A } from "./suppress-tracing-
|
|
1
|
+
import { c as M, t as p, i as P, T as o, b as D, d as b } from "./index-DC5j54sB.js";
|
|
2
|
+
import { i as A } from "./suppress-tracing-3WarLq8k.js";
|
|
3
3
|
var l = M("OpenTelemetry Context Key B3 Debug Flag"), f = "b3", v = "x-b3-traceid", g = "x-b3-spanid", c = "x-b3-sampled", B = "x-b3-parentspanid", S = "x-b3-flags", F = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), N = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
|
|
4
4
|
function V(r) {
|
|
5
5
|
return r === o.SAMPLED || r === o.NONE;
|
|
@@ -32,7 +32,7 @@ function R(r, t) {
|
|
|
32
32
|
}
|
|
33
33
|
var U = (
|
|
34
34
|
/** @class */
|
|
35
|
-
function() {
|
|
35
|
+
(function() {
|
|
36
36
|
function r() {
|
|
37
37
|
}
|
|
38
38
|
return r.prototype.inject = function(t, a, n) {
|
|
@@ -58,7 +58,7 @@ var U = (
|
|
|
58
58
|
B
|
|
59
59
|
];
|
|
60
60
|
}, r;
|
|
61
|
-
}()
|
|
61
|
+
})()
|
|
62
62
|
), G = function(r, t) {
|
|
63
63
|
var a = typeof Symbol == "function" && r[Symbol.iterator];
|
|
64
64
|
if (!a) return r;
|
|
@@ -84,7 +84,7 @@ function K(r) {
|
|
|
84
84
|
}
|
|
85
85
|
var Y = (
|
|
86
86
|
/** @class */
|
|
87
|
-
function() {
|
|
87
|
+
(function() {
|
|
88
88
|
function r() {
|
|
89
89
|
}
|
|
90
90
|
return r.prototype.inject = function(t, a, n) {
|
|
@@ -113,14 +113,14 @@ var Y = (
|
|
|
113
113
|
}, r.prototype.fields = function() {
|
|
114
114
|
return [f];
|
|
115
115
|
}, r;
|
|
116
|
-
}()
|
|
116
|
+
})()
|
|
117
117
|
), E;
|
|
118
118
|
(function(r) {
|
|
119
119
|
r[r.SINGLE_HEADER = 0] = "SINGLE_HEADER", r[r.MULTI_HEADER = 1] = "MULTI_HEADER";
|
|
120
120
|
})(E || (E = {}));
|
|
121
121
|
var z = (
|
|
122
122
|
/** @class */
|
|
123
|
-
function() {
|
|
123
|
+
(function() {
|
|
124
124
|
function r(t) {
|
|
125
125
|
t === void 0 && (t = {}), this._b3MultiPropagator = new U(), this._b3SinglePropagator = new Y(), t.injectEncoding === E.MULTI_HEADER ? (this._inject = this._b3MultiPropagator.inject, this._fields = this._b3MultiPropagator.fields()) : (this._inject = this._b3SinglePropagator.inject, this._fields = this._b3SinglePropagator.fields());
|
|
126
126
|
}
|
|
@@ -132,7 +132,7 @@ var z = (
|
|
|
132
132
|
}, r.prototype.fields = function() {
|
|
133
133
|
return this._fields;
|
|
134
134
|
}, r;
|
|
135
|
-
}()
|
|
135
|
+
})()
|
|
136
136
|
);
|
|
137
137
|
export {
|
|
138
138
|
E as B3InjectEncoding,
|
|
@@ -144,4 +144,4 @@ export {
|
|
|
144
144
|
g as X_B3_SPAN_ID,
|
|
145
145
|
v as X_B3_TRACE_ID
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBsfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgY3JlYXRlQ29udGV4dEtleSwgdCBhcyB0cmFjZSwgaSBhcyBpc1NwYW5Db250ZXh0VmFsaWQsIFQgYXMgVHJhY2VGbGFncywgYiBhcyBpc1ZhbGlkVHJhY2VJZCwgZCBhcyBpc1ZhbGlkU3BhbklkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBpIGFzIGlzVHJhY2luZ1N1cHByZXNzZWQgfSBmcm9tICcuL3N1cHByZXNzLXRyYWNpbmctIX57MDBhfX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIHNoYXJlZCBjb250ZXh0IGZvciBzdG9yaW5nIGFuIGV4dHJhY3RlZCBiMyBkZWJ1ZyBmbGFnICovXG52YXIgQjNfREVCVUdfRkxBR19LRVkgPSBjcmVhdGVDb250ZXh0S2V5KCdPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IEIzIERlYnVnIEZsYWcnKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBCMyBzaW5nbGUtaGVhZGVyIGtleSAqL1xudmFyIEIzX0NPTlRFWFRfSEVBREVSID0gJ2IzJztcbi8qIGIzIG11bHRpLWhlYWRlciBrZXlzICovXG52YXIgWF9CM19UUkFDRV9JRCA9ICd4LWIzLXRyYWNlaWQnO1xudmFyIFhfQjNfU1BBTl9JRCA9ICd4LWIzLXNwYW5pZCc7XG52YXIgWF9CM19TQU1QTEVEID0gJ3gtYjMtc2FtcGxlZCc7XG52YXIgWF9CM19QQVJFTlRfU1BBTl9JRCA9ICd4LWIzLXBhcmVudHNwYW5pZCc7XG52YXIgWF9CM19GTEFHUyA9ICd4LWIzLWZsYWdzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBWQUxJRF9TQU1QTEVEX1ZBTFVFUyA9IG5ldyBTZXQoW3RydWUsICd0cnVlJywgJ1RydWUnLCAnMScsIDFdKTtcbnZhciBWQUxJRF9VTlNBTVBMRURfVkFMVUVTID0gbmV3IFNldChbZmFsc2UsICdmYWxzZScsICdGYWxzZScsICcwJywgMF0pO1xuZnVuY3Rpb24gaXNWYWxpZFNhbXBsZWRWYWx1ZShzYW1wbGVkKSB7XG4gICAgcmV0dXJuIHNhbXBsZWQgPT09IFRyYWNlRmxhZ3MuU0FNUExFRCB8fCBzYW1wbGVkID09PSBUcmFjZUZsYWdzLk5PTkU7XG59XG5mdW5jdGlvbiBwYXJzZUhlYWRlcihoZWFkZXIpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xufVxuZnVuY3Rpb24gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBrZXkpIHtcbiAgICB2YXIgaGVhZGVyID0gZ2V0dGVyLmdldChjYXJyaWVyLCBrZXkpO1xuICAgIHJldHVybiBwYXJzZUhlYWRlcihoZWFkZXIpO1xufVxuZnVuY3Rpb24gZ2V0VHJhY2VJZChjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICB2YXIgdHJhY2VJZCA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19UUkFDRV9JRCk7XG4gICAgaWYgKHR5cGVvZiB0cmFjZUlkID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHJhY2VJZC5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gZ2V0U3BhbklkKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBzcGFuSWQgPSBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIFhfQjNfU1BBTl9JRCk7XG4gICAgaWYgKHR5cGVvZiBzcGFuSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzcGFuSWQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmZ1bmN0aW9uIGdldERlYnVnKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBkZWJ1ZyA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19GTEFHUyk7XG4gICAgcmV0dXJuIGRlYnVnID09PSAnMScgPyAnMScgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciB0cmFjZUZsYWdzID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX1NBTVBMRUQpO1xuICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgaWYgKGRlYnVnID09PSAnMScgfHwgVkFMSURfU0FNUExFRF9WQUxVRVMuaGFzKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgIHJldHVybiBUcmFjZUZsYWdzLlNBTVBMRUQ7XG4gICAgfVxuICAgIGlmICh0cmFjZUZsYWdzID09PSB1bmRlZmluZWQgfHwgVkFMSURfVU5TQU1QTEVEX1ZBTFVFUy5oYXModHJhY2VGbGFncykpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbiAgICB9XG4gICAgLy8gVGhpcyBpbmRpY2F0ZXMgdG8gaXNWYWxpZFNhbXBsZWRWYWx1ZSB0aGF0IHRoaXMgaXMgbm90IHZhbGlkXG4gICAgcmV0dXJuO1xufVxuLyoqXG4gKiBQcm9wYWdhdG9yIGZvciB0aGUgQjMgbXVsdGlwbGUtaGVhZGVyIEhUVFAgZm9ybWF0LlxuICogQmFzZWQgb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuemlwa2luL2IzLXByb3BhZ2F0aW9uXG4gKi9cbnZhciBCM011bHRpUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM011bHRpUHJvcGFnYXRvcigpIHtcbiAgICB9XG4gICAgQjNNdWx0aVByb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgdmFyIHNwYW5Db250ZXh0ID0gdHJhY2UuZ2V0U3BhbkNvbnRleHQoY29udGV4dCk7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQgfHxcbiAgICAgICAgICAgICFpc1NwYW5Db250ZXh0VmFsaWQoc3BhbkNvbnRleHQpIHx8XG4gICAgICAgICAgICBpc1RyYWNpbmdTdXBwcmVzc2VkKGNvbnRleHQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YXIgZGVidWcgPSBjb250ZXh0LmdldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1RSQUNFX0lELCBzcGFuQ29udGV4dC50cmFjZUlkKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1NQQU5fSUQsIHNwYW5Db250ZXh0LnNwYW5JZCk7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgQjMgc3BlYywgaWYgdGhlIGRlYnVnIGZsYWcgaXMgc2V0LFxuICAgICAgICAvLyB0aGUgc2FtcGxlZCBmbGFnIHNob3VsZG4ndCBiZSBwcm9wYWdhdGVkIGFzIHdlbGwuXG4gICAgICAgIGlmIChkZWJ1ZyA9PT0gJzEnKSB7XG4gICAgICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfRkxBR1MsIGRlYnVnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzcGFuQ29udGV4dC50cmFjZUZsYWdzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFdlIHNldCB0aGUgaGVhZGVyIG9ubHkgaWYgdGhlcmUgaXMgYW4gZXhpc3Rpbmcgc2FtcGxpbmcgZGVjaXNpb24uXG4gICAgICAgICAgICAvLyBPdGhlcndpc2Ugd2Ugd2lsbCBvbWl0IGl0ID0+IEFic2VudC5cbiAgICAgICAgICAgIHNldHRlci5zZXQoY2FycmllciwgWF9CM19TQU1QTEVELCAoVHJhY2VGbGFncy5TQU1QTEVEICYgc3BhbkNvbnRleHQudHJhY2VGbGFncykgPT09IFRyYWNlRmxhZ3MuU0FNUExFRFxuICAgICAgICAgICAgICAgID8gJzEnXG4gICAgICAgICAgICAgICAgOiAnMCcpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCM011bHRpUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIHRyYWNlSWQgPSBnZXRUcmFjZUlkKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBzcGFuSWQgPSBnZXRTcGFuSWQoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIHRyYWNlRmxhZ3MgPSBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIGlmIChpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSAmJlxuICAgICAgICAgICAgaXNWYWxpZFNwYW5JZChzcGFuSWQpICYmXG4gICAgICAgICAgICBpc1ZhbGlkU2FtcGxlZFZhbHVlKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgZGVidWcpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgICAgICB0cmFjZUlkOiB0cmFjZUlkLFxuICAgICAgICAgICAgICAgIHNwYW5JZDogc3BhbklkLFxuICAgICAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRyYWNlRmxhZ3M6IHRyYWNlRmxhZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9O1xuICAgIEIzTXVsdGlQcm9wYWdhdG9yLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBYX0IzX1RSQUNFX0lELFxuICAgICAgICAgICAgWF9CM19TUEFOX0lELFxuICAgICAgICAgICAgWF9CM19GTEFHUyxcbiAgICAgICAgICAgIFhfQjNfU0FNUExFRCxcbiAgICAgICAgICAgIFhfQjNfUEFSRU5UX1NQQU5fSUQsXG4gICAgICAgIF07XG4gICAgfTtcbiAgICByZXR1cm4gQjNNdWx0aVByb3BhZ2F0b3I7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fcmVhZCA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fcmVhZCkgfHwgZnVuY3Rpb24gKG8sIG4pIHtcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gICAgaWYgKCFtKSByZXR1cm4gbztcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcbiAgICB0cnkge1xuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cbiAgICB9XG4gICAgcmV0dXJuIGFyO1xufTtcbnZhciBCM19DT05URVhUX1JFR0VYID0gLygoPzpbMC05YS1mXXsxNn0pezEsMn0pLShbMC05YS1mXXsxNn0pKD86LShbMDFkXSg/IVswLTlhLWZdKSkpPyg/Oi0oWzAtOWEtZl17MTZ9KSk/LztcbnZhciBQQURESU5HID0gJzAnLnJlcGVhdCgxNik7XG52YXIgU0FNUExFRF9WQUxVRVMgPSBuZXcgU2V0KFsnZCcsICcxJ10pO1xudmFyIERFQlVHX1NUQVRFID0gJ2QnO1xuZnVuY3Rpb24gY29udmVydFRvVHJhY2VJZDEyOCh0cmFjZUlkKSB7XG4gICAgcmV0dXJuIHRyYWNlSWQubGVuZ3RoID09PSAzMiA/IHRyYWNlSWQgOiBcIlwiICsgUEFERElORyArIHRyYWNlSWQ7XG59XG5mdW5jdGlvbiBjb252ZXJ0VG9UcmFjZUZsYWdzKHNhbXBsaW5nU3RhdGUpIHtcbiAgICBpZiAoc2FtcGxpbmdTdGF0ZSAmJiBTQU1QTEVEX1ZBTFVFUy5oYXMoc2FtcGxpbmdTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuU0FNUExFRDtcbiAgICB9XG4gICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbn1cbi8qKlxuICogUHJvcGFnYXRvciBmb3IgdGhlIEIzIHNpbmdsZS1oZWFkZXIgSFRUUCBmb3JtYXQuXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW56aXBraW4vYjMtcHJvcGFnYXRpb25cbiAqL1xudmFyIEIzU2luZ2xlUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM1NpbmdsZVByb3BhZ2F0b3IoKSB7XG4gICAgfVxuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICB2YXIgc3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCB8fFxuICAgICAgICAgICAgIWlzU3BhbkNvbnRleHRWYWxpZChzcGFuQ29udGV4dCkgfHxcbiAgICAgICAgICAgIGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHZhciBzYW1wbGluZ1N0YXRlID0gY29udGV4dC5nZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSkgfHwgc3BhbkNvbnRleHQudHJhY2VGbGFncyAmIDB4MTtcbiAgICAgICAgdmFyIHZhbHVlID0gc3BhbkNvbnRleHQudHJhY2VJZCArIFwiLVwiICsgc3BhbkNvbnRleHQuc3BhbklkICsgXCItXCIgKyBzYW1wbGluZ1N0YXRlO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSLCB2YWx1ZSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbiAoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKSB7XG4gICAgICAgIHZhciBoZWFkZXIgPSBnZXR0ZXIuZ2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSKTtcbiAgICAgICAgdmFyIGIzQ29udGV4dCA9IEFycmF5LmlzQXJyYXkoaGVhZGVyKSA/IGhlYWRlclswXSA6IGhlYWRlcjtcbiAgICAgICAgaWYgKHR5cGVvZiBiM0NvbnRleHQgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciBtYXRjaCA9IGIzQ29udGV4dC5tYXRjaChCM19DT05URVhUX1JFR0VYKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB2YXIgX2EgPSBfX3JlYWQobWF0Y2gsIDQpLCBleHRyYWN0ZWRUcmFjZUlkID0gX2FbMV0sIHNwYW5JZCA9IF9hWzJdLCBzYW1wbGluZ1N0YXRlID0gX2FbM107XG4gICAgICAgIHZhciB0cmFjZUlkID0gY29udmVydFRvVHJhY2VJZDEyOChleHRyYWN0ZWRUcmFjZUlkKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSB8fCAhaXNWYWxpZFNwYW5JZChzcGFuSWQpKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciB0cmFjZUZsYWdzID0gY29udmVydFRvVHJhY2VGbGFncyhzYW1wbGluZ1N0YXRlKTtcbiAgICAgICAgaWYgKHNhbXBsaW5nU3RhdGUgPT09IERFQlVHX1NUQVRFKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgc2FtcGxpbmdTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgIHRyYWNlSWQ6IHRyYWNlSWQsXG4gICAgICAgICAgICBzcGFuSWQ6IHNwYW5JZCxcbiAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgdHJhY2VGbGFnczogdHJhY2VGbGFncyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFtCM19DT05URVhUX0hFQURFUl07XG4gICAgfTtcbiAgICByZXR1cm4gQjNTaW5nbGVQcm9wYWdhdG9yO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBFbnVtZXJhdGlvbiBvZiBCMyBpbmplY3QgZW5jb2RpbmdzICovXG52YXIgQjNJbmplY3RFbmNvZGluZztcbihmdW5jdGlvbiAoQjNJbmplY3RFbmNvZGluZykge1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIlNJTkdMRV9IRUFERVJcIl0gPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiO1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIk1VTFRJX0hFQURFUlwiXSA9IDFdID0gXCJNVUxUSV9IRUFERVJcIjtcbn0pKEIzSW5qZWN0RW5jb2RpbmcgfHwgKEIzSW5qZWN0RW5jb2RpbmcgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBQcm9wYWdhdG9yIHRoYXQgZXh0cmFjdHMgQjMgY29udGV4dCBpbiBib3RoIHNpbmdsZSBhbmQgbXVsdGktaGVhZGVyIHZhcmlhbnRzLFxuICogd2l0aCBjb25maWd1cmFibGUgaW5qZWN0aW9uIGZvcm1hdCBkZWZhdWx0aW5nIHRvIEIzIHNpbmdsZS1oZWFkZXIuIER1ZSB0b1xuICogdGhlIGFzeW1tZXRyeSBpbiBpbmplY3Rpb24gYW5kIGV4dHJhY3Rpb24gZm9ybWF0cyB0aGlzIGlzIG5vdCBzdWl0YWJsZSB0b1xuICogYmUgaW1wbGVtZW50ZWQgYXMgYSBjb21wb3NpdGUgcHJvcGFnYXRvci5cbiAqIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnppcGtpbi9iMy1wcm9wYWdhdGlvblxuICovXG52YXIgQjNQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzUHJvcGFnYXRvcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yID0gbmV3IEIzTXVsdGlQcm9wYWdhdG9yKCk7XG4gICAgICAgIHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvciA9IG5ldyBCM1NpbmdsZVByb3BhZ2F0b3IoKTtcbiAgICAgICAgaWYgKGNvbmZpZy5pbmplY3RFbmNvZGluZyA9PT0gQjNJbmplY3RFbmNvZGluZy5NVUxUSV9IRUFERVIpIHtcbiAgICAgICAgICAgIHRoaXMuX2luamVjdCA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ID0gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5maWVsZHMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCM1Byb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgaWYgKGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbmplY3QoY29udGV4dCwgY2Fycmllciwgc2V0dGVyKTtcbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIGhlYWRlciA9IGdldHRlci5nZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIpO1xuICAgICAgICB2YXIgYjNDb250ZXh0ID0gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xuICAgICAgICBpZiAoYjNDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmV4dHJhY3QoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5leHRyYWN0KGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZmllbGRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICAgIH07XG4gICAgcmV0dXJuIEIzUHJvcGFnYXRvcjtcbn0oKSk7XG5cbmV4cG9ydCB7IEIzSW5qZWN0RW5jb2RpbmcsIEIzUHJvcGFnYXRvciwgQjNfQ09OVEVYVF9IRUFERVIsIFhfQjNfRkxBR1MsIFhfQjNfUEFSRU5UX1NQQU5fSUQsIFhfQjNfU0FNUExFRCwgWF9CM19TUEFOX0lELCBYX0IzX1RSQUNFX0lEIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxHQUFrQixLQUFLQyxHQUFPLEtBQUtDLEdBQW9CLEtBQUtDLEdBQVksS0FBS0MsR0FBZ0IsS0FBS0MsU0FBcUI7QUFDckksU0FBUyxLQUFLQyxTQUEyQjtBQWtCekMsSUFBSUMsSUFBb0JQLEVBQWlCLHlDQUF5QyxHQWtCOUVRLElBQW9CLE1BRXBCQyxJQUFnQixnQkFDaEJDLElBQWUsZUFDZkMsSUFBZSxnQkFDZkMsSUFBc0IscUJBQ3RCQyxJQUFhLGNBaUJiQyxJQUF1QixvQkFBSSxJQUFJLENBQUMsSUFBTSxRQUFRLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FDN0RDLElBQXlCLG9CQUFJLElBQUksQ0FBQyxJQUFPLFNBQVMsU0FBUyxLQUFLLENBQUMsQ0FBQztBQUN0RSxTQUFTQyxFQUFvQkMsR0FBUztBQUNsQyxTQUFPQSxNQUFZZCxFQUFXLFdBQVdjLE1BQVlkLEVBQVc7QUFDcEU7QUFDQSxTQUFTZSxFQUFZQyxHQUFRO0FBQ3pCLFNBQU8sTUFBTSxRQUFRQSxDQUFNLElBQUlBLEVBQU8sQ0FBQyxJQUFJQTtBQUMvQztBQUNBLFNBQVNDLEVBQWVDLEdBQVNDLEdBQVFDLEdBQUs7QUFDMUMsTUFBSUosSUFBU0csRUFBTyxJQUFJRCxHQUFTRSxDQUFHO0FBQ3BDLFNBQU9MLEVBQVlDLENBQU07QUFDN0I7QUFDQSxTQUFTSyxFQUFXSCxHQUFTQyxHQUFRO0FBQ2pDLE1BQUlHLElBQVVMLEVBQWVDLEdBQVNDLEdBQVFiLENBQWE7QUFDM0QsU0FBSSxPQUFPZ0IsS0FBWSxXQUNaQSxFQUFRLFNBQVMsSUFBSSxHQUFHLElBRTVCO0FBQ1g7QUFDQSxTQUFTQyxFQUFVTCxHQUFTQyxHQUFRO0FBQ2hDLE1BQUlLLElBQVNQLEVBQWVDLEdBQVNDLEdBQVFaLENBQVk7QUFDekQsU0FBSSxPQUFPaUIsS0FBVyxXQUNYQSxJQUVKO0FBQ1g7QUFDQSxTQUFTQyxFQUFTUCxHQUFTQyxHQUFRO0FBQy9CLE1BQUlPLElBQVFULEVBQWVDLEdBQVNDLEdBQVFULENBQVU7QUFDdEQsU0FBT2dCLE1BQVUsTUFBTSxNQUFNO0FBQ2pDO0FBQ0EsU0FBU0MsRUFBY1QsR0FBU0MsR0FBUTtBQUNwQyxNQUFJUyxJQUFhWCxFQUFlQyxHQUFTQyxHQUFRWCxDQUFZLEdBQ3pEa0IsSUFBUUQsRUFBU1AsR0FBU0MsQ0FBTTtBQUNwQyxNQUFJTyxNQUFVLE9BQU9mLEVBQXFCLElBQUlpQixDQUFVO0FBQ3BELFdBQU81QixFQUFXO0FBRXRCLE1BQUk0QixNQUFlLFVBQWFoQixFQUF1QixJQUFJZ0IsQ0FBVTtBQUNqRSxXQUFPNUIsRUFBVztBQUkxQjtBQUtBLElBQUk2QjtBQUFBO0FBQUEsRUFBbUMsV0FBWTtBQUMvQyxhQUFTQSxJQUFvQjtBQUFBLElBQzdCO0FBQ0EsV0FBQUEsRUFBa0IsVUFBVSxTQUFTLFNBQVVDLEdBQVNaLEdBQVNhLEdBQVE7QUFDckUsVUFBSUMsSUFBY2xDLEVBQU0sZUFBZWdDLENBQU87QUFDOUMsVUFBSSxHQUFDRSxLQUNELENBQUNqQyxFQUFtQmlDLENBQVcsS0FDL0I3QixFQUFvQjJCLENBQU8sSUFFL0I7QUFBQSxZQUFJSixJQUFRSSxFQUFRLFNBQVMxQixDQUFpQjtBQUM5QyxRQUFBMkIsRUFBTyxJQUFJYixHQUFTWixHQUFlMEIsRUFBWSxPQUFPLEdBQ3RERCxFQUFPLElBQUliLEdBQVNYLEdBQWN5QixFQUFZLE1BQU0sR0FHaEROLE1BQVUsTUFDVkssRUFBTyxJQUFJYixHQUFTUixHQUFZZ0IsQ0FBSyxJQUVoQ00sRUFBWSxlQUFlLFVBR2hDRCxFQUFPLElBQUliLEdBQVNWLElBQWVSLEVBQVcsVUFBVWdDLEVBQVksZ0JBQWdCaEMsRUFBVyxVQUN6RixNQUNBLEdBQUc7QUFBQTtBQUFBLElBRWpCLEdBQ0E2QixFQUFrQixVQUFVLFVBQVUsU0FBVUMsR0FBU1osR0FBU0MsR0FBUTtBQUN0RSxVQUFJRyxJQUFVRCxFQUFXSCxHQUFTQyxDQUFNLEdBQ3BDSyxJQUFTRCxFQUFVTCxHQUFTQyxDQUFNLEdBQ2xDUyxJQUFhRCxFQUFjVCxHQUFTQyxDQUFNLEdBQzFDTyxJQUFRRCxFQUFTUCxHQUFTQyxDQUFNO0FBQ3BDLGFBQUlsQixFQUFlcUIsQ0FBTyxLQUN0QnBCLEVBQWNzQixDQUFNLEtBQ3BCWCxFQUFvQmUsQ0FBVSxLQUM5QkUsSUFBVUEsRUFBUSxTQUFTMUIsR0FBbUJzQixDQUFLLEdBQzVDNUIsRUFBTSxlQUFlZ0MsR0FBUztBQUFBLFFBQ2pDLFNBQVNSO0FBQUEsUUFDVCxRQUFRRTtBQUFBLFFBQ1IsVUFBVTtBQUFBLFFBQ1YsWUFBWUk7QUFBQSxNQUNoQixDQUFDLEtBRUVFO0FBQUEsSUFDWCxHQUNBRCxFQUFrQixVQUFVLFNBQVMsV0FBWTtBQUM3QyxhQUFPO0FBQUEsUUFDSHZCO0FBQUEsUUFDQUM7QUFBQSxRQUNBRztBQUFBLFFBQ0FGO0FBQUEsUUFDQUM7QUFBQSxNQUNKO0FBQUEsSUFDSixHQUNPb0I7QUFBQSxFQUNYLEVBQUU7QUFBQSxHQWlCRUksSUFBNEMsU0FBVUMsR0FBR0MsR0FBRztBQUM1RCxNQUFJQyxJQUFJLE9BQU8sVUFBVyxjQUFjRixFQUFFLE9BQU8sUUFBUTtBQUN6RCxNQUFJLENBQUNFLEVBQUcsUUFBT0Y7QUFDZixNQUFJRyxJQUFJRCxFQUFFLEtBQUtGLENBQUMsR0FBR0ksR0FBR0MsSUFBSyxDQUFDLEdBQUdDO0FBQy9CLE1BQUk7QUFDQSxZQUFRTCxNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRyxJQUFJRCxFQUFFLEtBQUssR0FBRyxPQUFNLENBQUFFLEVBQUcsS0FBS0QsRUFBRSxLQUFLO0FBQUEsRUFDN0UsU0FDT0csR0FBTztBQUFFLElBQUFELElBQUksRUFBRSxPQUFPQyxFQUFNO0FBQUEsRUFBRyxVQUN0QztBQUNJLFFBQUk7QUFDQSxNQUFJSCxLQUFLLENBQUNBLEVBQUUsU0FBU0YsSUFBSUMsRUFBRSxXQUFZRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUNuRCxVQUNBO0FBQVUsVUFBSUcsRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFBTztBQUFBLEVBQ3BDO0FBQ0EsU0FBT0Q7QUFDWCxHQUNJRyxJQUFtQix1RkFDbkJDLElBQVUsSUFBSSxPQUFPLEVBQUUsR0FDdkJDLElBQWlCLG9CQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUNuQ0MsSUFBYztBQUNsQixTQUFTQyxFQUFvQnhCLEdBQVM7QUFDbEMsU0FBT0EsRUFBUSxXQUFXLEtBQUtBLElBQVUsS0FBS3FCLElBQVVyQjtBQUM1RDtBQUNBLFNBQVN5QixFQUFvQkMsR0FBZTtBQUN4QyxTQUFJQSxLQUFpQkosRUFBZSxJQUFJSSxDQUFhLElBQzFDaEQsRUFBVyxVQUVmQSxFQUFXO0FBQ3RCO0FBS0EsSUFBSWlEO0FBQUE7QUFBQSxFQUFvQyxXQUFZO0FBQ2hELGFBQVNBLElBQXFCO0FBQUEsSUFDOUI7QUFDQSxXQUFBQSxFQUFtQixVQUFVLFNBQVMsU0FBVW5CLEdBQVNaLEdBQVNhLEdBQVE7QUFDdEUsVUFBSUMsSUFBY2xDLEVBQU0sZUFBZWdDLENBQU87QUFDOUMsVUFBSSxHQUFDRSxLQUNELENBQUNqQyxFQUFtQmlDLENBQVcsS0FDL0I3QixFQUFvQjJCLENBQU8sSUFFL0I7QUFBQSxZQUFJa0IsSUFBZ0JsQixFQUFRLFNBQVMxQixDQUFpQixLQUFLNEIsRUFBWSxhQUFhLEdBQ2hGa0IsSUFBUWxCLEVBQVksVUFBVSxNQUFNQSxFQUFZLFNBQVMsTUFBTWdCO0FBQ25FLFFBQUFqQixFQUFPLElBQUliLEdBQVNiLEdBQW1CNkMsQ0FBSztBQUFBO0FBQUEsSUFDaEQsR0FDQUQsRUFBbUIsVUFBVSxVQUFVLFNBQVVuQixHQUFTWixHQUFTQyxHQUFRO0FBQ3ZFLFVBQUlILElBQVNHLEVBQU8sSUFBSUQsR0FBU2IsQ0FBaUIsR0FDOUM4QyxJQUFZLE1BQU0sUUFBUW5DLENBQU0sSUFBSUEsRUFBTyxDQUFDLElBQUlBO0FBQ3BELFVBQUksT0FBT21DLEtBQWM7QUFDckIsZUFBT3JCO0FBQ1gsVUFBSXNCLElBQVFELEVBQVUsTUFBTVQsQ0FBZ0I7QUFDNUMsVUFBSSxDQUFDVTtBQUNELGVBQU90QjtBQUNYLFVBQUl1QixJQUFLcEIsRUFBT21CLEdBQU8sQ0FBQyxHQUFHRSxJQUFtQkQsRUFBRyxDQUFDLEdBQUc3QixJQUFTNkIsRUFBRyxDQUFDLEdBQUdMLElBQWdCSyxFQUFHLENBQUMsR0FDckYvQixJQUFVd0IsRUFBb0JRLENBQWdCO0FBQ2xELFVBQUksQ0FBQ3JELEVBQWVxQixDQUFPLEtBQUssQ0FBQ3BCLEVBQWNzQixDQUFNO0FBQ2pELGVBQU9NO0FBQ1gsVUFBSUYsSUFBYW1CLEVBQW9CQyxDQUFhO0FBQ2xELGFBQUlBLE1BQWtCSCxNQUNsQmYsSUFBVUEsRUFBUSxTQUFTMUIsR0FBbUI0QyxDQUFhLElBRXhEbEQsRUFBTSxlQUFlZ0MsR0FBUztBQUFBLFFBQ2pDLFNBQVNSO0FBQUEsUUFDVCxRQUFRRTtBQUFBLFFBQ1IsVUFBVTtBQUFBLFFBQ1YsWUFBWUk7QUFBQSxNQUNoQixDQUFDO0FBQUEsSUFDTCxHQUNBcUIsRUFBbUIsVUFBVSxTQUFTLFdBQVk7QUFDOUMsYUFBTyxDQUFDNUMsQ0FBaUI7QUFBQSxJQUM3QixHQUNPNEM7QUFBQSxFQUNYLEVBQUU7QUFBQSxHQWtCRU07QUFBQSxDQUNILFNBQVVBLEdBQWtCO0FBQ3pCLEVBQUFBLEVBQWlCQSxFQUFpQixnQkFBbUIsQ0FBQyxJQUFJLGlCQUMxREEsRUFBaUJBLEVBQWlCLGVBQWtCLENBQUMsSUFBSTtBQUM3RCxHQUFHQSxNQUFxQkEsSUFBbUIsQ0FBQyxFQUFFO0FBd0I5QyxJQUFJQztBQUFBO0FBQUEsRUFBOEIsV0FBWTtBQUMxQyxhQUFTQSxFQUFhQyxHQUFRO0FBQzFCLE1BQUlBLE1BQVcsV0FBVUEsSUFBUyxDQUFDLElBQ25DLEtBQUsscUJBQXFCLElBQUk1QixFQUFrQixHQUNoRCxLQUFLLHNCQUFzQixJQUFJb0IsRUFBbUIsR0FDOUNRLEVBQU8sbUJBQW1CRixFQUFpQixnQkFDM0MsS0FBSyxVQUFVLEtBQUssbUJBQW1CLFFBQ3ZDLEtBQUssVUFBVSxLQUFLLG1CQUFtQixPQUFPLE1BRzlDLEtBQUssVUFBVSxLQUFLLG9CQUFvQixRQUN4QyxLQUFLLFVBQVUsS0FBSyxvQkFBb0IsT0FBTztBQUFBLElBRXZEO0FBQ0EsV0FBQUMsRUFBYSxVQUFVLFNBQVMsU0FBVTFCLEdBQVNaLEdBQVNhLEdBQVE7QUFDaEUsTUFBSTVCLEVBQW9CMkIsQ0FBTyxLQUcvQixLQUFLLFFBQVFBLEdBQVNaLEdBQVNhLENBQU07QUFBQSxJQUN6QyxHQUNBeUIsRUFBYSxVQUFVLFVBQVUsU0FBVTFCLEdBQVNaLEdBQVNDLEdBQVE7QUFDakUsVUFBSUgsSUFBU0csRUFBTyxJQUFJRCxHQUFTYixDQUFpQixHQUM5QzhDLElBQVksTUFBTSxRQUFRbkMsQ0FBTSxJQUFJQSxFQUFPLENBQUMsSUFBSUE7QUFDcEQsYUFBSW1DLElBQ08sS0FBSyxvQkFBb0IsUUFBUXJCLEdBQVNaLEdBQVNDLENBQU0sSUFHekQsS0FBSyxtQkFBbUIsUUFBUVcsR0FBU1osR0FBU0MsQ0FBTTtBQUFBLElBRXZFLEdBQ0FxQyxFQUFhLFVBQVUsU0FBUyxXQUFZO0FBQ3hDLGFBQU8sS0FBSztBQUFBLElBQ2hCLEdBQ09BO0FBQUEsRUFDWCxFQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbImNyZWF0ZUNvbnRleHRLZXkiLCAidHJhY2UiLCAiaXNTcGFuQ29udGV4dFZhbGlkIiwgIlRyYWNlRmxhZ3MiLCAiaXNWYWxpZFRyYWNlSWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1RyYWNpbmdTdXBwcmVzc2VkIiwgIkIzX0RFQlVHX0ZMQUdfS0VZIiwgIkIzX0NPTlRFWFRfSEVBREVSIiwgIlhfQjNfVFJBQ0VfSUQiLCAiWF9CM19TUEFOX0lEIiwgIlhfQjNfU0FNUExFRCIsICJYX0IzX1BBUkVOVF9TUEFOX0lEIiwgIlhfQjNfRkxBR1MiLCAiVkFMSURfU0FNUExFRF9WQUxVRVMiLCAiVkFMSURfVU5TQU1QTEVEX1ZBTFVFUyIsICJpc1ZhbGlkU2FtcGxlZFZhbHVlIiwgInNhbXBsZWQiLCAicGFyc2VIZWFkZXIiLCAiaGVhZGVyIiwgImdldEhlYWRlclZhbHVlIiwgImNhcnJpZXIiLCAiZ2V0dGVyIiwgImtleSIsICJnZXRUcmFjZUlkIiwgInRyYWNlSWQiLCAiZ2V0U3BhbklkIiwgInNwYW5JZCIsICJnZXREZWJ1ZyIsICJkZWJ1ZyIsICJnZXRUcmFjZUZsYWdzIiwgInRyYWNlRmxhZ3MiLCAiQjNNdWx0aVByb3BhZ2F0b3IiLCAiY29udGV4dCIsICJzZXR0ZXIiLCAic3BhbkNvbnRleHQiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlIiwgImVycm9yIiwgIkIzX0NPTlRFWFRfUkVHRVgiLCAiUEFERElORyIsICJTQU1QTEVEX1ZBTFVFUyIsICJERUJVR19TVEFURSIsICJjb252ZXJ0VG9UcmFjZUlkMTI4IiwgImNvbnZlcnRUb1RyYWNlRmxhZ3MiLCAic2FtcGxpbmdTdGF0ZSIsICJCM1NpbmdsZVByb3BhZ2F0b3IiLCAidmFsdWUiLCAiYjNDb250ZXh0IiwgIm1hdGNoIiwgIl9hIiwgImV4dHJhY3RlZFRyYWNlSWQiLCAiQjNJbmplY3RFbmNvZGluZyIsICJCM1Byb3BhZ2F0b3IiLCAiY29uZmlnIl0KfQo=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBsfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgY3JlYXRlQ29udGV4dEtleSwgdCBhcyB0cmFjZSwgaSBhcyBpc1NwYW5Db250ZXh0VmFsaWQsIFQgYXMgVHJhY2VGbGFncywgYiBhcyBpc1ZhbGlkVHJhY2VJZCwgZCBhcyBpc1ZhbGlkU3BhbklkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBpIGFzIGlzVHJhY2luZ1N1cHByZXNzZWQgfSBmcm9tICcuL3N1cHByZXNzLXRyYWNpbmctIX57MDBhfX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIHNoYXJlZCBjb250ZXh0IGZvciBzdG9yaW5nIGFuIGV4dHJhY3RlZCBiMyBkZWJ1ZyBmbGFnICovXG52YXIgQjNfREVCVUdfRkxBR19LRVkgPSBjcmVhdGVDb250ZXh0S2V5KCdPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IEIzIERlYnVnIEZsYWcnKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBCMyBzaW5nbGUtaGVhZGVyIGtleSAqL1xudmFyIEIzX0NPTlRFWFRfSEVBREVSID0gJ2IzJztcbi8qIGIzIG11bHRpLWhlYWRlciBrZXlzICovXG52YXIgWF9CM19UUkFDRV9JRCA9ICd4LWIzLXRyYWNlaWQnO1xudmFyIFhfQjNfU1BBTl9JRCA9ICd4LWIzLXNwYW5pZCc7XG52YXIgWF9CM19TQU1QTEVEID0gJ3gtYjMtc2FtcGxlZCc7XG52YXIgWF9CM19QQVJFTlRfU1BBTl9JRCA9ICd4LWIzLXBhcmVudHNwYW5pZCc7XG52YXIgWF9CM19GTEFHUyA9ICd4LWIzLWZsYWdzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBWQUxJRF9TQU1QTEVEX1ZBTFVFUyA9IG5ldyBTZXQoW3RydWUsICd0cnVlJywgJ1RydWUnLCAnMScsIDFdKTtcbnZhciBWQUxJRF9VTlNBTVBMRURfVkFMVUVTID0gbmV3IFNldChbZmFsc2UsICdmYWxzZScsICdGYWxzZScsICcwJywgMF0pO1xuZnVuY3Rpb24gaXNWYWxpZFNhbXBsZWRWYWx1ZShzYW1wbGVkKSB7XG4gICAgcmV0dXJuIHNhbXBsZWQgPT09IFRyYWNlRmxhZ3MuU0FNUExFRCB8fCBzYW1wbGVkID09PSBUcmFjZUZsYWdzLk5PTkU7XG59XG5mdW5jdGlvbiBwYXJzZUhlYWRlcihoZWFkZXIpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xufVxuZnVuY3Rpb24gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBrZXkpIHtcbiAgICB2YXIgaGVhZGVyID0gZ2V0dGVyLmdldChjYXJyaWVyLCBrZXkpO1xuICAgIHJldHVybiBwYXJzZUhlYWRlcihoZWFkZXIpO1xufVxuZnVuY3Rpb24gZ2V0VHJhY2VJZChjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICB2YXIgdHJhY2VJZCA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19UUkFDRV9JRCk7XG4gICAgaWYgKHR5cGVvZiB0cmFjZUlkID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHJhY2VJZC5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gZ2V0U3BhbklkKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBzcGFuSWQgPSBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIFhfQjNfU1BBTl9JRCk7XG4gICAgaWYgKHR5cGVvZiBzcGFuSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzcGFuSWQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmZ1bmN0aW9uIGdldERlYnVnKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBkZWJ1ZyA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19GTEFHUyk7XG4gICAgcmV0dXJuIGRlYnVnID09PSAnMScgPyAnMScgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciB0cmFjZUZsYWdzID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX1NBTVBMRUQpO1xuICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgaWYgKGRlYnVnID09PSAnMScgfHwgVkFMSURfU0FNUExFRF9WQUxVRVMuaGFzKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgIHJldHVybiBUcmFjZUZsYWdzLlNBTVBMRUQ7XG4gICAgfVxuICAgIGlmICh0cmFjZUZsYWdzID09PSB1bmRlZmluZWQgfHwgVkFMSURfVU5TQU1QTEVEX1ZBTFVFUy5oYXModHJhY2VGbGFncykpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbiAgICB9XG4gICAgLy8gVGhpcyBpbmRpY2F0ZXMgdG8gaXNWYWxpZFNhbXBsZWRWYWx1ZSB0aGF0IHRoaXMgaXMgbm90IHZhbGlkXG4gICAgcmV0dXJuO1xufVxuLyoqXG4gKiBQcm9wYWdhdG9yIGZvciB0aGUgQjMgbXVsdGlwbGUtaGVhZGVyIEhUVFAgZm9ybWF0LlxuICogQmFzZWQgb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuemlwa2luL2IzLXByb3BhZ2F0aW9uXG4gKi9cbnZhciBCM011bHRpUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM011bHRpUHJvcGFnYXRvcigpIHtcbiAgICB9XG4gICAgQjNNdWx0aVByb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgdmFyIHNwYW5Db250ZXh0ID0gdHJhY2UuZ2V0U3BhbkNvbnRleHQoY29udGV4dCk7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQgfHxcbiAgICAgICAgICAgICFpc1NwYW5Db250ZXh0VmFsaWQoc3BhbkNvbnRleHQpIHx8XG4gICAgICAgICAgICBpc1RyYWNpbmdTdXBwcmVzc2VkKGNvbnRleHQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YXIgZGVidWcgPSBjb250ZXh0LmdldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1RSQUNFX0lELCBzcGFuQ29udGV4dC50cmFjZUlkKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1NQQU5fSUQsIHNwYW5Db250ZXh0LnNwYW5JZCk7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgQjMgc3BlYywgaWYgdGhlIGRlYnVnIGZsYWcgaXMgc2V0LFxuICAgICAgICAvLyB0aGUgc2FtcGxlZCBmbGFnIHNob3VsZG4ndCBiZSBwcm9wYWdhdGVkIGFzIHdlbGwuXG4gICAgICAgIGlmIChkZWJ1ZyA9PT0gJzEnKSB7XG4gICAgICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfRkxBR1MsIGRlYnVnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzcGFuQ29udGV4dC50cmFjZUZsYWdzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFdlIHNldCB0aGUgaGVhZGVyIG9ubHkgaWYgdGhlcmUgaXMgYW4gZXhpc3Rpbmcgc2FtcGxpbmcgZGVjaXNpb24uXG4gICAgICAgICAgICAvLyBPdGhlcndpc2Ugd2Ugd2lsbCBvbWl0IGl0ID0+IEFic2VudC5cbiAgICAgICAgICAgIHNldHRlci5zZXQoY2FycmllciwgWF9CM19TQU1QTEVELCAoVHJhY2VGbGFncy5TQU1QTEVEICYgc3BhbkNvbnRleHQudHJhY2VGbGFncykgPT09IFRyYWNlRmxhZ3MuU0FNUExFRFxuICAgICAgICAgICAgICAgID8gJzEnXG4gICAgICAgICAgICAgICAgOiAnMCcpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCM011bHRpUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIHRyYWNlSWQgPSBnZXRUcmFjZUlkKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBzcGFuSWQgPSBnZXRTcGFuSWQoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIHRyYWNlRmxhZ3MgPSBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIGlmIChpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSAmJlxuICAgICAgICAgICAgaXNWYWxpZFNwYW5JZChzcGFuSWQpICYmXG4gICAgICAgICAgICBpc1ZhbGlkU2FtcGxlZFZhbHVlKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgZGVidWcpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgICAgICB0cmFjZUlkOiB0cmFjZUlkLFxuICAgICAgICAgICAgICAgIHNwYW5JZDogc3BhbklkLFxuICAgICAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRyYWNlRmxhZ3M6IHRyYWNlRmxhZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9O1xuICAgIEIzTXVsdGlQcm9wYWdhdG9yLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBYX0IzX1RSQUNFX0lELFxuICAgICAgICAgICAgWF9CM19TUEFOX0lELFxuICAgICAgICAgICAgWF9CM19GTEFHUyxcbiAgICAgICAgICAgIFhfQjNfU0FNUExFRCxcbiAgICAgICAgICAgIFhfQjNfUEFSRU5UX1NQQU5fSUQsXG4gICAgICAgIF07XG4gICAgfTtcbiAgICByZXR1cm4gQjNNdWx0aVByb3BhZ2F0b3I7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fcmVhZCA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fcmVhZCkgfHwgZnVuY3Rpb24gKG8sIG4pIHtcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gICAgaWYgKCFtKSByZXR1cm4gbztcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcbiAgICB0cnkge1xuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cbiAgICB9XG4gICAgcmV0dXJuIGFyO1xufTtcbnZhciBCM19DT05URVhUX1JFR0VYID0gLygoPzpbMC05YS1mXXsxNn0pezEsMn0pLShbMC05YS1mXXsxNn0pKD86LShbMDFkXSg/IVswLTlhLWZdKSkpPyg/Oi0oWzAtOWEtZl17MTZ9KSk/LztcbnZhciBQQURESU5HID0gJzAnLnJlcGVhdCgxNik7XG52YXIgU0FNUExFRF9WQUxVRVMgPSBuZXcgU2V0KFsnZCcsICcxJ10pO1xudmFyIERFQlVHX1NUQVRFID0gJ2QnO1xuZnVuY3Rpb24gY29udmVydFRvVHJhY2VJZDEyOCh0cmFjZUlkKSB7XG4gICAgcmV0dXJuIHRyYWNlSWQubGVuZ3RoID09PSAzMiA/IHRyYWNlSWQgOiBcIlwiICsgUEFERElORyArIHRyYWNlSWQ7XG59XG5mdW5jdGlvbiBjb252ZXJ0VG9UcmFjZUZsYWdzKHNhbXBsaW5nU3RhdGUpIHtcbiAgICBpZiAoc2FtcGxpbmdTdGF0ZSAmJiBTQU1QTEVEX1ZBTFVFUy5oYXMoc2FtcGxpbmdTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuU0FNUExFRDtcbiAgICB9XG4gICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbn1cbi8qKlxuICogUHJvcGFnYXRvciBmb3IgdGhlIEIzIHNpbmdsZS1oZWFkZXIgSFRUUCBmb3JtYXQuXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW56aXBraW4vYjMtcHJvcGFnYXRpb25cbiAqL1xudmFyIEIzU2luZ2xlUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM1NpbmdsZVByb3BhZ2F0b3IoKSB7XG4gICAgfVxuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICB2YXIgc3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCB8fFxuICAgICAgICAgICAgIWlzU3BhbkNvbnRleHRWYWxpZChzcGFuQ29udGV4dCkgfHxcbiAgICAgICAgICAgIGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHZhciBzYW1wbGluZ1N0YXRlID0gY29udGV4dC5nZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSkgfHwgc3BhbkNvbnRleHQudHJhY2VGbGFncyAmIDB4MTtcbiAgICAgICAgdmFyIHZhbHVlID0gc3BhbkNvbnRleHQudHJhY2VJZCArIFwiLVwiICsgc3BhbkNvbnRleHQuc3BhbklkICsgXCItXCIgKyBzYW1wbGluZ1N0YXRlO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSLCB2YWx1ZSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbiAoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKSB7XG4gICAgICAgIHZhciBoZWFkZXIgPSBnZXR0ZXIuZ2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSKTtcbiAgICAgICAgdmFyIGIzQ29udGV4dCA9IEFycmF5LmlzQXJyYXkoaGVhZGVyKSA/IGhlYWRlclswXSA6IGhlYWRlcjtcbiAgICAgICAgaWYgKHR5cGVvZiBiM0NvbnRleHQgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciBtYXRjaCA9IGIzQ29udGV4dC5tYXRjaChCM19DT05URVhUX1JFR0VYKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB2YXIgX2EgPSBfX3JlYWQobWF0Y2gsIDQpLCBleHRyYWN0ZWRUcmFjZUlkID0gX2FbMV0sIHNwYW5JZCA9IF9hWzJdLCBzYW1wbGluZ1N0YXRlID0gX2FbM107XG4gICAgICAgIHZhciB0cmFjZUlkID0gY29udmVydFRvVHJhY2VJZDEyOChleHRyYWN0ZWRUcmFjZUlkKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSB8fCAhaXNWYWxpZFNwYW5JZChzcGFuSWQpKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciB0cmFjZUZsYWdzID0gY29udmVydFRvVHJhY2VGbGFncyhzYW1wbGluZ1N0YXRlKTtcbiAgICAgICAgaWYgKHNhbXBsaW5nU3RhdGUgPT09IERFQlVHX1NUQVRFKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgc2FtcGxpbmdTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgIHRyYWNlSWQ6IHRyYWNlSWQsXG4gICAgICAgICAgICBzcGFuSWQ6IHNwYW5JZCxcbiAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgdHJhY2VGbGFnczogdHJhY2VGbGFncyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFtCM19DT05URVhUX0hFQURFUl07XG4gICAgfTtcbiAgICByZXR1cm4gQjNTaW5nbGVQcm9wYWdhdG9yO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBFbnVtZXJhdGlvbiBvZiBCMyBpbmplY3QgZW5jb2RpbmdzICovXG52YXIgQjNJbmplY3RFbmNvZGluZztcbihmdW5jdGlvbiAoQjNJbmplY3RFbmNvZGluZykge1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIlNJTkdMRV9IRUFERVJcIl0gPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiO1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIk1VTFRJX0hFQURFUlwiXSA9IDFdID0gXCJNVUxUSV9IRUFERVJcIjtcbn0pKEIzSW5qZWN0RW5jb2RpbmcgfHwgKEIzSW5qZWN0RW5jb2RpbmcgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBQcm9wYWdhdG9yIHRoYXQgZXh0cmFjdHMgQjMgY29udGV4dCBpbiBib3RoIHNpbmdsZSBhbmQgbXVsdGktaGVhZGVyIHZhcmlhbnRzLFxuICogd2l0aCBjb25maWd1cmFibGUgaW5qZWN0aW9uIGZvcm1hdCBkZWZhdWx0aW5nIHRvIEIzIHNpbmdsZS1oZWFkZXIuIER1ZSB0b1xuICogdGhlIGFzeW1tZXRyeSBpbiBpbmplY3Rpb24gYW5kIGV4dHJhY3Rpb24gZm9ybWF0cyB0aGlzIGlzIG5vdCBzdWl0YWJsZSB0b1xuICogYmUgaW1wbGVtZW50ZWQgYXMgYSBjb21wb3NpdGUgcHJvcGFnYXRvci5cbiAqIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnppcGtpbi9iMy1wcm9wYWdhdGlvblxuICovXG52YXIgQjNQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzUHJvcGFnYXRvcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yID0gbmV3IEIzTXVsdGlQcm9wYWdhdG9yKCk7XG4gICAgICAgIHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvciA9IG5ldyBCM1NpbmdsZVByb3BhZ2F0b3IoKTtcbiAgICAgICAgaWYgKGNvbmZpZy5pbmplY3RFbmNvZGluZyA9PT0gQjNJbmplY3RFbmNvZGluZy5NVUxUSV9IRUFERVIpIHtcbiAgICAgICAgICAgIHRoaXMuX2luamVjdCA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ID0gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5maWVsZHMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCM1Byb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgaWYgKGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbmplY3QoY29udGV4dCwgY2Fycmllciwgc2V0dGVyKTtcbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIGhlYWRlciA9IGdldHRlci5nZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIpO1xuICAgICAgICB2YXIgYjNDb250ZXh0ID0gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xuICAgICAgICBpZiAoYjNDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmV4dHJhY3QoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5leHRyYWN0KGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZmllbGRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICAgIH07XG4gICAgcmV0dXJuIEIzUHJvcGFnYXRvcjtcbn0oKSk7XG5cbmV4cG9ydCB7IEIzSW5qZWN0RW5jb2RpbmcsIEIzUHJvcGFnYXRvciwgQjNfQ09OVEVYVF9IRUFERVIsIFhfQjNfRkxBR1MsIFhfQjNfUEFSRU5UX1NQQU5fSUQsIFhfQjNfU0FNUExFRCwgWF9CM19TUEFOX0lELCBYX0IzX1RSQUNFX0lEIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxHQUFr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QUFVLFNBQVMsU0FBVTFCLEdBQVNaLEdBQVNhLEdBQVE7QUFDaEUsTUFBSTVCLEVBQW9CMkIsQ0FBTyxLQUcvQixLQUFLLFFBQVFBLEdBQVNaLEdBQVNhLENBQU07QUFBQSxJQUN6QyxHQUNBeUIsRUFBYSxVQUFVLFVBQVUsU0FBVTFCLEdBQVNaLEdBQVNDLEdBQVE7QUFDakUsVUFBSUgsSUFBU0csRUFBTyxJQUFJRCxHQUFTYixDQUFpQixHQUM5QzhDLElBQVksTUFBTSxRQUFRbkMsQ0FBTSxJQUFJQSxFQUFPLENBQUMsSUFBSUE7QUFDcEQsYUFBSW1DLElBQ08sS0FBSyxvQkFBb0IsUUFBUXJCLEdBQVNaLEdBQVNDLENBQU0sSUFHekQsS0FBSyxtQkFBbUIsUUFBUVcsR0FBU1osR0FBU0MsQ0FBTTtBQUFBLElBRXZFLEdBQ0FxQyxFQUFhLFVBQVUsU0FBUyxXQUFZO0FBQ3hDLGFBQU8sS0FBSztBQUFBLElBQ2hCLEdBQ09BO0FBQUEsRUFDWCxHQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbImNyZWF0ZUNvbnRleHRLZXkiLCAidHJhY2UiLCAiaXNTcGFuQ29udGV4dFZhbGlkIiwgIlRyYWNlRmxhZ3MiLCAiaXNWYWxpZFRyYWNlSWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1RyYWNpbmdTdXBwcmVzc2VkIiwgIkIzX0RFQlVHX0ZMQUdfS0VZIiwgIkIzX0NPTlRFWFRfSEVBREVSIiwgIlhfQjNfVFJBQ0VfSUQiLCAiWF9CM19TUEFOX0lEIiwgIlhfQjNfU0FNUExFRCIsICJYX0IzX1BBUkVOVF9TUEFOX0lEIiwgIlhfQjNfRkxBR1MiLCAiVkFMSURfU0FNUExFRF9WQUxVRVMiLCAiVkFMSURfVU5TQU1QTEVEX1ZBTFVFUyIsICJpc1ZhbGlkU2FtcGxlZFZhbHVlIiwgInNhbXBsZWQiLCAicGFyc2VIZWFkZXIiLCAiaGVhZGVyIiwgImdldEhlYWRlclZhbHVlIiwgImNhcnJpZXIiLCAiZ2V0dGVyIiwgImtleSIsICJnZXRUcmFjZUlkIiwgInRyYWNlSWQiLCAiZ2V0U3BhbklkIiwgInNwYW5JZCIsICJnZXREZWJ1ZyIsICJkZWJ1ZyIsICJnZXRUcmFjZUZsYWdzIiwgInRyYWNlRmxhZ3MiLCAiQjNNdWx0aVByb3BhZ2F0b3IiLCAiY29udGV4dCIsICJzZXR0ZXIiLCAic3BhbkNvbnRleHQiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlIiwgImVycm9yIiwgIkIzX0NPTlRFWFRfUkVHRVgiLCAiUEFERElORyIsICJTQU1QTEVEX1ZBTFVFUyIsICJERUJVR19TVEFURSIsICJjb252ZXJ0VG9UcmFjZUlkMTI4IiwgImNvbnZlcnRUb1RyYWNlRmxhZ3MiLCAic2FtcGxpbmdTdGF0ZSIsICJCM1NpbmdsZVByb3BhZ2F0b3IiLCAidmFsdWUiLCAiYjNDb250ZXh0IiwgIm1hdGNoIiwgIl9hIiwgImV4dHJhY3RlZFRyYWNlSWQiLCAiQjNJbmplY3RFbmNvZGluZyIsICJCM1Byb3BhZ2F0b3IiLCAiY29uZmlnIl0KfQo=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { R as u } from "./index-
|
|
2
|
-
import { B as c } from "./SimpleSpanProcessor-
|
|
3
|
-
import { A as g, b as x, a as S, C as b, F as w, N as C, P, R as T, d as O, S as A, e as M, c as R, T as N } from "./SimpleSpanProcessor-
|
|
4
|
-
import { P as E, a as F, b as j, g as k, h as W, p as I, s as D, c as G } from "./utils
|
|
1
|
+
import { R as u } from "./index-DC5j54sB.js";
|
|
2
|
+
import { B as c } from "./SimpleSpanProcessor-iCWR2wrc.js";
|
|
3
|
+
import { A as g, b as x, a as S, C as b, F as w, N as C, P, R as T, d as O, S as A, e as M, c as R, T as N } from "./SimpleSpanProcessor-iCWR2wrc.js";
|
|
4
|
+
import { P as E, a as F, b as j, g as k, h as W, p as I, s as D, c as G } from "./utils-CRswusUx.js";
|
|
5
5
|
var l = function(n, r) {
|
|
6
6
|
var e = typeof Symbol == "function" && n[Symbol.iterator];
|
|
7
7
|
if (!e) return n;
|
|
@@ -24,7 +24,7 @@ var l = function(n, r) {
|
|
|
24
24
|
return n.concat(a || Array.prototype.slice.call(r));
|
|
25
25
|
}, f = (
|
|
26
26
|
/** @class */
|
|
27
|
-
function() {
|
|
27
|
+
(function() {
|
|
28
28
|
function n() {
|
|
29
29
|
this._enabled = !1, this._currentContext = u;
|
|
30
30
|
}
|
|
@@ -62,8 +62,8 @@ var l = function(n, r) {
|
|
|
62
62
|
this._currentContext = s;
|
|
63
63
|
}
|
|
64
64
|
}, n;
|
|
65
|
-
}()
|
|
66
|
-
), d = /* @__PURE__ */ function() {
|
|
65
|
+
})()
|
|
66
|
+
), d = /* @__PURE__ */ (function() {
|
|
67
67
|
var n = function(r, e) {
|
|
68
68
|
return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, o) {
|
|
69
69
|
t.__proto__ = o;
|
|
@@ -80,9 +80,9 @@ var l = function(n, r) {
|
|
|
80
80
|
}
|
|
81
81
|
r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
|
|
82
82
|
};
|
|
83
|
-
}(), v = (
|
|
83
|
+
})(), v = (
|
|
84
84
|
/** @class */
|
|
85
|
-
function(n) {
|
|
85
|
+
(function(n) {
|
|
86
86
|
d(r, n);
|
|
87
87
|
function r(e) {
|
|
88
88
|
e === void 0 && (e = {});
|
|
@@ -96,7 +96,7 @@ var l = function(n, r) {
|
|
|
96
96
|
return r.prototype.register = function(e) {
|
|
97
97
|
e === void 0 && (e = {}), e.contextManager === void 0 && (e.contextManager = new f()), e.contextManager && e.contextManager.enable(), n.prototype.register.call(this, e);
|
|
98
98
|
}, r;
|
|
99
|
-
}(c)
|
|
99
|
+
})(c)
|
|
100
100
|
);
|
|
101
101
|
export {
|
|
102
102
|
g as AlwaysOffSampler,
|
|
@@ -124,4 +124,4 @@ export {
|
|
|
124
124
|
D as shouldPropagateTraceHeaders,
|
|
125
125
|
G as sortResources
|
|
126
126
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBifX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUk9PVF9DT05URVhUIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBCIGFzIEJhc2ljVHJhY2VyUHJvdmlkZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgQSBhcyBBbHdheXNPZmZTYW1wbGVyLCBiIGFzIEFsd2F5c09uU2FtcGxlciwgYSBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIEMgYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgRiBhcyBGb3JjZUZsdXNoU3RhdGUsIE4gYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIFAgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBSIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBkIGFzIFNhbXBsaW5nRGVjaXNpb24sIFMgYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgZSBhcyBTcGFuLCBjIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgVCBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgUCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBhIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIGIgYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIGcgYXMgZ2V0UmVzb3VyY2UsIGggYXMgaGFzS2V5LCBwIGFzIHBhcnNlVXJsLCBzIGFzIHNob3VsZFByb3BhZ2F0ZVRyYWNlSGVhZGVycywgYyBhcyBzb3J0UmVzb3VyY2VzIH0gZnJvbSAnLi91dGlscy0hfnswMGN9fi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19yZWFkID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19yZWFkKSB8fCBmdW5jdGlvbiAobywgbikge1xuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgICBpZiAoIW0pIHJldHVybiBvO1xuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICAgIH1cbiAgICByZXR1cm4gYXI7XG59O1xudmFyIF9fc3ByZWFkQXJyYXkgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbi8qKlxuICogU3RhY2sgQ29udGV4dCBNYW5hZ2VyIGZvciBtYW5hZ2luZyB0aGUgc3RhdGUgaW4gd2ViXG4gKiBpdCBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgdGhlIGFzeW5jIGNhbGxzIHRob3VnaFxuICovXG52YXIgU3RhY2tDb250ZXh0TWFuYWdlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTdGFja0NvbnRleHRNYW5hZ2VyKCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogd2hldGhlciB0aGUgY29udGV4dCBtYW5hZ2VyIGlzIGVuYWJsZWQgb3Igbm90XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBLZWVwcyB0aGUgcmVmZXJlbmNlIHRvIGN1cnJlbnQgY29udGV4dFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IEZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdpdGhpbiB0aGUgY29udGV4dFxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uIChjb250ZXh0LCB0YXJnZXQpIHtcbiAgICAgICAgaWYgKGNvbnRleHQgPT09IHZvaWQgMCkgeyBjb250ZXh0ID0gUk9PVF9DT05URVhUOyB9XG4gICAgICAgIHZhciBtYW5hZ2VyID0gdGhpcztcbiAgICAgICAgdmFyIGNvbnRleHRXcmFwcGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyLndpdGgoY29udGV4dCwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFyZ2V0LmFwcGx5KF90aGlzLCBhcmdzKTsgfSk7XG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb250ZXh0V3JhcHBlciwgJ2xlbmd0aCcsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgdmFsdWU6IHRhcmdldC5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29udGV4dFdyYXBwZXI7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgY29udGV4dFxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmFjdGl2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQmluZHMgYSB0aGUgY2VydGFpbiBjb250ZXh0IG9yIHRoZSBhY3RpdmUgb25lIHRvIHRoZSB0YXJnZXQgZnVuY3Rpb24gYW5kIHRoZW4gcmV0dXJucyB0aGUgdGFyZ2V0XG4gICAgICogQHBhcmFtIGNvbnRleHQgQSBjb250ZXh0IChzcGFuKSB0byBiZSBiaW5kIHRvIHRhcmdldFxuICAgICAqIEBwYXJhbSB0YXJnZXQgYSBmdW5jdGlvbiBvciBldmVudCBlbWl0dGVyLiBXaGVuIHRhcmdldCBvciBvbmUgb2YgaXRzIGNhbGxiYWNrcyBpcyBjYWxsZWQsXG4gICAgICogIHRoZSBwcm92aWRlZCBjb250ZXh0IHdpbGwgYmUgdXNlZCBhcyB0aGUgYWN0aXZlIGNvbnRleHQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FsbC5cbiAgICAgKi9cbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRleHQsIHRhcmdldCkge1xuICAgICAgICAvLyBpZiBubyBzcGVjaWZpYyBjb250ZXh0IHRvIHByb3BhZ2F0ZSBpcyBnaXZlbiwgd2UgdXNlIHRoZSBjdXJyZW50IG9uZVxuICAgICAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gdGhpcy5hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JpbmRGdW5jdGlvbihjb250ZXh0LCB0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIHRoZSBjb250ZXh0IG1hbmFnZXIgKGNsZWFycyB0aGUgY3VycmVudCBjb250ZXh0KVxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGUgY29udGV4dCBtYW5hZ2VyIGFuZCBjcmVhdGVzIGEgZGVmYXVsdChyb290KSBjb250ZXh0XG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENhbGxzIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBbZm5dIHdpdGggdGhlIHByb3ZpZGVkIFtjb250ZXh0XS4gSWYgW2NvbnRleHRdIGlzIHVuZGVmaW5lZCB0aGVuIGl0IHdpbGwgdXNlIHRoZSB3aW5kb3cuXG4gICAgICogVGhlIGNvbnRleHQgd2lsbCBiZSBzZXQgYXMgYWN0aXZlXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgKiBAcGFyYW0gdGhpc0FyZyBvcHRpb25hbCByZWNlaXZlciB0byBiZSB1c2VkIGZvciBjYWxsaW5nIGZuXG4gICAgICogQHBhcmFtIGFyZ3Mgb3B0aW9uYWwgYXJndW1lbnRzIGZvcndhcmRlZCB0byBmblxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLndpdGggPSBmdW5jdGlvbiAoY29udGV4dCwgZm4sIHRoaXNBcmcpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAzOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2kgLSAzXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHByZXZpb3VzQ29udGV4dCA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IGNvbnRleHQgfHwgUk9PVF9DT05URVhUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZuLmNhbGwuYXBwbHkoZm4sIF9fc3ByZWFkQXJyYXkoW3RoaXNBcmddLCBfX3JlYWQoYXJncyksIGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IHByZXZpb3VzQ29udGV4dDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFN0YWNrQ29udGV4dE1hbmFnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG4vKipcbiAqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHdlYiB0cmFjZXIgd2l0aCB7QGxpbmsgU3RhY2tDb250ZXh0TWFuYWdlcn1cbiAqL1xudmFyIFdlYlRyYWNlclByb3ZpZGVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhXZWJUcmFjZXJQcm92aWRlciwgX3N1cGVyKTtcbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IFRyYWNlciBpbnN0YW5jZS5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFdlYiBUcmFjZXIgY29uZmlnXG4gICAgICovXG4gICAgZnVuY3Rpb24gV2ViVHJhY2VyUHJvdmlkZXIoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBjb25maWcpIHx8IHRoaXM7XG4gICAgICAgIGlmIChjb25maWcuY29udGV4dE1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRocm93ICgnY29udGV4dE1hbmFnZXIgc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbicgK1xuICAgICAgICAgICAgICAgICcgY29uc3RydWN0b3InKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnByb3BhZ2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93ICdwcm9wYWdhdG9yIHNob3VsZCBiZSBkZWZpbmVkIGluIHJlZ2lzdGVyIG1ldGhvZCBub3QgaW4gY29uc3RydWN0b3InO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhpcyBUcmFjZXJQcm92aWRlciBmb3IgdXNlIHdpdGggdGhlIE9wZW5UZWxlbWV0cnkgQVBJLlxuICAgICAqIFVuZGVmaW5lZCB2YWx1ZXMgbWF5IGJlIHJlcGxhY2VkIHdpdGggZGVmYXVsdHMsIGFuZFxuICAgICAqIG51bGwgdmFsdWVzIHdpbGwgYmUgc2tpcHBlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBvYmplY3QgZm9yIFNESyByZWdpc3RyYXRpb25cbiAgICAgKi9cbiAgICBXZWJUcmFjZXJQcm92aWRlci5wcm90b3R5cGUucmVnaXN0ZXIgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHRNYW5hZ2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jb250ZXh0TWFuYWdlciA9IG5ldyBTdGFja0NvbnRleHRNYW5hZ2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5jb250ZXh0TWFuYWdlcikge1xuICAgICAgICAgICAgY29uZmlnLmNvbnRleHRNYW5hZ2VyLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBjb25maWcpO1xuICAgIH07XG4gICAgcmV0dXJuIFdlYlRyYWNlclByb3ZpZGVyO1xufShCYXNpY1RyYWNlclByb3ZpZGVyKSk7XG5cbmV4cG9ydCB7IEJhc2ljVHJhY2VyUHJvdmlkZXIsIFN0YWNrQ29udGV4dE1hbmFnZXIsIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFvQjtBQUNsQyxTQUFTLEtBQUtDLFNBQTJCO0FBQ3pDLFNBQWMsS0FBTEMsR0FBNEIsS0FBTEMsR0FBMkIsS0FBTEMsR0FBOEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBMkIsS0FBTEMsR0FBNkIsR0FBeUIsS0FBTEMsR0FBNkIsS0FBTEMsR0FBNEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBZ0IsS0FBTEMsR0FBb0MsS0FBTEMsU0FBbUI7QUFDdFQsU0FBYyxLQUFMQyxHQUFrQyxLQUFMVixHQUErQixLQUFMRCxHQUFnQyxLQUFMWSxHQUF1QixLQUFMQyxHQUFrQixLQUFMQyxHQUFvQixLQUFMQyxHQUF1QyxLQUFMTixTQUEwQjtBQWlCck0sSUFBSU8sSUFBNEMsU0FBVUMsR0FBR0MsR0FBRztBQUM1RCxNQUFJQyxJQUFJLE9BQU8sVUFBVyxjQUFjRixFQUFFLE9BQU8sUUFBUTtBQUN6RCxNQUFJLENBQUNFLEVBQUcsUUFBT0Y7QUFDZixNQUFJRyxJQUFJRCxFQUFFLEtBQUtGLENBQUMsR0FBR0ksR0FBR0MsSUFBSyxDQUFDLEdBQUdkO0FBQy9CLE1BQUk7QUFDQSxZQUFRVSxNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRyxJQUFJRCxFQUFFLEtBQUssR0FBRyxPQUFNLENBQUFFLEVBQUcsS0FBS0QsRUFBRSxLQUFLO0FBQUEsRUFDN0UsU0FDT0UsR0FBTztBQUFFLElBQUFmLElBQUksRUFBRSxPQUFPZSxFQUFNO0FBQUEsRUFBRyxVQUN0QztBQUNJLFFBQUk7QUFDQSxNQUFJRixLQUFLLENBQUNBLEVBQUUsU0FBU0YsSUFBSUMsRUFBRSxXQUFZRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUNuRCxVQUNBO0FBQVUsVUFBSVosRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFBTztB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QUFBOyIsCiAgIm5hbWVzIjogWyJST09UX0NPTlRFWFQiLCAiQmFzaWNUcmFjZXJQcm92aWRlciIsICJBIiwgImIiLCAiYSIsICJDIiwgIkYiLCAiTiIsICJSIiwgImQiLCAiUyIsICJlIiwgImMiLCAiVCIsICJQIiwgImciLCAiaCIsICJwIiwgInMiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlcnJvciIsICJfX3NwcmVhZEFycmF5IiwgInRvIiwgImZyb20iLCAicGFjayIsICJsIiwgIlN0YWNrQ29udGV4dE1hbmFnZXIiLCAiY29udGV4dCIsICJ0YXJnZXQiLCAibWFuYWdlciIsICJjb250ZXh0V3JhcHBlciIsICJfdGhpcyIsICJhcmdzIiwgIl9pIiwgImZuIiwgInRoaXNBcmciLCAicHJldmlvdXNDb250ZXh0IiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgIl9fIiwgIldlYlRyYWNlclByb3ZpZGVyIiwgIl9zdXBlciIsICJjb25maWciXQp9Cg==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBifX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUk9PVF9DT05URVhUIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBCIGFzIEJhc2ljVHJhY2VyUHJvdmlkZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgQSBhcyBBbHdheXNPZmZTYW1wbGVyLCBiIGFzIEFsd2F5c09uU2FtcGxlciwgYSBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIEMgYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgRiBhcyBGb3JjZUZsdXNoU3RhdGUsIE4gYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIFAgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBSIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBkIGFzIFNhbXBsaW5nRGVjaXNpb24sIFMgYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgZSBhcyBTcGFuLCBjIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgVCBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgUCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBhIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIGIgYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIGcgYXMgZ2V0UmVzb3VyY2UsIGggYXMgaGFzS2V5LCBwIGFzIHBhcnNlVXJsLCBzIGFzIHNob3VsZFByb3BhZ2F0ZVRyYWNlSGVhZGVycywgYyBhcyBzb3J0UmVzb3VyY2VzIH0gZnJvbSAnLi91dGlscy0hfnswMGN9fi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19yZWFkID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19yZWFkKSB8fCBmdW5jdGlvbiAobywgbikge1xuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgICBpZiAoIW0pIHJldHVybiBvO1xuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICAgIH1cbiAgICByZXR1cm4gYXI7XG59O1xudmFyIF9fc3ByZWFkQXJyYXkgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbi8qKlxuICogU3RhY2sgQ29udGV4dCBNYW5hZ2VyIGZvciBtYW5hZ2luZyB0aGUgc3RhdGUgaW4gd2ViXG4gKiBpdCBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgdGhlIGFzeW5jIGNhbGxzIHRob3VnaFxuICovXG52YXIgU3RhY2tDb250ZXh0TWFuYWdlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTdGFja0NvbnRleHRNYW5hZ2VyKCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogd2hldGhlciB0aGUgY29udGV4dCBtYW5hZ2VyIGlzIGVuYWJsZWQgb3Igbm90XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBLZWVwcyB0aGUgcmVmZXJlbmNlIHRvIGN1cnJlbnQgY29udGV4dFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IEZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdpdGhpbiB0aGUgY29udGV4dFxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uIChjb250ZXh0LCB0YXJnZXQpIHtcbiAgICAgICAgaWYgKGNvbnRleHQgPT09IHZvaWQgMCkgeyBjb250ZXh0ID0gUk9PVF9DT05URVhUOyB9XG4gICAgICAgIHZhciBtYW5hZ2VyID0gdGhpcztcbiAgICAgICAgdmFyIGNvbnRleHRXcmFwcGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyLndpdGgoY29udGV4dCwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFyZ2V0LmFwcGx5KF90aGlzLCBhcmdzKTsgfSk7XG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb250ZXh0V3JhcHBlciwgJ2xlbmd0aCcsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgdmFsdWU6IHRhcmdldC5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29udGV4dFdyYXBwZXI7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgY29udGV4dFxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmFjdGl2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQmluZHMgYSB0aGUgY2VydGFpbiBjb250ZXh0IG9yIHRoZSBhY3RpdmUgb25lIHRvIHRoZSB0YXJnZXQgZnVuY3Rpb24gYW5kIHRoZW4gcmV0dXJucyB0aGUgdGFyZ2V0XG4gICAgICogQHBhcmFtIGNvbnRleHQgQSBjb250ZXh0IChzcGFuKSB0byBiZSBiaW5kIHRvIHRhcmdldFxuICAgICAqIEBwYXJhbSB0YXJnZXQgYSBmdW5jdGlvbiBvciBldmVudCBlbWl0dGVyLiBXaGVuIHRhcmdldCBvciBvbmUgb2YgaXRzIGNhbGxiYWNrcyBpcyBjYWxsZWQsXG4gICAgICogIHRoZSBwcm92aWRlZCBjb250ZXh0IHdpbGwgYmUgdXNlZCBhcyB0aGUgYWN0aXZlIGNvbnRleHQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FsbC5cbiAgICAgKi9cbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRleHQsIHRhcmdldCkge1xuICAgICAgICAvLyBpZiBubyBzcGVjaWZpYyBjb250ZXh0IHRvIHByb3BhZ2F0ZSBpcyBnaXZlbiwgd2UgdXNlIHRoZSBjdXJyZW50IG9uZVxuICAgICAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gdGhpcy5hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JpbmRGdW5jdGlvbihjb250ZXh0LCB0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIHRoZSBjb250ZXh0IG1hbmFnZXIgKGNsZWFycyB0aGUgY3VycmVudCBjb250ZXh0KVxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGUgY29udGV4dCBtYW5hZ2VyIGFuZCBjcmVhdGVzIGEgZGVmYXVsdChyb290KSBjb250ZXh0XG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENhbGxzIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBbZm5dIHdpdGggdGhlIHByb3ZpZGVkIFtjb250ZXh0XS4gSWYgW2NvbnRleHRdIGlzIHVuZGVmaW5lZCB0aGVuIGl0IHdpbGwgdXNlIHRoZSB3aW5kb3cuXG4gICAgICogVGhlIGNvbnRleHQgd2lsbCBiZSBzZXQgYXMgYWN0aXZlXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgKiBAcGFyYW0gdGhpc0FyZyBvcHRpb25hbCByZWNlaXZlciB0byBiZSB1c2VkIGZvciBjYWxsaW5nIGZuXG4gICAgICogQHBhcmFtIGFyZ3Mgb3B0aW9uYWwgYXJndW1lbnRzIGZvcndhcmRlZCB0byBmblxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLndpdGggPSBmdW5jdGlvbiAoY29udGV4dCwgZm4sIHRoaXNBcmcpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAzOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2kgLSAzXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHByZXZpb3VzQ29udGV4dCA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IGNvbnRleHQgfHwgUk9PVF9DT05URVhUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZuLmNhbGwuYXBwbHkoZm4sIF9fc3ByZWFkQXJyYXkoW3RoaXNBcmddLCBfX3JlYWQoYXJncyksIGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IHByZXZpb3VzQ29udGV4dDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFN0YWNrQ29udGV4dE1hbmFnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG4vKipcbiAqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHdlYiB0cmFjZXIgd2l0aCB7QGxpbmsgU3RhY2tDb250ZXh0TWFuYWdlcn1cbiAqL1xudmFyIFdlYlRyYWNlclByb3ZpZGVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhXZWJUcmFjZXJQcm92aWRlciwgX3N1cGVyKTtcbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IFRyYWNlciBpbnN0YW5jZS5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFdlYiBUcmFjZXIgY29uZmlnXG4gICAgICovXG4gICAgZnVuY3Rpb24gV2ViVHJhY2VyUHJvdmlkZXIoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBjb25maWcpIHx8IHRoaXM7XG4gICAgICAgIGlmIChjb25maWcuY29udGV4dE1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRocm93ICgnY29udGV4dE1hbmFnZXIgc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbicgK1xuICAgICAgICAgICAgICAgICcgY29uc3RydWN0b3InKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnByb3BhZ2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93ICdwcm9wYWdhdG9yIHNob3VsZCBiZSBkZWZpbmVkIGluIHJlZ2lzdGVyIG1ldGhvZCBub3QgaW4gY29uc3RydWN0b3InO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhpcyBUcmFjZXJQcm92aWRlciBmb3IgdXNlIHdpdGggdGhlIE9wZW5UZWxlbWV0cnkgQVBJLlxuICAgICAqIFVuZGVmaW5lZCB2YWx1ZXMgbWF5IGJlIHJlcGxhY2VkIHdpdGggZGVmYXVsdHMsIGFuZFxuICAgICAqIG51bGwgdmFsdWVzIHdpbGwgYmUgc2tpcHBlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBvYmplY3QgZm9yIFNESyByZWdpc3RyYXRpb25cbiAgICAgKi9cbiAgICBXZWJUcmFjZXJQcm92aWRlci5wcm90b3R5cGUucmVnaXN0ZXIgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHRNYW5hZ2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jb250ZXh0TWFuYWdlciA9IG5ldyBTdGFja0NvbnRleHRNYW5hZ2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5jb250ZXh0TWFuYWdlcikge1xuICAgICAgICAgICAgY29uZmlnLmNvbnRleHRNYW5hZ2VyLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBjb25maWcpO1xuICAgIH07XG4gICAgcmV0dXJuIFdlYlRyYWNlclByb3ZpZGVyO1xufShCYXNpY1RyYWNlclByb3ZpZGVyKSk7XG5cbmV4cG9ydCB7IEJhc2ljVHJhY2VyUHJvdmlkZXIsIFN0YWNrQ29udGV4dE1hbmFnZXIsIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFvQjtBQUNsQyxTQUFTLEtBQUtDLFNBQTJCO0FBQ3pDLFNBQWMsS0FBTEMsR0FBNEIsS0FBTEMsR0FBMkIsS0FBTEMsR0FBOEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBMkIsS0FBTEMsR0FBNkIsR0FBeUIsS0FBTEMsR0FBNkIsS0FBTEMsR0FBNEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBZ0IsS0FBTEMsR0FBb0MsS0FBTEMsU0FBbUI7QUFDdFQsU0FBYyxLQUFMQyxHQUFrQyxLQUFMVixHQUErQixLQUFMRCxHQUFnQyxLQUFMWSxHQUF1QixLQUFMQyxHQUFrQixLQUFMQyxHQUFvQixLQUFMQyxHQUF1QyxLQUFMTixTQUEwQjtBQWlCck0sSUFBSU8sSUFBNEMsU0FBVUMsR0FBR0MsR0FBRztBQUM1RCxNQUFJQyxJQUFJLE9BQU8sVUFBVyxjQUFjRixFQUFFLE9BQU8sUUFBUTtBQUN6RCxNQUFJLENBQUNFLEVBQUcsUUFBT0Y7QUFDZixNQUFJRyxJQUFJRCxFQUFFLEtBQUtGLENBQUMsR0FBR0ksR0FBR0MsSUFBSyxDQUFDLEdBQUdkO0FBQy9CLE1BQUk7QUFDQSxZQUFRVSxNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRyxJQUFJRCxFQUFFLEtBQUssR0FBRyxPQUFNLENBQUFFLEVBQUcsS0FBS0QsRUFBRSxLQUFLO0FBQUEsRUFDN0UsU0FDT0UsR0FBTztBQUFFLElBQUFmLElBQUksRUFBRSxPQUFPZSxFQUFNO0FBQUEsRUFBRyxVQUN0QztBQUNJLFFBQUk7QUFDQSxNQUFJRixLQUFLLENBQUNBLEVBQUUsU0FBU0YsSUFBSUMsRUFBRSxXQUFZRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUNuRCxVQUNBO0FBQVUsVUFBSVosRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFBTztB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QUFBOyIsCiAgIm5hbWVzIjogWyJST09UX0NPTlRFWFQiLCAiQmFzaWNUcmFjZXJQcm92aWRlciIsICJBIiwgImIiLCAiYSIsICJDIiwgIkYiLCAiTiIsICJSIiwgImQiLCAiUyIsICJlIiwgImMiLCAiVCIsICJQIiwgImciLCAiaCIsICJwIiwgInMiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlcnJvciIsICJfX3NwcmVhZEFycmF5IiwgInRvIiwgImZyb20iLCAicGFjayIsICJsIiwgIlN0YWNrQ29udGV4dE1hbmFnZXIiLCAiY29udGV4dCIsICJ0YXJnZXQiLCAibWFuYWdlciIsICJjb250ZXh0V3JhcHBlciIsICJfdGhpcyIsICJhcmdzIiwgIl9pIiwgImZuIiwgInRoaXNBcmciLCAicHJldmlvdXNDb250ZXh0IiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgIl9fIiwgIldlYlRyYWNlclByb3ZpZGVyIiwgIl9zdXBlciIsICJjb25maWciXQp9Cg==
|