@getopenpay/openpay-js 0.3.3 → 0.3.5-alpha.15c8455
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/ExportResult-Bo1QOwfo.js +19 -0
- package/dist/Resource-DJuSKvhN.js +176 -0
- package/dist/SimpleSpanProcessor-CGuirs18.js +957 -0
- package/dist/_commonjsHelpers-DnMzE-71.js +25 -0
- package/dist/detect-resources-BuQKmiBm.js +854 -0
- package/dist/diag-api-B65gCteJ.js +6 -0
- package/dist/index-Bb6jRUea.js +830 -0
- package/dist/index-By85v86e.js +52 -0
- package/dist/index-C7f0rL9U.js +130 -0
- package/dist/index-CPd9ZwGV.js +150 -0
- package/dist/index-D28NQBNv.js +1599 -0
- package/dist/index-DxxjQCs4.js +330 -0
- package/dist/index-J2Ae7cvA.js +5286 -0
- package/dist/index-UXpGUo4V.js +431 -0
- package/dist/index-i9YT6LXN.js +6685 -0
- package/dist/index-pRr82C4i.js +19 -0
- package/dist/index.d.ts +19 -7
- package/dist/index.es.js +8 -4607
- package/dist/index.umd.js +28 -23
- package/dist/metrics-api-CmjS_jEE.js +160 -0
- package/dist/sdk-info-Dx-d5sC4.js +484 -0
- package/dist/url-C4GtAXc0.js +797 -0
- package/dist/utils-BGeftTvk.js +14 -0
- package/dist/utils-BerULHZm.js +381 -0
- package/dist/utils-Bvp_BxtD.js +142 -0
- package/package.json +2 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { m as s } from "./metrics-api-CmjS_jEE.js";
|
|
2
|
+
import { t as d } from "./index-J2Ae7cvA.js";
|
|
3
|
+
import { l as u } from "./utils-BerULHZm.js";
|
|
4
|
+
import { I as N, i as T, s as w, a as E } from "./utils-BerULHZm.js";
|
|
5
|
+
import { d as f } from "./diag-api-B65gCteJ.js";
|
|
6
|
+
function l(e, r, t, o) {
|
|
7
|
+
for (var n = 0, a = e.length; n < a; n++) {
|
|
8
|
+
var i = e[n];
|
|
9
|
+
r && i.setTracerProvider(r), t && i.setMeterProvider(t), o && i.setLoggerProvider && i.setLoggerProvider(o), i.getConfig().enabled || i.enable();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function c(e) {
|
|
13
|
+
e.forEach(function(r) {
|
|
14
|
+
return r.disable();
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function I(e) {
|
|
18
|
+
var r, t, o = e.tracerProvider || d.getTracerProvider(), n = e.meterProvider || s.getMeterProvider(), a = e.loggerProvider || u.getLoggerProvider(), i = (t = (r = e.instrumentations) === null || r === void 0 ? void 0 : r.flat()) !== null && t !== void 0 ? t : [];
|
|
19
|
+
return l(i, o, n, a), function() {
|
|
20
|
+
c(i);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function m(e) {
|
|
24
|
+
return f.warn("Path normalization is not implemented for this platform. To silence this warning, ensure no node-specific instrumentations are loaded, and node-specific types (e.g. InstrumentationNodeModuleFile), are not used in a browser context)"), e;
|
|
25
|
+
}
|
|
26
|
+
var P = (
|
|
27
|
+
/** @class */
|
|
28
|
+
/* @__PURE__ */ function() {
|
|
29
|
+
function e(r, t, o, n, a) {
|
|
30
|
+
this.name = r, this.supportedVersions = t, this.patch = o, this.unpatch = n, this.files = a || [];
|
|
31
|
+
}
|
|
32
|
+
return e;
|
|
33
|
+
}()
|
|
34
|
+
), M = (
|
|
35
|
+
/** @class */
|
|
36
|
+
/* @__PURE__ */ function() {
|
|
37
|
+
function e(r, t, o, n) {
|
|
38
|
+
this.supportedVersions = t, this.patch = o, this.unpatch = n, this.name = m(r);
|
|
39
|
+
}
|
|
40
|
+
return e;
|
|
41
|
+
}()
|
|
42
|
+
);
|
|
43
|
+
export {
|
|
44
|
+
N as InstrumentationBase,
|
|
45
|
+
P as InstrumentationNodeModuleDefinition,
|
|
46
|
+
M as InstrumentationNodeModuleFile,
|
|
47
|
+
T as isWrapped,
|
|
48
|
+
I as registerInstrumentations,
|
|
49
|
+
w as safeExecuteInTheMiddle,
|
|
50
|
+
E as safeExecuteInTheMiddleAsync
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBofX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IG0gYXMgbWV0cmljcyB9IGZyb20gJy4vbWV0cmljcy1hcGktIX57MDBnfX4uanMnO1xuaW1wb3J0IHsgdCBhcyB0cmFjZSB9IGZyb20gJy4vaW5kZXgtIX57MDA1fX4uanMnO1xuaW1wb3J0IHsgbCBhcyBsb2dzIH0gZnJvbSAnLi91dGlscy0hfnswMGZ9fi5qcyc7XG5leHBvcnQgeyBJIGFzIEluc3RydW1lbnRhdGlvbkJhc2UsIGkgYXMgaXNXcmFwcGVkLCBzIGFzIHNhZmVFeGVjdXRlSW5UaGVNaWRkbGUsIGEgYXMgc2FmZUV4ZWN1dGVJblRoZU1pZGRsZUFzeW5jIH0gZnJvbSAnLi91dGlscy0hfnswMGZ9fi5qcyc7XG5pbXBvcnQgeyBkIGFzIGRpYWcgfSBmcm9tICcuL2RpYWctYXBpLSF+ezAwNH1+LmpzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogRW5hYmxlIGluc3RydW1lbnRhdGlvbnNcbiAqIEBwYXJhbSBpbnN0cnVtZW50YXRpb25zXG4gKiBAcGFyYW0gdHJhY2VyUHJvdmlkZXJcbiAqIEBwYXJhbSBtZXRlclByb3ZpZGVyXG4gKi9cbmZ1bmN0aW9uIGVuYWJsZUluc3RydW1lbnRhdGlvbnMoaW5zdHJ1bWVudGF0aW9ucywgdHJhY2VyUHJvdmlkZXIsIG1ldGVyUHJvdmlkZXIsIGxvZ2dlclByb3ZpZGVyKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGogPSBpbnN0cnVtZW50YXRpb25zLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICB2YXIgaW5zdHJ1bWVudGF0aW9uID0gaW5zdHJ1bWVudGF0aW9uc1tpXTtcbiAgICAgICAgaWYgKHRyYWNlclByb3ZpZGVyKSB7XG4gICAgICAgICAgICBpbnN0cnVtZW50YXRpb24uc2V0VHJhY2VyUHJvdmlkZXIodHJhY2VyUHJvdmlkZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRlclByb3ZpZGVyKSB7XG4gICAgICAgICAgICBpbnN0cnVtZW50YXRpb24uc2V0TWV0ZXJQcm92aWRlcihtZXRlclByb3ZpZGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9nZ2VyUHJvdmlkZXIgJiYgaW5zdHJ1bWVudGF0aW9uLnNldExvZ2dlclByb3ZpZGVyKSB7XG4gICAgICAgICAgICBpbnN0cnVtZW50YXRpb24uc2V0TG9nZ2VyUHJvdmlkZXIobG9nZ2VyUHJvdmlkZXIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGluc3RydW1lbnRhdGlvbnMgaGF2ZSBiZWVuIGFscmVhZHkgZW5hYmxlZCBkdXJpbmcgY3JlYXRpb25cbiAgICAgICAgLy8gc28gZW5hYmxlIG9ubHkgaWYgdXNlciBwcmV2ZW50ZWQgdGhhdCBieSBzZXR0aW5nIGVuYWJsZWQgdG8gZmFsc2VcbiAgICAgICAgLy8gdGhpcyBpcyB0byBwcmV2ZW50IGRvdWJsZSBlbmFibGluZyBidXQgd2hlbiBjYWxsaW5nIHJlZ2lzdGVyIGFsbFxuICAgICAgICAvLyBpbnN0cnVtZW50YXRpb25zIHNob3VsZCBiZSBub3cgZW5hYmxlZFxuICAgICAgICBpZiAoIWluc3RydW1lbnRhdGlvbi5nZXRDb25maWcoKS5lbmFibGVkKSB7XG4gICAgICAgICAgICBpbnN0cnVtZW50YXRpb24uZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIERpc2FibGUgaW5zdHJ1bWVudGF0aW9uc1xuICogQHBhcmFtIGluc3RydW1lbnRhdGlvbnNcbiAqL1xuZnVuY3Rpb24gZGlzYWJsZUluc3RydW1lbnRhdGlvbnMoaW5zdHJ1bWVudGF0aW9ucykge1xuICAgIGluc3RydW1lbnRhdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW5zdHJ1bWVudGF0aW9uKSB7IHJldHVybiBpbnN0cnVtZW50YXRpb24uZGlzYWJsZSgpOyB9KTtcbn1cblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogSXQgd2lsbCByZWdpc3RlciBpbnN0cnVtZW50YXRpb25zIGFuZCBwbHVnaW5zXG4gKiBAcGFyYW0gb3B0aW9uc1xuICogQHJldHVybiByZXR1cm5zIGZ1bmN0aW9uIHRvIHVubG9hZCBpbnN0cnVtZW50YXRpb24gYW5kIHBsdWdpbnMgdGhhdCB3ZXJlXG4gKiAgIHJlZ2lzdGVyZWRcbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJJbnN0cnVtZW50YXRpb25zKG9wdGlvbnMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHZhciB0cmFjZXJQcm92aWRlciA9IG9wdGlvbnMudHJhY2VyUHJvdmlkZXIgfHwgdHJhY2UuZ2V0VHJhY2VyUHJvdmlkZXIoKTtcbiAgICB2YXIgbWV0ZXJQcm92aWRlciA9IG9wdGlvbnMubWV0ZXJQcm92aWRlciB8fCBtZXRyaWNzLmdldE1ldGVyUHJvdmlkZXIoKTtcbiAgICB2YXIgbG9nZ2VyUHJvdmlkZXIgPSBvcHRpb25zLmxvZ2dlclByb3ZpZGVyIHx8IGxvZ3MuZ2V0TG9nZ2VyUHJvdmlkZXIoKTtcbiAgICB2YXIgaW5zdHJ1bWVudGF0aW9ucyA9IChfYiA9IChfYSA9IG9wdGlvbnMuaW5zdHJ1bWVudGF0aW9ucykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZsYXQoKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogW107XG4gICAgZW5hYmxlSW5zdHJ1bWVudGF0aW9ucyhpbnN0cnVtZW50YXRpb25zLCB0cmFjZXJQcm92aWRlciwgbWV0ZXJQcm92aWRlciwgbG9nZ2VyUHJvdmlkZXIpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRpc2FibGVJbnN0cnVtZW50YXRpb25zKGluc3RydW1lbnRhdGlvbnMpO1xuICAgIH07XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIFBsYWNlaG9sZGVyIG5vcm1hbGl6ZSBmdW5jdGlvbiB0byByZXBsYWNlIHRoZSBub2RlIHZhcmlhbnQgaW4gYnJvd3NlciBydW50aW1lcyxcbiAqIHRoaXMgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBhbmQgd2lsbCBwZXJmb3JtIGEgbm8tb3AgYW5kIHdhcm4gaWYgaXQgaXMgY2FsbGVkIHJlZ2FyZGxlc3MuXG4gKlxuICogVGhpcyBpcyBhIHdvcmthcm91bmQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWpzL2lzc3Vlcy80MzczIHVudGlsIHRoZSBpbnN0cnVtZW50YXRpb25cbiAqIHBhY2thZ2UgY2FuIGJlIG1hZGUgbm9kZS1vbmx5LlxuICpcbiAqIEBwYXJhbSBwYXRoIGlucHV0IHBhdGhcbiAqIEByZXR1cm4gdW5tb2RpZmllZCBwYXRoXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplKHBhdGgpIHtcbiAgICBkaWFnLndhcm4oJ1BhdGggbm9ybWFsaXphdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHRoaXMgcGxhdGZvcm0uIFRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLCBlbnN1cmUgbm8gbm9kZS1zcGVjaWZpYyBpbnN0cnVtZW50YXRpb25zIGFyZSBsb2FkZWQsIGFuZCBub2RlLXNwZWNpZmljIHR5cGVzIChlLmcuIEluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVGaWxlKSwgYXJlIG5vdCB1c2VkIGluIGEgYnJvd3NlciBjb250ZXh0KScpO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIEluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVEZWZpbml0aW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVEZWZpbml0aW9uKG5hbWUsIHN1cHBvcnRlZFZlcnNpb25zLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHBhdGNoLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHVucGF0Y2gsIGZpbGVzKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuc3VwcG9ydGVkVmVyc2lvbnMgPSBzdXBwb3J0ZWRWZXJzaW9ucztcbiAgICAgICAgdGhpcy5wYXRjaCA9IHBhdGNoO1xuICAgICAgICB0aGlzLnVucGF0Y2ggPSB1bnBhdGNoO1xuICAgICAgICB0aGlzLmZpbGVzID0gZmlsZXMgfHwgW107XG4gICAgfVxuICAgIHJldHVybiBJbnN0cnVtZW50YXRpb25Ob2RlTW9kdWxlRGVmaW5pdGlvbjtcbn0oKSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUobmFtZSwgc3VwcG9ydGVkVmVyc2lvbnMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcGF0Y2gsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdW5wYXRjaCkge1xuICAgICAgICB0aGlzLnN1cHBvcnRlZFZlcnNpb25zID0gc3VwcG9ydGVkVmVyc2lvbnM7XG4gICAgICAgIHRoaXMucGF0Y2ggPSBwYXRjaDtcbiAgICAgICAgdGhpcy51bnBhdGNoID0gdW5wYXRjaDtcbiAgICAgICAgdGhpcy5uYW1lID0gbm9ybWFsaXplKG5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGU7XG59KCkpO1xuXG5leHBvcnQgeyBJbnN0cnVtZW50YXRpb25Ob2RlTW9kdWxlRGVmaW5pdGlvbiwgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUsIHJlZ2lzdGVySW5zdHJ1bWVudGF0aW9ucyB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsU0FBZTtBQUM3QixTQUFTLEtBQUtDLFNBQWE7QUFDM0IsU0FBUyxLQUFLQyxTQUFZO0FBQzFCLFNBQWMsS0FBTEMsR0FBK0IsS0FBTEMsR0FBcUIsS0FBTEMsR0FBa0MsS0FBTEMsU0FBd0M7QUFDeEgsU0FBUyxLQUFLQyxTQUFZO0FBdUIxQixTQUFTQyxFQUF1QkMsR0FBa0JDLEdBQWdCQyxHQUFlQyxHQUFnQjtBQUM3RixXQUFTUixJQUFJLEdBQUdTLElBQUlKLEVBQWlCLFFBQVFMLElBQUlTLEdBQUdULEtBQUs7QUFDckQsUUFBSVUsSUFBa0JMLEVBQWlCTCxDQUFDO0FBQ3hDLElBQUlNLEtBQ0FJLEVBQWdCLGtCQUFrQkosQ0FBYyxHQUVoREMsS0FDQUcsRUFBZ0IsaUJBQWlCSCxDQUFhLEdBRTlDQyxLQUFrQkUsRUFBZ0IscUJBQ2xDQSxFQUFnQixrQkFBa0JGLENBQWMsR0FNL0NFLEVBQWdCLFVBQVUsRUFBRSxXQUM3QkEsRUFBZ0IsT0FBTztBQUFBLEVBRS9CO0FBQ0o7QUFLQSxTQUFTQyxFQUF3Qk4sR0FBa0I7QUFDL0MsRUFBQUEsRUFBaUIsUUFBUSxTQUFVSyxHQUFpQjtBQUFFLFdBQU9BLEVBQWdCLFFBQVE7QUFBQSxFQUFHLENBQUM7QUFDN0Y7QUF1QkEsU0FBU0UsRUFBeUJDLEdBQVM7QUFDdkMsTUFBSUMsR0FBSUMsR0FDSlQsSUFBaUJPLEVBQVEsa0JBQWtCaEIsRUFBTSxrQkFBa0IsR0FDbkVVLElBQWdCTSxFQUFRLGlCQUFpQmpCLEVBQVEsaUJBQWlCLEdBQ2xFWSxJQUFpQkssRUFBUSxrQkFBa0JmLEVBQUssa0JBQWtCLEdBQ2xFTyxLQUFvQlUsS0FBTUQsSUFBS0QsRUFBUSxzQkFBc0IsUUFBUUMsTUFBTyxTQUFTLFNBQVNBLEVBQUcsS0FBSyxPQUFPLFFBQVFDLE1BQU8sU0FBU0EsSUFBSyxDQUFDO0FBQy9JLFNBQUFYLEVBQXVCQyxHQUFrQkMsR0FBZ0JDLEdBQWVDLENBQWMsR0FDL0UsV0FBWTtBQUNmLElBQUFHLEVBQXdCTixDQUFnQjtBQUFBLEVBQzVDO0FBQ0o7QUE0QkEsU0FBU1csRUFBVUMsR0FBTTtBQUNyQixTQUFBZCxFQUFLLEtBQUsseU9BQXlPLEdBQzVPYztBQUNYO0FBaUJBLElBQUlDO0FBQUE7QUFBQSxFQUFxRCwyQkFBWTtBQUNqRSxhQUFTQSxFQUFvQ0MsR0FBTUMsR0FFbkRDLEdBRUFDLEdBQVNDLEdBQU87QUFDWixXQUFLLE9BQU9KLEdBQ1osS0FBSyxvQkFBb0JDLEdBQ3pCLEtBQUssUUFBUUMsR0FDYixLQUFLLFVBQVVDLEdBQ2YsS0FBSyxRQUFRQyxLQUFTLENBQUM7QUFBQSxJQUMzQjtBQUNBLFdBQU9MO0FBQUEsRUFDWCxFQUFFO0FBQUEsR0FpQkVNO0FBQUE7QUFBQSxFQUErQywyQkFBWTtBQUMzRCxhQUFTQSxFQUE4QkwsR0FBTUMsR0FFN0NDLEdBRUFDLEdBQVM7QUFDTCxXQUFLLG9CQUFvQkYsR0FDekIsS0FBSyxRQUFRQyxHQUNiLEtBQUssVUFBVUMsR0FDZixLQUFLLE9BQU9OLEVBQVVHLENBQUk7QUFBQSxJQUM5QjtBQUNBLFdBQU9LO0FBQUEsRUFDWCxFQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbIm1ldHJpY3MiLCAidHJhY2UiLCAibG9ncyIsICJJIiwgImkiLCAicyIsICJhIiwgImRpYWciLCAiZW5hYmxlSW5zdHJ1bWVudGF0aW9ucyIsICJpbnN0cnVtZW50YXRpb25zIiwgInRyYWNlclByb3ZpZGVyIiwgIm1ldGVyUHJvdmlkZXIiLCAibG9nZ2VyUHJvdmlkZXIiLCAiaiIsICJpbnN0cnVtZW50YXRpb24iLCAiZGlzYWJsZUluc3RydW1lbnRhdGlvbnMiLCAicmVnaXN0ZXJJbnN0cnVtZW50YXRpb25zIiwgIm9wdGlvbnMiLCAiX2EiLCAiX2IiLCAibm9ybWFsaXplIiwgInBhdGgiLCAiSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24iLCAibmFtZSIsICJzdXBwb3J0ZWRWZXJzaW9ucyIsICJwYXRjaCIsICJ1bnBhdGNoIiwgImZpbGVzIiwgIkluc3RydW1lbnRhdGlvbk5vZGVNb2R1bGVGaWxlIl0KfQo=
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { R as u } from "./index-J2Ae7cvA.js";
|
|
2
|
+
import { B as c } from "./SimpleSpanProcessor-CGuirs18.js";
|
|
3
|
+
import { A as g, b as x, a as S, C as b, F as w, I as P, N as C, P as T, R as O, d as M, S as A, e as E, c as R, T as N } from "./SimpleSpanProcessor-CGuirs18.js";
|
|
4
|
+
import { P as F, a as j, b as k, g as I, c as W, h as U, n as X, p as z, s as D, d as G } from "./utils-Bvp_BxtD.js";
|
|
5
|
+
var l = function(n, r) {
|
|
6
|
+
var e = typeof Symbol == "function" && n[Symbol.iterator];
|
|
7
|
+
if (!e) return n;
|
|
8
|
+
var t = e.call(n), o, a = [], s;
|
|
9
|
+
try {
|
|
10
|
+
for (; (r === void 0 || r-- > 0) && !(o = t.next()).done; ) a.push(o.value);
|
|
11
|
+
} catch (i) {
|
|
12
|
+
s = { error: i };
|
|
13
|
+
} finally {
|
|
14
|
+
try {
|
|
15
|
+
o && !o.done && (e = t.return) && e.call(t);
|
|
16
|
+
} finally {
|
|
17
|
+
if (s) throw s.error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
}, p = function(n, r, e) {
|
|
22
|
+
if (e || arguments.length === 2) for (var t = 0, o = r.length, a; t < o; t++)
|
|
23
|
+
(a || !(t in r)) && (a || (a = Array.prototype.slice.call(r, 0, t)), a[t] = r[t]);
|
|
24
|
+
return n.concat(a || Array.prototype.slice.call(r));
|
|
25
|
+
}, f = (
|
|
26
|
+
/** @class */
|
|
27
|
+
function() {
|
|
28
|
+
function n() {
|
|
29
|
+
this._enabled = !1, this._currentContext = u;
|
|
30
|
+
}
|
|
31
|
+
return n.prototype._bindFunction = function(r, e) {
|
|
32
|
+
r === void 0 && (r = u);
|
|
33
|
+
var t = this, o = function() {
|
|
34
|
+
for (var a = this, s = [], i = 0; i < arguments.length; i++)
|
|
35
|
+
s[i] = arguments[i];
|
|
36
|
+
return t.with(r, function() {
|
|
37
|
+
return e.apply(a, s);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
return Object.defineProperty(o, "length", {
|
|
41
|
+
enumerable: !1,
|
|
42
|
+
configurable: !0,
|
|
43
|
+
writable: !1,
|
|
44
|
+
value: e.length
|
|
45
|
+
}), o;
|
|
46
|
+
}, n.prototype.active = function() {
|
|
47
|
+
return this._currentContext;
|
|
48
|
+
}, n.prototype.bind = function(r, e) {
|
|
49
|
+
return r === void 0 && (r = this.active()), typeof e == "function" ? this._bindFunction(r, e) : e;
|
|
50
|
+
}, n.prototype.disable = function() {
|
|
51
|
+
return this._currentContext = u, this._enabled = !1, this;
|
|
52
|
+
}, n.prototype.enable = function() {
|
|
53
|
+
return this._enabled ? this : (this._enabled = !0, this._currentContext = u, this);
|
|
54
|
+
}, n.prototype.with = function(r, e, t) {
|
|
55
|
+
for (var o = [], a = 3; a < arguments.length; a++)
|
|
56
|
+
o[a - 3] = arguments[a];
|
|
57
|
+
var s = this._currentContext;
|
|
58
|
+
this._currentContext = r || u;
|
|
59
|
+
try {
|
|
60
|
+
return e.call.apply(e, p([t], l(o), !1));
|
|
61
|
+
} finally {
|
|
62
|
+
this._currentContext = s;
|
|
63
|
+
}
|
|
64
|
+
}, n;
|
|
65
|
+
}()
|
|
66
|
+
), d = /* @__PURE__ */ function() {
|
|
67
|
+
var n = function(r, e) {
|
|
68
|
+
return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, o) {
|
|
69
|
+
t.__proto__ = o;
|
|
70
|
+
} || function(t, o) {
|
|
71
|
+
for (var a in o) Object.prototype.hasOwnProperty.call(o, a) && (t[a] = o[a]);
|
|
72
|
+
}, n(r, e);
|
|
73
|
+
};
|
|
74
|
+
return function(r, e) {
|
|
75
|
+
if (typeof e != "function" && e !== null)
|
|
76
|
+
throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
|
|
77
|
+
n(r, e);
|
|
78
|
+
function t() {
|
|
79
|
+
this.constructor = r;
|
|
80
|
+
}
|
|
81
|
+
r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
|
|
82
|
+
};
|
|
83
|
+
}(), v = (
|
|
84
|
+
/** @class */
|
|
85
|
+
function(n) {
|
|
86
|
+
d(r, n);
|
|
87
|
+
function r(e) {
|
|
88
|
+
e === void 0 && (e = {});
|
|
89
|
+
var t = n.call(this, e) || this;
|
|
90
|
+
if (e.contextManager)
|
|
91
|
+
throw "contextManager should be defined in register method not in constructor";
|
|
92
|
+
if (e.propagator)
|
|
93
|
+
throw "propagator should be defined in register method not in constructor";
|
|
94
|
+
return t;
|
|
95
|
+
}
|
|
96
|
+
return r.prototype.register = function(e) {
|
|
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
|
+
}, r;
|
|
99
|
+
}(c)
|
|
100
|
+
);
|
|
101
|
+
export {
|
|
102
|
+
g as AlwaysOffSampler,
|
|
103
|
+
x as AlwaysOnSampler,
|
|
104
|
+
c as BasicTracerProvider,
|
|
105
|
+
S as BatchSpanProcessor,
|
|
106
|
+
b as ConsoleSpanExporter,
|
|
107
|
+
w as ForceFlushState,
|
|
108
|
+
P as InMemorySpanExporter,
|
|
109
|
+
C as NoopSpanProcessor,
|
|
110
|
+
T as ParentBasedSampler,
|
|
111
|
+
F as PerformanceTimingNames,
|
|
112
|
+
O as RandomIdGenerator,
|
|
113
|
+
M as SamplingDecision,
|
|
114
|
+
A as SimpleSpanProcessor,
|
|
115
|
+
E as Span,
|
|
116
|
+
f as StackContextManager,
|
|
117
|
+
R as TraceIdRatioBasedSampler,
|
|
118
|
+
N as Tracer,
|
|
119
|
+
v as WebTracerProvider,
|
|
120
|
+
j as addSpanNetworkEvent,
|
|
121
|
+
k as addSpanNetworkEvents,
|
|
122
|
+
I as getElementXPath,
|
|
123
|
+
W as getResource,
|
|
124
|
+
U as hasKey,
|
|
125
|
+
X as normalizeUrl,
|
|
126
|
+
z as parseUrl,
|
|
127
|
+
D as shouldPropagateTraceHeaders,
|
|
128
|
+
G as sortResources
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDA2fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUk9PVF9DT05URVhUIH0gZnJvbSAnLi9pbmRleC0hfnswMDV9fi5qcyc7XG5pbXBvcnQgeyBCIGFzIEJhc2ljVHJhY2VyUHJvdmlkZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgQSBhcyBBbHdheXNPZmZTYW1wbGVyLCBiIGFzIEFsd2F5c09uU2FtcGxlciwgYSBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIEMgYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgRiBhcyBGb3JjZUZsdXNoU3RhdGUsIEkgYXMgSW5NZW1vcnlTcGFuRXhwb3J0ZXIsIE4gYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIFAgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBSIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBkIGFzIFNhbXBsaW5nRGVjaXNpb24sIFMgYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgZSBhcyBTcGFuLCBjIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgVCBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgUCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBhIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIGIgYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIGcgYXMgZ2V0RWxlbWVudFhQYXRoLCBjIGFzIGdldFJlc291cmNlLCBoIGFzIGhhc0tleSwgbiBhcyBub3JtYWxpemVVcmwsIHAgYXMgcGFyc2VVcmwsIHMgYXMgc2hvdWxkUHJvcGFnYXRlVHJhY2VIZWFkZXJzLCBkIGFzIHNvcnRSZXNvdXJjZXMgfSBmcm9tICcuL3V0aWxzLSF+ezAwN31+LmpzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBfX3JlYWQgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX3JlYWQpIHx8IGZ1bmN0aW9uIChvLCBuKSB7XG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xuICAgIGlmICghbSkgcmV0dXJuIG87XG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XG4gICAgdHJ5IHtcbiAgICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxuICAgIGZpbmFsbHkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XG4gICAgfVxuICAgIHJldHVybiBhcjtcbn07XG52YXIgX19zcHJlYWRBcnJheSA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fc3ByZWFkQXJyYXkpIHx8IGZ1bmN0aW9uICh0bywgZnJvbSwgcGFjaykge1xuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcbiAgICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XG59O1xuLyoqXG4gKiBTdGFjayBDb250ZXh0IE1hbmFnZXIgZm9yIG1hbmFnaW5nIHRoZSBzdGF0ZSBpbiB3ZWJcbiAqIGl0IGRvZXNuJ3QgZnVsbHkgc3VwcG9ydCB0aGUgYXN5bmMgY2FsbHMgdGhvdWdoXG4gKi9cbnZhciBTdGFja0NvbnRleHRNYW5hZ2VyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFN0YWNrQ29udGV4dE1hbmFnZXIoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiB3aGV0aGVyIHRoZSBjb250ZXh0IG1hbmFnZXIgaXMgZW5hYmxlZCBvciBub3RcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEtlZXBzIHRoZSByZWZlcmVuY2UgdG8gY3VycmVudCBjb250ZXh0XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IFJPT1RfQ09OVEVYVDtcbiAgICB9XG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBwYXJhbSB0YXJnZXQgRnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2l0aGluIHRoZSBjb250ZXh0XG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5fYmluZEZ1bmN0aW9uID0gZnVuY3Rpb24gKGNvbnRleHQsIHRhcmdldCkge1xuICAgICAgICBpZiAoY29udGV4dCA9PT0gdm9pZCAwKSB7IGNvbnRleHQgPSBST09UX0NPTlRFWFQ7IH1cbiAgICAgICAgdmFyIG1hbmFnZXIgPSB0aGlzO1xuICAgICAgICB2YXIgY29udGV4dFdyYXBwZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hbmFnZXIud2l0aChjb250ZXh0LCBmdW5jdGlvbiAoKSB7IHJldHVybiB0YXJnZXQuYXBwbHkoX3RoaXMsIGFyZ3MpOyB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnRleHRXcmFwcGVyLCAnbGVuZ3RoJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogdGFyZ2V0Lmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjb250ZXh0V3JhcHBlcjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGFjdGl2ZSBjb250ZXh0XG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuYWN0aXZlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudENvbnRleHQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBCaW5kcyBhIHRoZSBjZXJ0YWluIGNvbnRleHQgb3IgdGhlIGFjdGl2ZSBvbmUgdG8gdGhlIHRhcmdldCBmdW5jdGlvbiBhbmQgdGhlbiByZXR1cm5zIHRoZSB0YXJnZXRcbiAgICAgKiBAcGFyYW0gY29udGV4dCBBIGNvbnRleHQgKHNwYW4pIHRvIGJlIGJpbmQgdG8gdGFyZ2V0XG4gICAgICogQHBhcmFtIHRhcmdldCBhIGZ1bmN0aW9uIG9yIGV2ZW50IGVtaXR0ZXIuIFdoZW4gdGFyZ2V0IG9yIG9uZSBvZiBpdHMgY2FsbGJhY2tzIGlzIGNhbGxlZCxcbiAgICAgKiAgdGhlIHByb3ZpZGVkIGNvbnRleHQgd2lsbCBiZSB1c2VkIGFzIHRoZSBhY3RpdmUgY29udGV4dCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWxsLlxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoY29udGV4dCwgdGFyZ2V0KSB7XG4gICAgICAgIC8vIGlmIG5vIHNwZWNpZmljIGNvbnRleHQgdG8gcHJvcGFnYXRlIGlzIGdpdmVuLCB3ZSB1c2UgdGhlIGN1cnJlbnQgb25lXG4gICAgICAgIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRleHQgPSB0aGlzLmFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYmluZEZ1bmN0aW9uKGNvbnRleHQsIHRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIERpc2FibGUgdGhlIGNvbnRleHQgbWFuYWdlciAoY2xlYXJzIHRoZSBjdXJyZW50IGNvbnRleHQpXG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgICAgIHRoaXMuX2VuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBFbmFibGVzIHRoZSBjb250ZXh0IG1hbmFnZXIgYW5kIGNyZWF0ZXMgYSBkZWZhdWx0KHJvb3QpIGNvbnRleHRcbiAgICAgKi9cbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLl9lbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2FsbHMgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIFtmbl0gd2l0aCB0aGUgcHJvdmlkZWQgW2NvbnRleHRdLiBJZiBbY29udGV4dF0gaXMgdW5kZWZpbmVkIHRoZW4gaXQgd2lsbCB1c2UgdGhlIHdpbmRvdy5cbiAgICAgKiBUaGUgY29udGV4dCB3aWxsIGJlIHNldCBhcyBhY3RpdmVcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBwYXJhbSBmbiBDYWxsYmFjayBmdW5jdGlvblxuICAgICAqIEBwYXJhbSB0aGlzQXJnIG9wdGlvbmFsIHJlY2VpdmVyIHRvIGJlIHVzZWQgZm9yIGNhbGxpbmcgZm5cbiAgICAgKiBAcGFyYW0gYXJncyBvcHRpb25hbCBhcmd1bWVudHMgZm9yd2FyZGVkIHRvIGZuXG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChjb250ZXh0LCBmbiwgdGhpc0FyZykge1xuICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDM7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgYXJnc1tfaSAtIDNdID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5fY3VycmVudENvbnRleHQ7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gY29udGV4dCB8fCBST09UX0NPTlRFWFQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZm4uY2FsbC5hcHBseShmbiwgX19zcHJlYWRBcnJheShbdGhpc0FyZ10sIF9fcmVhZChhcmdzKSwgZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gcHJldmlvdXNDb250ZXh0O1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gU3RhY2tDb250ZXh0TWFuYWdlcjtcbn0oKSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19leHRlbmRzID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19leHRlbmRzKSB8fCAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcbiAgICAgICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBiICE9PSBcImZ1bmN0aW9uXCIgJiYgYiAhPT0gbnVsbClcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICAgICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XG4gICAgICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcbiAgICB9O1xufSkoKTtcbi8qKlxuICogVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgd2ViIHRyYWNlciB3aXRoIHtAbGluayBTdGFja0NvbnRleHRNYW5hZ2VyfVxuICovXG52YXIgV2ViVHJhY2VyUHJvdmlkZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFdlYlRyYWNlclByb3ZpZGVyLCBfc3VwZXIpO1xuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcgVHJhY2VyIGluc3RhbmNlLlxuICAgICAqIEBwYXJhbSBjb25maWcgV2ViIFRyYWNlciBjb25maWdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBXZWJUcmFjZXJQcm92aWRlcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbmZpZykgfHwgdGhpcztcbiAgICAgICAgaWYgKGNvbmZpZy5jb250ZXh0TWFuYWdlcikge1xuICAgICAgICAgICAgdGhyb3cgKCdjb250ZXh0TWFuYWdlciBzaG91bGQgYmUgZGVmaW5lZCBpbiByZWdpc3RlciBtZXRob2Qgbm90IGluJyArXG4gICAgICAgICAgICAgICAgJyBjb25zdHJ1Y3RvcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcucHJvcGFnYXRvcikge1xuICAgICAgICAgICAgdGhyb3cgJ3Byb3BhZ2F0b3Igc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbiBjb25zdHJ1Y3Rvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciB0aGlzIFRyYWNlclByb3ZpZGVyIGZvciB1c2Ugd2l0aCB0aGUgT3BlblRlbGVtZXRyeSBBUEkuXG4gICAgICogVW5kZWZpbmVkIHZhbHVlcyBtYXkgYmUgcmVwbGFjZWQgd2l0aCBkZWZhdWx0cywgYW5kXG4gICAgICogbnVsbCB2YWx1ZXMgd2lsbCBiZSBza2lwcGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgU0RLIHJlZ2lzdHJhdGlvblxuICAgICAqL1xuICAgIFdlYlRyYWNlclByb3ZpZGVyLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIGlmIChjb25maWcuY29udGV4dE1hbmFnZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uZmlnLmNvbnRleHRNYW5hZ2VyID0gbmV3IFN0YWNrQ29udGV4dE1hbmFnZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHRNYW5hZ2VyKSB7XG4gICAgICAgICAgICBjb25maWcuY29udGV4dE1hbmFnZXIuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgX3N1cGVyLnByb3RvdHlwZS5yZWdpc3Rlci5jYWxsKHRoaXMsIGNvbmZpZyk7XG4gICAgfTtcbiAgICByZXR1cm4gV2ViVHJhY2VyUHJvdmlkZXI7XG59KEJhc2ljVHJhY2VyUHJvdmlkZXIpKTtcblxuZXhwb3J0IHsgQmFzaWNUcmFjZXJQcm92aWRlciwgU3RhY2tDb250ZXh0TWFuYWdlciwgV2ViVHJhY2VyUHJvdmlkZXIgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQW9CO0FBQ2xDLFNBQVMsS0FBS0MsU0FBMkI7QUFDekMsU0FBYyxLQUFMQyxHQUE0QixLQUFMQyxHQUEyQixLQUFMQyxHQUE4QixLQUFMQyxHQUErQixLQUFMQyxHQUEyQixLQUFMQyxHQUFnQyxLQUFMQyxHQUE2QixLQUFMQyxHQUE4QixLQUFMQyxHQUE2QixLQUFMQyxHQUE0QixLQUFMQyxHQUErQixLQUFMQyxHQUFnQixLQUFMQyxHQUFvQyxLQUFMQyxTQUFtQjtBQUNqVixTQUFjLEtBQUxOLEdBQWtDLEtBQUxMLEdBQStCLEtBQUxELEdBQWdDLEtBQUxhLEdBQTJCLEtBQUxGLEdBQXVCLEtBQUxHLEdBQWtCLEtBQUxDLEdBQXdCLEtBQUxDLEdBQW9CLEtBQUxDLEdBQXVDLEtBQUxULFNBQTBCO0FBaUI5TyxJQUFJVSxJQUE0QyxTQUFVQyxHQUFHSixHQUFHO0FBQzVELE1BQUlLLElBQUksT0FBTyxVQUFXLGNBQWNELEVBQUUsT0FBTyxRQUFRO0FBQ3pELE1BQUksQ0FBQ0MsRUFBRyxRQUFPRDtBQUNmLE1BQUlFLElBQUlELEVBQUUsS0FBS0QsQ0FBQyxHQUFHRyxHQUFHQyxJQUFLLENBQUMsR0FBR2I7QUFDL0IsTUFBSTtBQUNBLFlBQVFLLE1BQU0sVUFBVUEsTUFBTSxNQUFNLEVBQUVPLElBQUlELEVBQUUsS0FBSyxHQUFHLE9BQU0sQ0FBQUUsRUFBRyxLQUFLRCxFQUFFLEtBQUs7QUFBQSxFQUM3RSxTQUNPRSxHQUFPO0FBQUUsSUFBQWQsSUFBSSxFQUFFLE9BQU9jLEVBQU07QUFBQSxFQUFHLFVBQ3RDO0FBQ0ksUUFBSTtBQUNBLE1BQUlG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LElBRWhEZ0IsRUFBTyxrQkFDUEEsRUFBTyxlQUFlLE9BQU8sR0FFakNELEVBQU8sVUFBVSxTQUFTLEtBQUssTUFBTUMsQ0FBTTtBQUFBLElBQy9DLEdBQ09GO0FBQUEsRUFDWCxFQUFFOUMsQ0FBbUI7QUFBQTsiLAogICJuYW1lcyI6IFsiUk9PVF9DT05URVhUIiwgIkJhc2ljVHJhY2VyUHJvdmlkZXIiLCAiQSIsICJiIiwgImEiLCAiQyIsICJGIiwgIkkiLCAiTiIsICJQIiwgIlIiLCAiZCIsICJTIiwgImUiLCAiYyIsICJUIiwgImciLCAiaCIsICJuIiwgInAiLCAicyIsICJfX3JlYWQiLCAibyIsICJtIiwgImkiLCAiciIsICJhciIsICJlcnJvciIsICJfX3NwcmVhZEFycmF5IiwgInRvIiwgImZyb20iLCAicGFjayIsICJsIiwgIlN0YWNrQ29udGV4dE1hbmFnZXIiLCAiY29udGV4dCIsICJ0YXJnZXQiLCAibWFuYWdlciIsICJjb250ZXh0V3JhcHBlciIsICJfdGhpcyIsICJhcmdzIiwgIl9pIiwgImZuIiwgInRoaXNBcmciLCAicHJldmlvdXNDb250ZXh0IiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgIl9fIiwgIldlYlRyYWNlclByb3ZpZGVyIiwgIl9zdXBlciIsICJjb25maWciXQp9Cg==
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { b as I, t as l, i as D, T as o, d as T, e as b } from "./index-J2Ae7cvA.js";
|
|
2
|
+
var C = I("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
|
|
3
|
+
function A(r) {
|
|
4
|
+
return r.getValue(C) === !0;
|
|
5
|
+
}
|
|
6
|
+
var p = I("OpenTelemetry Context Key B3 Debug Flag"), f = "b3", v = "x-b3-traceid", g = "x-b3-spanid", c = "x-b3-sampled", N = "x-b3-parentspanid", S = "x-b3-flags", V = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), B = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
|
|
7
|
+
function F(r) {
|
|
8
|
+
return r === o.SAMPLED || r === o.NONE;
|
|
9
|
+
}
|
|
10
|
+
function R(r) {
|
|
11
|
+
return Array.isArray(r) ? r[0] : r;
|
|
12
|
+
}
|
|
13
|
+
function d(r, t, e) {
|
|
14
|
+
var n = t.get(r, e);
|
|
15
|
+
return R(n);
|
|
16
|
+
}
|
|
17
|
+
function m(r, t) {
|
|
18
|
+
var e = d(r, t, v);
|
|
19
|
+
return typeof e == "string" ? e.padStart(32, "0") : "";
|
|
20
|
+
}
|
|
21
|
+
function x(r, t) {
|
|
22
|
+
var e = d(r, t, g);
|
|
23
|
+
return typeof e == "string" ? e : "";
|
|
24
|
+
}
|
|
25
|
+
function h(r, t) {
|
|
26
|
+
var e = d(r, t, S);
|
|
27
|
+
return e === "1" ? "1" : void 0;
|
|
28
|
+
}
|
|
29
|
+
function U(r, t) {
|
|
30
|
+
var e = d(r, t, c), n = h(r, t);
|
|
31
|
+
if (n === "1" || V.has(e))
|
|
32
|
+
return o.SAMPLED;
|
|
33
|
+
if (e === void 0 || B.has(e))
|
|
34
|
+
return o.NONE;
|
|
35
|
+
}
|
|
36
|
+
var G = (
|
|
37
|
+
/** @class */
|
|
38
|
+
function() {
|
|
39
|
+
function r() {
|
|
40
|
+
}
|
|
41
|
+
return r.prototype.inject = function(t, e, n) {
|
|
42
|
+
var a = l.getSpanContext(t);
|
|
43
|
+
if (!(!a || !D(a) || A(t))) {
|
|
44
|
+
var i = t.getValue(p);
|
|
45
|
+
n.set(e, v, a.traceId), n.set(e, g, a.spanId), i === "1" ? n.set(e, S, i) : a.traceFlags !== void 0 && n.set(e, c, (o.SAMPLED & a.traceFlags) === o.SAMPLED ? "1" : "0");
|
|
46
|
+
}
|
|
47
|
+
}, r.prototype.extract = function(t, e, n) {
|
|
48
|
+
var a = m(e, n), i = x(e, n), u = U(e, n), s = h(e, n);
|
|
49
|
+
return T(a) && b(i) && F(u) ? (t = t.setValue(p, s), l.setSpanContext(t, {
|
|
50
|
+
traceId: a,
|
|
51
|
+
spanId: i,
|
|
52
|
+
isRemote: !0,
|
|
53
|
+
traceFlags: u
|
|
54
|
+
})) : t;
|
|
55
|
+
}, r.prototype.fields = function() {
|
|
56
|
+
return [
|
|
57
|
+
v,
|
|
58
|
+
g,
|
|
59
|
+
S,
|
|
60
|
+
c,
|
|
61
|
+
N
|
|
62
|
+
];
|
|
63
|
+
}, r;
|
|
64
|
+
}()
|
|
65
|
+
), H = function(r, t) {
|
|
66
|
+
var e = typeof Symbol == "function" && r[Symbol.iterator];
|
|
67
|
+
if (!e) return r;
|
|
68
|
+
var n = e.call(r), a, i = [], u;
|
|
69
|
+
try {
|
|
70
|
+
for (; (t === void 0 || t-- > 0) && !(a = n.next()).done; ) i.push(a.value);
|
|
71
|
+
} catch (s) {
|
|
72
|
+
u = { error: s };
|
|
73
|
+
} finally {
|
|
74
|
+
try {
|
|
75
|
+
a && !a.done && (e = n.return) && e.call(n);
|
|
76
|
+
} finally {
|
|
77
|
+
if (u) throw u.error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return i;
|
|
81
|
+
}, X = /((?:[0-9a-f]{16}){1,2})-([0-9a-f]{16})(?:-([01d](?![0-9a-f])))?(?:-([0-9a-f]{16}))?/, j = "0".repeat(16), w = /* @__PURE__ */ new Set(["d", "1"]), O = "d";
|
|
82
|
+
function K(r) {
|
|
83
|
+
return r.length === 32 ? r : "" + j + r;
|
|
84
|
+
}
|
|
85
|
+
function Y(r) {
|
|
86
|
+
return r && w.has(r) ? o.SAMPLED : o.NONE;
|
|
87
|
+
}
|
|
88
|
+
var k = (
|
|
89
|
+
/** @class */
|
|
90
|
+
function() {
|
|
91
|
+
function r() {
|
|
92
|
+
}
|
|
93
|
+
return r.prototype.inject = function(t, e, n) {
|
|
94
|
+
var a = l.getSpanContext(t);
|
|
95
|
+
if (!(!a || !D(a) || A(t))) {
|
|
96
|
+
var i = t.getValue(p) || a.traceFlags & 1, u = a.traceId + "-" + a.spanId + "-" + i;
|
|
97
|
+
n.set(e, f, u);
|
|
98
|
+
}
|
|
99
|
+
}, r.prototype.extract = function(t, e, n) {
|
|
100
|
+
var a = n.get(e, f), i = Array.isArray(a) ? a[0] : a;
|
|
101
|
+
if (typeof i != "string")
|
|
102
|
+
return t;
|
|
103
|
+
var u = i.match(X);
|
|
104
|
+
if (!u)
|
|
105
|
+
return t;
|
|
106
|
+
var s = H(u, 4), L = s[1], P = s[2], _ = s[3], y = K(L);
|
|
107
|
+
if (!T(y) || !b(P))
|
|
108
|
+
return t;
|
|
109
|
+
var M = Y(_);
|
|
110
|
+
return _ === O && (t = t.setValue(p, _)), l.setSpanContext(t, {
|
|
111
|
+
traceId: y,
|
|
112
|
+
spanId: P,
|
|
113
|
+
isRemote: !0,
|
|
114
|
+
traceFlags: M
|
|
115
|
+
});
|
|
116
|
+
}, r.prototype.fields = function() {
|
|
117
|
+
return [f];
|
|
118
|
+
}, r;
|
|
119
|
+
}()
|
|
120
|
+
), E;
|
|
121
|
+
(function(r) {
|
|
122
|
+
r[r.SINGLE_HEADER = 0] = "SINGLE_HEADER", r[r.MULTI_HEADER = 1] = "MULTI_HEADER";
|
|
123
|
+
})(E || (E = {}));
|
|
124
|
+
var z = (
|
|
125
|
+
/** @class */
|
|
126
|
+
function() {
|
|
127
|
+
function r(t) {
|
|
128
|
+
t === void 0 && (t = {}), this._b3MultiPropagator = new G(), this._b3SinglePropagator = new k(), 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());
|
|
129
|
+
}
|
|
130
|
+
return r.prototype.inject = function(t, e, n) {
|
|
131
|
+
A(t) || this._inject(t, e, n);
|
|
132
|
+
}, r.prototype.extract = function(t, e, n) {
|
|
133
|
+
var a = n.get(e, f), i = Array.isArray(a) ? a[0] : a;
|
|
134
|
+
return i ? this._b3SinglePropagator.extract(t, e, n) : this._b3MultiPropagator.extract(t, e, n);
|
|
135
|
+
}, r.prototype.fields = function() {
|
|
136
|
+
return this._fields;
|
|
137
|
+
}, r;
|
|
138
|
+
}()
|
|
139
|
+
);
|
|
140
|
+
export {
|
|
141
|
+
E as B3InjectEncoding,
|
|
142
|
+
z as B3Propagator,
|
|
143
|
+
f as B3_CONTEXT_HEADER,
|
|
144
|
+
S as X_B3_FLAGS,
|
|
145
|
+
N as X_B3_PARENT_SPAN_ID,
|
|
146
|
+
c as X_B3_SAMPLED,
|
|
147
|
+
g as X_B3_SPAN_ID,
|
|
148
|
+
v as X_B3_TRACE_ID
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBpfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGIgYXMgY3JlYXRlQ29udGV4dEtleSwgdCBhcyB0cmFjZSwgaSBhcyBpc1NwYW5Db250ZXh0VmFsaWQsIFQgYXMgVHJhY2VGbGFncywgZCBhcyBpc1ZhbGlkVHJhY2VJZCwgZSBhcyBpc1ZhbGlkU3BhbklkIH0gZnJvbSAnLi9pbmRleC0hfnswMDV9fi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgU1VQUFJFU1NfVFJBQ0lOR19LRVkgPSBjcmVhdGVDb250ZXh0S2V5KCdPcGVuVGVsZW1ldHJ5IFNESyBDb250ZXh0IEtleSBTVVBQUkVTU19UUkFDSU5HJyk7XG5mdW5jdGlvbiBpc1RyYWNpbmdTdXBwcmVzc2VkKGNvbnRleHQpIHtcbiAgICByZXR1cm4gY29udGV4dC5nZXRWYWx1ZShTVVBQUkVTU19UUkFDSU5HX0tFWSkgPT09IHRydWU7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiogc2hhcmVkIGNvbnRleHQgZm9yIHN0b3JpbmcgYW4gZXh0cmFjdGVkIGIzIGRlYnVnIGZsYWcgKi9cbnZhciBCM19ERUJVR19GTEFHX0tFWSA9IGNyZWF0ZUNvbnRleHRLZXkoJ09wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgQjMgRGVidWcgRmxhZycpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIEIzIHNpbmdsZS1oZWFkZXIga2V5ICovXG52YXIgQjNfQ09OVEVYVF9IRUFERVIgPSAnYjMnO1xuLyogYjMgbXVsdGktaGVhZGVyIGtleXMgKi9cbnZhciBYX0IzX1RSQUNFX0lEID0gJ3gtYjMtdHJhY2VpZCc7XG52YXIgWF9CM19TUEFOX0lEID0gJ3gtYjMtc3BhbmlkJztcbnZhciBYX0IzX1NBTVBMRUQgPSAneC1iMy1zYW1wbGVkJztcbnZhciBYX0IzX1BBUkVOVF9TUEFOX0lEID0gJ3gtYjMtcGFyZW50c3BhbmlkJztcbnZhciBYX0IzX0ZMQUdTID0gJ3gtYjMtZmxhZ3MnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIFZBTElEX1NBTVBMRURfVkFMVUVTID0gbmV3IFNldChbdHJ1ZSwgJ3RydWUnLCAnVHJ1ZScsICcxJywgMV0pO1xudmFyIFZBTElEX1VOU0FNUExFRF9WQUxVRVMgPSBuZXcgU2V0KFtmYWxzZSwgJ2ZhbHNlJywgJ0ZhbHNlJywgJzAnLCAwXSk7XG5mdW5jdGlvbiBpc1ZhbGlkU2FtcGxlZFZhbHVlKHNhbXBsZWQpIHtcbiAgICByZXR1cm4gc2FtcGxlZCA9PT0gVHJhY2VGbGFncy5TQU1QTEVEIHx8IHNhbXBsZWQgPT09IFRyYWNlRmxhZ3MuTk9ORTtcbn1cbmZ1bmN0aW9uIHBhcnNlSGVhZGVyKGhlYWRlcikge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGhlYWRlcikgPyBoZWFkZXJbMF0gOiBoZWFkZXI7XG59XG5mdW5jdGlvbiBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIGtleSkge1xuICAgIHZhciBoZWFkZXIgPSBnZXR0ZXIuZ2V0KGNhcnJpZXIsIGtleSk7XG4gICAgcmV0dXJuIHBhcnNlSGVhZGVyKGhlYWRlcik7XG59XG5mdW5jdGlvbiBnZXRUcmFjZUlkKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciB0cmFjZUlkID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX1RSQUNFX0lEKTtcbiAgICBpZiAodHlwZW9mIHRyYWNlSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB0cmFjZUlkLnBhZFN0YXJ0KDMyLCAnMCcpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG59XG5mdW5jdGlvbiBnZXRTcGFuSWQoY2FycmllciwgZ2V0dGVyKSB7XG4gICAgdmFyIHNwYW5JZCA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19TUEFOX0lEKTtcbiAgICBpZiAodHlwZW9mIHNwYW5JZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHNwYW5JZDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gZ2V0RGVidWcoY2FycmllciwgZ2V0dGVyKSB7XG4gICAgdmFyIGRlYnVnID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX0ZMQUdTKTtcbiAgICByZXR1cm4gZGVidWcgPT09ICcxJyA/ICcxJyA6IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGdldFRyYWNlRmxhZ3MoY2FycmllciwgZ2V0dGVyKSB7XG4gICAgdmFyIHRyYWNlRmxhZ3MgPSBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIFhfQjNfU0FNUExFRCk7XG4gICAgdmFyIGRlYnVnID0gZ2V0RGVidWcoY2FycmllciwgZ2V0dGVyKTtcbiAgICBpZiAoZGVidWcgPT09ICcxJyB8fCBWQUxJRF9TQU1QTEVEX1ZBTFVFUy5oYXModHJhY2VGbGFncykpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuU0FNUExFRDtcbiAgICB9XG4gICAgaWYgKHRyYWNlRmxhZ3MgPT09IHVuZGVmaW5lZCB8fCBWQUxJRF9VTlNBTVBMRURfVkFMVUVTLmhhcyh0cmFjZUZsYWdzKSkge1xuICAgICAgICByZXR1cm4gVHJhY2VGbGFncy5OT05FO1xuICAgIH1cbiAgICAvLyBUaGlzIGluZGljYXRlcyB0byBpc1ZhbGlkU2FtcGxlZFZhbHVlIHRoYXQgdGhpcyBpcyBub3QgdmFsaWRcbiAgICByZXR1cm47XG59XG4vKipcbiAqIFByb3BhZ2F0b3IgZm9yIHRoZSBCMyBtdWx0aXBsZS1oZWFkZXIgSFRUUCBmb3JtYXQuXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW56aXBraW4vYjMtcHJvcGFnYXRpb25cbiAqL1xudmFyIEIzTXVsdGlQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzTXVsdGlQcm9wYWdhdG9yKCkge1xuICAgIH1cbiAgICBCM011bHRpUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICB2YXIgc3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCB8fFxuICAgICAgICAgICAgIWlzU3BhbkNvbnRleHRWYWxpZChzcGFuQ29udGV4dCkgfHxcbiAgICAgICAgICAgIGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHZhciBkZWJ1ZyA9IGNvbnRleHQuZ2V0VmFsdWUoQjNfREVCVUdfRkxBR19LRVkpO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfVFJBQ0VfSUQsIHNwYW5Db250ZXh0LnRyYWNlSWQpO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfU1BBTl9JRCwgc3BhbkNvbnRleHQuc3BhbklkKTtcbiAgICAgICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBCMyBzcGVjLCBpZiB0aGUgZGVidWcgZmxhZyBpcyBzZXQsXG4gICAgICAgIC8vIHRoZSBzYW1wbGVkIGZsYWcgc2hvdWxkbid0IGJlIHByb3BhZ2F0ZWQgYXMgd2VsbC5cbiAgICAgICAgaWYgKGRlYnVnID09PSAnMScpIHtcbiAgICAgICAgICAgIHNldHRlci5zZXQoY2FycmllciwgWF9CM19GTEFHUywgZGVidWcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNwYW5Db250ZXh0LnRyYWNlRmxhZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gV2Ugc2V0IHRoZSBoZWFkZXIgb25seSBpZiB0aGVyZSBpcyBhbiBleGlzdGluZyBzYW1wbGluZyBkZWNpc2lvbi5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSB3aWxsIG9taXQgaXQgPT4gQWJzZW50LlxuICAgICAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1NBTVBMRUQsIChUcmFjZUZsYWdzLlNBTVBMRUQgJiBzcGFuQ29udGV4dC50cmFjZUZsYWdzKSA9PT0gVHJhY2VGbGFncy5TQU1QTEVEXG4gICAgICAgICAgICAgICAgPyAnMSdcbiAgICAgICAgICAgICAgICA6ICcwJyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEIzTXVsdGlQcm9wYWdhdG9yLnByb3RvdHlwZS5leHRyYWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcikge1xuICAgICAgICB2YXIgdHJhY2VJZCA9IGdldFRyYWNlSWQoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIHNwYW5JZCA9IGdldFNwYW5JZChjYXJyaWVyLCBnZXR0ZXIpO1xuICAgICAgICB2YXIgdHJhY2VGbGFncyA9IGdldFRyYWNlRmxhZ3MoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIGRlYnVnID0gZ2V0RGVidWcoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgaWYgKGlzVmFsaWRUcmFjZUlkKHRyYWNlSWQpICYmXG4gICAgICAgICAgICBpc1ZhbGlkU3BhbklkKHNwYW5JZCkgJiZcbiAgICAgICAgICAgIGlzVmFsaWRTYW1wbGVkVmFsdWUodHJhY2VGbGFncykpIHtcbiAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LnNldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZLCBkZWJ1Zyk7XG4gICAgICAgICAgICByZXR1cm4gdHJhY2Uuc2V0U3BhbkNvbnRleHQoY29udGV4dCwge1xuICAgICAgICAgICAgICAgIHRyYWNlSWQ6IHRyYWNlSWQsXG4gICAgICAgICAgICAgICAgc3BhbklkOiBzcGFuSWQsXG4gICAgICAgICAgICAgICAgaXNSZW1vdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgdHJhY2VGbGFnczogdHJhY2VGbGFncyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH07XG4gICAgQjNNdWx0aVByb3BhZ2F0b3IucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIFhfQjNfVFJBQ0VfSUQsXG4gICAgICAgICAgICBYX0IzX1NQQU5fSUQsXG4gICAgICAgICAgICBYX0IzX0ZMQUdTLFxuICAgICAgICAgICAgWF9CM19TQU1QTEVELFxuICAgICAgICAgICAgWF9CM19QQVJFTlRfU1BBTl9JRCxcbiAgICAgICAgXTtcbiAgICB9O1xuICAgIHJldHVybiBCM011bHRpUHJvcGFnYXRvcjtcbn0oKSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19yZWFkID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19yZWFkKSB8fCBmdW5jdGlvbiAobywgbikge1xuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgICBpZiAoIW0pIHJldHVybiBvO1xuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICAgIH1cbiAgICByZXR1cm4gYXI7XG59O1xudmFyIEIzX0NPTlRFWFRfUkVHRVggPSAvKCg/OlswLTlhLWZdezE2fSl7MSwyfSktKFswLTlhLWZdezE2fSkoPzotKFswMWRdKD8hWzAtOWEtZl0pKSk/KD86LShbMC05YS1mXXsxNn0pKT8vO1xudmFyIFBBRERJTkcgPSAnMCcucmVwZWF0KDE2KTtcbnZhciBTQU1QTEVEX1ZBTFVFUyA9IG5ldyBTZXQoWydkJywgJzEnXSk7XG52YXIgREVCVUdfU1RBVEUgPSAnZCc7XG5mdW5jdGlvbiBjb252ZXJ0VG9UcmFjZUlkMTI4KHRyYWNlSWQpIHtcbiAgICByZXR1cm4gdHJhY2VJZC5sZW5ndGggPT09IDMyID8gdHJhY2VJZCA6IFwiXCIgKyBQQURESU5HICsgdHJhY2VJZDtcbn1cbmZ1bmN0aW9uIGNvbnZlcnRUb1RyYWNlRmxhZ3Moc2FtcGxpbmdTdGF0ZSkge1xuICAgIGlmIChzYW1wbGluZ1N0YXRlICYmIFNBTVBMRURfVkFMVUVTLmhhcyhzYW1wbGluZ1N0YXRlKSkge1xuICAgICAgICByZXR1cm4gVHJhY2VGbGFncy5TQU1QTEVEO1xuICAgIH1cbiAgICByZXR1cm4gVHJhY2VGbGFncy5OT05FO1xufVxuLyoqXG4gKiBQcm9wYWdhdG9yIGZvciB0aGUgQjMgc2luZ2xlLWhlYWRlciBIVFRQIGZvcm1hdC5cbiAqIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnppcGtpbi9iMy1wcm9wYWdhdGlvblxuICovXG52YXIgQjNTaW5nbGVQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzU2luZ2xlUHJvcGFnYXRvcigpIHtcbiAgICB9XG4gICAgQjNTaW5nbGVQcm9wYWdhdG9yLnByb3RvdHlwZS5pbmplY3QgPSBmdW5jdGlvbiAoY29udGV4dCwgY2Fycmllciwgc2V0dGVyKSB7XG4gICAgICAgIHZhciBzcGFuQ29udGV4dCA9IHRyYWNlLmdldFNwYW5Db250ZXh0KGNvbnRleHQpO1xuICAgICAgICBpZiAoIXNwYW5Db250ZXh0IHx8XG4gICAgICAgICAgICAhaXNTcGFuQ29udGV4dFZhbGlkKHNwYW5Db250ZXh0KSB8fFxuICAgICAgICAgICAgaXNUcmFjaW5nU3VwcHJlc3NlZChjb250ZXh0KSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdmFyIHNhbXBsaW5nU3RhdGUgPSBjb250ZXh0LmdldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZKSB8fCBzcGFuQ29udGV4dC50cmFjZUZsYWdzICYgMHgxO1xuICAgICAgICB2YXIgdmFsdWUgPSBzcGFuQ29udGV4dC50cmFjZUlkICsgXCItXCIgKyBzcGFuQ29udGV4dC5zcGFuSWQgKyBcIi1cIiArIHNhbXBsaW5nU3RhdGU7XG4gICAgICAgIHNldHRlci5zZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIsIHZhbHVlKTtcbiAgICB9O1xuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIGhlYWRlciA9IGdldHRlci5nZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIpO1xuICAgICAgICB2YXIgYjNDb250ZXh0ID0gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xuICAgICAgICBpZiAodHlwZW9mIGIzQ29udGV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICAgICAgdmFyIG1hdGNoID0gYjNDb250ZXh0Lm1hdGNoKEIzX0NPTlRFWFRfUkVHRVgpO1xuICAgICAgICBpZiAoIW1hdGNoKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciBfYSA9IF9fcmVhZChtYXRjaCwgNCksIGV4dHJhY3RlZFRyYWNlSWQgPSBfYVsxXSwgc3BhbklkID0gX2FbMl0sIHNhbXBsaW5nU3RhdGUgPSBfYVszXTtcbiAgICAgICAgdmFyIHRyYWNlSWQgPSBjb252ZXJ0VG9UcmFjZUlkMTI4KGV4dHJhY3RlZFRyYWNlSWQpO1xuICAgICAgICBpZiAoIWlzVmFsaWRUcmFjZUlkKHRyYWNlSWQpIHx8ICFpc1ZhbGlkU3BhbklkKHNwYW5JZCkpXG4gICAgICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICAgICAgdmFyIHRyYWNlRmxhZ3MgPSBjb252ZXJ0VG9UcmFjZUZsYWdzKHNhbXBsaW5nU3RhdGUpO1xuICAgICAgICBpZiAoc2FtcGxpbmdTdGF0ZSA9PT0gREVCVUdfU1RBVEUpIHtcbiAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LnNldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZLCBzYW1wbGluZ1N0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhY2Uuc2V0U3BhbkNvbnRleHQoY29udGV4dCwge1xuICAgICAgICAgICAgdHJhY2VJZDogdHJhY2VJZCxcbiAgICAgICAgICAgIHNwYW5JZDogc3BhbklkLFxuICAgICAgICAgICAgaXNSZW1vdGU6IHRydWUsXG4gICAgICAgICAgICB0cmFjZUZsYWdzOiB0cmFjZUZsYWdzLFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuZmllbGRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gW0IzX0NPTlRFWFRfSEVBREVSXTtcbiAgICB9O1xuICAgIHJldHVybiBCM1NpbmdsZVByb3BhZ2F0b3I7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIEVudW1lcmF0aW9uIG9mIEIzIGluamVjdCBlbmNvZGluZ3MgKi9cbnZhciBCM0luamVjdEVuY29kaW5nO1xuKGZ1bmN0aW9uIChCM0luamVjdEVuY29kaW5nKSB7XG4gICAgQjNJbmplY3RFbmNvZGluZ1tCM0luamVjdEVuY29kaW5nW1wiU0lOR0xFX0hFQURFUlwiXSA9IDBdID0gXCJTSU5HTEVfSEVBREVSXCI7XG4gICAgQjNJbmplY3RFbmNvZGluZ1tCM0luamVjdEVuY29kaW5nW1wiTVVMVElfSEVBREVSXCJdID0gMV0gPSBcIk1VTFRJX0hFQURFUlwiO1xufSkoQjNJbmplY3RFbmNvZGluZyB8fCAoQjNJbmplY3RFbmNvZGluZyA9IHt9KSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIFByb3BhZ2F0b3IgdGhhdCBleHRyYWN0cyBCMyBjb250ZXh0IGluIGJvdGggc2luZ2xlIGFuZCBtdWx0aS1oZWFkZXIgdmFyaWFudHMsXG4gKiB3aXRoIGNvbmZpZ3VyYWJsZSBpbmplY3Rpb24gZm9ybWF0IGRlZmF1bHRpbmcgdG8gQjMgc2luZ2xlLWhlYWRlci4gRHVlIHRvXG4gKiB0aGUgYXN5bW1ldHJ5IGluIGluamVjdGlvbiBhbmQgZXh0cmFjdGlvbiBmb3JtYXRzIHRoaXMgaXMgbm90IHN1aXRhYmxlIHRvXG4gKiBiZSBpbXBsZW1lbnRlZCBhcyBhIGNvbXBvc2l0ZSBwcm9wYWdhdG9yLlxuICogQmFzZWQgb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuemlwa2luL2IzLXByb3BhZ2F0aW9uXG4gKi9cbnZhciBCM1Byb3BhZ2F0b3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQjNQcm9wYWdhdG9yKGNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnID09PSB2b2lkIDApIHsgY29uZmlnID0ge307IH1cbiAgICAgICAgdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IgPSBuZXcgQjNNdWx0aVByb3BhZ2F0b3IoKTtcbiAgICAgICAgdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yID0gbmV3IEIzU2luZ2xlUHJvcGFnYXRvcigpO1xuICAgICAgICBpZiAoY29uZmlnLmluamVjdEVuY29kaW5nID09PSBCM0luamVjdEVuY29kaW5nLk1VTFRJX0hFQURFUikge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ID0gdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuaW5qZWN0O1xuICAgICAgICAgICAgdGhpcy5fZmllbGRzID0gdGhpcy5fYjNNdWx0aVByb3BhZ2F0b3IuZmllbGRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3QgPSB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuaW5qZWN0O1xuICAgICAgICAgICAgdGhpcy5fZmllbGRzID0gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmZpZWxkcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICBpZiAoaXNUcmFjaW5nU3VwcHJlc3NlZChjb250ZXh0KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2luamVjdChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpO1xuICAgIH07XG4gICAgQjNQcm9wYWdhdG9yLnByb3RvdHlwZS5leHRyYWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcikge1xuICAgICAgICB2YXIgaGVhZGVyID0gZ2V0dGVyLmdldChjYXJyaWVyLCBCM19DT05URVhUX0hFQURFUik7XG4gICAgICAgIHZhciBiM0NvbnRleHQgPSBBcnJheS5pc0FycmF5KGhlYWRlcikgPyBoZWFkZXJbMF0gOiBoZWFkZXI7XG4gICAgICAgIGlmIChiM0NvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9iM1NpbmdsZVByb3BhZ2F0b3IuZXh0cmFjdChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmV4dHJhY3QoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQjNQcm9wYWdhdG9yLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gICAgfTtcbiAgICByZXR1cm4gQjNQcm9wYWdhdG9yO1xufSgpKTtcblxuZXhwb3J0IHsgQjNJbmplY3RFbmNvZGluZywgQjNQcm9wYWdhdG9yLCBCM19DT05URVhUX0hFQURFUiwgWF9CM19GTEFHUywgWF9CM19QQVJFTlRfU1BBTl9JRCwgWF9CM19TQU1QTEVELCBYX0IzX1NQQU5fSUQsIFhfQjNfVFJBQ0VfSUQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQWtCLEtBQUtDLEdBQU8sS0FBS0MsR0FBb0IsS0FBS0MsR0FBWSxLQUFLQyxHQUFnQixLQUFLQyxTQUFxQjtBQWlCckksSUFBSUMsSUFBdUJOLEVBQWlCLGdEQUFnRDtBQUM1RixTQUFTTyxFQUFvQkMsR0FBUztBQUNsQyxTQUFPQSxFQUFRLFNBQVNGLENBQW9CLE1BQU07QUFDdEQ7QUFrQkEsSUFBSUcsSUFBb0JULEVBQWlCLHlDQUF5QyxHQWtCOUVVLElBQW9CLE1BRXBCQyxJQUFnQixnQkFDaEJDLElBQWUsZUFDZkMsSUFBZSxnQkFDZkMsSUFBc0IscUJBQ3RCQyxJQUFhLGNBaUJiQyxJQUF1QixvQkFBSSxJQUFJLENBQUMsSUFBTSxRQUFRLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FDN0RDLElBQXlCLG9CQUFJLElBQUksQ0FBQyxJQUFPLFNBQVMsU0FBUyxLQUFLLENBQUMsQ0FBQztBQUN0RSxTQUFTQyxFQUFvQkMsR0FBUztBQUNsQyxTQUFPQSxNQUFZaEIsRUFBVyxXQUFXZ0IsTUFBWWhCLEVBQVc7QUFDcEU7QUFDQSxTQUFTaUIsRUFBWUMsR0FBUTtBQUN6QixTQUFPLE1BQU0sUUFBUUEsQ0FBTSxJQUFJQSxFQUFPLENBQUMsSUFBSUE7QUFDL0M7QUFDQSxTQUFTQyxFQUFlQyxHQUFTQyxHQUFRQyxHQUFLO0FBQzFDLE1BQUlKLElBQVNHLEVBQU8sSUFBSUQsR0FBU0UsQ0FBRztBQUNwQyxTQUFPTCxFQUFZQyxDQUFNO0FBQzdCO0FBQ0EsU0FBU0ssRUFBV0gsR0FBU0MsR0FBUTtBQUNqQyxNQUFJRyxJQUFVTCxFQUFlQyxHQUFTQyxHQUFRYixDQUFhO0FBQzNELFNBQUksT0FBT2dCLEtBQVksV0FDWkEsRUFBUSxTQUFTLElBQUksR0FBRyxJQUU1QjtBQUNYO0FBQ0EsU0FBU0MsRUFBVUwsR0FBU0MsR0FBUTtBQUNoQyxNQUFJSyxJQUFTUCxFQUFlQyxHQUFTQyxHQUFRWixDQUFZO0FBQ3pELFNBQUksT0FBT2lCLEtBQVcsV0FDWEEsSUFFSjtBQUNYO0FBQ0EsU0FBU0MsRUFBU1AsR0FBU0MsR0FBUTtBQUMvQixNQUFJTyxJQUFRVCxFQUFlQyxHQUFTQyxHQUFRVCxDQUFVO0FBQ3RELFNBQU9nQixNQUFVLE1BQU0sTUFBTTtBQUNqQztBQUNBLFNBQVNDLEVBQWNULEdBQVNDLEdBQVE7QUFDcEMsTUFBSVMsSUFBYVgsRUFBZUMsR0FBU0MsR0FBUVgsQ0FBWSxHQUN6RGtCLElBQVFELEVBQVNQLEdBQVNDLENBQU07QUFDcEMsTUFBSU8sTUFBVSxPQUFPZixFQUFxQixJQUFJaUIsQ0FBVTtBQUNwRCxXQUFPOUIsRUFBVztBQUV0QixNQUFJOEIsTUFBZSxVQUFhaEIsRUFBdUIsSUFBSWdCLENBQVU7QUFDakUsV0FBTzlCLEVBQVc7QUFJMUI7QUFLQSxJQUFJK0I7QUFBQTtBQUFBLEVBQW1DLFdBQVk7QUFDL0MsYUFBU0EsSUFBb0I7QUFBQSxJQUM3QjtBQUNBLFdBQUFBLEVBQWtCLFVBQVUsU0FBUyxTQUFVMUIsR0FBU2UsR0FBU1ksR0FBUTtBQUNyRSxVQUFJQyxJQUFjbkMsRUFBTSxlQUFlTyxDQUFPO0FBQzlDLFVBQUksR0FBQzRCLEtBQ0QsQ0FBQ2xDLEVBQW1Ca0MsQ0FBVyxLQUMvQjdCLEVBQW9CQyxDQUFPLElBRS9CO0FBQUEsWUFBSXVCLElBQVF2QixFQUFRLFNBQVNDLENBQWlCO0FBQzlDLFFBQUEwQixFQUFPLElBQUlaLEdBQVNaLEdBQWV5QixFQUFZLE9BQU8sR0FDdERELEVBQU8sSUFBSVosR0FBU1gsR0FBY3dCLEVBQVksTUFBTSxHQUdoREwsTUFBVSxNQUNWSSxFQUFPLElBQUlaLEdBQVNSLEdBQVlnQixDQUFLLElBRWhDSyxFQUFZLGVBQWUsVUFHaENELEVBQU8sSUFBSVosR0FBU1YsSUFBZVYsRUFBVyxVQUFVaUMsRUFBWSxnQkFBZ0JqQyxFQUFXLFVBQ3pGLE1BQ0EsR0FBRztBQUFBO0FBQUEsSUFFakIsR0FDQStCLEVBQWtCLFVBQVUsVUFBVSxTQUFVMUIsR0FBU2UsR0FBU0MsR0FBUTtBQUN0RSxVQUFJRyxJQUFVRCxFQUFXSCxHQUFTQyxDQUFNLEdBQ3BDSyxJQUFTRCxFQUFVTCxHQUFTQyxDQUFNLEdBQ2xDUyxJQUFhRCxFQUFjVCxHQUFTQyxDQUFNLEdBQzFDTyxJQUFRRCxFQUFTUCxHQUFTQyxDQUFNO0FBQ3BDLGFBQUlwQixFQUFldUIsQ0FBTyxLQUN0QnRCLEVBQWN3QixDQUFNLEtBQ3BCWCxFQUFvQmUsQ0FBVSxLQUM5QnpCLElBQVVBLEVBQVEsU0FBU0MsR0FBbUJzQixDQUFLLEdBQzVDOUIsRUFBTSxlQUFlTyxHQUFTO0FBQUEsUUFDakMsU0FBU21CO0FBQUEsUUFDVCxRQUFRRTtBQUFBLFFBQ1IsVUFBVTtBQUFBLFFBQ1YsWUFBWUk7QUFBQSxNQUNoQixDQUFDLEtBRUV6QjtBQUFBLElBQ1gsR0FDQTBCLEVBQWtCLFVBQVUsU0FBUyxXQUFZO0FBQzdDLGFBQU87QUFBQSxRQUNIdkI7QUFBQSxRQUNBQztBQUFBLFFBQ0FHO0FBQUEsUUFDQUY7QUFBQSxRQUNBQztBQUFBLE1BQ0o7QUFBQSxJQUNKLEdBQ09vQjtBQUFBLEVBQ1gsRUFBRTtBQUFBLEdBaUJFRyxJQUE0QyxTQUFVQyxHQUFHQyxHQUFHO0FBQzVELE1BQUlDLElBQUksT0FBTyxVQUFXLGNBQWNGLEVBQUUsT0FBTyxRQUFRO0FBQ3pELE1BQUksQ0FBQ0UsRUFBRyxRQUFPRjtBQUNmLE1BQUlHLElBQUlELEVBQUUsS0FBS0YsQ0FBQyxHQUFHSSxHQUFHQyxJQUFLLENBQUMsR0FBR0M7QUFDL0IsTUFBSTtBQUNBLFlBQVFMLE1BQU0sVUFBVUEsTUFBTSxNQUFNLEVBQUVHLElBQUlELEVBQUUsS0FBSyxHQUFHLE9BQU0sQ0FBQUUsRUFBRyxLQUFLRCxFQUFFLEtBQUs7QUFBQSxFQUM3RSxTQUNPRyxHQUFPO0FBQUUsSUFBQUQsSUFBSSxFQUFFLE9BQU9DLEVBQU07QUFBQSxFQUFHLFVBQ3RDO0FBQ0ksUUFBSTtBQUNBLE1BQUlILEtBQUssQ0FBQ0EsRUFBRSxTQUFTRixJQUFJQyxFQUFFLFdBQVlELEVBQUUsS0FBS0MsQ0FBQztBQUFBLElBQ25ELFVBQ0E7QUFBVSxVQUFJRyxFQUFHLE9BQU1BLEVBQUU7QUFBQSxJQUFPO0FBQUEsRUFDcEM7QUFDQSxTQUFPRDtBQUNYLEdBQ0lHLElBQW1CLHVGQUNuQkMsSUFBVSxJQUFJLE9BQU8sRUFBRSxHQUN2QkMsSUFBaUIsb0JBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQ25DQyxJQUFjO0FBQ2xCLFNBQVNDLEVBQW9CdkIsR0FBUztBQUNsQyxTQUFPQSxFQUFRLFdBQVcsS0FBS0EsSUFBVSxLQUFLb0IsSUFBVXBCO0FBQzVEO0FBQ0EsU0FBU3dCLEVBQW9CQyxHQUFlO0FBQ3hDLFNBQUlBLEtBQWlCSixFQUFlLElBQUlJLENBQWEsSUFDMUNqRCxFQUFXLFVBRWZBLEVBQVc7QUFDdEI7QUFLQSxJQUFJa0Q7QUFBQTtBQUFBLEVBQW9DLFdBQVk7QUFDaEQsYUFBU0EsSUFBcUI7QUFBQSxJQUM5QjtBQUNBLFdBQUFBLEVBQW1CLFVBQVUsU0FBUyxTQUFVN0MsR0FBU2UsR0FBU1ksR0FBUTtBQUN0RSxVQUFJQyxJQUFjbkMsRUFBTSxlQUFlTyxDQUFPO0FBQzlDLFVBQUksR0FBQzRCLEtBQ0QsQ0FBQ2xDLEVBQW1Ca0MsQ0FBVyxLQUMvQjdCLEVBQW9CQyxDQUFPLElBRS9CO0FBQUEsWUFBSTRDLElBQWdCNUMsRUFBUSxTQUFTQyxDQUFpQixLQUFLMkIsRUFBWSxhQUFhLEdBQ2hGa0IsSUFBUWxCLEVBQVksVUFBVSxNQUFNQSxFQUFZLFNBQVMsTUFBTWdCO0FBQ25FLFFBQUFqQixFQUFPLElBQUlaLEdBQVNiLEdBQW1CNEMsQ0FBSztBQUFBO0FBQUEsSUFDaEQsR0FDQUQsRUFBbUIsVUFBVSxVQUFVLFNBQVU3QyxHQUFTZSxHQUFTQyxHQUFRO0FBQ3ZFLFVBQUlILElBQVNHLEVBQU8sSUFBSUQsR0FBU2IsQ0FBaUIsR0FDOUM2QyxJQUFZLE1BQU0sUUFBUWxDLENBQU0sSUFBSUEsRUFBTyxDQUFDLElBQUlBO0FBQ3BELFVBQUksT0FBT2tDLEtBQWM7QUFDckIsZUFBTy9DO0FBQ1gsVUFBSWdELElBQVFELEVBQVUsTUFBTVQsQ0FBZ0I7QUFDNUMsVUFBSSxDQUFDVTtBQUNELGVBQU9oRDtBQUNYLFVBQUlpRCxJQUFLcEIsRUFBT21CLEdBQU8sQ0FBQyxHQUFHRSxJQUFtQkQsRUFBRyxDQUFDLEdBQUc1QixJQUFTNEIsRUFBRyxDQUFDLEdBQUdMLElBQWdCSyxFQUFHLENBQUMsR0FDckY5QixJQUFVdUIsRUFBb0JRLENBQWdCO0FBQ2xELFVBQUksQ0FBQ3RELEVBQWV1QixDQUFPLEtBQUssQ0FBQ3RCLEVBQWN3QixDQUFNO0FBQ2pELGVBQU9yQjtBQUNYLFVBQUl5QixJQUFha0IsRUFBb0JDLENBQWE7QUFDbEQsYUFBSUEsTUFBa0JILE1BQ2xCekMsSUFBVUEsRUFBUSxTQUFTQyxHQUFtQjJDLENBQWEsSUFFeERuRCxFQUFNLGVBQWVPLEdBQVM7QUFBQSxRQUNqQyxTQUFTbUI7QUFBQSxRQUNULFFBQVFFO0FBQUEsUUFDUixVQUFVO0FBQUEsUUFDVixZQUFZSTtBQUFBLE1BQ2hCLENBQUM7QUFBQSxJQUNMLEdBQ0FvQixFQUFtQixVQUFVLFNBQVMsV0FBWTtBQUM5QyxhQUFPLENBQUMzQyxDQUFpQjtBQUFBLElBQzdCLEdBQ08yQztBQUFBLEVBQ1gsRUFBRTtBQUFBLEdBa0JFTTtBQUFBLENBQ0gsU0FBVUEsR0FBa0I7QUFDekIsRUFBQUEsRUFBaUJBLEVBQWlCLGdCQUFtQixDQUFDLElBQUksaUJBQzFEQSxFQUFpQkEsRUFBaUIsZUFBa0IsQ0FBQyxJQUFJO0FBQzdELEdBQUdBLE1BQXFCQSxJQUFtQixDQUFDLEVBQUU7QUF3QjlDLElBQUlDO0FBQUE7QUFBQSxFQUE4QixXQUFZO0FBQzFDLGFBQVNBLEVBQWFDLEdBQVE7QUFDMUIsTUFBSUEsTUFBVyxXQUFVQSxJQUFTLENBQUMsSUFDbkMsS0FBSyxxQkFBcUIsSUFBSTNCLEVBQWtCLEdBQ2hELEtBQUssc0JBQXNCLElBQUltQixFQUFtQixHQUM5Q1EsRUFBTyxtQkFBbUJGLEVBQWlCLGdCQUMzQyxLQUFLLFVBQVUsS0FBSyxtQkFBbUIsUUFDdkMsS0FBSyxVQUFVLEtBQUssbUJBQW1CLE9BQU8sTUFHOUMsS0FBSyxVQUFVLEtBQUssb0JBQW9CLFFBQ3hDLEtBQUssVUFBVSxLQUFLLG9CQUFvQixPQUFPO0FBQUEsSUFFdkQ7QUFDQSxXQUFBQyxFQUFhLFVBQVUsU0FBUyxTQUFVcEQsR0FBU2UsR0FBU1ksR0FBUTtBQUNoRSxNQUFJNUIsRUFBb0JDLENBQU8sS0FHL0IsS0FBSyxRQUFRQSxHQUFTZSxHQUFTWSxDQUFNO0FBQUEsSUFDekMsR0FDQXlCLEVBQWEsVUFBVSxVQUFVLFNBQVVwRCxHQUFTZSxHQUFTQyxHQUFRO0FBQ2pFLFVBQUlILElBQVNHLEVBQU8sSUFBSUQsR0FBU2IsQ0FBaUIsR0FDOUM2QyxJQUFZLE1BQU0sUUFBUWxDLENBQU0sSUFBSUEsRUFBTyxDQUFDLElBQUlBO0FBQ3BELGFBQUlrQyxJQUNPLEtBQUssb0JBQW9CLFFBQVEvQyxHQUFTZSxHQUFTQyxDQUFNLElBR3pELEtBQUssbUJBQW1CLFFBQVFoQixHQUFTZSxHQUFTQyxDQUFNO0FBQUEsSUFFdkUsR0FDQW9DLEVBQWEsVUFBVSxTQUFTLFdBQVk7QUFDeEMsYUFBTyxLQUFLO0FBQUEsSUFDaEIsR0FDT0E7QUFBQSxFQUNYLEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiY3JlYXRlQ29udGV4dEtleSIsICJ0cmFjZSIsICJpc1NwYW5Db250ZXh0VmFsaWQiLCAiVHJhY2VGbGFncyIsICJpc1ZhbGlkVHJhY2VJZCIsICJpc1ZhbGlkU3BhbklkIiwgIlNVUFBSRVNTX1RSQUNJTkdfS0VZIiwgImlzVHJhY2luZ1N1cHByZXNzZWQiLCAiY29udGV4dCIsICJCM19ERUJVR19GTEFHX0tFWSIsICJCM19DT05URVhUX0hFQURFUiIsICJYX0IzX1RSQUNFX0lEIiwgIlhfQjNfU1BBTl9JRCIsICJYX0IzX1NBTVBMRUQiLCAiWF9CM19QQVJFTlRfU1BBTl9JRCIsICJYX0IzX0ZMQUdTIiwgIlZBTElEX1NBTVBMRURfVkFMVUVTIiwgIlZBTElEX1VOU0FNUExFRF9WQUxVRVMiLCAiaXNWYWxpZFNhbXBsZWRWYWx1ZSIsICJzYW1wbGVkIiwgInBhcnNlSGVhZGVyIiwgImhlYWRlciIsICJnZXRIZWFkZXJWYWx1ZSIsICJjYXJyaWVyIiwgImdldHRlciIsICJrZXkiLCAiZ2V0VHJhY2VJZCIsICJ0cmFjZUlkIiwgImdldFNwYW5JZCIsICJzcGFuSWQiLCAiZ2V0RGVidWciLCAiZGVidWciLCAiZ2V0VHJhY2VGbGFncyIsICJ0cmFjZUZsYWdzIiwgIkIzTXVsdGlQcm9wYWdhdG9yIiwgInNldHRlciIsICJzcGFuQ29udGV4dCIsICJfX3JlYWQiLCAibyIsICJuIiwgIm0iLCAiaSIsICJyIiwgImFyIiwgImUiLCAiZXJyb3IiLCAiQjNfQ09OVEVYVF9SRUdFWCIsICJQQURESU5HIiwgIlNBTVBMRURfVkFMVUVTIiwgIkRFQlVHX1NUQVRFIiwgImNvbnZlcnRUb1RyYWNlSWQxMjgiLCAiY29udmVydFRvVHJhY2VGbGFncyIsICJzYW1wbGluZ1N0YXRlIiwgIkIzU2luZ2xlUHJvcGFnYXRvciIsICJ2YWx1ZSIsICJiM0NvbnRleHQiLCAibWF0Y2giLCAiX2EiLCAiZXh0cmFjdGVkVHJhY2VJZCIsICJCM0luamVjdEVuY29kaW5nIiwgIkIzUHJvcGFnYXRvciIsICJjb25maWciXQp9Cg==
|