@getopenpay/openpay-js 0.5.14 → 0.5.16
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-B-YLKMaU.js → ExportResult-BacsqwKA.js} +1 -1
- package/dist/{Resource-qJjZ52YV.js → Resource-CUhg8dEK.js} +6 -6
- package/dist/SimpleSpanProcessor-BtNzab2_.js +910 -0
- package/dist/_commonjsHelpers-CdLE1o9f.js +30 -0
- package/dist/detect-resources-6fNItMfQ.js +862 -0
- package/dist/{diag-api-CCLNzlUs.js → diag-api-BaoBTidT.js} +2 -2
- package/dist/index-2Dpi7rDE.js +127 -0
- package/dist/index-BkFKN09r.js +18 -0
- package/dist/index-BohOdvI5.js +6718 -0
- package/dist/index-Cb6WFqJj.js +1012 -0
- package/dist/index-CfhP31jP.js +147 -0
- package/dist/index-CmjNpx1j.js +1619 -0
- package/dist/index-CsjF5pDg.js +6 -0
- package/dist/index-Dcezwdcs.js +7000 -0
- package/dist/index-DhyFkarT.js +430 -0
- package/dist/index-t_WVTb5S.js +28 -0
- package/dist/index.d.ts +27 -2
- package/dist/index.es.js +2 -2
- package/dist/index.umd.js +40 -40
- package/dist/lifecycle-D1BdEbZs.js +119 -0
- package/dist/{metrics-api-DtBUlvdW.js → metrics-api-CsLzDvjo.js} +28 -28
- package/dist/sdk-info-ChuKu8zW.js +285 -0
- package/dist/suppress-tracing-Cu47NVB2.js +17 -0
- package/dist/url-CgnFZYDI.js +798 -0
- package/dist/utils-BJ1UAbM8.js +101 -0
- package/dist/utils-De78ey-v.js +12 -0
- package/dist/utils-Dius2V8g.js +270 -0
- package/package.json +4 -4
- package/dist/SimpleSpanProcessor-BwonVfHA.js +0 -957
- package/dist/_commonjsHelpers-f76XedMs.js +0 -25
- package/dist/detect-resources-Bi3A_QRE.js +0 -854
- package/dist/index-BIZrcIxl.js +0 -19
- package/dist/index-Bs_K1BID.js +0 -431
- package/dist/index-CRez6biP.js +0 -150
- package/dist/index-Cmp0890G.js +0 -1599
- package/dist/index-DCgcMBKE.js +0 -52
- package/dist/index-DDPV-DRN.js +0 -7040
- package/dist/index-SVnUIdm3.js +0 -130
- package/dist/index-UHBeywOG.js +0 -330
- package/dist/index-sp5MCjj0.js +0 -6685
- package/dist/index-wETKGbBW.js +0 -830
- package/dist/lifecycle-BjQ-7GLm.js +0 -119
- package/dist/sdk-info-Ved2vK62.js +0 -484
- package/dist/url-C-ZmHCbX.js +0 -797
- package/dist/utils-CX5YT7yI.js +0 -14
- package/dist/utils-DwFEBfnB.js +0 -142
- package/dist/utils-wV4fOQ_R.js +0 -381
|
@@ -0,0 +1,862 @@
|
|
|
1
|
+
import { g as V } from "./_commonjsHelpers-CdLE1o9f.js";
|
|
2
|
+
import { p as b, z as y, A as h, B as W, D as Q, C as j, E as J, F as w, G as X, H as k, I as q, J as $, K as x, L as Z, M as z, N as EE, O as SE, P as TE, Q as _E, R as AE, T as aE, U as RE, V as eE, W as sE, X as NE, Y as rE, Z as tE, $ as OE, a0 as ME, a1 as LE, a2 as CE, a3 as UE, a4 as DE, a5 as IE, a6 as nE, a7 as PE, a8 as iE, a9 as oE, aa as cE, ab as VE, ac as uE, ad as vE, ae as GE, af as dE, ag as lE, ah as YE, ai as BE, aj as HE, ak as bE, al as pE, am as mE, an as gE, ao as KE, ap as fE, aq as FE, ar as yE, as as hE, at as WE, au as QE, av as jE, aw as JE, ax as wE, ay as XE, az as kE, aA as qE, aB as $E, aC as xE, aD as ZE, aE as zE, aF as ES, aG as SS, aH as TS, aI as _S, aJ as AS, aK as aS, aL as RS, aM as eS, aN as sS, aO as NS, aP as rS, aQ as tS, aR as OS, aS as MS, aT as LS, aU as CS, aV as US, aW as DS, aX as IS, aY as nS, aZ as PS, a_ as iS, a$ as oS, b0 as cS, b1 as VS, b2 as uS, b3 as vS, b4 as GS, b5 as dS, b6 as lS, b7 as YS, b8 as BS, b9 as HS, ba as bS, bb as pS, bc as mS, bd as gS, be as KS, bf as fS, bg as FS, bh as yS, bi as hS, bj as WS, bk as QS, bl as jS, bm as JS, bn as wS, bo as XS, bp as kS, bq as qS, br as $S, bs as xS, bt as ZS, bu as zS, bv as ET, bw as ST, bx as TT, by as _T, bz as AT, bA as aT, bB as RT, bC as eT, bD as sT, bE as NT, bF as rT, bG as tT, bH as OT, bI as MT, bJ as LT, bK as CT, bL as UT, bM as DT, bN as IT, bO as nT, bP as PT, bQ as iT, bR as oT, bS as cT, bT as VT, bU as uT, bV as vT, bW as GT, bX as dT, bY as lT, bZ as YT, b_ as BT, b$ as HT, c0 as bT, c1 as pT, c2 as mT, c3 as gT, c4 as KT, c5 as fT, c6 as FT, c7 as yT, c8 as hT, c9 as WT, ca as QT, cb as jT, cc as JT, cd as wT, ce as XT, cf as kT, cg as qT, ch as $T, ci as xT, cj as ZT, ck as zT, cl as E_, cm as S_, cn as T_, co as __, cp as A_, cq as a_, cr as R_, cs as e_, ct as s_, cu as N_, cv as r_, cw as t_, cx as O_, cy as M_, cz as L_, cA as C_, cB as U_, cC as D_, cD as I_, cE as n_, cF as P_, cG as i_, w as o_, x as c_, v as V_, cH as u_, cI as v_, cJ as G_, cK as d_, cL as l_, cM as Y_, cN as B_, cO as H_, cP as b_, cQ as p_, cR as m_, cS as g_, cT as K_, cU as f_, c as F_, f as y_, cV as h_, k as W_, S as Q_, a as j_, cW as J_, d as w_, cX as X_, b as k_, cY as q_, g as $_, e as x_, cZ as Z_, c_ as z_, c$ as EA, d0 as SA, d1 as TA, d2 as _A, d3 as AA, d4 as aA, d5 as RA, d6 as eA, d7 as sA, d8 as NA, d9 as rA, da as tA, db as OA, dc as MA, dd as LA, de as CA, df as UA, dg as DA, dh as IA, di as nA, dj as PA, dk as iA, dl as oA, dm as cA, dn as VA, dp as uA, dq as vA, dr as GA, ds as dA, dt as lA, du as YA, dv as BA, dw as HA, dx as bA, dy as pA, dz as mA, dA as gA, dB as KA, dC as fA, dD as FA, dE as yA, dF as hA, dG as WA, dH as QA, dI as jA, dJ as JA } from "./url-CgnFZYDI.js";
|
|
3
|
+
import { t as p, a as m, f as wA, h as XA, I as kA, j as qA, P as $A, k as xA, R as ZA, S as zA, e as Ea, T as Sa, c as Ta, i as _a, d as Aa, b as aa } from "./index-Dcezwdcs.js";
|
|
4
|
+
import { m as g, c as Ra } from "./metrics-api-CsLzDvjo.js";
|
|
5
|
+
import { S as ea, f as sa } from "./index-Cb6WFqJj.js";
|
|
6
|
+
import { d as K } from "./diag-api-BaoBTidT.js";
|
|
7
|
+
import { A as Na, e as ra, f as ta, C as Oa, g as Ma, h as La, i as Ca, j as Ua, k as Da, l as Ia, m as na, n as Pa, o as ia, p as oa, q as ca, r as Va, s as ua, t as va, u as Ga, v as da, w as la, x as Ya, y as Ba, z as Ha, B as ba, D as pa, H as ma, E as ga, F as Ka, G as fa, I as Fa, J as ya, K as ha, L as Wa, O as Qa, M as ja, N as Ja, P as wa, Q as Xa, R as ka, T as qa, U as $a, V as xa, W as Za, X as za, Y as ER, Z as SR, _ as TR, $ as _R, a0 as AR, a1 as aR, a2 as RR, a3 as eR, a4 as sR, a5 as NR, a6 as rR, a7 as tR, a8 as OR, a9 as MR, aa as LR, ab as CR, ac as UR, ad as DR, ae as IR, af as nR, ag as PR, ah as iR, ai as oR, aj as cR, ak as VR, al as uR, am as vR, an as GR, ao as dR, ap as lR, aq as YR, ar as BR, as as HR, at as bR, au as pR, av as mR, aw as gR, ax as KR, ay as fR, az as FR, aA as yR, aB as hR, aC as WR, aD as QR, aE as jR, aF as JR, aG as wR, aH as XR, aI as kR, aJ as qR, aK as $R, aL as xR, aM as ZR, aN as zR, aO as Ee, aP as Se, aQ as Te, aR as _e, aS as Ae, aT as ae, aU as Re, aV as ee, aW as se, aX as Ne, aY as re, aZ as te, a_ as Oe, a$ as Me, b0 as Le, b1 as Ce, b2 as Ue, b3 as De, S as Ie, b4 as ne, b5 as Pe, b6 as ie, b as oe, c as ce, d as Ve, b7 as ue, b8 as ve, b9 as Ge, ba as de, bb as le, bc as Ye, bd as Be, be as He, bf as be, bg as pe, bh as me, bi as ge, bj as Ke, bk as fe, bl as Fe } from "./sdk-info-ChuKu8zW.js";
|
|
8
|
+
function ye(E, S) {
|
|
9
|
+
for (var _ = 0; _ < S.length; _++) {
|
|
10
|
+
const A = S[_];
|
|
11
|
+
if (typeof A != "string" && !Array.isArray(A)) {
|
|
12
|
+
for (const R in A)
|
|
13
|
+
if (R !== "default" && !(R in E)) {
|
|
14
|
+
const N = Object.getOwnPropertyDescriptor(A, R);
|
|
15
|
+
N && Object.defineProperty(E, R, N.get ? N : {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
get: () => A[R]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return Object.freeze(Object.defineProperty(E, Symbol.toStringTag, { value: "Module" }));
|
|
23
|
+
}
|
|
24
|
+
var P = [
|
|
25
|
+
{ n: "error", c: "error" },
|
|
26
|
+
{ n: "warn", c: "warn" },
|
|
27
|
+
{ n: "info", c: "info" },
|
|
28
|
+
{ n: "debug", c: "debug" },
|
|
29
|
+
{ n: "verbose", c: "trace" }
|
|
30
|
+
], he = (
|
|
31
|
+
/** @class */
|
|
32
|
+
/* @__PURE__ */ (function() {
|
|
33
|
+
function E() {
|
|
34
|
+
function S(A) {
|
|
35
|
+
return function() {
|
|
36
|
+
for (var R = [], N = 0; N < arguments.length; N++)
|
|
37
|
+
R[N] = arguments[N];
|
|
38
|
+
if (console) {
|
|
39
|
+
var T = console[A];
|
|
40
|
+
if (typeof T != "function" && (T = console.log), typeof T == "function")
|
|
41
|
+
return T.apply(console, R);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
for (var _ = 0; _ < P.length; _++)
|
|
46
|
+
this[P[_].n] = S(P[_].c);
|
|
47
|
+
}
|
|
48
|
+
return E;
|
|
49
|
+
})()
|
|
50
|
+
), o;
|
|
51
|
+
(function(E) {
|
|
52
|
+
E[E.INT = 0] = "INT", E[E.DOUBLE = 1] = "DOUBLE";
|
|
53
|
+
})(o || (o = {}));
|
|
54
|
+
var c = "[_0-9a-z-*/]", We = "[a-z]" + c + "{0,255}", Qe = "[a-z0-9]" + c + "{0,240}@[a-z]" + c + "{0,13}", je = new RegExp("^(?:" + We + "|" + Qe + ")$"), Je = /^[ -~]{0,255}[!-~]$/, we = /,|=/;
|
|
55
|
+
function Xe(E) {
|
|
56
|
+
return je.test(E);
|
|
57
|
+
}
|
|
58
|
+
function ke(E) {
|
|
59
|
+
return Je.test(E) && !we.test(E);
|
|
60
|
+
}
|
|
61
|
+
var u = 32, qe = 512, v = ",", G = "=", $e = (
|
|
62
|
+
/** @class */
|
|
63
|
+
(function() {
|
|
64
|
+
function E(S) {
|
|
65
|
+
this._internalState = /* @__PURE__ */ new Map(), S && this._parse(S);
|
|
66
|
+
}
|
|
67
|
+
return E.prototype.set = function(S, _) {
|
|
68
|
+
var A = this._clone();
|
|
69
|
+
return A._internalState.has(S) && A._internalState.delete(S), A._internalState.set(S, _), A;
|
|
70
|
+
}, E.prototype.unset = function(S) {
|
|
71
|
+
var _ = this._clone();
|
|
72
|
+
return _._internalState.delete(S), _;
|
|
73
|
+
}, E.prototype.get = function(S) {
|
|
74
|
+
return this._internalState.get(S);
|
|
75
|
+
}, E.prototype.serialize = function() {
|
|
76
|
+
var S = this;
|
|
77
|
+
return this._keys().reduce(function(_, A) {
|
|
78
|
+
return _.push(A + G + S.get(A)), _;
|
|
79
|
+
}, []).join(v);
|
|
80
|
+
}, E.prototype._parse = function(S) {
|
|
81
|
+
S.length > qe || (this._internalState = S.split(v).reverse().reduce(function(_, A) {
|
|
82
|
+
var R = A.trim(), N = R.indexOf(G);
|
|
83
|
+
if (N !== -1) {
|
|
84
|
+
var T = R.slice(0, N), a = R.slice(N + 1, A.length);
|
|
85
|
+
Xe(T) && ke(a) && _.set(T, a);
|
|
86
|
+
}
|
|
87
|
+
return _;
|
|
88
|
+
}, /* @__PURE__ */ new Map()), this._internalState.size > u && (this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, u))));
|
|
89
|
+
}, E.prototype._keys = function() {
|
|
90
|
+
return Array.from(this._internalState.keys()).reverse();
|
|
91
|
+
}, E.prototype._clone = function() {
|
|
92
|
+
var S = new E();
|
|
93
|
+
return S._internalState = new Map(this._internalState), S;
|
|
94
|
+
}, E;
|
|
95
|
+
})()
|
|
96
|
+
);
|
|
97
|
+
function xe(E) {
|
|
98
|
+
return new $e(E);
|
|
99
|
+
}
|
|
100
|
+
const Ze = {
|
|
101
|
+
context: m,
|
|
102
|
+
diag: K,
|
|
103
|
+
metrics: g,
|
|
104
|
+
propagation: b,
|
|
105
|
+
trace: p
|
|
106
|
+
}, ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
107
|
+
__proto__: null,
|
|
108
|
+
DiagConsoleLogger: he,
|
|
109
|
+
get DiagLogLevel() {
|
|
110
|
+
return wA;
|
|
111
|
+
},
|
|
112
|
+
INVALID_SPANID: XA,
|
|
113
|
+
INVALID_SPAN_CONTEXT: kA,
|
|
114
|
+
INVALID_TRACEID: qA,
|
|
115
|
+
ProxyTracer: $A,
|
|
116
|
+
ProxyTracerProvider: xA,
|
|
117
|
+
ROOT_CONTEXT: ZA,
|
|
118
|
+
get SamplingDecision() {
|
|
119
|
+
return ea;
|
|
120
|
+
},
|
|
121
|
+
get SpanKind() {
|
|
122
|
+
return zA;
|
|
123
|
+
},
|
|
124
|
+
get SpanStatusCode() {
|
|
125
|
+
return Ea;
|
|
126
|
+
},
|
|
127
|
+
get TraceFlags() {
|
|
128
|
+
return Sa;
|
|
129
|
+
},
|
|
130
|
+
get ValueType() {
|
|
131
|
+
return o;
|
|
132
|
+
},
|
|
133
|
+
baggageEntryMetadataFromString: y,
|
|
134
|
+
context: m,
|
|
135
|
+
createContextKey: Ta,
|
|
136
|
+
createNoopMeter: Ra,
|
|
137
|
+
createTraceState: xe,
|
|
138
|
+
default: Ze,
|
|
139
|
+
defaultTextMapGetter: h,
|
|
140
|
+
defaultTextMapSetter: W,
|
|
141
|
+
diag: K,
|
|
142
|
+
isSpanContextValid: _a,
|
|
143
|
+
isValidSpanId: Aa,
|
|
144
|
+
isValidTraceId: aa,
|
|
145
|
+
metrics: g,
|
|
146
|
+
propagation: b,
|
|
147
|
+
trace: p
|
|
148
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
149
|
+
var Es = "aspnetcore.rate_limiting.result", Ss = "acquired", Ts = "endpoint_limiter", _s = "global_limiter", As = "request_canceled", as = "telemetry.sdk.language", Rs = "cpp", es = "dotnet", ss = "erlang", Ns = "go", rs = "java", ts = "nodejs", Os = "php", Ms = "python", Ls = "ruby", Cs = "rust", Us = "swift", Ds = "webjs", Is = "telemetry.sdk.name", ns = "telemetry.sdk.version", Ps = "aspnetcore.diagnostics.handler.type", is = "aspnetcore.diagnostics.exception.result", os = "aborted", cs = "handled", Vs = "skipped", us = "unhandled", vs = "aspnetcore.rate_limiting.policy", Gs = "aspnetcore.request.is_unhandled", ds = "aspnetcore.routing.is_fallback", ls = "aspnetcore.routing.match_status", Ys = "failure", Bs = "success", Hs = "client.address", bs = "client.port", ps = "error.type", ms = "_OTHER", gs = "exception.escaped", Ks = "exception.message", fs = "exception.stacktrace", Fs = "exception.type", ys = function(E) {
|
|
150
|
+
return "http.request.header." + E;
|
|
151
|
+
}, hs = "http.request.method", Ws = "_OTHER", Qs = "CONNECT", js = "DELETE", Js = "GET", ws = "HEAD", Xs = "OPTIONS", ks = "PATCH", qs = "POST", $s = "PUT", xs = "TRACE", Zs = "http.request.method_original", zs = "http.request.resend_count", EN = function(E) {
|
|
152
|
+
return "http.response.header." + E;
|
|
153
|
+
}, SN = "http.response.status_code", TN = "http.route", _N = "jvm.gc.action", AN = "jvm.gc.name", aN = "jvm.memory.pool.name", RN = "jvm.memory.type", eN = "heap", sN = "non_heap", NN = "jvm.thread.daemon", rN = "jvm.thread.state", tN = "blocked", ON = "new", MN = "runnable", LN = "terminated", CN = "timed_waiting", UN = "waiting", DN = "network.local.address", IN = "network.local.port", nN = "network.peer.address", PN = "network.peer.port", iN = "network.protocol.name", oN = "network.protocol.version", cN = "network.transport", VN = "pipe", uN = "quic", vN = "tcp", GN = "udp", dN = "unix", lN = "network.type", YN = "ipv4", BN = "ipv6", HN = "otel.scope.name", bN = "otel.scope.version", pN = "otel.status_code", mN = "ERROR", gN = "OK", KN = "otel.status_description", fN = "server.address", FN = "server.port", yN = "service.name", hN = "service.version", WN = "signalr.connection.status", QN = "app_shutdown", jN = "normal_closure", JN = "timeout", wN = "signalr.transport", XN = "long_polling", kN = "server_sent_events", qN = "web_sockets", $N = "url.fragment", xN = "url.full", ZN = "url.path", zN = "url.query", Er = "url.scheme", Sr = "user_agent.original", Tr = "aspnetcore.diagnostics.exceptions", _r = "aspnetcore.rate_limiting.active_request_leases", Ar = "aspnetcore.rate_limiting.queued_requests", ar = "aspnetcore.rate_limiting.request.time_in_queue", Rr = "aspnetcore.rate_limiting.request_lease.duration", er = "aspnetcore.rate_limiting.requests", sr = "aspnetcore.routing.match_attempts", Nr = "http.client.request.duration", rr = "http.server.request.duration", tr = "jvm.class.count", Or = "jvm.class.loaded", Mr = "jvm.class.unloaded", Lr = "jvm.cpu.count", Cr = "jvm.cpu.recent_utilization", Ur = "jvm.cpu.time", Dr = "jvm.gc.duration", Ir = "jvm.memory.committed", nr = "jvm.memory.limit", Pr = "jvm.memory.used", ir = "jvm.memory.used_after_last_gc", or = "jvm.thread.count", cr = "kestrel.active_connections", Vr = "kestrel.active_tls_handshakes", ur = "kestrel.connection.duration", vr = "kestrel.queued_connections", Gr = "kestrel.queued_requests", dr = "kestrel.rejected_connections", lr = "kestrel.tls_handshake.duration", Yr = "kestrel.upgraded_connections", Br = "signalr.server.active_connections", Hr = "signalr.server.connection.duration";
|
|
154
|
+
const br = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
155
|
+
__proto__: null,
|
|
156
|
+
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED: os,
|
|
157
|
+
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED: cs,
|
|
158
|
+
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED: Vs,
|
|
159
|
+
ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED: us,
|
|
160
|
+
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED: Ss,
|
|
161
|
+
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER: Ts,
|
|
162
|
+
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER: _s,
|
|
163
|
+
ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED: As,
|
|
164
|
+
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE: Ys,
|
|
165
|
+
ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS: Bs,
|
|
166
|
+
ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT: is,
|
|
167
|
+
ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE: Ps,
|
|
168
|
+
ATTR_ASPNETCORE_RATE_LIMITING_POLICY: vs,
|
|
169
|
+
ATTR_ASPNETCORE_RATE_LIMITING_RESULT: Es,
|
|
170
|
+
ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED: Gs,
|
|
171
|
+
ATTR_ASPNETCORE_ROUTING_IS_FALLBACK: ds,
|
|
172
|
+
ATTR_ASPNETCORE_ROUTING_MATCH_STATUS: ls,
|
|
173
|
+
ATTR_CLIENT_ADDRESS: Hs,
|
|
174
|
+
ATTR_CLIENT_PORT: bs,
|
|
175
|
+
ATTR_ERROR_TYPE: ps,
|
|
176
|
+
ATTR_EXCEPTION_ESCAPED: gs,
|
|
177
|
+
ATTR_EXCEPTION_MESSAGE: Ks,
|
|
178
|
+
ATTR_EXCEPTION_STACKTRACE: fs,
|
|
179
|
+
ATTR_EXCEPTION_TYPE: Fs,
|
|
180
|
+
ATTR_HTTP_REQUEST_HEADER: ys,
|
|
181
|
+
ATTR_HTTP_REQUEST_METHOD: hs,
|
|
182
|
+
ATTR_HTTP_REQUEST_METHOD_ORIGINAL: Zs,
|
|
183
|
+
ATTR_HTTP_REQUEST_RESEND_COUNT: zs,
|
|
184
|
+
ATTR_HTTP_RESPONSE_HEADER: EN,
|
|
185
|
+
ATTR_HTTP_RESPONSE_STATUS_CODE: SN,
|
|
186
|
+
ATTR_HTTP_ROUTE: TN,
|
|
187
|
+
ATTR_JVM_GC_ACTION: _N,
|
|
188
|
+
ATTR_JVM_GC_NAME: AN,
|
|
189
|
+
ATTR_JVM_MEMORY_POOL_NAME: aN,
|
|
190
|
+
ATTR_JVM_MEMORY_TYPE: RN,
|
|
191
|
+
ATTR_JVM_THREAD_DAEMON: NN,
|
|
192
|
+
ATTR_JVM_THREAD_STATE: rN,
|
|
193
|
+
ATTR_NETWORK_LOCAL_ADDRESS: DN,
|
|
194
|
+
ATTR_NETWORK_LOCAL_PORT: IN,
|
|
195
|
+
ATTR_NETWORK_PEER_ADDRESS: nN,
|
|
196
|
+
ATTR_NETWORK_PEER_PORT: PN,
|
|
197
|
+
ATTR_NETWORK_PROTOCOL_NAME: iN,
|
|
198
|
+
ATTR_NETWORK_PROTOCOL_VERSION: oN,
|
|
199
|
+
ATTR_NETWORK_TRANSPORT: cN,
|
|
200
|
+
ATTR_NETWORK_TYPE: lN,
|
|
201
|
+
ATTR_OTEL_SCOPE_NAME: HN,
|
|
202
|
+
ATTR_OTEL_SCOPE_VERSION: bN,
|
|
203
|
+
ATTR_OTEL_STATUS_CODE: pN,
|
|
204
|
+
ATTR_OTEL_STATUS_DESCRIPTION: KN,
|
|
205
|
+
ATTR_SERVER_ADDRESS: fN,
|
|
206
|
+
ATTR_SERVER_PORT: FN,
|
|
207
|
+
ATTR_SERVICE_NAME: yN,
|
|
208
|
+
ATTR_SERVICE_VERSION: hN,
|
|
209
|
+
ATTR_SIGNALR_CONNECTION_STATUS: WN,
|
|
210
|
+
ATTR_SIGNALR_TRANSPORT: wN,
|
|
211
|
+
ATTR_TELEMETRY_SDK_LANGUAGE: as,
|
|
212
|
+
ATTR_TELEMETRY_SDK_NAME: Is,
|
|
213
|
+
ATTR_TELEMETRY_SDK_VERSION: ns,
|
|
214
|
+
ATTR_URL_FRAGMENT: $N,
|
|
215
|
+
ATTR_URL_FULL: xN,
|
|
216
|
+
ATTR_URL_PATH: ZN,
|
|
217
|
+
ATTR_URL_QUERY: zN,
|
|
218
|
+
ATTR_URL_SCHEME: Er,
|
|
219
|
+
ATTR_USER_AGENT_ORIGINAL: Sr,
|
|
220
|
+
AWSECSLAUNCHTYPEVALUES_EC2: Na,
|
|
221
|
+
AWSECSLAUNCHTYPEVALUES_FARGATE: ra,
|
|
222
|
+
AwsEcsLaunchtypeValues: ta,
|
|
223
|
+
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS: Oa,
|
|
224
|
+
CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC: Ma,
|
|
225
|
+
CLOUDPLATFORMVALUES_AWS_EC2: La,
|
|
226
|
+
CLOUDPLATFORMVALUES_AWS_ECS: Ca,
|
|
227
|
+
CLOUDPLATFORMVALUES_AWS_EKS: Ua,
|
|
228
|
+
CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK: Da,
|
|
229
|
+
CLOUDPLATFORMVALUES_AWS_LAMBDA: Ia,
|
|
230
|
+
CLOUDPLATFORMVALUES_AZURE_AKS: na,
|
|
231
|
+
CLOUDPLATFORMVALUES_AZURE_APP_SERVICE: Pa,
|
|
232
|
+
CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES: ia,
|
|
233
|
+
CLOUDPLATFORMVALUES_AZURE_FUNCTIONS: oa,
|
|
234
|
+
CLOUDPLATFORMVALUES_AZURE_VM: ca,
|
|
235
|
+
CLOUDPLATFORMVALUES_GCP_APP_ENGINE: Va,
|
|
236
|
+
CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS: ua,
|
|
237
|
+
CLOUDPLATFORMVALUES_GCP_CLOUD_RUN: va,
|
|
238
|
+
CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE: Ga,
|
|
239
|
+
CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE: da,
|
|
240
|
+
CLOUDPROVIDERVALUES_ALIBABA_CLOUD: la,
|
|
241
|
+
CLOUDPROVIDERVALUES_AWS: Ya,
|
|
242
|
+
CLOUDPROVIDERVALUES_AZURE: Ba,
|
|
243
|
+
CLOUDPROVIDERVALUES_GCP: Ha,
|
|
244
|
+
CloudPlatformValues: ba,
|
|
245
|
+
CloudProviderValues: pa,
|
|
246
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_ALL: Q,
|
|
247
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_ANY: j,
|
|
248
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM: J,
|
|
249
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE: w,
|
|
250
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM: X,
|
|
251
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL: k,
|
|
252
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_ONE: q,
|
|
253
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM: $,
|
|
254
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL: x,
|
|
255
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_THREE: Z,
|
|
256
|
+
DBCASSANDRACONSISTENCYLEVELVALUES_TWO: z,
|
|
257
|
+
DBSYSTEMVALUES_ADABAS: EE,
|
|
258
|
+
DBSYSTEMVALUES_CACHE: SE,
|
|
259
|
+
DBSYSTEMVALUES_CASSANDRA: TE,
|
|
260
|
+
DBSYSTEMVALUES_CLOUDSCAPE: _E,
|
|
261
|
+
DBSYSTEMVALUES_COCKROACHDB: AE,
|
|
262
|
+
DBSYSTEMVALUES_COLDFUSION: aE,
|
|
263
|
+
DBSYSTEMVALUES_COSMOSDB: RE,
|
|
264
|
+
DBSYSTEMVALUES_COUCHBASE: eE,
|
|
265
|
+
DBSYSTEMVALUES_COUCHDB: sE,
|
|
266
|
+
DBSYSTEMVALUES_DB2: NE,
|
|
267
|
+
DBSYSTEMVALUES_DERBY: rE,
|
|
268
|
+
DBSYSTEMVALUES_DYNAMODB: tE,
|
|
269
|
+
DBSYSTEMVALUES_EDB: OE,
|
|
270
|
+
DBSYSTEMVALUES_ELASTICSEARCH: ME,
|
|
271
|
+
DBSYSTEMVALUES_FILEMAKER: LE,
|
|
272
|
+
DBSYSTEMVALUES_FIREBIRD: CE,
|
|
273
|
+
DBSYSTEMVALUES_FIRSTSQL: UE,
|
|
274
|
+
DBSYSTEMVALUES_GEODE: DE,
|
|
275
|
+
DBSYSTEMVALUES_H2: IE,
|
|
276
|
+
DBSYSTEMVALUES_HANADB: nE,
|
|
277
|
+
DBSYSTEMVALUES_HBASE: PE,
|
|
278
|
+
DBSYSTEMVALUES_HIVE: iE,
|
|
279
|
+
DBSYSTEMVALUES_HSQLDB: oE,
|
|
280
|
+
DBSYSTEMVALUES_INFORMIX: cE,
|
|
281
|
+
DBSYSTEMVALUES_INGRES: VE,
|
|
282
|
+
DBSYSTEMVALUES_INSTANTDB: uE,
|
|
283
|
+
DBSYSTEMVALUES_INTERBASE: vE,
|
|
284
|
+
DBSYSTEMVALUES_MARIADB: GE,
|
|
285
|
+
DBSYSTEMVALUES_MAXDB: dE,
|
|
286
|
+
DBSYSTEMVALUES_MEMCACHED: lE,
|
|
287
|
+
DBSYSTEMVALUES_MONGODB: YE,
|
|
288
|
+
DBSYSTEMVALUES_MSSQL: BE,
|
|
289
|
+
DBSYSTEMVALUES_MYSQL: HE,
|
|
290
|
+
DBSYSTEMVALUES_NEO4J: bE,
|
|
291
|
+
DBSYSTEMVALUES_NETEZZA: pE,
|
|
292
|
+
DBSYSTEMVALUES_ORACLE: mE,
|
|
293
|
+
DBSYSTEMVALUES_OTHER_SQL: gE,
|
|
294
|
+
DBSYSTEMVALUES_PERVASIVE: KE,
|
|
295
|
+
DBSYSTEMVALUES_POINTBASE: fE,
|
|
296
|
+
DBSYSTEMVALUES_POSTGRESQL: FE,
|
|
297
|
+
DBSYSTEMVALUES_PROGRESS: yE,
|
|
298
|
+
DBSYSTEMVALUES_REDIS: hE,
|
|
299
|
+
DBSYSTEMVALUES_REDSHIFT: WE,
|
|
300
|
+
DBSYSTEMVALUES_SQLITE: QE,
|
|
301
|
+
DBSYSTEMVALUES_SYBASE: jE,
|
|
302
|
+
DBSYSTEMVALUES_TERADATA: JE,
|
|
303
|
+
DBSYSTEMVALUES_VERTICA: wE,
|
|
304
|
+
DbCassandraConsistencyLevelValues: XE,
|
|
305
|
+
DbSystemValues: kE,
|
|
306
|
+
ERROR_TYPE_VALUE_OTHER: ms,
|
|
307
|
+
FAASDOCUMENTOPERATIONVALUES_DELETE: qE,
|
|
308
|
+
FAASDOCUMENTOPERATIONVALUES_EDIT: $E,
|
|
309
|
+
FAASDOCUMENTOPERATIONVALUES_INSERT: xE,
|
|
310
|
+
FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD: ZE,
|
|
311
|
+
FAASINVOKEDPROVIDERVALUES_AWS: zE,
|
|
312
|
+
FAASINVOKEDPROVIDERVALUES_AZURE: ES,
|
|
313
|
+
FAASINVOKEDPROVIDERVALUES_GCP: SS,
|
|
314
|
+
FAASTRIGGERVALUES_DATASOURCE: TS,
|
|
315
|
+
FAASTRIGGERVALUES_HTTP: _S,
|
|
316
|
+
FAASTRIGGERVALUES_OTHER: AS,
|
|
317
|
+
FAASTRIGGERVALUES_PUBSUB: aS,
|
|
318
|
+
FAASTRIGGERVALUES_TIMER: RS,
|
|
319
|
+
FaasDocumentOperationValues: eS,
|
|
320
|
+
FaasInvokedProviderValues: sS,
|
|
321
|
+
FaasTriggerValues: NS,
|
|
322
|
+
HOSTARCHVALUES_AMD64: ma,
|
|
323
|
+
HOSTARCHVALUES_ARM32: ga,
|
|
324
|
+
HOSTARCHVALUES_ARM64: Ka,
|
|
325
|
+
HOSTARCHVALUES_IA64: fa,
|
|
326
|
+
HOSTARCHVALUES_PPC32: Fa,
|
|
327
|
+
HOSTARCHVALUES_PPC64: ya,
|
|
328
|
+
HOSTARCHVALUES_X86: ha,
|
|
329
|
+
HTTPFLAVORVALUES_HTTP_1_0: rS,
|
|
330
|
+
HTTPFLAVORVALUES_HTTP_1_1: tS,
|
|
331
|
+
HTTPFLAVORVALUES_HTTP_2_0: OS,
|
|
332
|
+
HTTPFLAVORVALUES_QUIC: MS,
|
|
333
|
+
HTTPFLAVORVALUES_SPDY: LS,
|
|
334
|
+
HTTP_REQUEST_METHOD_VALUE_CONNECT: Qs,
|
|
335
|
+
HTTP_REQUEST_METHOD_VALUE_DELETE: js,
|
|
336
|
+
HTTP_REQUEST_METHOD_VALUE_GET: Js,
|
|
337
|
+
HTTP_REQUEST_METHOD_VALUE_HEAD: ws,
|
|
338
|
+
HTTP_REQUEST_METHOD_VALUE_OPTIONS: Xs,
|
|
339
|
+
HTTP_REQUEST_METHOD_VALUE_OTHER: Ws,
|
|
340
|
+
HTTP_REQUEST_METHOD_VALUE_PATCH: ks,
|
|
341
|
+
HTTP_REQUEST_METHOD_VALUE_POST: qs,
|
|
342
|
+
HTTP_REQUEST_METHOD_VALUE_PUT: $s,
|
|
343
|
+
HTTP_REQUEST_METHOD_VALUE_TRACE: xs,
|
|
344
|
+
HostArchValues: Wa,
|
|
345
|
+
HttpFlavorValues: CS,
|
|
346
|
+
JVM_MEMORY_TYPE_VALUE_HEAP: eN,
|
|
347
|
+
JVM_MEMORY_TYPE_VALUE_NON_HEAP: sN,
|
|
348
|
+
JVM_THREAD_STATE_VALUE_BLOCKED: tN,
|
|
349
|
+
JVM_THREAD_STATE_VALUE_NEW: ON,
|
|
350
|
+
JVM_THREAD_STATE_VALUE_RUNNABLE: MN,
|
|
351
|
+
JVM_THREAD_STATE_VALUE_TERMINATED: LN,
|
|
352
|
+
JVM_THREAD_STATE_VALUE_TIMED_WAITING: CN,
|
|
353
|
+
JVM_THREAD_STATE_VALUE_WAITING: UN,
|
|
354
|
+
MESSAGETYPEVALUES_RECEIVED: US,
|
|
355
|
+
MESSAGETYPEVALUES_SENT: DS,
|
|
356
|
+
MESSAGINGDESTINATIONKINDVALUES_QUEUE: IS,
|
|
357
|
+
MESSAGINGDESTINATIONKINDVALUES_TOPIC: nS,
|
|
358
|
+
MESSAGINGOPERATIONVALUES_PROCESS: PS,
|
|
359
|
+
MESSAGINGOPERATIONVALUES_RECEIVE: iS,
|
|
360
|
+
METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS: Tr,
|
|
361
|
+
METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES: _r,
|
|
362
|
+
METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS: Ar,
|
|
363
|
+
METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS: er,
|
|
364
|
+
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION: Rr,
|
|
365
|
+
METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE: ar,
|
|
366
|
+
METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS: sr,
|
|
367
|
+
METRIC_HTTP_CLIENT_REQUEST_DURATION: Nr,
|
|
368
|
+
METRIC_HTTP_SERVER_REQUEST_DURATION: rr,
|
|
369
|
+
METRIC_JVM_CLASS_COUNT: tr,
|
|
370
|
+
METRIC_JVM_CLASS_LOADED: Or,
|
|
371
|
+
METRIC_JVM_CLASS_UNLOADED: Mr,
|
|
372
|
+
METRIC_JVM_CPU_COUNT: Lr,
|
|
373
|
+
METRIC_JVM_CPU_RECENT_UTILIZATION: Cr,
|
|
374
|
+
METRIC_JVM_CPU_TIME: Ur,
|
|
375
|
+
METRIC_JVM_GC_DURATION: Dr,
|
|
376
|
+
METRIC_JVM_MEMORY_COMMITTED: Ir,
|
|
377
|
+
METRIC_JVM_MEMORY_LIMIT: nr,
|
|
378
|
+
METRIC_JVM_MEMORY_USED: Pr,
|
|
379
|
+
METRIC_JVM_MEMORY_USED_AFTER_LAST_GC: ir,
|
|
380
|
+
METRIC_JVM_THREAD_COUNT: or,
|
|
381
|
+
METRIC_KESTREL_ACTIVE_CONNECTIONS: cr,
|
|
382
|
+
METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES: Vr,
|
|
383
|
+
METRIC_KESTREL_CONNECTION_DURATION: ur,
|
|
384
|
+
METRIC_KESTREL_QUEUED_CONNECTIONS: vr,
|
|
385
|
+
METRIC_KESTREL_QUEUED_REQUESTS: Gr,
|
|
386
|
+
METRIC_KESTREL_REJECTED_CONNECTIONS: dr,
|
|
387
|
+
METRIC_KESTREL_TLS_HANDSHAKE_DURATION: lr,
|
|
388
|
+
METRIC_KESTREL_UPGRADED_CONNECTIONS: Yr,
|
|
389
|
+
METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS: Br,
|
|
390
|
+
METRIC_SIGNALR_SERVER_CONNECTION_DURATION: Hr,
|
|
391
|
+
MessageTypeValues: oS,
|
|
392
|
+
MessagingDestinationKindValues: cS,
|
|
393
|
+
MessagingOperationValues: VS,
|
|
394
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA: uS,
|
|
395
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT: vS,
|
|
396
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_EDGE: GS,
|
|
397
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD: dS,
|
|
398
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0: lS,
|
|
399
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A: YS,
|
|
400
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B: BS,
|
|
401
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_GPRS: HS,
|
|
402
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_GSM: bS,
|
|
403
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA: pS,
|
|
404
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_HSPA: mS,
|
|
405
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP: gS,
|
|
406
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA: KS,
|
|
407
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_IDEN: fS,
|
|
408
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN: FS,
|
|
409
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_LTE: yS,
|
|
410
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA: hS,
|
|
411
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_NR: WS,
|
|
412
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA: QS,
|
|
413
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA: jS,
|
|
414
|
+
NETHOSTCONNECTIONSUBTYPEVALUES_UMTS: JS,
|
|
415
|
+
NETHOSTCONNECTIONTYPEVALUES_CELL: wS,
|
|
416
|
+
NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE: XS,
|
|
417
|
+
NETHOSTCONNECTIONTYPEVALUES_UNKNOWN: kS,
|
|
418
|
+
NETHOSTCONNECTIONTYPEVALUES_WIFI: qS,
|
|
419
|
+
NETHOSTCONNECTIONTYPEVALUES_WIRED: $S,
|
|
420
|
+
NETTRANSPORTVALUES_INPROC: xS,
|
|
421
|
+
NETTRANSPORTVALUES_IP: ZS,
|
|
422
|
+
NETTRANSPORTVALUES_IP_TCP: zS,
|
|
423
|
+
NETTRANSPORTVALUES_IP_UDP: ET,
|
|
424
|
+
NETTRANSPORTVALUES_OTHER: ST,
|
|
425
|
+
NETTRANSPORTVALUES_PIPE: TT,
|
|
426
|
+
NETTRANSPORTVALUES_UNIX: _T,
|
|
427
|
+
NETWORK_TRANSPORT_VALUE_PIPE: VN,
|
|
428
|
+
NETWORK_TRANSPORT_VALUE_QUIC: uN,
|
|
429
|
+
NETWORK_TRANSPORT_VALUE_TCP: vN,
|
|
430
|
+
NETWORK_TRANSPORT_VALUE_UDP: GN,
|
|
431
|
+
NETWORK_TRANSPORT_VALUE_UNIX: dN,
|
|
432
|
+
NETWORK_TYPE_VALUE_IPV4: YN,
|
|
433
|
+
NETWORK_TYPE_VALUE_IPV6: BN,
|
|
434
|
+
NetHostConnectionSubtypeValues: AT,
|
|
435
|
+
NetHostConnectionTypeValues: aT,
|
|
436
|
+
NetTransportValues: RT,
|
|
437
|
+
OSTYPEVALUES_AIX: Qa,
|
|
438
|
+
OSTYPEVALUES_DARWIN: ja,
|
|
439
|
+
OSTYPEVALUES_DRAGONFLYBSD: Ja,
|
|
440
|
+
OSTYPEVALUES_FREEBSD: wa,
|
|
441
|
+
OSTYPEVALUES_HPUX: Xa,
|
|
442
|
+
OSTYPEVALUES_LINUX: ka,
|
|
443
|
+
OSTYPEVALUES_NETBSD: qa,
|
|
444
|
+
OSTYPEVALUES_OPENBSD: $a,
|
|
445
|
+
OSTYPEVALUES_SOLARIS: xa,
|
|
446
|
+
OSTYPEVALUES_WINDOWS: Za,
|
|
447
|
+
OSTYPEVALUES_Z_OS: za,
|
|
448
|
+
OTEL_STATUS_CODE_VALUE_ERROR: mN,
|
|
449
|
+
OTEL_STATUS_CODE_VALUE_OK: gN,
|
|
450
|
+
OsTypeValues: ER,
|
|
451
|
+
RPCGRPCSTATUSCODEVALUES_ABORTED: eT,
|
|
452
|
+
RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS: sT,
|
|
453
|
+
RPCGRPCSTATUSCODEVALUES_CANCELLED: NT,
|
|
454
|
+
RPCGRPCSTATUSCODEVALUES_DATA_LOSS: rT,
|
|
455
|
+
RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED: tT,
|
|
456
|
+
RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION: OT,
|
|
457
|
+
RPCGRPCSTATUSCODEVALUES_INTERNAL: MT,
|
|
458
|
+
RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT: LT,
|
|
459
|
+
RPCGRPCSTATUSCODEVALUES_NOT_FOUND: CT,
|
|
460
|
+
RPCGRPCSTATUSCODEVALUES_OK: UT,
|
|
461
|
+
RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE: DT,
|
|
462
|
+
RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED: IT,
|
|
463
|
+
RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED: nT,
|
|
464
|
+
RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED: PT,
|
|
465
|
+
RPCGRPCSTATUSCODEVALUES_UNAVAILABLE: iT,
|
|
466
|
+
RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED: oT,
|
|
467
|
+
RPCGRPCSTATUSCODEVALUES_UNKNOWN: cT,
|
|
468
|
+
RpcGrpcStatusCodeValues: VT,
|
|
469
|
+
SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET: uT,
|
|
470
|
+
SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: vT,
|
|
471
|
+
SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ: GT,
|
|
472
|
+
SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY: dT,
|
|
473
|
+
SEMATTRS_AWS_DYNAMODB_COUNT: lT,
|
|
474
|
+
SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE: YT,
|
|
475
|
+
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: BT,
|
|
476
|
+
SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: HT,
|
|
477
|
+
SEMATTRS_AWS_DYNAMODB_INDEX_NAME: bT,
|
|
478
|
+
SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS: pT,
|
|
479
|
+
SEMATTRS_AWS_DYNAMODB_LIMIT: mT,
|
|
480
|
+
SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: gT,
|
|
481
|
+
SEMATTRS_AWS_DYNAMODB_PROJECTION: KT,
|
|
482
|
+
SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: fT,
|
|
483
|
+
SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: FT,
|
|
484
|
+
SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT: yT,
|
|
485
|
+
SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD: hT,
|
|
486
|
+
SEMATTRS_AWS_DYNAMODB_SEGMENT: WT,
|
|
487
|
+
SEMATTRS_AWS_DYNAMODB_SELECT: QT,
|
|
488
|
+
SEMATTRS_AWS_DYNAMODB_TABLE_COUNT: jT,
|
|
489
|
+
SEMATTRS_AWS_DYNAMODB_TABLE_NAMES: JT,
|
|
490
|
+
SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS: wT,
|
|
491
|
+
SEMATTRS_AWS_LAMBDA_INVOKED_ARN: XT,
|
|
492
|
+
SEMATTRS_CODE_FILEPATH: kT,
|
|
493
|
+
SEMATTRS_CODE_FUNCTION: qT,
|
|
494
|
+
SEMATTRS_CODE_LINENO: $T,
|
|
495
|
+
SEMATTRS_CODE_NAMESPACE: xT,
|
|
496
|
+
SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL: ZT,
|
|
497
|
+
SEMATTRS_DB_CASSANDRA_COORDINATOR_DC: zT,
|
|
498
|
+
SEMATTRS_DB_CASSANDRA_COORDINATOR_ID: E_,
|
|
499
|
+
SEMATTRS_DB_CASSANDRA_IDEMPOTENCE: S_,
|
|
500
|
+
SEMATTRS_DB_CASSANDRA_KEYSPACE: T_,
|
|
501
|
+
SEMATTRS_DB_CASSANDRA_PAGE_SIZE: __,
|
|
502
|
+
SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: A_,
|
|
503
|
+
SEMATTRS_DB_CASSANDRA_TABLE: a_,
|
|
504
|
+
SEMATTRS_DB_CONNECTION_STRING: R_,
|
|
505
|
+
SEMATTRS_DB_HBASE_NAMESPACE: e_,
|
|
506
|
+
SEMATTRS_DB_JDBC_DRIVER_CLASSNAME: s_,
|
|
507
|
+
SEMATTRS_DB_MONGODB_COLLECTION: N_,
|
|
508
|
+
SEMATTRS_DB_MSSQL_INSTANCE_NAME: r_,
|
|
509
|
+
SEMATTRS_DB_NAME: t_,
|
|
510
|
+
SEMATTRS_DB_OPERATION: O_,
|
|
511
|
+
SEMATTRS_DB_REDIS_DATABASE_INDEX: M_,
|
|
512
|
+
SEMATTRS_DB_SQL_TABLE: L_,
|
|
513
|
+
SEMATTRS_DB_STATEMENT: C_,
|
|
514
|
+
SEMATTRS_DB_SYSTEM: U_,
|
|
515
|
+
SEMATTRS_DB_USER: D_,
|
|
516
|
+
SEMATTRS_ENDUSER_ID: I_,
|
|
517
|
+
SEMATTRS_ENDUSER_ROLE: n_,
|
|
518
|
+
SEMATTRS_ENDUSER_SCOPE: P_,
|
|
519
|
+
SEMATTRS_EXCEPTION_ESCAPED: i_,
|
|
520
|
+
SEMATTRS_EXCEPTION_MESSAGE: o_,
|
|
521
|
+
SEMATTRS_EXCEPTION_STACKTRACE: c_,
|
|
522
|
+
SEMATTRS_EXCEPTION_TYPE: V_,
|
|
523
|
+
SEMATTRS_FAAS_COLDSTART: u_,
|
|
524
|
+
SEMATTRS_FAAS_CRON: v_,
|
|
525
|
+
SEMATTRS_FAAS_DOCUMENT_COLLECTION: G_,
|
|
526
|
+
SEMATTRS_FAAS_DOCUMENT_NAME: d_,
|
|
527
|
+
SEMATTRS_FAAS_DOCUMENT_OPERATION: l_,
|
|
528
|
+
SEMATTRS_FAAS_DOCUMENT_TIME: Y_,
|
|
529
|
+
SEMATTRS_FAAS_EXECUTION: B_,
|
|
530
|
+
SEMATTRS_FAAS_INVOKED_NAME: H_,
|
|
531
|
+
SEMATTRS_FAAS_INVOKED_PROVIDER: b_,
|
|
532
|
+
SEMATTRS_FAAS_INVOKED_REGION: p_,
|
|
533
|
+
SEMATTRS_FAAS_TIME: m_,
|
|
534
|
+
SEMATTRS_FAAS_TRIGGER: g_,
|
|
535
|
+
SEMATTRS_HTTP_CLIENT_IP: K_,
|
|
536
|
+
SEMATTRS_HTTP_FLAVOR: f_,
|
|
537
|
+
SEMATTRS_HTTP_HOST: F_,
|
|
538
|
+
SEMATTRS_HTTP_METHOD: y_,
|
|
539
|
+
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH: h_,
|
|
540
|
+
SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: W_,
|
|
541
|
+
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH: Q_,
|
|
542
|
+
SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: j_,
|
|
543
|
+
SEMATTRS_HTTP_ROUTE: J_,
|
|
544
|
+
SEMATTRS_HTTP_SCHEME: w_,
|
|
545
|
+
SEMATTRS_HTTP_SERVER_NAME: X_,
|
|
546
|
+
SEMATTRS_HTTP_STATUS_CODE: k_,
|
|
547
|
+
SEMATTRS_HTTP_TARGET: q_,
|
|
548
|
+
SEMATTRS_HTTP_URL: $_,
|
|
549
|
+
SEMATTRS_HTTP_USER_AGENT: x_,
|
|
550
|
+
SEMATTRS_MESSAGE_COMPRESSED_SIZE: Z_,
|
|
551
|
+
SEMATTRS_MESSAGE_ID: z_,
|
|
552
|
+
SEMATTRS_MESSAGE_TYPE: EA,
|
|
553
|
+
SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE: SA,
|
|
554
|
+
SEMATTRS_MESSAGING_CONSUMER_ID: TA,
|
|
555
|
+
SEMATTRS_MESSAGING_CONVERSATION_ID: _A,
|
|
556
|
+
SEMATTRS_MESSAGING_DESTINATION: AA,
|
|
557
|
+
SEMATTRS_MESSAGING_DESTINATION_KIND: aA,
|
|
558
|
+
SEMATTRS_MESSAGING_KAFKA_CLIENT_ID: RA,
|
|
559
|
+
SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP: eA,
|
|
560
|
+
SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY: sA,
|
|
561
|
+
SEMATTRS_MESSAGING_KAFKA_PARTITION: NA,
|
|
562
|
+
SEMATTRS_MESSAGING_KAFKA_TOMBSTONE: rA,
|
|
563
|
+
SEMATTRS_MESSAGING_MESSAGE_ID: tA,
|
|
564
|
+
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: OA,
|
|
565
|
+
SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: MA,
|
|
566
|
+
SEMATTRS_MESSAGING_OPERATION: LA,
|
|
567
|
+
SEMATTRS_MESSAGING_PROTOCOL: CA,
|
|
568
|
+
SEMATTRS_MESSAGING_PROTOCOL_VERSION: UA,
|
|
569
|
+
SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY: DA,
|
|
570
|
+
SEMATTRS_MESSAGING_SYSTEM: IA,
|
|
571
|
+
SEMATTRS_MESSAGING_TEMP_DESTINATION: nA,
|
|
572
|
+
SEMATTRS_MESSAGING_URL: PA,
|
|
573
|
+
SEMATTRS_NET_HOST_CARRIER_ICC: iA,
|
|
574
|
+
SEMATTRS_NET_HOST_CARRIER_MCC: oA,
|
|
575
|
+
SEMATTRS_NET_HOST_CARRIER_MNC: cA,
|
|
576
|
+
SEMATTRS_NET_HOST_CARRIER_NAME: VA,
|
|
577
|
+
SEMATTRS_NET_HOST_CONNECTION_SUBTYPE: uA,
|
|
578
|
+
SEMATTRS_NET_HOST_CONNECTION_TYPE: vA,
|
|
579
|
+
SEMATTRS_NET_HOST_IP: GA,
|
|
580
|
+
SEMATTRS_NET_HOST_NAME: dA,
|
|
581
|
+
SEMATTRS_NET_HOST_PORT: lA,
|
|
582
|
+
SEMATTRS_NET_PEER_IP: YA,
|
|
583
|
+
SEMATTRS_NET_PEER_NAME: BA,
|
|
584
|
+
SEMATTRS_NET_PEER_PORT: HA,
|
|
585
|
+
SEMATTRS_NET_TRANSPORT: bA,
|
|
586
|
+
SEMATTRS_PEER_SERVICE: pA,
|
|
587
|
+
SEMATTRS_RPC_GRPC_STATUS_CODE: mA,
|
|
588
|
+
SEMATTRS_RPC_JSONRPC_ERROR_CODE: gA,
|
|
589
|
+
SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE: KA,
|
|
590
|
+
SEMATTRS_RPC_JSONRPC_REQUEST_ID: fA,
|
|
591
|
+
SEMATTRS_RPC_JSONRPC_VERSION: FA,
|
|
592
|
+
SEMATTRS_RPC_METHOD: yA,
|
|
593
|
+
SEMATTRS_RPC_SERVICE: hA,
|
|
594
|
+
SEMATTRS_RPC_SYSTEM: WA,
|
|
595
|
+
SEMATTRS_THREAD_ID: QA,
|
|
596
|
+
SEMATTRS_THREAD_NAME: jA,
|
|
597
|
+
SEMRESATTRS_AWS_ECS_CLUSTER_ARN: SR,
|
|
598
|
+
SEMRESATTRS_AWS_ECS_CONTAINER_ARN: TR,
|
|
599
|
+
SEMRESATTRS_AWS_ECS_LAUNCHTYPE: _R,
|
|
600
|
+
SEMRESATTRS_AWS_ECS_TASK_ARN: AR,
|
|
601
|
+
SEMRESATTRS_AWS_ECS_TASK_FAMILY: aR,
|
|
602
|
+
SEMRESATTRS_AWS_ECS_TASK_REVISION: RR,
|
|
603
|
+
SEMRESATTRS_AWS_EKS_CLUSTER_ARN: eR,
|
|
604
|
+
SEMRESATTRS_AWS_LOG_GROUP_ARNS: sR,
|
|
605
|
+
SEMRESATTRS_AWS_LOG_GROUP_NAMES: NR,
|
|
606
|
+
SEMRESATTRS_AWS_LOG_STREAM_ARNS: rR,
|
|
607
|
+
SEMRESATTRS_AWS_LOG_STREAM_NAMES: tR,
|
|
608
|
+
SEMRESATTRS_CLOUD_ACCOUNT_ID: OR,
|
|
609
|
+
SEMRESATTRS_CLOUD_AVAILABILITY_ZONE: MR,
|
|
610
|
+
SEMRESATTRS_CLOUD_PLATFORM: LR,
|
|
611
|
+
SEMRESATTRS_CLOUD_PROVIDER: CR,
|
|
612
|
+
SEMRESATTRS_CLOUD_REGION: UR,
|
|
613
|
+
SEMRESATTRS_CONTAINER_ID: DR,
|
|
614
|
+
SEMRESATTRS_CONTAINER_IMAGE_NAME: IR,
|
|
615
|
+
SEMRESATTRS_CONTAINER_IMAGE_TAG: nR,
|
|
616
|
+
SEMRESATTRS_CONTAINER_NAME: PR,
|
|
617
|
+
SEMRESATTRS_CONTAINER_RUNTIME: iR,
|
|
618
|
+
SEMRESATTRS_DEPLOYMENT_ENVIRONMENT: oR,
|
|
619
|
+
SEMRESATTRS_DEVICE_ID: cR,
|
|
620
|
+
SEMRESATTRS_DEVICE_MODEL_IDENTIFIER: VR,
|
|
621
|
+
SEMRESATTRS_DEVICE_MODEL_NAME: uR,
|
|
622
|
+
SEMRESATTRS_FAAS_ID: vR,
|
|
623
|
+
SEMRESATTRS_FAAS_INSTANCE: GR,
|
|
624
|
+
SEMRESATTRS_FAAS_MAX_MEMORY: dR,
|
|
625
|
+
SEMRESATTRS_FAAS_NAME: lR,
|
|
626
|
+
SEMRESATTRS_FAAS_VERSION: YR,
|
|
627
|
+
SEMRESATTRS_HOST_ARCH: BR,
|
|
628
|
+
SEMRESATTRS_HOST_ID: HR,
|
|
629
|
+
SEMRESATTRS_HOST_IMAGE_ID: bR,
|
|
630
|
+
SEMRESATTRS_HOST_IMAGE_NAME: pR,
|
|
631
|
+
SEMRESATTRS_HOST_IMAGE_VERSION: mR,
|
|
632
|
+
SEMRESATTRS_HOST_NAME: gR,
|
|
633
|
+
SEMRESATTRS_HOST_TYPE: KR,
|
|
634
|
+
SEMRESATTRS_K8S_CLUSTER_NAME: fR,
|
|
635
|
+
SEMRESATTRS_K8S_CONTAINER_NAME: FR,
|
|
636
|
+
SEMRESATTRS_K8S_CRONJOB_NAME: yR,
|
|
637
|
+
SEMRESATTRS_K8S_CRONJOB_UID: hR,
|
|
638
|
+
SEMRESATTRS_K8S_DAEMONSET_NAME: WR,
|
|
639
|
+
SEMRESATTRS_K8S_DAEMONSET_UID: QR,
|
|
640
|
+
SEMRESATTRS_K8S_DEPLOYMENT_NAME: jR,
|
|
641
|
+
SEMRESATTRS_K8S_DEPLOYMENT_UID: JR,
|
|
642
|
+
SEMRESATTRS_K8S_JOB_NAME: wR,
|
|
643
|
+
SEMRESATTRS_K8S_JOB_UID: XR,
|
|
644
|
+
SEMRESATTRS_K8S_NAMESPACE_NAME: kR,
|
|
645
|
+
SEMRESATTRS_K8S_NODE_NAME: qR,
|
|
646
|
+
SEMRESATTRS_K8S_NODE_UID: $R,
|
|
647
|
+
SEMRESATTRS_K8S_POD_NAME: xR,
|
|
648
|
+
SEMRESATTRS_K8S_POD_UID: ZR,
|
|
649
|
+
SEMRESATTRS_K8S_REPLICASET_NAME: zR,
|
|
650
|
+
SEMRESATTRS_K8S_REPLICASET_UID: Ee,
|
|
651
|
+
SEMRESATTRS_K8S_STATEFULSET_NAME: Se,
|
|
652
|
+
SEMRESATTRS_K8S_STATEFULSET_UID: Te,
|
|
653
|
+
SEMRESATTRS_OS_DESCRIPTION: _e,
|
|
654
|
+
SEMRESATTRS_OS_NAME: Ae,
|
|
655
|
+
SEMRESATTRS_OS_TYPE: ae,
|
|
656
|
+
SEMRESATTRS_OS_VERSION: Re,
|
|
657
|
+
SEMRESATTRS_PROCESS_COMMAND: ee,
|
|
658
|
+
SEMRESATTRS_PROCESS_COMMAND_ARGS: se,
|
|
659
|
+
SEMRESATTRS_PROCESS_COMMAND_LINE: Ne,
|
|
660
|
+
SEMRESATTRS_PROCESS_EXECUTABLE_NAME: re,
|
|
661
|
+
SEMRESATTRS_PROCESS_EXECUTABLE_PATH: te,
|
|
662
|
+
SEMRESATTRS_PROCESS_OWNER: Oe,
|
|
663
|
+
SEMRESATTRS_PROCESS_PID: Me,
|
|
664
|
+
SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION: Le,
|
|
665
|
+
SEMRESATTRS_PROCESS_RUNTIME_NAME: Ce,
|
|
666
|
+
SEMRESATTRS_PROCESS_RUNTIME_VERSION: Ue,
|
|
667
|
+
SEMRESATTRS_SERVICE_INSTANCE_ID: De,
|
|
668
|
+
SEMRESATTRS_SERVICE_NAME: Ie,
|
|
669
|
+
SEMRESATTRS_SERVICE_NAMESPACE: ne,
|
|
670
|
+
SEMRESATTRS_SERVICE_VERSION: Pe,
|
|
671
|
+
SEMRESATTRS_TELEMETRY_AUTO_VERSION: ie,
|
|
672
|
+
SEMRESATTRS_TELEMETRY_SDK_LANGUAGE: oe,
|
|
673
|
+
SEMRESATTRS_TELEMETRY_SDK_NAME: ce,
|
|
674
|
+
SEMRESATTRS_TELEMETRY_SDK_VERSION: Ve,
|
|
675
|
+
SEMRESATTRS_WEBENGINE_DESCRIPTION: ue,
|
|
676
|
+
SEMRESATTRS_WEBENGINE_NAME: ve,
|
|
677
|
+
SEMRESATTRS_WEBENGINE_VERSION: Ge,
|
|
678
|
+
SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN: QN,
|
|
679
|
+
SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE: jN,
|
|
680
|
+
SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT: JN,
|
|
681
|
+
SIGNALR_TRANSPORT_VALUE_LONG_POLLING: XN,
|
|
682
|
+
SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS: kN,
|
|
683
|
+
SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS: qN,
|
|
684
|
+
SemanticAttributes: JA,
|
|
685
|
+
SemanticResourceAttributes: de,
|
|
686
|
+
TELEMETRYSDKLANGUAGEVALUES_CPP: le,
|
|
687
|
+
TELEMETRYSDKLANGUAGEVALUES_DOTNET: Ye,
|
|
688
|
+
TELEMETRYSDKLANGUAGEVALUES_ERLANG: Be,
|
|
689
|
+
TELEMETRYSDKLANGUAGEVALUES_GO: He,
|
|
690
|
+
TELEMETRYSDKLANGUAGEVALUES_JAVA: be,
|
|
691
|
+
TELEMETRYSDKLANGUAGEVALUES_NODEJS: pe,
|
|
692
|
+
TELEMETRYSDKLANGUAGEVALUES_PHP: me,
|
|
693
|
+
TELEMETRYSDKLANGUAGEVALUES_PYTHON: ge,
|
|
694
|
+
TELEMETRYSDKLANGUAGEVALUES_RUBY: Ke,
|
|
695
|
+
TELEMETRYSDKLANGUAGEVALUES_WEBJS: fe,
|
|
696
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_CPP: Rs,
|
|
697
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET: es,
|
|
698
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG: ss,
|
|
699
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_GO: Ns,
|
|
700
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_JAVA: rs,
|
|
701
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS: ts,
|
|
702
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_PHP: Os,
|
|
703
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON: Ms,
|
|
704
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_RUBY: Ls,
|
|
705
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_RUST: Cs,
|
|
706
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT: Us,
|
|
707
|
+
TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS: Ds,
|
|
708
|
+
TelemetrySdkLanguageValues: Fe
|
|
709
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
710
|
+
var M = {}, L = {};
|
|
711
|
+
const f = /* @__PURE__ */ V(ze), pr = /* @__PURE__ */ V(br), mr = /* @__PURE__ */ V(sa);
|
|
712
|
+
var i = {}, C = {}, d;
|
|
713
|
+
function gr() {
|
|
714
|
+
if (d) return C;
|
|
715
|
+
d = 1, Object.defineProperty(C, "__esModule", { value: !0 }), C.defaultServiceName = void 0;
|
|
716
|
+
function E() {
|
|
717
|
+
return "unknown_service";
|
|
718
|
+
}
|
|
719
|
+
return C.defaultServiceName = E, C;
|
|
720
|
+
}
|
|
721
|
+
var l;
|
|
722
|
+
function Kr() {
|
|
723
|
+
return l || (l = 1, (function(E) {
|
|
724
|
+
Object.defineProperty(E, "__esModule", { value: !0 }), E.defaultServiceName = void 0;
|
|
725
|
+
var S = /* @__PURE__ */ gr();
|
|
726
|
+
Object.defineProperty(E, "defaultServiceName", { enumerable: !0, get: function() {
|
|
727
|
+
return S.defaultServiceName;
|
|
728
|
+
} });
|
|
729
|
+
})(i)), i;
|
|
730
|
+
}
|
|
731
|
+
var Y;
|
|
732
|
+
function fr() {
|
|
733
|
+
if (Y) return L;
|
|
734
|
+
Y = 1, Object.defineProperty(L, "__esModule", { value: !0 }), L.Resource = void 0;
|
|
735
|
+
const E = f, S = pr, _ = mr, A = /* @__PURE__ */ Kr();
|
|
736
|
+
let R = class D {
|
|
737
|
+
constructor(T, a) {
|
|
738
|
+
var e;
|
|
739
|
+
this._attributes = T, this.asyncAttributesPending = a != null, this._syncAttributes = (e = this._attributes) !== null && e !== void 0 ? e : {}, this._asyncAttributesPromise = a?.then((s) => (this._attributes = Object.assign({}, this._attributes, s), this.asyncAttributesPending = !1, s), (s) => (E.diag.debug("a resource's async attributes promise rejected: %s", s), this.asyncAttributesPending = !1, {}));
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Returns an empty Resource
|
|
743
|
+
*/
|
|
744
|
+
static empty() {
|
|
745
|
+
return D.EMPTY;
|
|
746
|
+
}
|
|
747
|
+
/**
|
|
748
|
+
* Returns a Resource that identifies the SDK in use.
|
|
749
|
+
*/
|
|
750
|
+
static default() {
|
|
751
|
+
return new D({
|
|
752
|
+
[S.SEMRESATTRS_SERVICE_NAME]: (0, A.defaultServiceName)(),
|
|
753
|
+
[S.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE]: _.SDK_INFO[S.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE],
|
|
754
|
+
[S.SEMRESATTRS_TELEMETRY_SDK_NAME]: _.SDK_INFO[S.SEMRESATTRS_TELEMETRY_SDK_NAME],
|
|
755
|
+
[S.SEMRESATTRS_TELEMETRY_SDK_VERSION]: _.SDK_INFO[S.SEMRESATTRS_TELEMETRY_SDK_VERSION]
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
get attributes() {
|
|
759
|
+
var T;
|
|
760
|
+
return this.asyncAttributesPending && E.diag.error("Accessing resource attributes before async attributes settled"), (T = this._attributes) !== null && T !== void 0 ? T : {};
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Returns a promise that will never be rejected. Resolves when all async attributes have finished being added to
|
|
764
|
+
* this Resource's attributes. This is useful in exporters to block until resource detection
|
|
765
|
+
* has finished.
|
|
766
|
+
*/
|
|
767
|
+
async waitForAsyncAttributes() {
|
|
768
|
+
this.asyncAttributesPending && await this._asyncAttributesPromise;
|
|
769
|
+
}
|
|
770
|
+
/**
|
|
771
|
+
* Returns a new, merged {@link Resource} by merging the current Resource
|
|
772
|
+
* with the other Resource. In case of a collision, other Resource takes
|
|
773
|
+
* precedence.
|
|
774
|
+
*
|
|
775
|
+
* @param other the Resource that will be merged with this.
|
|
776
|
+
* @returns the newly merged Resource.
|
|
777
|
+
*/
|
|
778
|
+
merge(T) {
|
|
779
|
+
var a;
|
|
780
|
+
if (!T)
|
|
781
|
+
return this;
|
|
782
|
+
const e = Object.assign(Object.assign({}, this._syncAttributes), (a = T._syncAttributes) !== null && a !== void 0 ? a : T.attributes);
|
|
783
|
+
if (!this._asyncAttributesPromise && !T._asyncAttributesPromise)
|
|
784
|
+
return new D(e);
|
|
785
|
+
const s = Promise.all([
|
|
786
|
+
this._asyncAttributesPromise,
|
|
787
|
+
T._asyncAttributesPromise
|
|
788
|
+
]).then(([O, t]) => {
|
|
789
|
+
var r;
|
|
790
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, this._syncAttributes), O), (r = T._syncAttributes) !== null && r !== void 0 ? r : T.attributes), t);
|
|
791
|
+
});
|
|
792
|
+
return new D(e, s);
|
|
793
|
+
}
|
|
794
|
+
};
|
|
795
|
+
return L.Resource = R, R.EMPTY = new R({}), L;
|
|
796
|
+
}
|
|
797
|
+
var U = {}, B;
|
|
798
|
+
function Fr() {
|
|
799
|
+
if (B) return U;
|
|
800
|
+
B = 1, Object.defineProperty(U, "__esModule", { value: !0 }), U.isPromiseLike = void 0;
|
|
801
|
+
const E = (S) => S !== null && typeof S == "object" && typeof S.then == "function";
|
|
802
|
+
return U.isPromiseLike = E, U;
|
|
803
|
+
}
|
|
804
|
+
var H;
|
|
805
|
+
function yr() {
|
|
806
|
+
if (H) return M;
|
|
807
|
+
H = 1, Object.defineProperty(M, "__esModule", { value: !0 }), M.detectResourcesSync = M.detectResources = void 0;
|
|
808
|
+
const E = /* @__PURE__ */ fr(), S = f, _ = /* @__PURE__ */ Fr(), A = async (T = {}) => {
|
|
809
|
+
const a = await Promise.all((T.detectors || []).map(async (e) => {
|
|
810
|
+
try {
|
|
811
|
+
const s = await e.detect(T);
|
|
812
|
+
return S.diag.debug(`${e.constructor.name} found resource.`, s), s;
|
|
813
|
+
} catch (s) {
|
|
814
|
+
return S.diag.debug(`${e.constructor.name} failed: ${s.message}`), E.Resource.empty();
|
|
815
|
+
}
|
|
816
|
+
}));
|
|
817
|
+
return N(a), a.reduce((e, s) => e.merge(s), E.Resource.empty());
|
|
818
|
+
};
|
|
819
|
+
M.detectResources = A;
|
|
820
|
+
const R = (T = {}) => {
|
|
821
|
+
var a;
|
|
822
|
+
const e = ((a = T.detectors) !== null && a !== void 0 ? a : []).map((O) => {
|
|
823
|
+
try {
|
|
824
|
+
const t = O.detect(T);
|
|
825
|
+
let r;
|
|
826
|
+
if ((0, _.isPromiseLike)(t)) {
|
|
827
|
+
const F = async () => {
|
|
828
|
+
var I;
|
|
829
|
+
const n = await t;
|
|
830
|
+
return await ((I = n.waitForAsyncAttributes) === null || I === void 0 ? void 0 : I.call(n)), n.attributes;
|
|
831
|
+
};
|
|
832
|
+
r = new E.Resource({}, F());
|
|
833
|
+
} else
|
|
834
|
+
r = t;
|
|
835
|
+
return r.waitForAsyncAttributes ? r.waitForAsyncAttributes().then(() => S.diag.debug(`${O.constructor.name} found resource.`, r)) : S.diag.debug(`${O.constructor.name} found resource.`, r), r;
|
|
836
|
+
} catch (t) {
|
|
837
|
+
return S.diag.error(`${O.constructor.name} failed: ${t.message}`), E.Resource.empty();
|
|
838
|
+
}
|
|
839
|
+
}), s = e.reduce((O, t) => O.merge(t), E.Resource.empty());
|
|
840
|
+
return s.waitForAsyncAttributes && s.waitForAsyncAttributes().then(() => {
|
|
841
|
+
N(e);
|
|
842
|
+
}), s;
|
|
843
|
+
};
|
|
844
|
+
M.detectResourcesSync = R;
|
|
845
|
+
const N = (T) => {
|
|
846
|
+
T.forEach((a) => {
|
|
847
|
+
if (Object.keys(a.attributes).length > 0) {
|
|
848
|
+
const e = JSON.stringify(a.attributes, null, 4);
|
|
849
|
+
S.diag.verbose(e);
|
|
850
|
+
}
|
|
851
|
+
});
|
|
852
|
+
};
|
|
853
|
+
return M;
|
|
854
|
+
}
|
|
855
|
+
var hr = /* @__PURE__ */ yr();
|
|
856
|
+
const qr = /* @__PURE__ */ ye({
|
|
857
|
+
__proto__: null
|
|
858
|
+
}, [hr]);
|
|
859
|
+
export {
|
|
860
|
+
qr as d
|
|
861
|
+
};
|
|
862
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGV0ZWN0LXJlc291cmNlcy0hfnswMG59fi5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZyBhcyBnZXRBdWdtZW50ZWROYW1lc3BhY2UgfSBmcm9tICcuL19jb21tb25qc0hlbHBlcnMtIX57MDA2fX4uanMnO1xuaW1wb3J0IHsgcCBhcyBwcm9wYWdhdGlvbiwgeiBhcyBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsIEEgYXMgZGVmYXVsdFRleHRNYXBHZXR0ZXIsIEIgYXMgZGVmYXVsdFRleHRNYXBTZXR0ZXIsIEQgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCwgQyBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZLCBFIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSwgRiBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FLCBHIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0sIEggYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCwgSSBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FLCBKIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0sIEsgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCwgTCBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUsIE0gYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTywgTiBhcyBEQlNZU1RFTVZBTFVFU19BREFCQVMsIE8gYXMgREJTWVNURU1WQUxVRVNfQ0FDSEUsIFAgYXMgREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBLCBRIGFzIERCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUsIFIgYXMgREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIsIFQgYXMgREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTiwgVSBhcyBEQlNZU1RFTVZBTFVFU19DT1NNT1NEQiwgViBhcyBEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UsIFcgYXMgREJTWVNURU1WQUxVRVNfQ09VQ0hEQiwgWCBhcyBEQlNZU1RFTVZBTFVFU19EQjIsIFkgYXMgREJTWVNURU1WQUxVRVNfREVSQlksIFogYXMgREJTWVNURU1WQUxVRVNfRFlOQU1PREIsICQgYXMgREJTWVNURU1WQUxVRVNfRURCLCBhMCBhcyBEQlNZU1RFTVZBTFVFU19FTEFTVElDU0VBUkNILCBhMSBhcyBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsIGEyIGFzIERCU1lTVEVNVkFMVUVTX0ZJUkVCSVJELCBhMyBhcyBEQlNZU1RFTVZBTFVFU19GSVJTVFNRTCwgYTQgYXMgREJTWVNURU1WQUxVRVNfR0VPREUsIGE1IGFzIERCU1lTVEVNVkFMVUVTX0gyLCBhNiBhcyBEQlNZU1RFTVZBTFVFU19IQU5BREIsIGE3IGFzIERCU1lTVEVNVkFMVUVTX0hCQVNFLCBhOCBhcyBEQlNZU1RFTVZBTFVFU19ISVZFLCBhOSBhcyBEQlNZU1RFTVZBTFVFU19IU1FMREIsIGFhIGFzIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLCBhYiBhcyBEQlNZU1RFTVZBTFVFU19JTkdSRVMsIGFjIGFzIERCU1lTVEVNVkFMVUVTX0lOU1RBTlREQiwgYWQgYXMgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLCBhZSBhcyBEQlNZU1RFTVZBTFVFU19NQVJJQURCLCBhZiBhcyBEQlNZU1RFTVZBTFVFU19NQVhEQiwgYWcgYXMgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELCBhaCBhcyBEQlNZU1RFTVZBTFVFU19NT05HT0RCLCBhaSBhcyBEQlNZU1RFTVZBTFVFU19NU1NRTCwgYWogYXMgREJTWVNURU1WQUxVRVNfTVlTUUwsIGFrIGFzIERCU1lTVEVNVkFMVUVTX05FTzRKLCBhbCBhcyBEQlNZU1RFTVZBTFVFU19ORVRFWlpBLCBhbSBhcyBEQlNZU1RFTVZBTFVFU19PUkFDTEUsIGFuIGFzIERCU1lTVEVNVkFMVUVTX09USEVSX1NRTCwgYW8gYXMgREJTWVNURU1WQUxVRVNfUEVSVkFTSVZFLCBhcCBhcyBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsIGFxIGFzIERCU1lTVEVNVkFMVUVTX1BPU1RHUkVTUUwsIGFyIGFzIERCU1lTVEVNVkFMVUVTX1BST0dSRVNTLCBhcyBhcyBEQlNZU1RFTVZBTFVFU19SRURJUywgYXQgYXMgREJTWVNURU1WQUxVRVNfUkVEU0hJRlQsIGF1IGFzIERCU1lTVEVNVkFMVUVTX1NRTElURSwgYXYgYXMgREJTWVNURU1WQUxVRVNfU1lCQVNFLCBhdyBhcyBEQlNZU1RFTVZBTFVFU19URVJBREFUQSwgYXggYXMgREJTWVNURU1WQUxVRVNfVkVSVElDQSwgYXkgYXMgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLCBheiBhcyBEYlN5c3RlbVZhbHVlcywgYUEgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSwgYUIgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQsIGFDIGFzIEZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19JTlNFUlQsIGFEIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCwgYUUgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MsIGFGIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQVpVUkUsIGFHIGFzIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLCBhSCBhcyBGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFLCBhSSBhcyBGQUFTVFJJR0dFUlZBTFVFU19IVFRQLCBhSiBhcyBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUiwgYUsgYXMgRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCLCBhTCBhcyBGQUFTVFJJR0dFUlZBTFVFU19USU1FUiwgYU0gYXMgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLCBhTiBhcyBGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzLCBhTyBhcyBGYWFzVHJpZ2dlclZhbHVlcywgYVAgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCwgYVEgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSwgYVIgYXMgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzJfMCwgYVMgYXMgSFRUUEZMQVZPUlZBTFVFU19RVUlDLCBhVCBhcyBIVFRQRkxBVk9SVkFMVUVTX1NQRFksIGFVIGFzIEh0dHBGbGF2b3JWYWx1ZXMsIGFWIGFzIE1FU1NBR0VUWVBFVkFMVUVTX1JFQ0VJVkVELCBhVyBhcyBNRVNTQUdFVFlQRVZBTFVFU19TRU5ULCBhWCBhcyBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsIGFZIGFzIE1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19UT1BJQywgYVogYXMgTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MsIGFfIGFzIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLCBhJCBhcyBNZXNzYWdlVHlwZVZhbHVlcywgYjAgYXMgTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzLCBiMSBhcyBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsIGIyIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BLCBiMyBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQsIGI0IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLCBiNSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRUhSUEQsIGI2IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAsIGI3IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsIGI4IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0IsIGI5IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTLCBiYSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLCBiYiBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNEUEEsIGJjIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBLCBiZCBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsIGJlIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1VQQSwgYmYgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4sIGJnIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTiwgYmggYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURSwgYmkgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSwgYmogYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLCBiayBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlJOU0EsIGJsIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSwgYm0gYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsIGJuIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19DRUxMLCBibyBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUsIGJwIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLCBicSBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lGSSwgYnIgYXMgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVELCBicyBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLCBidCBhcyBORVRUUkFOU1BPUlRWQUxVRVNfSVAsIGJ1IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AsIGJ2IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsIGJ3IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19PVEhFUiwgYnggYXMgTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUsIGJ5IGFzIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLCBieiBhcyBOZXRIb3N0Q29ubmVjdGlvblN1YnR5cGVWYWx1ZXMsIGJBIGFzIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcywgYkIgYXMgTmV0VHJhbnNwb3J0VmFsdWVzLCBiQyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELCBiRCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUywgYkUgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQ0FOQ0VMTEVELCBiRiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsIGJHIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVELCBiSCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19GQUlMRURfUFJFQ09ORElUSU9OLCBiSSBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCwgYkogYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCwgYksgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfTk9UX0ZPVU5ELCBiTCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSywgYk0gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFLCBiTiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19QRVJNSVNTSU9OX0RFTklFRCwgYk8gYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELCBiUCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQsIGJRIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVZBSUxBQkxFLCBiUiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELCBiUyBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOLCBiVCBhcyBScGNHcnBjU3RhdHVzQ29kZVZhbHVlcywgYlUgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULCBiViBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TLCBiVyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU0lTVEVOVF9SRUFELCBiWCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksIGJZIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCwgYlogYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0VYQ0xVU0lWRV9TVEFSVF9UQUJMRSwgYl8gYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUywgYiQgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUywgYzAgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lOREVYX05BTUUsIGMxIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUywgYzIgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlULCBjMyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfTE9DQUxfU0VDT05EQVJZX0lOREVYRVMsIGM0IGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLCBjNSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSwgYzYgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST1ZJU0lPTkVEX1dSSVRFX0NBUEFDSVRZLCBjNyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCwgYzggYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCwgYzkgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFR01FTlQsIGNhIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsIGNiIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCwgY2MgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX05BTUVTLCBjZCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsIGNlIGFzIFNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4sIGNmIGFzIFNFTUFUVFJTX0NPREVfRklMRVBBVEgsIGNnIGFzIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sIGNoIGFzIFNFTUFUVFJTX0NPREVfTElORU5PLCBjaSBhcyBTRU1BVFRSU19DT0RFX05BTUVTUEFDRSwgY2ogYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLCBjayBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMsIGNsIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9JRCwgY20gYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLCBjbiBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UsIGNvIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9QQUdFX1NJWkUsIGNwIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsIGNxIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSwgY3IgYXMgU0VNQVRUUlNfREJfQ09OTkVDVElPTl9TVFJJTkcsIGNzIGFzIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSwgY3QgYXMgU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FLCBjdSBhcyBTRU1BVFRSU19EQl9NT05HT0RCX0NPTExFQ1RJT04sIGN2IGFzIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsIGN3IGFzIFNFTUFUVFJTX0RCX05BTUUsIGN4IGFzIFNFTUFUVFJTX0RCX09QRVJBVElPTiwgY3kgYXMgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsIGN6IGFzIFNFTUFUVFJTX0RCX1NRTF9UQUJMRSwgY0EgYXMgU0VNQVRUUlNfREJfU1RBVEVNRU5ULCBjQiBhcyBTRU1BVFRSU19EQl9TWVNURU0sIGNDIGFzIFNFTUFUVFJTX0RCX1VTRVIsIGNEIGFzIFNFTUFUVFJTX0VORFVTRVJfSUQsIGNFIGFzIFNFTUFUVFJTX0VORFVTRVJfUk9MRSwgY0YgYXMgU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSwgY0cgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX0VTQ0FQRUQsIHcgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX01FU1NBR0UsIHggYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1NUQUNLVFJBQ0UsIHYgYXMgU0VNQVRUUlNfRVhDRVBUSU9OX1RZUEUsIGNIIGFzIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULCBjSSBhcyBTRU1BVFRSU19GQUFTX0NST04sIGNKIGFzIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfQ09MTEVDVElPTiwgY0sgYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLCBjTCBhcyBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiwgY00gYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9USU1FLCBjTiBhcyBTRU1BVFRSU19GQUFTX0VYRUNVVElPTiwgY08gYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUsIGNQIGFzIFNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9QUk9WSURFUiwgY1EgYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTiwgY1IgYXMgU0VNQVRUUlNfRkFBU19USU1FLCBjUyBhcyBTRU1BVFRSU19GQUFTX1RSSUdHRVIsIGNUIGFzIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLCBjVSBhcyBTRU1BVFRSU19IVFRQX0ZMQVZPUiwgYyBhcyBTRU1BVFRSU19IVFRQX0hPU1QsIGYgYXMgU0VNQVRUUlNfSFRUUF9NRVRIT0QsIGNWIGFzIFNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSCwgayBhcyBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELCBTIGFzIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEgsIGEgYXMgU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQsIGNXIGFzIFNFTUFUVFJTX0hUVFBfUk9VVEUsIGQgYXMgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsIGNYIGFzIFNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUsIGIgYXMgU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSwgY1kgYXMgU0VNQVRUUlNfSFRUUF9UQVJHRVQsIGcgYXMgU0VNQVRUUlNfSFRUUF9VUkwsIGUgYXMgU0VNQVRUUlNfSFRUUF9VU0VSX0FHRU5ULCBjWiBhcyBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSwgY18gYXMgU0VNQVRUUlNfTUVTU0FHRV9JRCwgYyQgYXMgU0VNQVRUUlNfTUVTU0FHRV9UWVBFLCBkMCBhcyBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLCBkMSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQsIGQyIGFzIFNFTUFUVFJTX01FU1NBR0lOR19DT05WRVJTQVRJT05fSUQsIGQzIGFzIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTiwgZDQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQsIGQ1IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DTElFTlRfSUQsIGQ2IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCwgZDcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZLCBkOCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfUEFSVElUSU9OLCBkOSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLCBkYSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCwgZGIgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9DT01QUkVTU0VEX1NJWkVfQllURVMsIGRjIGFzIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUywgZGQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiwgZGUgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MLCBkZiBhcyBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTiwgZGcgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZLCBkaCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfU1lTVEVNLCBkaSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTiwgZGogYXMgU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCwgZGsgYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9JQ0MsIGRsIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLCBkbSBhcyBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQywgZG4gYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9OQU1FLCBkcCBhcyBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsIGRxIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSwgZHIgYXMgU0VNQVRUUlNfTkVUX0hPU1RfSVAsIGRzIGFzIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsIGR0IGFzIFNFTUFUVFJTX05FVF9IT1NUX1BPUlQsIGR1IGFzIFNFTUFUVFJTX05FVF9QRUVSX0lQLCBkdiBhcyBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLCBkdyBhcyBTRU1BVFRSU19ORVRfUEVFUl9QT1JULCBkeCBhcyBTRU1BVFRSU19ORVRfVFJBTlNQT1JULCBkeSBhcyBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsIGR6IGFzIFNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFLCBkQSBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9DT0RFLCBkQiBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLCBkQyBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lELCBkRCBhcyBTRU1BVFRSU19SUENfSlNPTlJQQ19WRVJTSU9OLCBkRSBhcyBTRU1BVFRSU19SUENfTUVUSE9ELCBkRiBhcyBTRU1BVFRSU19SUENfU0VSVklDRSwgZEcgYXMgU0VNQVRUUlNfUlBDX1NZU1RFTSwgZEggYXMgU0VNQVRUUlNfVEhSRUFEX0lELCBkSSBhcyBTRU1BVFRSU19USFJFQURfTkFNRSwgZEogYXMgU2VtYW50aWNBdHRyaWJ1dGVzIH0gZnJvbSAnLi91cmwtIX57MDBkfX4uanMnO1xuaW1wb3J0IHsgdCBhcyB0cmFjZSwgYSBhcyBjb250ZXh0LCBmIGFzIERpYWdMb2dMZXZlbCwgaCBhcyBJTlZBTElEX1NQQU5JRCwgSSBhcyBJTlZBTElEX1NQQU5fQ09OVEVYVCwgaiBhcyBJTlZBTElEX1RSQUNFSUQsIFAgYXMgUHJveHlUcmFjZXIsIGsgYXMgUHJveHlUcmFjZXJQcm92aWRlciwgUiBhcyBST09UX0NPTlRFWFQsIFMgYXMgU3BhbktpbmQsIGUgYXMgU3BhblN0YXR1c0NvZGUsIFQgYXMgVHJhY2VGbGFncywgYyBhcyBjcmVhdGVDb250ZXh0S2V5LCBpIGFzIGlzU3BhbkNvbnRleHRWYWxpZCwgZCBhcyBpc1ZhbGlkU3BhbklkLCBiIGFzIGlzVmFsaWRUcmFjZUlkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBtIGFzIG1ldHJpY3MsIGMgYXMgY3JlYXRlTm9vcE1ldGVyIH0gZnJvbSAnLi9tZXRyaWNzLWFwaS0hfnswMGZ9fi5qcyc7XG5pbXBvcnQgeyBTIGFzIFNhbXBsaW5nRGVjaXNpb24sIGYgYXMgZXNtJDIgfSBmcm9tICcuL2luZGV4LSF+ezAwbX1+LmpzJztcbmltcG9ydCB7IGQgYXMgZGlhZyB9IGZyb20gJy4vZGlhZy1hcGktIX57MDA4fX4uanMnO1xuaW1wb3J0IHsgQSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0VDMiwgZSBhcyBBV1NFQ1NMQVVOQ0hUWVBFVkFMVUVTX0ZBUkdBVEUsIGYgYXMgQXdzRWNzTGF1bmNodHlwZVZhbHVlcywgQyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRUNTLCBnIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9GQywgaCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQzIsIGkgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUNTLCBqIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VLUywgayBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FTEFTVElDX0JFQU5TVEFMSywgbCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19MQU1CREEsIG0gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BS1MsIG4gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9BUFBfU0VSVklDRSwgbyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0NPTlRBSU5FUl9JTlNUQU5DRVMsIHAgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9GVU5DVElPTlMsIHEgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9WTSwgciBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9BUFBfRU5HSU5FLCBzIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX0ZVTkNUSU9OUywgdCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9SVU4sIHUgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ09NUFVURV9FTkdJTkUsIHYgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfS1VCRVJORVRFU19FTkdJTkUsIHcgYXMgQ0xPVURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VELCB4IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVdTLCB5IGFzIENMT1VEUFJPVklERVJWQUxVRVNfQVpVUkUsIHogYXMgQ0xPVURQUk9WSURFUlZBTFVFU19HQ1AsIEIgYXMgQ2xvdWRQbGF0Zm9ybVZhbHVlcywgRCBhcyBDbG91ZFByb3ZpZGVyVmFsdWVzLCBIIGFzIEhPU1RBUkNIVkFMVUVTX0FNRDY0LCBFIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTMyLCBGIGFzIEhPU1RBUkNIVkFMVUVTX0FSTTY0LCBHIGFzIEhPU1RBUkNIVkFMVUVTX0lBNjQsIEkgYXMgSE9TVEFSQ0hWQUxVRVNfUFBDMzIsIEogYXMgSE9TVEFSQ0hWQUxVRVNfUFBDNjQsIEsgYXMgSE9TVEFSQ0hWQUxVRVNfWDg2LCBMIGFzIEhvc3RBcmNoVmFsdWVzLCBPIGFzIE9TVFlQRVZBTFVFU19BSVgsIE0gYXMgT1NUWVBFVkFMVUVTX0RBUldJTiwgTiBhcyBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNELCBQIGFzIE9TVFlQRVZBTFVFU19GUkVFQlNELCBRIGFzIE9TVFlQRVZBTFVFU19IUFVYLCBSIGFzIE9TVFlQRVZBTFVFU19MSU5VWCwgVCBhcyBPU1RZUEVWQUxVRVNfTkVUQlNELCBVIGFzIE9TVFlQRVZBTFVFU19PUEVOQlNELCBWIGFzIE9TVFlQRVZBTFVFU19TT0xBUklTLCBXIGFzIE9TVFlQRVZBTFVFU19XSU5ET1dTLCBYIGFzIE9TVFlQRVZBTFVFU19aX09TLCBZIGFzIE9zVHlwZVZhbHVlcywgWiBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0NMVVNURVJfQVJOLCBfIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiwgJCBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX0xBVU5DSFRZUEUsIGEwIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4sIGExIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksIGEyIGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19SRVZJU0lPTiwgYTMgYXMgU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiwgYTQgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLCBhNSBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTLCBhNiBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TLCBhNyBhcyBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUywgYTggYXMgU0VNUkVTQVRUUlNfQ0xPVURfQUNDT1VOVF9JRCwgYTkgYXMgU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUsIGFhIGFzIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLCBhYiBhcyBTRU1SRVNBVFRSU19DTE9VRF9QUk9WSURFUiwgYWMgYXMgU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OLCBhZCBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsIGFlIGFzIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9OQU1FLCBhZiBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHLCBhZyBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSwgYWggYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX1JVTlRJTUUsIGFpIGFzIFNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQsIGFqIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9JRCwgYWsgYXMgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX0lERU5USUZJRVIsIGFsIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FLCBhbSBhcyBTRU1SRVNBVFRSU19GQUFTX0lELCBhbiBhcyBTRU1SRVNBVFRSU19GQUFTX0lOU1RBTkNFLCBhbyBhcyBTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlksIGFwIGFzIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSwgYXEgYXMgU0VNUkVTQVRUUlNfRkFBU19WRVJTSU9OLCBhciBhcyBTRU1SRVNBVFRSU19IT1NUX0FSQ0gsIGFzIGFzIFNFTVJFU0FUVFJTX0hPU1RfSUQsIGF0IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfSUQsIGF1IGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSwgYXYgYXMgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLCBhdyBhcyBTRU1SRVNBVFRSU19IT1NUX05BTUUsIGF4IGFzIFNFTVJFU0FUVFJTX0hPU1RfVFlQRSwgYXkgYXMgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSwgYXogYXMgU0VNUkVTQVRUUlNfSzhTX0NPTlRBSU5FUl9OQU1FLCBhQSBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FLCBhQiBhcyBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsIGFDIGFzIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfTkFNRSwgYUQgYXMgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQsIGFFIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsIGFGIGFzIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX1VJRCwgYUcgYXMgU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FLCBhSCBhcyBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCwgYUkgYXMgU0VNUkVTQVRUUlNfSzhTX05BTUVTUEFDRV9OQU1FLCBhSiBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FLCBhSyBhcyBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsIGFMIGFzIFNFTVJFU0FUVFJTX0s4U19QT0RfTkFNRSwgYU0gYXMgU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQsIGFOIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsIGFPIGFzIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX1VJRCwgYVAgYXMgU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUsIGFRIGFzIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsIGFSIGFzIFNFTVJFU0FUVFJTX09TX0RFU0NSSVBUSU9OLCBhUyBhcyBTRU1SRVNBVFRSU19PU19OQU1FLCBhVCBhcyBTRU1SRVNBVFRSU19PU19UWVBFLCBhVSBhcyBTRU1SRVNBVFRSU19PU19WRVJTSU9OLCBhViBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQsIGFXIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLCBhWCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfTElORSwgYVkgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUsIGFaIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILCBhXyBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX09XTkVSLCBhJCBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCwgYjAgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLCBiMSBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSwgYjIgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04sIGIzIGFzIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsIFMgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLCBiNCBhcyBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUVTUEFDRSwgYjUgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OLCBiNiBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLCBiIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsIGMgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLCBkIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiwgYjcgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX0RFU0NSSVBUSU9OLCBiOCBhcyBTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSwgYjkgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sIGJhIGFzIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzLCBiYiBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAsIGJjIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCwgYmQgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRVJMQU5HLCBiZSBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTywgYmYgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSwgYmcgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfTk9ERUpTLCBiaCBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAsIGJpIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTiwgYmogYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUlVCWSwgYmsgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMsIGJsIGFzIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzIH0gZnJvbSAnLi9zZGstaW5mby0hfnswMGh9fi5qcyc7XG5cbmZ1bmN0aW9uIF9tZXJnZU5hbWVzcGFjZXMobiwgbSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBlID0gbVtpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBlICE9PSAnc3RyaW5nJyAmJiAhQXJyYXkuaXNBcnJheShlKSkgeyBmb3IgKGNvbnN0IGsgaW4gZSkge1xuICAgICAgICAgICAgaWYgKGsgIT09ICdkZWZhdWx0JyAmJiAhKGsgaW4gbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCBrKTtcbiAgICAgICAgICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgaywgZC5nZXQgPyBkIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4gZVtrXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gfVxuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydHkobiwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgY29uc29sZU1hcCA9IFtcbiAgICB7IG46ICdlcnJvcicsIGM6ICdlcnJvcicgfSxcbiAgICB7IG46ICd3YXJuJywgYzogJ3dhcm4nIH0sXG4gICAgeyBuOiAnaW5mbycsIGM6ICdpbmZvJyB9LFxuICAgIHsgbjogJ2RlYnVnJywgYzogJ2RlYnVnJyB9LFxuICAgIHsgbjogJ3ZlcmJvc2UnLCBjOiAndHJhY2UnIH0sXG5dO1xuLyoqXG4gKiBBIHNpbXBsZSBJbW11dGFibGUgQ29uc29sZSBiYXNlZCBkaWFnbm9zdGljIGxvZ2dlciB3aGljaCB3aWxsIG91dHB1dCBhbnkgbWVzc2FnZXMgdG8gdGhlIENvbnNvbGUuXG4gKiBJZiB5b3Ugd2FudCB0byBsaW1pdCB0aGUgYW1vdW50IG9mIGxvZ2dpbmcgdG8gYSBzcGVjaWZpYyBsZXZlbCBvciBsb3dlciB1c2UgdGhlXG4gKiB7QGxpbmsgY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyfVxuICovXG52YXIgRGlhZ0NvbnNvbGVMb2dnZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRGlhZ0NvbnNvbGVMb2dnZXIoKSB7XG4gICAgICAgIGZ1bmN0aW9uIF9jb25zb2xlRnVuYyhmdW5jTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvbnNvbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU29tZSBlbnZpcm9ubWVudHMgb25seSBleHBvc2UgdGhlIGNvbnNvbGUgd2hlbiB0aGUgRjEyIGRldmVsb3BlciBjb25zb2xlIGlzIG9wZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRoZUZ1bmMgPSBjb25zb2xlW2Z1bmNOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWxsIGVudmlyb25tZW50cyBzdXBwb3J0IGFsbCBmdW5jdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGVGdW5jID0gY29uc29sZS5sb2c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gT25lIGxhc3QgZmluYWwgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGVGdW5jID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhlRnVuYy5hcHBseShjb25zb2xlLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb25zb2xlTWFwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzW2NvbnNvbGVNYXBbaV0ubl0gPSBfY29uc29sZUZ1bmMoY29uc29sZU1hcFtpXS5jKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gRGlhZ0NvbnNvbGVMb2dnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIFRoZSBUeXBlIG9mIHZhbHVlLiBJdCBkZXNjcmliZXMgaG93IHRoZSBkYXRhIGlzIHJlcG9ydGVkLiAqL1xudmFyIFZhbHVlVHlwZTtcbihmdW5jdGlvbiAoVmFsdWVUeXBlKSB7XG4gICAgVmFsdWVUeXBlW1ZhbHVlVHlwZVtcIklOVFwiXSA9IDBdID0gXCJJTlRcIjtcbiAgICBWYWx1ZVR5cGVbVmFsdWVUeXBlW1wiRE9VQkxFXCJdID0gMV0gPSBcIkRPVUJMRVwiO1xufSkoVmFsdWVUeXBlIHx8IChWYWx1ZVR5cGUgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIFZBTElEX0tFWV9DSEFSX1JBTkdFID0gJ1tfMC05YS16LSovXSc7XG52YXIgVkFMSURfS0VZID0gXCJbYS16XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI1NX1cIjtcbnZhciBWQUxJRF9WRU5ET1JfS0VZID0gXCJbYS16MC05XVwiICsgVkFMSURfS0VZX0NIQVJfUkFOR0UgKyBcInswLDI0MH1AW2Etel1cIiArIFZBTElEX0tFWV9DSEFSX1JBTkdFICsgXCJ7MCwxM31cIjtcbnZhciBWQUxJRF9LRVlfUkVHRVggPSBuZXcgUmVnRXhwKFwiXig/OlwiICsgVkFMSURfS0VZICsgXCJ8XCIgKyBWQUxJRF9WRU5ET1JfS0VZICsgXCIpJFwiKTtcbnZhciBWQUxJRF9WQUxVRV9CQVNFX1JFR0VYID0gL15bIC1+XXswLDI1NX1bIS1+XSQvO1xudmFyIElOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVggPSAvLHw9Lztcbi8qKlxuICogS2V5IGlzIG9wYXF1ZSBzdHJpbmcgdXAgdG8gMjU2IGNoYXJhY3RlcnMgcHJpbnRhYmxlLiBJdCBNVVNUIGJlZ2luIHdpdGggYVxuICogbG93ZXJjYXNlIGxldHRlciwgYW5kIGNhbiBvbmx5IGNvbnRhaW4gbG93ZXJjYXNlIGxldHRlcnMgYS16LCBkaWdpdHMgMC05LFxuICogdW5kZXJzY29yZXMgXywgZGFzaGVzIC0sIGFzdGVyaXNrcyAqLCBhbmQgZm9yd2FyZCBzbGFzaGVzIC8uXG4gKiBGb3IgbXVsdGktdGVuYW50IHZlbmRvciBzY2VuYXJpb3MsIGFuIGF0IHNpZ24gKEApIGNhbiBiZSB1c2VkIHRvIHByZWZpeCB0aGVcbiAqIHZlbmRvciBuYW1lLiBWZW5kb3JzIFNIT1VMRCBzZXQgdGhlIHRlbmFudCBJRCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXkuXG4gKiBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL3RyYWNlLWNvbnRleHQvI2tleVxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUtleShrZXkpIHtcbiAgICByZXR1cm4gVkFMSURfS0VZX1JFR0VYLnRlc3Qoa2V5KTtcbn1cbi8qKlxuICogVmFsdWUgaXMgb3BhcXVlIHN0cmluZyB1cCB0byAyNTYgY2hhcmFjdGVycyBwcmludGFibGUgQVNDSUkgUkZDMDAyMFxuICogY2hhcmFjdGVycyAoaS5lLiwgdGhlIHJhbmdlIDB4MjAgdG8gMHg3RSkgZXhjZXB0IGNvbW1hICwgYW5kID0uXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gKFZBTElEX1ZBTFVFX0JBU0VfUkVHRVgudGVzdCh2YWx1ZSkgJiZcbiAgICAgICAgIUlOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgudGVzdCh2YWx1ZSkpO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIE1BWF9UUkFDRV9TVEFURV9JVEVNUyA9IDMyO1xudmFyIE1BWF9UUkFDRV9TVEFURV9MRU4gPSA1MTI7XG52YXIgTElTVF9NRU1CRVJTX1NFUEFSQVRPUiA9ICcsJztcbnZhciBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgPSAnPSc7XG4vKipcbiAqIFRyYWNlU3RhdGUgbXVzdCBiZSBhIGNsYXNzIGFuZCBub3QgYSBzaW1wbGUgb2JqZWN0IHR5cGUgYmVjYXVzZSBvZiB0aGUgc3BlY1xuICogcmVxdWlyZW1lbnQgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi90cmFjZS1jb250ZXh0LyN0cmFjZXN0YXRlLWZpZWxkKS5cbiAqXG4gKiBIZXJlIGlzIHRoZSBsaXN0IG9mIGFsbG93ZWQgbXV0YXRpb25zOlxuICogLSBOZXcga2V5LXZhbHVlIHBhaXIgc2hvdWxkIGJlIGFkZGVkIGludG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdFxuICogLSBUaGUgdmFsdWUgb2YgYW55IGtleSBjYW4gYmUgdXBkYXRlZC4gTW9kaWZpZWQga2V5cyBNVVNUIGJlIG1vdmVkIHRvIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG52YXIgVHJhY2VTdGF0ZUltcGwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVHJhY2VTdGF0ZUltcGwocmF3VHJhY2VTdGF0ZSkge1xuICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCgpO1xuICAgICAgICBpZiAocmF3VHJhY2VTdGF0ZSlcbiAgICAgICAgICAgIHRoaXMuX3BhcnNlKHJhd1RyYWNlU3RhdGUpO1xuICAgIH1cbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgLy8gVE9ETzogQmVuY2htYXJrIHRoZSBkaWZmZXJlbnQgYXBwcm9hY2hlcyhtYXAgdnMgbGlzdCkgYW5kXG4gICAgICAgIC8vIHVzZSB0aGUgZmFzdGVyIG9uZS5cbiAgICAgICAgdmFyIHRyYWNlU3RhdGUgPSB0aGlzLl9jbG9uZSgpO1xuICAgICAgICBpZiAodHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUudW5zZXQgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciB0cmFjZVN0YXRlID0gdGhpcy5fY2xvbmUoKTtcbiAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5kZWxldGUoa2V5KTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZS5nZXQoa2V5KTtcbiAgICB9O1xuICAgIFRyYWNlU3RhdGVJbXBsLnByb3RvdHlwZS5zZXJpYWxpemUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZXlzKClcbiAgICAgICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKGFnZywga2V5KSB7XG4gICAgICAgICAgICBhZ2cucHVzaChrZXkgKyBMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIgKyBfdGhpcy5nZXQoa2V5KSk7XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBbXSlcbiAgICAgICAgICAgIC5qb2luKExJU1RfTUVNQkVSU19TRVBBUkFUT1IpO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLl9wYXJzZSA9IGZ1bmN0aW9uIChyYXdUcmFjZVN0YXRlKSB7XG4gICAgICAgIGlmIChyYXdUcmFjZVN0YXRlLmxlbmd0aCA+IE1BWF9UUkFDRV9TVEFURV9MRU4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRoaXMuX2ludGVybmFsU3RhdGUgPSByYXdUcmFjZVN0YXRlXG4gICAgICAgICAgICAuc3BsaXQoTElTVF9NRU1CRVJTX1NFUEFSQVRPUilcbiAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gU3RvcmUgaW4gcmV2ZXJzZSBzbyBuZXcga2V5cyAoLnNldCguLi4pKSB3aWxsIGJlIHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChhZ2csIHBhcnQpIHtcbiAgICAgICAgICAgIHZhciBsaXN0TWVtYmVyID0gcGFydC50cmltKCk7IC8vIE9wdGlvbmFsIFdoaXRlc3BhY2UgKE9XUykgaGFuZGxpbmdcbiAgICAgICAgICAgIHZhciBpID0gbGlzdE1lbWJlci5pbmRleE9mKExJU1RfTUVNQkVSX0tFWV9WQUxVRV9TUExJVFRFUik7XG4gICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0gbGlzdE1lbWJlci5zbGljZSgwLCBpKTtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsaXN0TWVtYmVyLnNsaWNlKGkgKyAxLCBwYXJ0Lmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlS2V5KGtleSkgJiYgdmFsaWRhdGVWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWdnLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LCBuZXcgTWFwKCkpO1xuICAgICAgICAvLyBCZWNhdXNlIG9mIHRoZSByZXZlcnNlKCkgcmVxdWlyZW1lbnQsIHRydW5jIG11c3QgYmUgZG9uZSBhZnRlciBtYXAgaXMgY3JlYXRlZFxuICAgICAgICBpZiAodGhpcy5faW50ZXJuYWxTdGF0ZS5zaXplID4gTUFYX1RSQUNFX1NUQVRFX0lURU1TKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUuZW50cmllcygpKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCkgLy8gVXNlIHJldmVyc2Ugc2FtZSBhcyBvcmlnaW5hbCB0cmFjZXN0YXRlIHBhcnNlIGNoYWluXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIE1BWF9UUkFDRV9TVEFURV9JVEVNUykpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2tleXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUua2V5cygpKS5yZXZlcnNlKCk7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuX2Nsb25lID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdHJhY2VTdGF0ZSA9IG5ldyBUcmFjZVN0YXRlSW1wbCgpO1xuICAgICAgICB0cmFjZVN0YXRlLl9pbnRlcm5hbFN0YXRlID0gbmV3IE1hcCh0aGlzLl9pbnRlcm5hbFN0YXRlKTtcbiAgICAgICAgcmV0dXJuIHRyYWNlU3RhdGU7XG4gICAgfTtcbiAgICByZXR1cm4gVHJhY2VTdGF0ZUltcGw7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlVHJhY2VTdGF0ZShyYXdUcmFjZVN0YXRlKSB7XG4gICAgcmV0dXJuIG5ldyBUcmFjZVN0YXRlSW1wbChyYXdUcmFjZVN0YXRlKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIERlZmF1bHQgZXhwb3J0LlxuY29uc3QgaW5kZXggPSB7XG4gICAgY29udGV4dDogY29udGV4dCxcbiAgICBkaWFnOiBkaWFnLFxuICAgIG1ldHJpY3M6IG1ldHJpY3MsXG4gICAgcHJvcGFnYXRpb246IHByb3BhZ2F0aW9uLFxuICAgIHRyYWNlOiB0cmFjZSxcbn07XG5cbmNvbnN0IGVzbSQxID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIERpYWdDb25zb2xlTG9nZ2VyLFxuICAgIGdldCBEaWFnTG9nTGV2ZWwgKCkgeyByZXR1cm4gRGlhZ0xvZ0xldmVsOyB9LFxuICAgIElOVkFMSURfU1BBTklELFxuICAgIElOVkFMSURfU1BBTl9DT05URVhULFxuICAgIElOVkFMSURfVFJBQ0VJRCxcbiAgICBQcm94eVRyYWNlcixcbiAgICBQcm94eVRyYWNlclByb3ZpZGVyLFxuICAgIFJPT1RfQ09OVEVYVCxcbiAgICBnZXQgU2FtcGxpbmdEZWNpc2lvbiAoKSB7IHJldHVybiBTYW1wbGluZ0RlY2lzaW9uOyB9LFxuICAgIGdldCBTcGFuS2luZCAoKSB7IHJldHVybiBTcGFuS2luZDsgfSxcbiAgICBnZXQgU3BhblN0YXR1c0NvZGUgKCkgeyByZXR1cm4gU3BhblN0YXR1c0NvZGU7IH0sXG4gICAgZ2V0IFRyYWNlRmxhZ3MgKCkgeyByZXR1cm4gVHJhY2VGbGFnczsgfSxcbiAgICBnZXQgVmFsdWVUeXBlICgpIHsgcmV0dXJuIFZhbHVlVHlwZTsgfSxcbiAgICBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsXG4gICAgY29udGV4dCxcbiAgICBjcmVhdGVDb250ZXh0S2V5LFxuICAgIGNyZWF0ZU5vb3BNZXRlcixcbiAgICBjcmVhdGVUcmFjZVN0YXRlLFxuICAgIGRlZmF1bHQ6IGluZGV4LFxuICAgIGRlZmF1bHRUZXh0TWFwR2V0dGVyLFxuICAgIGRlZmF1bHRUZXh0TWFwU2V0dGVyLFxuICAgIGRpYWcsXG4gICAgaXNTcGFuQ29udGV4dFZhbGlkLFxuICAgIGlzVmFsaWRTcGFuSWQsXG4gICAgaXNWYWxpZFRyYWNlSWQsXG4gICAgbWV0cmljcyxcbiAgICBwcm9wYWdhdGlvbixcbiAgICB0cmFjZVxufSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERPIE5PVCBFRElULCB0aGlzIGlzIGFuIEF1dG8tZ2VuZXJhdGVkIGZpbGUgZnJvbSBzY3JpcHRzL3NlbWNvbnYvdGVtcGxhdGVzL3JlZ2lzdHJ5L3N0YWJsZS9hdHRyaWJ1dGVzLnRzLmoyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qKlxuICogUmF0ZS1saW1pdGluZyByZXN1bHQsIHNob3dzIHdoZXRoZXIgdGhlIGxlYXNlIHdhcyBhY3F1aXJlZCBvciBjb250YWlucyBhIHJlamVjdGlvbiByZWFzb25cbiAqXG4gKiBAZXhhbXBsZSBhY3F1aXJlZFxuICogQGV4YW1wbGUgcmVxdWVzdF9jYW5jZWxlZFxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUID0gJ2FzcG5ldGNvcmUucmF0ZV9saW1pdGluZy5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFjcXVpcmVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0FDUVVJUkVEID0gXCJhY3F1aXJlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImVuZHBvaW50X2xpbWl0ZXJcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfRU5EUE9JTlRfTElNSVRFUiA9IFwiZW5kcG9pbnRfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImdsb2JhbF9saW1pdGVyXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0dMT0JBTF9MSU1JVEVSID0gXCJnbG9iYWxfbGltaXRlclwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJlcXVlc3RfY2FuY2VsZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfUkVRVUVTVF9DQU5DRUxFRCA9IFwicmVxdWVzdF9jYW5jZWxlZFwiO1xuLyoqXG4gKiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKi9cbnZhciBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UgPSAndGVsZW1ldHJ5LnNkay5sYW5ndWFnZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiY3BwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUCA9IFwiY3BwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZG90bmV0XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0RPVE5FVCA9IFwiZG90bmV0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZXJsYW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0VSTEFORyA9IFwiZXJsYW5nXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiZ29cIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08gPSBcImdvXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiamF2YVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBID0gXCJqYXZhXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwibm9kZWpzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX05PREVKUyA9IFwibm9kZWpzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGhwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUCA9IFwicGhwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicHl0aG9uXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BZVEhPTiA9IFwicHl0aG9uXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVieVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVUJZID0gXCJydWJ5XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicnVzdFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVVNUID0gXCJydXN0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic3dpZnRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfU1dJRlQgPSBcInN3aWZ0XCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2VianNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfV0VCSlMgPSBcIndlYmpzXCI7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSB0ZWxlbWV0cnkgU0RLIGFzIGRlZmluZWQgYWJvdmUuXG4gKlxuICogQGV4YW1wbGUgb3BlbnRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFRoZSBPcGVuVGVsZW1ldHJ5IFNESyAqKk1VU1QqKiBzZXQgdGhlIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byBgb3BlbnRlbGVtZXRyeWAuXG4gKiBJZiBhbm90aGVyIFNESywgbGlrZSBhIGZvcmsgb3IgYSB2ZW5kb3ItcHJvdmlkZWQgaW1wbGVtZW50YXRpb24sIGlzIHVzZWQsIHRoaXMgU0RLICoqTVVTVCoqIHNldCB0aGVcbiAqIGB0ZWxlbWV0cnkuc2RrLm5hbWVgIGF0dHJpYnV0ZSB0byB0aGUgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG9yIG1vZHVsZSBuYW1lIG9mIHRoaXMgU0RLJ3MgbWFpbiBlbnRyeSBwb2ludFxuICogb3IgYW5vdGhlciBzdWl0YWJsZSBpZGVudGlmaWVyIGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UuXG4gKiBUaGUgaWRlbnRpZmllciBgb3BlbnRlbGVtZXRyeWAgaXMgcmVzZXJ2ZWQgYW5kICoqTVVTVCBOT1QqKiBiZSB1c2VkIGluIHRoaXMgY2FzZS5cbiAqIEFsbCBjdXN0b20gaWRlbnRpZmllcnMgKipTSE9VTEQqKiBiZSBzdGFibGUgYWNyb3NzIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBhbiBpbXBsZW1lbnRhdGlvbi5cbiAqL1xudmFyIEFUVFJfVEVMRU1FVFJZX1NES19OQU1FID0gJ3RlbGVtZXRyeS5zZGsubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgdGVsZW1ldHJ5IFNESy5cbiAqXG4gKiBAZXhhbXBsZSAxLjIuM1xuICovXG52YXIgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04gPSAndGVsZW1ldHJ5LnNkay52ZXJzaW9uJztcbi8qKlxuICogRnVsbCB0eXBlIG5hbWUgb2YgdGhlIFtgSUV4Y2VwdGlvbkhhbmRsZXJgXShodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZG90bmV0L2FwaS9taWNyb3NvZnQuYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5pZXhjZXB0aW9uaGFuZGxlcikgaW1wbGVtZW50YXRpb24gdGhhdCBoYW5kbGVkIHRoZSBleGNlcHRpb24uXG4gKlxuICogQGV4YW1wbGUgQ29udG9zby5NeUhhbmRsZXJcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUgPSAnYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5oYW5kbGVyLnR5cGUnO1xuLyoqXG4gKiBBU1AuTkVUIENvcmUgZXhjZXB0aW9uIG1pZGRsZXdhcmUgaGFuZGxpbmcgcmVzdWx0XG4gKlxuICogQGV4YW1wbGUgaGFuZGxlZFxuICogQGV4YW1wbGUgdW5oYW5kbGVkXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbi5yZXN1bHQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFib3J0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQgPSBcImFib3J0ZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJoYW5kbGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVEID0gXCJoYW5kbGVkXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwic2tpcHBlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfU0tJUFBFRCA9IFwic2tpcHBlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInVuaGFuZGxlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfVU5IQU5ETEVEID0gXCJ1bmhhbmRsZWRcIjtcbi8qKlxuICogUmF0ZSBsaW1pdGluZyBwb2xpY3kgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBmaXhlZFxuICogQGV4YW1wbGUgc2xpZGluZ1xuICogQGV4YW1wbGUgdG9rZW5cbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucG9saWN5Jztcbi8qKlxuICogRmxhZyBpbmRpY2F0aW5nIGlmIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHBpcGVsaW5lLlxuICpcbiAqIEBleGFtcGxlIHRydWVcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SRVFVRVNUX0lTX1VOSEFORExFRCA9ICdhc3BuZXRjb3JlLnJlcXVlc3QuaXNfdW5oYW5kbGVkJztcbi8qKlxuICogQSB2YWx1ZSB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBtYXRjaGVkIHJvdXRlIGlzIGEgZmFsbGJhY2sgcm91dGUuXG4gKlxuICogQGV4YW1wbGUgdHJ1ZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfSVNfRkFMTEJBQ0sgPSAnYXNwbmV0Y29yZS5yb3V0aW5nLmlzX2ZhbGxiYWNrJztcbi8qKlxuICogTWF0Y2ggcmVzdWx0IC0gc3VjY2VzcyBvciBmYWlsdXJlXG4gKlxuICogQGV4YW1wbGUgc3VjY2Vzc1xuICogQGV4YW1wbGUgZmFpbHVyZVxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImZhaWx1cmVcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfRkFJTFVSRSA9IFwiZmFpbHVyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInN1Y2Nlc3NcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVN9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyA9IFwic3VjY2Vzc1wiO1xuLyoqXG4gKiBDbGllbnQgYWRkcmVzcyAtIGRvbWFpbiBuYW1lIGlmIGF2YWlsYWJsZSB3aXRob3V0IHJldmVyc2UgRE5TIGxvb2t1cDsgb3RoZXJ3aXNlLCBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIGNsaWVudC5leGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIHNlcnZlciBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgY2xpZW50LmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBjbGllbnQgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCAgZm9yIGV4YW1wbGUgcHJveGllcywgaWYgaXQncyBhdmFpbGFibGUuXG4gKi9cbnZhciBBVFRSX0NMSUVOVF9BRERSRVNTID0gJ2NsaWVudC5hZGRyZXNzJztcbi8qKlxuICogQ2xpZW50IHBvcnQgbnVtYmVyLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKlxuICogQG5vdGUgV2hlbiBvYnNlcnZlZCBmcm9tIHRoZSBzZXJ2ZXIgc2lkZSwgYW5kIHdoZW4gY29tbXVuaWNhdGluZyB0aHJvdWdoIGFuIGludGVybWVkaWFyeSwgYGNsaWVudC5wb3J0YCAqKlNIT1VMRCoqIHJlcHJlc2VudCB0aGUgY2xpZW50IHBvcnQgYmVoaW5kIGFueSBpbnRlcm1lZGlhcmllcywgIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9DTElFTlRfUE9SVCA9ICdjbGllbnQucG9ydCc7XG4vKipcbiAqIERlc2NyaWJlcyBhIGNsYXNzIG9mIGVycm9yIHRoZSBvcGVyYXRpb24gZW5kZWQgd2l0aC5cbiAqXG4gKiBAZXhhbXBsZSB0aW1lb3V0XG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Vbmtub3duSG9zdEV4Y2VwdGlvblxuICogQGV4YW1wbGUgc2VydmVyX2NlcnRpZmljYXRlX2ludmFsaWRcbiAqIEBleGFtcGxlIDUwMFxuICpcbiAqIEBub3RlIFRoZSBgZXJyb3IudHlwZWAgKipTSE9VTEQqKiBiZSBwcmVkaWN0YWJsZSwgYW5kICoqU0hPVUxEKiogaGF2ZSBsb3cgY2FyZGluYWxpdHkuXG4gKlxuICogV2hlbiBgZXJyb3IudHlwZWAgaXMgc2V0IHRvIGEgdHlwZSAoZS5nLiwgYW4gZXhjZXB0aW9uIHR5cGUpLCBpdHNcbiAqIGNhbm9uaWNhbCBjbGFzcyBuYW1lIGlkZW50aWZ5aW5nIHRoZSB0eXBlIHdpdGhpbiB0aGUgYXJ0aWZhY3QgKipTSE9VTEQqKiBiZSB1c2VkLlxuICpcbiAqIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiBkb2N1bWVudCB0aGUgbGlzdCBvZiBlcnJvcnMgdGhleSByZXBvcnQuXG4gKlxuICogVGhlIGNhcmRpbmFsaXR5IG9mIGBlcnJvci50eXBlYCB3aXRoaW4gb25lIGluc3RydW1lbnRhdGlvbiBsaWJyYXJ5ICoqU0hPVUxEKiogYmUgbG93LlxuICogVGVsZW1ldHJ5IGNvbnN1bWVycyB0aGF0IGFnZ3JlZ2F0ZSBkYXRhIGZyb20gbXVsdGlwbGUgaW5zdHJ1bWVudGF0aW9uIGxpYnJhcmllcyBhbmQgYXBwbGljYXRpb25zXG4gKiBzaG91bGQgYmUgcHJlcGFyZWQgZm9yIGBlcnJvci50eXBlYCB0byBoYXZlIGhpZ2ggY2FyZGluYWxpdHkgYXQgcXVlcnkgdGltZSB3aGVuIG5vXG4gKiBhZGRpdGlvbmFsIGZpbHRlcnMgYXJlIGFwcGxpZWQuXG4gKlxuICogSWYgdGhlIG9wZXJhdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCBOT1QqKiBzZXQgYGVycm9yLnR5cGVgLlxuICpcbiAqIElmIGEgc3BlY2lmaWMgZG9tYWluIGRlZmluZXMgaXRzIG93biBzZXQgb2YgZXJyb3IgaWRlbnRpZmllcnMgKHN1Y2ggYXMgSFRUUCBvciBnUlBDIHN0YXR1cyBjb2RlcyksXG4gKiBpdCdzICoqUkVDT01NRU5ERUQqKiB0bzpcbiAqXG4gKiAgIC0gVXNlIGEgZG9tYWluLXNwZWNpZmljIGF0dHJpYnV0ZVxuICogICAtIFNldCBgZXJyb3IudHlwZWAgdG8gY2FwdHVyZSBhbGwgZXJyb3JzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBhcmUgZGVmaW5lZCB3aXRoaW4gdGhlIGRvbWFpbi1zcGVjaWZpYyBzZXQgb3Igbm90LlxuICovXG52YXIgQVRUUl9FUlJPUl9UWVBFID0gJ2Vycm9yLnR5cGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfRVJST1JfVFlQRX0uXG4gICovXG52YXIgRVJST1JfVFlQRV9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAqICoqU0hPVUxEKiogYmUgc2V0IHRvIHRydWUgaWYgdGhlIGV4Y2VwdGlvbiBldmVudCBpcyByZWNvcmRlZCBhdCBhIHBvaW50IHdoZXJlIGl0IGlzIGtub3duIHRoYXQgdGhlIGV4Y2VwdGlvbiBpcyBlc2NhcGluZyB0aGUgc2NvcGUgb2YgdGhlIHNwYW4uXG4gKlxuICogQG5vdGUgQW4gZXhjZXB0aW9uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBlc2NhcGVkIChvciBsZWZ0KSB0aGUgc2NvcGUgb2YgYSBzcGFuLFxuICogaWYgdGhhdCBzcGFuIGlzIGVuZGVkIHdoaWxlIHRoZSBleGNlcHRpb24gaXMgc3RpbGwgbG9naWNhbGx5IFwiaW4gZmxpZ2h0XCIuXG4gKiBUaGlzIG1heSBiZSBhY3R1YWxseSBcImluIGZsaWdodFwiIGluIHNvbWUgbGFuZ3VhZ2VzIChlLmcuIGlmIHRoZSBleGNlcHRpb25cbiAqIGlzIHBhc3NlZCB0byBhIENvbnRleHQgbWFuYWdlcidzIGBfX2V4aXRfX2AgbWV0aG9kIGluIFB5dGhvbikgYnV0IHdpbGxcbiAqIHVzdWFsbHkgYmUgY2F1Z2h0IGF0IHRoZSBwb2ludCBvZiByZWNvcmRpbmcgdGhlIGV4Y2VwdGlvbiBpbiBtb3N0IGxhbmd1YWdlcy5cbiAqXG4gKiBJdCBpcyB1c3VhbGx5IG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgYXQgdGhlIHBvaW50IHdoZXJlIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd25cbiAqIHdoZXRoZXIgaXQgd2lsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIGEgc3Bhbi5cbiAqIEhvd2V2ZXIsIGl0IGlzIHRyaXZpYWwgdG8ga25vdyB0aGF0IGFuIGV4Y2VwdGlvblxuICogd2lsbCBlc2NhcGUsIGlmIG9uZSBjaGVja3MgZm9yIGFuIGFjdGl2ZSBleGNlcHRpb24ganVzdCBiZWZvcmUgZW5kaW5nIHRoZSBzcGFuLFxuICogYXMgZG9uZSBpbiB0aGUgW2V4YW1wbGUgZm9yIHJlY29yZGluZyBzcGFuIGV4Y2VwdGlvbnNdKGh0dHBzOi8vb3BlbnRlbGVtZXRyeS5pby9kb2NzL3NwZWNzL3NlbWNvbnYvZXhjZXB0aW9ucy9leGNlcHRpb25zLXNwYW5zLyNyZWNvcmRpbmctYW4tZXhjZXB0aW9uKS5cbiAqXG4gKiBJdCBmb2xsb3dzIHRoYXQgYW4gZXhjZXB0aW9uIG1heSBzdGlsbCBlc2NhcGUgdGhlIHNjb3BlIG9mIHRoZSBzcGFuXG4gKiBldmVuIGlmIHRoZSBgZXhjZXB0aW9uLmVzY2FwZWRgIGF0dHJpYnV0ZSB3YXMgbm90IHNldCBvciBzZXQgdG8gZmFsc2UsXG4gKiBzaW5jZSB0aGUgZXZlbnQgbWlnaHQgaGF2ZSBiZWVuIHJlY29yZGVkIGF0IGEgdGltZSB3aGVyZSBpdCB3YXMgbm90XG4gKiBjbGVhciB3aGV0aGVyIHRoZSBleGNlcHRpb24gd2lsbCBlc2NhcGUuXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9FU0NBUEVEID0gJ2V4Y2VwdGlvbi5lc2NhcGVkJztcbi8qKlxuICogVGhlIGV4Y2VwdGlvbiBtZXNzYWdlLlxuICpcbiAqIEBleGFtcGxlIERpdmlzaW9uIGJ5IHplcm9cbiAqIEBleGFtcGxlIENhbid0IGNvbnZlcnQgJ2ludCcgb2JqZWN0IHRvIHN0ciBpbXBsaWNpdGx5XG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9NRVNTQUdFID0gJ2V4Y2VwdGlvbi5tZXNzYWdlJztcbi8qKlxuICogQSBzdGFja3RyYWNlIGFzIGEgc3RyaW5nIGluIHRoZSBuYXR1cmFsIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbGFuZ3VhZ2UgcnVudGltZS4gVGhlIHJlcHJlc2VudGF0aW9uIGlzIHRvIGJlIGRldGVybWluZWQgYW5kIGRvY3VtZW50ZWQgYnkgZWFjaCBsYW5ndWFnZSBTSUcuXG4gKlxuICogQGV4YW1wbGUgXCJFeGNlcHRpb24gaW4gdGhyZWFkIFwibWFpblwiIGphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9uOiBUZXN0IGV4Y2VwdGlvblxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWV0aG9kQihHZW5lcmF0ZVRyYWNlLmphdmE6MTMpXFxcXG4gYXQgY29tLmV4YW1wbGUuR2VuZXJhdGVUcmFjZS5tZXRob2RBKEdlbmVyYXRlVHJhY2UuamF2YTo5KVxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWFpbihHZW5lcmF0ZVRyYWNlLmphdmE6NSlcXFxcblwiXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFID0gJ2V4Y2VwdGlvbi5zdGFja3RyYWNlJztcbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGV4Y2VwdGlvbiAoaXRzIGZ1bGx5LXF1YWxpZmllZCBjbGFzcyBuYW1lLCBpZiBhcHBsaWNhYmxlKS4gVGhlIGR5bmFtaWMgdHlwZSBvZiB0aGUgZXhjZXB0aW9uIHNob3VsZCBiZSBwcmVmZXJyZWQgb3ZlciB0aGUgc3RhdGljIHR5cGUgaW4gbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBpdC5cbiAqXG4gKiBAZXhhbXBsZSBqYXZhLm5ldC5Db25uZWN0RXhjZXB0aW9uXG4gKiBAZXhhbXBsZSBPU0Vycm9yXG4gKi9cbnZhciBBVFRSX0VYQ0VQVElPTl9UWVBFID0gJ2V4Y2VwdGlvbi50eXBlJztcbi8qKlxuICogSFRUUCByZXF1ZXN0IGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIuY29udGVudC10eXBlPVtcImFwcGxpY2F0aW9uL2pzb25cIl1cbiAqIEBleGFtcGxlIGh0dHAucmVxdWVzdC5oZWFkZXIueC1mb3J3YXJkZWQtZm9yPVtcIjEuMi4zLjRcIiwgXCIxLjIuMy41XCJdXG4gKlxuICogQG5vdGUgSW5zdHJ1bWVudGF0aW9ucyAqKlNIT1VMRCoqIHJlcXVpcmUgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbiBvZiB3aGljaCBoZWFkZXJzIGFyZSB0byBiZSBjYXB0dXJlZC4gSW5jbHVkaW5nIGFsbCByZXF1ZXN0IGhlYWRlcnMgY2FuIGJlIGEgc2VjdXJpdHkgcmlzayAtIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gaGVscHMgYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24uXG4gKiBUaGUgYFVzZXItQWdlbnRgIGhlYWRlciBpcyBhbHJlYWR5IGNhcHR1cmVkIGluIHRoZSBgdXNlcl9hZ2VudC5vcmlnaW5hbGAgYXR0cmlidXRlLiBVc2VycyAqKk1BWSoqIGV4cGxpY2l0bHkgY29uZmlndXJlIGluc3RydW1lbnRhdGlvbnMgdG8gY2FwdHVyZSB0aGVtIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCByZWNvbW1lbmRlZC5cbiAqIFRoZSBhdHRyaWJ1dGUgdmFsdWUgKipNVVNUKiogY29uc2lzdCBvZiBlaXRoZXIgbXVsdGlwbGUgaGVhZGVyIHZhbHVlcyBhcyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc2luZ2xlLWl0ZW0gYXJyYXkgY29udGFpbmluZyBhIHBvc3NpYmx5IGNvbW1hLWNvbmNhdGVuYXRlZCBzdHJpbmcsIGRlcGVuZGluZyBvbiB0aGUgd2F5IHRoZSBIVFRQIGxpYnJhcnkgcHJvdmlkZXMgYWNjZXNzIHRvIGhlYWRlcnMuXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVRVUVTVF9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVxdWVzdC5oZWFkZXIuXCIgKyBrZXk7IH07XG4vKipcbiAqIEhUVFAgcmVxdWVzdCBtZXRob2QuXG4gKlxuICogQGV4YW1wbGUgR0VUXG4gKiBAZXhhbXBsZSBQT1NUXG4gKiBAZXhhbXBsZSBIRUFEXG4gKlxuICogQG5vdGUgSFRUUCByZXF1ZXN0IG1ldGhvZCB2YWx1ZSAqKlNIT1VMRCoqIGJlIFwia25vd25cIiB0byB0aGUgaW5zdHJ1bWVudGF0aW9uLlxuICogQnkgZGVmYXVsdCwgdGhpcyBjb252ZW50aW9uIGRlZmluZXMgXCJrbm93blwiIG1ldGhvZHMgYXMgdGhlIG9uZXMgbGlzdGVkIGluIFtSRkM5MTEwXShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI25hbWUtbWV0aG9kcylcbiAqIGFuZCB0aGUgUEFUQ0ggbWV0aG9kIGRlZmluZWQgaW4gW1JGQzU3ODldKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1Nzg5Lmh0bWwpLlxuICpcbiAqIElmIHRoZSBIVFRQIHJlcXVlc3QgbWV0aG9kIGlzIG5vdCBrbm93biB0byBpbnN0cnVtZW50YXRpb24sIGl0ICoqTVVTVCoqIHNldCB0aGUgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB0byBgX09USEVSYC5cbiAqXG4gKiBJZiB0aGUgSFRUUCBpbnN0cnVtZW50YXRpb24gY291bGQgZW5kIHVwIGNvbnZlcnRpbmcgdmFsaWQgSFRUUCByZXF1ZXN0IG1ldGhvZHMgdG8gYF9PVEhFUmAsIHRoZW4gaXQgKipNVVNUKiogcHJvdmlkZSBhIHdheSB0byBvdmVycmlkZVxuICogdGhlIGxpc3Qgb2Yga25vd24gSFRUUCBtZXRob2RzLiBJZiB0aGlzIG92ZXJyaWRlIGlzIGRvbmUgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAqKk1VU1QqKiBiZSBuYW1lZFxuICogT1RFTF9JTlNUUlVNRU5UQVRJT05fSFRUUF9LTk9XTl9NRVRIT0RTIGFuZCBzdXBwb3J0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgY2FzZS1zZW5zaXRpdmUga25vd24gSFRUUCBtZXRob2RzXG4gKiAodGhpcyBsaXN0ICoqTVVTVCoqIGJlIGEgZnVsbCBvdmVycmlkZSBvZiB0aGUgZGVmYXVsdCBrbm93biBtZXRob2QsIGl0IGlzIG5vdCBhIGxpc3Qgb2Yga25vd24gbWV0aG9kcyBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdHMpLlxuICpcbiAqIEhUVFAgbWV0aG9kIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZSBhbmQgYGh0dHAucmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBtYXRjaCBhIGtub3duIEhUVFAgbWV0aG9kIG5hbWUgZXhhY3RseS5cbiAqIEluc3RydW1lbnRhdGlvbnMgZm9yIHNwZWNpZmljIHdlYiBmcmFtZXdvcmtzIHRoYXQgY29uc2lkZXIgSFRUUCBtZXRob2RzIHRvIGJlIGNhc2UgaW5zZW5zaXRpdmUsICoqU0hPVUxEKiogcG9wdWxhdGUgYSBjYW5vbmljYWwgZXF1aXZhbGVudC5cbiAqIFRyYWNpbmcgaW5zdHJ1bWVudGF0aW9ucyB0aGF0IGRvIHNvLCAqKk1VU1QqKiBhbHNvIHNldCBgaHR0cC5yZXF1ZXN0Lm1ldGhvZF9vcmlnaW5hbGAgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EID0gJ2h0dHAucmVxdWVzdC5tZXRob2QnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIl9PVEhFUlwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiA9IFwiX09USEVSXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiQ09OTkVDVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9DT05ORUNUID0gXCJDT05ORUNUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiREVMRVRFXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0RFTEVURSA9IFwiREVMRVRFXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiR0VUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0dFVCA9IFwiR0VUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiSEVBRFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEID0gXCJIRUFEXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT1BUSU9OU1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PUFRJT05TID0gXCJPUFRJT05TXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUEFUQ0hcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0ggPSBcIlBBVENIXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUE9TVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NUID0gXCJQT1NUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiUFVUXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCA9IFwiUFVUXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiVFJBQ0VcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UgPSBcIlRSQUNFXCI7XG4vKipcbiAqIE9yaWdpbmFsIEhUVFAgbWV0aG9kIHNlbnQgYnkgdGhlIGNsaWVudCBpbiB0aGUgcmVxdWVzdCBsaW5lLlxuICpcbiAqIEBleGFtcGxlIEdlVFxuICogQGV4YW1wbGUgQUNMXG4gKiBAZXhhbXBsZSBmb29cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCA9ICdodHRwLnJlcXVlc3QubWV0aG9kX29yaWdpbmFsJztcbi8qKlxuICogVGhlIG9yZGluYWwgbnVtYmVyIG9mIHJlcXVlc3QgcmVzZW5kaW5nIGF0dGVtcHQgKGZvciBhbnkgcmVhc29uLCBpbmNsdWRpbmcgcmVkaXJlY3RzKS5cbiAqXG4gKiBAZXhhbXBsZSAzXG4gKlxuICogQG5vdGUgVGhlIHJlc2VuZCBjb3VudCAqKlNIT1VMRCoqIGJlIHVwZGF0ZWQgZWFjaCB0aW1lIGFuIEhUVFAgcmVxdWVzdCBnZXRzIHJlc2VudCBieSB0aGUgY2xpZW50LCByZWdhcmRsZXNzIG9mIHdoYXQgd2FzIHRoZSBjYXVzZSBvZiB0aGUgcmVzZW5kaW5nIChlLmcuIHJlZGlyZWN0aW9uLCBhdXRob3JpemF0aW9uIGZhaWx1cmUsIDUwMyBTZXJ2ZXIgVW5hdmFpbGFibGUsIG5ldHdvcmsgaXNzdWVzLCBvciBhbnkgb3RoZXIpLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5UID0gJ2h0dHAucmVxdWVzdC5yZXNlbmRfY291bnQnO1xuLyoqXG4gKiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMsIGA8a2V5PmAgYmVpbmcgdGhlIG5vcm1hbGl6ZWQgSFRUUCBIZWFkZXIgbmFtZSAobG93ZXJjYXNlKSwgdGhlIHZhbHVlIGJlaW5nIHRoZSBoZWFkZXIgdmFsdWVzLlxuICpcbiAqIEBleGFtcGxlIGh0dHAucmVzcG9uc2UuaGVhZGVyLmNvbnRlbnQtdHlwZT1bXCJhcHBsaWNhdGlvbi9qc29uXCJdXG4gKiBAZXhhbXBsZSBodHRwLnJlc3BvbnNlLmhlYWRlci5teS1jdXN0b20taGVhZGVyPVtcImFiY1wiLCBcImRlZlwiXVxuICpcbiAqIEBub3RlIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiByZXF1aXJlIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2Ygd2hpY2ggaGVhZGVycyBhcmUgdG8gYmUgY2FwdHVyZWQuIEluY2x1ZGluZyBhbGwgcmVzcG9uc2UgaGVhZGVycyBjYW4gYmUgYSBzZWN1cml0eSByaXNrIC0gZXhwbGljaXQgY29uZmlndXJhdGlvbiBoZWxwcyBhdm9pZCBsZWFraW5nIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi5cbiAqIFVzZXJzICoqTUFZKiogZXhwbGljaXRseSBjb25maWd1cmUgaW5zdHJ1bWVudGF0aW9ucyB0byBjYXB0dXJlIHRoZW0gZXZlbiB0aG91Z2ggaXQgaXMgbm90IHJlY29tbWVuZGVkLlxuICogVGhlIGF0dHJpYnV0ZSB2YWx1ZSAqKk1VU1QqKiBjb25zaXN0IG9mIGVpdGhlciBtdWx0aXBsZSBoZWFkZXIgdmFsdWVzIGFzIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgYSBzaW5nbGUtaXRlbSBhcnJheSBjb250YWluaW5nIGEgcG9zc2libHkgY29tbWEtY29uY2F0ZW5hdGVkIHN0cmluZywgZGVwZW5kaW5nIG9uIHRoZSB3YXkgdGhlIEhUVFAgbGlicmFyeSBwcm92aWRlcyBhY2Nlc3MgdG8gaGVhZGVycy5cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIgPSBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBcImh0dHAucmVzcG9uc2UuaGVhZGVyLlwiICsga2V5OyB9O1xuLyoqXG4gKiBbSFRUUCByZXNwb25zZSBzdGF0dXMgY29kZV0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02KS5cbiAqXG4gKiBAZXhhbXBsZSAyMDBcbiAqL1xudmFyIEFUVFJfSFRUUF9SRVNQT05TRV9TVEFUVVNfQ09ERSA9ICdodHRwLnJlc3BvbnNlLnN0YXR1c19jb2RlJztcbi8qKlxuICogVGhlIG1hdGNoZWQgcm91dGUsIHRoYXQgaXMsIHRoZSBwYXRoIHRlbXBsYXRlIGluIHRoZSBmb3JtYXQgdXNlZCBieSB0aGUgcmVzcGVjdGl2ZSBzZXJ2ZXIgZnJhbWV3b3JrLlxuICpcbiAqIEBleGFtcGxlIC91c2Vycy86dXNlcklEP1xuICogQGV4YW1wbGUge2NvbnRyb2xsZXJ9L3thY3Rpb259L3tpZD99XG4gKlxuICogQG5vdGUgKipNVVNUIE5PVCoqIGJlIHBvcHVsYXRlZCB3aGVuIHRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgSFRUUCBzZXJ2ZXIgZnJhbWV3b3JrIGFzIHRoZSByb3V0ZSBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgbG93LWNhcmRpbmFsaXR5IGFuZCB0aGUgVVJJIHBhdGggY2FuIE5PVCBzdWJzdGl0dXRlIGl0LlxuICogKipTSE9VTEQqKiBpbmNsdWRlIHRoZSBbYXBwbGljYXRpb24gcm9vdF0oL2RvY3MvaHR0cC9odHRwLXNwYW5zLm1kI2h0dHAtc2VydmVyLWRlZmluaXRpb25zKSBpZiB0aGVyZSBpcyBvbmUuXG4gKi9cbnZhciBBVFRSX0hUVFBfUk9VVEUgPSAnaHR0cC5yb3V0ZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBlbmQgb2YgbWlub3IgR0NcbiAqIEBleGFtcGxlIGVuZCBvZiBtYWpvciBHQ1xuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIGFjdGlvbiBpcyBnZW5lcmFsbHkgb2J0YWluZWQgdmlhIFtHYXJiYWdlQ29sbGVjdGlvbk5vdGlmaWNhdGlvbkluZm8jZ2V0R2NBY3Rpb24oKV0oaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamRrLm1hbmFnZW1lbnQvY29tL3N1bi9tYW5hZ2VtZW50L0dhcmJhZ2VDb2xsZWN0aW9uTm90aWZpY2F0aW9uSW5mby5odG1sI2dldEdjQWN0aW9uKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfQUNUSU9OID0gJ2p2bS5nYy5hY3Rpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci5cbiAqXG4gKiBAZXhhbXBsZSBHMSBZb3VuZyBHZW5lcmF0aW9uXG4gKiBAZXhhbXBsZSBHMSBPbGQgR2VuZXJhdGlvblxuICpcbiAqIEBub3RlIEdhcmJhZ2UgY29sbGVjdG9yIG5hbWUgaXMgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvI2dldEdjTmFtZSgpXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvLmh0bWwjZ2V0R2NOYW1lKCkpLlxuICovXG52YXIgQVRUUl9KVk1fR0NfTkFNRSA9ICdqdm0uZ2MubmFtZSc7XG4vKipcbiAqIE5hbWUgb2YgdGhlIG1lbW9yeSBwb29sLlxuICpcbiAqIEBleGFtcGxlIEcxIE9sZCBHZW5cbiAqIEBleGFtcGxlIEcxIEVkZW4gc3BhY2VcbiAqIEBleGFtcGxlIEcxIFN1cnZpdm9yIFNwYWNlXG4gKlxuICogQG5vdGUgUG9vbCBuYW1lcyBhcmUgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbTWVtb3J5UG9vbE1YQmVhbiNnZXROYW1lKCldKGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2phdmEubWFuYWdlbWVudC9qYXZhL2xhbmcvbWFuYWdlbWVudC9NZW1vcnlQb29sTVhCZWFuLmh0bWwjZ2V0TmFtZSgpKS5cbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUgPSAnanZtLm1lbW9yeS5wb29sLm5hbWUnO1xuLyoqXG4gKiBUaGUgdHlwZSBvZiBtZW1vcnkuXG4gKlxuICogQGV4YW1wbGUgaGVhcFxuICogQGV4YW1wbGUgbm9uX2hlYXBcbiAqL1xudmFyIEFUVFJfSlZNX01FTU9SWV9UWVBFID0gJ2p2bS5tZW1vcnkudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaGVhcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX01FTU9SWV9UWVBFfS5cbiAgKi9cbnZhciBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCA9IFwiaGVhcFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vbl9oZWFwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fTUVNT1JZX1RZUEV9LlxuICAqL1xudmFyIEpWTV9NRU1PUllfVFlQRV9WQUxVRV9OT05fSEVBUCA9IFwibm9uX2hlYXBcIjtcbi8qKlxuICogV2hldGhlciB0aGUgdGhyZWFkIGlzIGRhZW1vbiBvciBub3QuXG4gKi9cbnZhciBBVFRSX0pWTV9USFJFQURfREFFTU9OID0gJ2p2bS50aHJlYWQuZGFlbW9uJztcbi8qKlxuICogU3RhdGUgb2YgdGhlIHRocmVhZC5cbiAqXG4gKiBAZXhhbXBsZSBydW5uYWJsZVxuICogQGV4YW1wbGUgYmxvY2tlZFxuICovXG52YXIgQVRUUl9KVk1fVEhSRUFEX1NUQVRFID0gJ2p2bS50aHJlYWQuc3RhdGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImJsb2NrZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCA9IFwiYmxvY2tlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5ld1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX1RIUkVBRF9TVEFURX0uXG4gICovXG52YXIgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9ORVcgPSBcIm5ld1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJ1bm5hYmxlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFID0gXCJydW5uYWJsZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRlcm1pbmF0ZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCA9IFwidGVybWluYXRlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVkX3dhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyA9IFwidGltZWRfd2FpdGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIndhaXRpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfV0FJVElORyA9IFwid2FpdGluZ1wiO1xuLyoqXG4gKiBMb2NhbCBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24gLSBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfQUREUkVTUyA9ICduZXR3b3JrLmxvY2FsLmFkZHJlc3MnO1xuLyoqXG4gKiBMb2NhbCBwb3J0IG51bWJlciBvZiB0aGUgbmV0d29yayBjb25uZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKi9cbnZhciBBVFRSX05FVFdPUktfTE9DQUxfUE9SVCA9ICduZXR3b3JrLmxvY2FsLnBvcnQnO1xuLyoqXG4gKiBQZWVyIGFkZHJlc3Mgb2YgdGhlIG5ldHdvcmsgY29ubmVjdGlvbiAtIElQIGFkZHJlc3Mgb3IgVW5peCBkb21haW4gc29ja2V0IG5hbWUuXG4gKlxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MgPSAnbmV0d29yay5wZWVyLmFkZHJlc3MnO1xuLyoqXG4gKiBQZWVyIHBvcnQgbnVtYmVyIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgNjUxMjNcbiAqL1xudmFyIEFUVFJfTkVUV09SS19QRUVSX1BPUlQgPSAnbmV0d29yay5wZWVyLnBvcnQnO1xuLyoqXG4gKiBbT1NJIGFwcGxpY2F0aW9uIGxheWVyXShodHRwczovL29zaS1tb2RlbC5jb20vYXBwbGljYXRpb24tbGF5ZXIvKSBvciBub24tT1NJIGVxdWl2YWxlbnQuXG4gKlxuICogQGV4YW1wbGUgYW1xcFxuICogQGV4YW1wbGUgaHR0cFxuICogQGV4YW1wbGUgbXF0dFxuICpcbiAqIEBub3RlIFRoZSB2YWx1ZSAqKlNIT1VMRCoqIGJlIG5vcm1hbGl6ZWQgdG8gbG93ZXJjYXNlLlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1BST1RPQ09MX05BTUUgPSAnbmV0d29yay5wcm90b2NvbC5uYW1lJztcbi8qKlxuICogVGhlIGFjdHVhbCB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCB1c2VkIGZvciBuZXR3b3JrIGNvbW11bmljYXRpb24uXG4gKlxuICogQGV4YW1wbGUgMS4xXG4gKiBAZXhhbXBsZSAyXG4gKlxuICogQG5vdGUgSWYgcHJvdG9jb2wgdmVyc2lvbiBpcyBzdWJqZWN0IHRvIG5lZ290aWF0aW9uIChmb3IgZXhhbXBsZSB1c2luZyBbQUxQTl0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzczMDEuaHRtbCkpLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCoqIGJlIHNldCB0byB0aGUgbmVnb3RpYXRlZCB2ZXJzaW9uLiBJZiB0aGUgYWN0dWFsIHByb3RvY29sIHZlcnNpb24gaXMgbm90IGtub3duLCB0aGlzIGF0dHJpYnV0ZSAqKlNIT1VMRCBOT1QqKiBiZSBzZXQuXG4gKi9cbnZhciBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiA9ICduZXR3b3JrLnByb3RvY29sLnZlcnNpb24nO1xuLyoqXG4gKiBbT1NJIHRyYW5zcG9ydCBsYXllcl0oaHR0cHM6Ly9vc2ktbW9kZWwuY29tL3RyYW5zcG9ydC1sYXllci8pIG9yIFtpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gbWV0aG9kXShodHRwczovL3dpa2lwZWRpYS5vcmcvd2lraS9JbnRlci1wcm9jZXNzX2NvbW11bmljYXRpb24pLlxuICpcbiAqIEBleGFtcGxlIHRjcFxuICogQGV4YW1wbGUgdWRwXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlICoqU0hPVUxEKiogYmUgbm9ybWFsaXplZCB0byBsb3dlcmNhc2UuXG4gKlxuICogQ29uc2lkZXIgYWx3YXlzIHNldHRpbmcgdGhlIHRyYW5zcG9ydCB3aGVuIHNldHRpbmcgYSBwb3J0IG51bWJlciwgc2luY2VcbiAqIGEgcG9ydCBudW1iZXIgaXMgYW1iaWd1b3VzIHdpdGhvdXQga25vd2luZyB0aGUgdHJhbnNwb3J0LiBGb3IgZXhhbXBsZVxuICogZGlmZmVyZW50IHByb2Nlc3NlcyBjb3VsZCBiZSBsaXN0ZW5pbmcgb24gVENQIHBvcnQgMTIzNDUgYW5kIFVEUCBwb3J0IDEyMzQ1LlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVCA9ICduZXR3b3JrLnRyYW5zcG9ydCc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicGlwZVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUgPSBcInBpcGVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJxdWljXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyA9IFwicXVpY1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRjcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1RDUCA9IFwidGNwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwidWRwXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQID0gXCJ1ZHBcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ1bml4XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVH0uXG4gICovXG52YXIgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVU5JWCA9IFwidW5peFwiO1xuLyoqXG4gKiBbT1NJIG5ldHdvcmsgbGF5ZXJdKGh0dHBzOi8vb3NpLW1vZGVsLmNvbS9uZXR3b3JrLWxheWVyLykgb3Igbm9uLU9TSSBlcXVpdmFsZW50LlxuICpcbiAqIEBleGFtcGxlIGlwdjRcbiAqIEBleGFtcGxlIGlwdjZcbiAqXG4gKiBAbm90ZSBUaGUgdmFsdWUgKipTSE9VTEQqKiBiZSBub3JtYWxpemVkIHRvIGxvd2VyY2FzZS5cbiAqL1xudmFyIEFUVFJfTkVUV09SS19UWVBFID0gJ25ldHdvcmsudHlwZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaXB2NFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UWVBFfS5cbiAgKi9cbnZhciBORVRXT1JLX1RZUEVfVkFMVUVfSVBWNCA9IFwiaXB2NFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImlwdjZcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFlQRX0uXG4gICovXG52YXIgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYgPSBcImlwdjZcIjtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGluc3RydW1lbnRhdGlvbiBzY29wZSAtIChgSW5zdHJ1bWVudGF0aW9uU2NvcGUuTmFtZWAgaW4gT1RMUCkuXG4gKlxuICogQGV4YW1wbGUgaW8ub3BlbnRlbGVtZXRyeS5jb250cmliLm1vbmdvZGJcbiAqL1xudmFyIEFUVFJfT1RFTF9TQ09QRV9OQU1FID0gJ290ZWwuc2NvcGUubmFtZSc7XG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBpbnN0cnVtZW50YXRpb24gc2NvcGUgLSAoYEluc3RydW1lbnRhdGlvblNjb3BlLlZlcnNpb25gIGluIE9UTFApLlxuICpcbiAqIEBleGFtcGxlIDEuMC4wXG4gKi9cbnZhciBBVFRSX09URUxfU0NPUEVfVkVSU0lPTiA9ICdvdGVsLnNjb3BlLnZlcnNpb24nO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjb2RlLCBlaXRoZXIgXCJPS1wiIG9yIFwiRVJST1JcIi4gKipNVVNUIE5PVCoqIGJlIHNldCBpZiB0aGUgc3RhdHVzIGNvZGUgaXMgVU5TRVQuXG4gKi9cbnZhciBBVFRSX09URUxfU1RBVFVTX0NPREUgPSAnb3RlbC5zdGF0dXNfY29kZSc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiRVJST1JcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IgPSBcIkVSUk9SXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiT0tcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX09URUxfU1RBVFVTX0NPREV9LlxuICAqL1xudmFyIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfT0sgPSBcIk9LXCI7XG4vKipcbiAqIERlc2NyaXB0aW9uIG9mIHRoZSBTdGF0dXMgaWYgaXQgaGFzIGEgdmFsdWUsIG90aGVyd2lzZSBub3Qgc2V0LlxuICpcbiAqIEBleGFtcGxlIHJlc291cmNlIG5vdCBmb3VuZFxuICovXG52YXIgQVRUUl9PVEVMX1NUQVRVU19ERVNDUklQVElPTiA9ICdvdGVsLnN0YXR1c19kZXNjcmlwdGlvbic7XG4vKipcbiAqIFNlcnZlciBkb21haW4gbmFtZSBpZiBhdmFpbGFibGUgd2l0aG91dCByZXZlcnNlIEROUyBsb29rdXA7IG90aGVyd2lzZSwgSVAgYWRkcmVzcyBvciBVbml4IGRvbWFpbiBzb2NrZXQgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBleGFtcGxlLmNvbVxuICogQGV4YW1wbGUgMTAuMS4yLjgwXG4gKiBAZXhhbXBsZSAvdG1wL215LnNvY2tcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIGNsaWVudCBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgc2VydmVyLmFkZHJlc3NgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBzZXJ2ZXIgYWRkcmVzcyBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCBmb3IgZXhhbXBsZSBwcm94aWVzLCBpZiBpdCdzIGF2YWlsYWJsZS5cbiAqL1xudmFyIEFUVFJfU0VSVkVSX0FERFJFU1MgPSAnc2VydmVyLmFkZHJlc3MnO1xuLyoqXG4gKiBTZXJ2ZXIgcG9ydCBudW1iZXIuXG4gKlxuICogQGV4YW1wbGUgODBcbiAqIEBleGFtcGxlIDgwODBcbiAqIEBleGFtcGxlIDQ0M1xuICpcbiAqIEBub3RlIFdoZW4gb2JzZXJ2ZWQgZnJvbSB0aGUgY2xpZW50IHNpZGUsIGFuZCB3aGVuIGNvbW11bmljYXRpbmcgdGhyb3VnaCBhbiBpbnRlcm1lZGlhcnksIGBzZXJ2ZXIucG9ydGAgKipTSE9VTEQqKiByZXByZXNlbnQgdGhlIHNlcnZlciBwb3J0IGJlaGluZCBhbnkgaW50ZXJtZWRpYXJpZXMsIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9TRVJWRVJfUE9SVCA9ICdzZXJ2ZXIucG9ydCc7XG4vKipcbiAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgc2VydmljZS5cbiAqXG4gKiBAZXhhbXBsZSBzaG9wcGluZ2NhcnRcbiAqXG4gKiBAbm90ZSAqKk1VU1QqKiBiZSB0aGUgc2FtZSBmb3IgYWxsIGluc3RhbmNlcyBvZiBob3Jpem9udGFsbHkgc2NhbGVkIHNlcnZpY2VzLiBJZiB0aGUgdmFsdWUgd2FzIG5vdCBzcGVjaWZpZWQsIFNES3MgKipNVVNUKiogZmFsbGJhY2sgdG8gYHVua25vd25fc2VydmljZTpgIGNvbmNhdGVuYXRlZCB3aXRoIFtgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgXShwcm9jZXNzLm1kKSwgZS5nLiBgdW5rbm93bl9zZXJ2aWNlOmJhc2hgLiBJZiBgcHJvY2Vzcy5leGVjdXRhYmxlLm5hbWVgIGlzIG5vdCBhdmFpbGFibGUsIHRoZSB2YWx1ZSAqKk1VU1QqKiBiZSBzZXQgdG8gYHVua25vd25fc2VydmljZWAuXG4gKi9cbnZhciBBVFRSX1NFUlZJQ0VfTkFNRSA9ICdzZXJ2aWNlLm5hbWUnO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHNlcnZpY2UgQVBJIG9yIGltcGxlbWVudGF0aW9uLiBUaGUgZm9ybWF0IGlzIG5vdCBkZWZpbmVkIGJ5IHRoZXNlIGNvbnZlbnRpb25zLlxuICpcbiAqIEBleGFtcGxlIDIuMC4wXG4gKiBAZXhhbXBsZSBhMDFkYmVmOGFcbiAqL1xudmFyIEFUVFJfU0VSVklDRV9WRVJTSU9OID0gJ3NlcnZpY2UudmVyc2lvbic7XG4vKipcbiAqIFNpZ25hbFIgSFRUUCBjb25uZWN0aW9uIGNsb3N1cmUgc3RhdHVzLlxuICpcbiAqIEBleGFtcGxlIGFwcF9zaHV0ZG93blxuICogQGV4YW1wbGUgdGltZW91dFxuICovXG52YXIgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTID0gJ3NpZ25hbHIuY29ubmVjdGlvbi5zdGF0dXMnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImFwcF9zaHV0ZG93blwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU30uXG4gICovXG52YXIgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04gPSBcImFwcF9zaHV0ZG93blwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vcm1hbF9jbG9zdXJlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTfS5cbiAgKi9cbnZhciBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX05PUk1BTF9DTE9TVVJFID0gXCJub3JtYWxfY2xvc3VyZVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInRpbWVvdXRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVN9LlxuICAqL1xudmFyIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfVElNRU9VVCA9IFwidGltZW91dFwiO1xuLyoqXG4gKiBbU2lnbmFsUiB0cmFuc3BvcnQgdHlwZV0oaHR0cHM6Ly9naXRodWIuY29tL2RvdG5ldC9hc3BuZXRjb3JlL2Jsb2IvbWFpbi9zcmMvU2lnbmFsUi9kb2NzL3NwZWNzL1RyYW5zcG9ydFByb3RvY29scy5tZClcbiAqXG4gKiBAZXhhbXBsZSB3ZWJfc29ja2V0c1xuICogQGV4YW1wbGUgbG9uZ19wb2xsaW5nXG4gKi9cbnZhciBBVFRSX1NJR05BTFJfVFJBTlNQT1JUID0gJ3NpZ25hbHIudHJhbnNwb3J0Jztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJsb25nX3BvbGxpbmdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkcgPSBcImxvbmdfcG9sbGluZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInNlcnZlcl9zZW50X2V2ZW50c1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9UUkFOU1BPUlR9LlxuICAqL1xudmFyIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyA9IFwic2VydmVyX3NlbnRfZXZlbnRzXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwid2ViX3NvY2tldHNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyA9IFwid2ViX3NvY2tldHNcIjtcbi8qKlxuICogVGhlIFtVUkkgZnJhZ21lbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy41KSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZSBTZW1Db252XG4gKi9cbnZhciBBVFRSX1VSTF9GUkFHTUVOVCA9ICd1cmwuZnJhZ21lbnQnO1xuLyoqXG4gKiBBYnNvbHV0ZSBVUkwgZGVzY3JpYmluZyBhIG5ldHdvcmsgcmVzb3VyY2UgYWNjb3JkaW5nIHRvIFtSRkMzOTg2XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMzk4NilcbiAqXG4gKiBAZXhhbXBsZSBodHRwczovL3d3dy5mb28uYmFyL3NlYXJjaD9xPU9wZW5UZWxlbWV0cnkjU2VtQ29udlxuICogQGV4YW1wbGUgLy9sb2NhbGhvc3RcbiAqXG4gKiBAbm90ZSBGb3IgbmV0d29yayBjYWxscywgVVJMIHVzdWFsbHkgaGFzIGBzY2hlbWU6Ly9ob3N0Wzpwb3J0XVtwYXRoXVs/cXVlcnldWyNmcmFnbWVudF1gIGZvcm1hdCwgd2hlcmUgdGhlIGZyYWdtZW50IGlzIG5vdCB0cmFuc21pdHRlZCBvdmVyIEhUVFAsIGJ1dCBpZiBpdCBpcyBrbm93biwgaXQgKipTSE9VTEQqKiBiZSBpbmNsdWRlZCBuZXZlcnRoZWxlc3MuXG4gKiBgdXJsLmZ1bGxgICoqTVVTVCBOT1QqKiBjb250YWluIGNyZWRlbnRpYWxzIHBhc3NlZCB2aWEgVVJMIGluIGZvcm0gb2YgYGh0dHBzOi8vdXNlcm5hbWU6cGFzc3dvcmRAd3d3LmV4YW1wbGUuY29tL2AuIEluIHN1Y2ggY2FzZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgKipTSE9VTEQqKiBiZSByZWRhY3RlZCBhbmQgYXR0cmlidXRlJ3MgdmFsdWUgKipTSE9VTEQqKiBiZSBgaHR0cHM6Ly9SRURBQ1RFRDpSRURBQ1RFREB3d3cuZXhhbXBsZS5jb20vYC5cbiAqIGB1cmwuZnVsbGAgKipTSE9VTEQqKiBjYXB0dXJlIHRoZSBhYnNvbHV0ZSBVUkwgd2hlbiBpdCBpcyBhdmFpbGFibGUgKG9yIGNhbiBiZSByZWNvbnN0cnVjdGVkKS4gU2Vuc2l0aXZlIGNvbnRlbnQgcHJvdmlkZWQgaW4gYHVybC5mdWxsYCAqKlNIT1VMRCoqIGJlIHNjcnViYmVkIHdoZW4gaW5zdHJ1bWVudGF0aW9ucyBjYW4gaWRlbnRpZnkgaXQuXG4gKi9cbnZhciBBVFRSX1VSTF9GVUxMID0gJ3VybC5mdWxsJztcbi8qKlxuICogVGhlIFtVUkkgcGF0aF0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjMpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIC9zZWFyY2hcbiAqXG4gKiBAbm90ZSBTZW5zaXRpdmUgY29udGVudCBwcm92aWRlZCBpbiBgdXJsLnBhdGhgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1BBVEggPSAndXJsLnBhdGgnO1xuLyoqXG4gKiBUaGUgW1VSSSBxdWVyeV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjQpIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlIHE9T3BlblRlbGVtZXRyeVxuICpcbiAqIEBub3RlIFNlbnNpdGl2ZSBjb250ZW50IHByb3ZpZGVkIGluIGB1cmwucXVlcnlgICoqU0hPVUxEKiogYmUgc2NydWJiZWQgd2hlbiBpbnN0cnVtZW50YXRpb25zIGNhbiBpZGVudGlmeSBpdC5cbiAqL1xudmFyIEFUVFJfVVJMX1FVRVJZID0gJ3VybC5xdWVyeSc7XG4vKipcbiAqIFRoZSBbVVJJIHNjaGVtZV0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYjc2VjdGlvbi0zLjEpIGNvbXBvbmVudCBpZGVudGlmeWluZyB0aGUgdXNlZCBwcm90b2NvbC5cbiAqXG4gKiBAZXhhbXBsZSBodHRwc1xuICogQGV4YW1wbGUgZnRwXG4gKiBAZXhhbXBsZSB0ZWxuZXRcbiAqL1xudmFyIEFUVFJfVVJMX1NDSEVNRSA9ICd1cmwuc2NoZW1lJztcbi8qKlxuICogVmFsdWUgb2YgdGhlIFtIVFRQIFVzZXItQWdlbnRdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjZmllbGQudXNlci1hZ2VudCkgaGVhZGVyIHNlbnQgYnkgdGhlIGNsaWVudC5cbiAqXG4gKiBAZXhhbXBsZSBDRVJOLUxpbmVNb2RlLzIuMTUgbGlid3d3LzIuMTdiM1xuICogQGV4YW1wbGUgTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxNF83XzEgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE0LjEuMiBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMVxuICogQGV4YW1wbGUgWW91ckFwcC8xLjAuMCBncnBjLWphdmEtb2todHRwLzEuMjcuMlxuICovXG52YXIgQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMID0gJ3VzZXJfYWdlbnQub3JpZ2luYWwnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBETyBOT1QgRURJVCwgdGhpcyBpcyBhbiBBdXRvLWdlbmVyYXRlZCBmaWxlIGZyb20gc2NyaXB0cy9zZW1jb252L3RlbXBsYXRlcy9yZWdpc3Rlci9zdGFibGUvbWV0cmljcy50cy5qMlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIE51bWJlciBvZiBleGNlcHRpb25zIGNhdWdodCBieSBleGNlcHRpb24gaGFuZGxpbmcgbWlkZGxld2FyZS5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuRGlhZ25vc3RpY3NgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OUyA9ICdhc3BuZXRjb3JlLmRpYWdub3N0aWNzLmV4Y2VwdGlvbnMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZSBvbiB0aGUgc2VydmVyIHRoYXQgaG9sZCBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX0FDVElWRV9SRVFVRVNUX0xFQVNFUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcuYWN0aXZlX3JlcXVlc3RfbGVhc2VzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQsIHdhaXRpbmcgdG8gYWNxdWlyZSBhIHJhdGUgbGltaXRpbmcgbGVhc2UuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1FVRVVFRF9SRVFVRVNUUyA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucXVldWVkX3JlcXVlc3RzJztcbi8qKlxuICogVGhlIHRpbWUgdGhlIHJlcXVlc3Qgc3BlbnQgaW4gYSBxdWV1ZSB3YWl0aW5nIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5SYXRlTGltaXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3QudGltZV9pbl9xdWV1ZSc7XG4vKipcbiAqIFRoZSBkdXJhdGlvbiBvZiByYXRlIGxpbWl0aW5nIGxlYXNlIGhlbGQgYnkgcmVxdWVzdHMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9MRUFTRV9EVVJBVElPTiA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucmVxdWVzdF9sZWFzZS5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiByZXF1ZXN0cyB0aGF0IHRyaWVkIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIFJlcXVlc3RzIGNvdWxkIGJlOlxuICpcbiAqICAgLSBSZWplY3RlZCBieSBnbG9iYWwgb3IgZW5kcG9pbnQgcmF0ZSBsaW1pdGluZyBwb2xpY2llc1xuICogICAtIENhbmNlbGVkIHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBsZWFzZS5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3RzJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgd2VyZSBhdHRlbXB0ZWQgdG8gYmUgbWF0Y2hlZCB0byBhbiBlbmRwb2ludC5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUm91dGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX0FUVEVNUFRTID0gJ2FzcG5ldGNvcmUucm91dGluZy5tYXRjaF9hdHRlbXB0cyc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgY2xpZW50IHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfQ0xJRU5UX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5jbGllbnQucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIER1cmF0aW9uIG9mIEhUVFAgc2VydmVyIHJlcXVlc3RzLlxuICovXG52YXIgTUVUUklDX0hUVFBfU0VSVkVSX1JFUVVFU1RfRFVSQVRJT04gPSAnaHR0cC5zZXJ2ZXIucmVxdWVzdC5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGN1cnJlbnRseSBsb2FkZWQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0NPVU5UID0gJ2p2bS5jbGFzcy5jb3VudCc7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIGxvYWRlZCBzaW5jZSBKVk0gc3RhcnQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NMQVNTX0xPQURFRCA9ICdqdm0uY2xhc3MubG9hZGVkJztcbi8qKlxuICogTnVtYmVyIG9mIGNsYXNzZXMgdW5sb2FkZWQgc2luY2UgSlZNIHN0YXJ0LlxuICovXG52YXIgTUVUUklDX0pWTV9DTEFTU19VTkxPQURFRCA9ICdqdm0uY2xhc3MudW5sb2FkZWQnO1xuLyoqXG4gKiBOdW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgdG8gdGhlIEphdmEgdmlydHVhbCBtYWNoaW5lLlxuICovXG52YXIgTUVUUklDX0pWTV9DUFVfQ09VTlQgPSAnanZtLmNwdS5jb3VudCc7XG4vKipcbiAqIFJlY2VudCBDUFUgdXRpbGl6YXRpb24gZm9yIHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKlxuICogQG5vdGUgVGhlIHZhbHVlIHJhbmdlIGlzIFswLjAsMS4wXS4gVGhpcyB1dGlsaXphdGlvbiBpcyBub3QgZGVmaW5lZCBhcyBiZWluZyBmb3IgdGhlIHNwZWNpZmljIGludGVydmFsIHNpbmNlIGxhc3QgbWVhc3VyZW1lbnQgKHVubGlrZSBgc3lzdGVtLmNwdS51dGlsaXphdGlvbmApLiBbUmVmZXJlbmNlXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xNy9kb2NzL2FwaS9qZGsubWFuYWdlbWVudC9jb20vc3VuL21hbmFnZW1lbnQvT3BlcmF0aW5nU3lzdGVtTVhCZWFuLmh0bWwjZ2V0UHJvY2Vzc0NwdUxvYWQoKSkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9SRUNFTlRfVVRJTElaQVRJT04gPSAnanZtLmNwdS5yZWNlbnRfdXRpbGl6YXRpb24nO1xuLyoqXG4gKiBDUFUgdGltZSB1c2VkIGJ5IHRoZSBwcm9jZXNzIGFzIHJlcG9ydGVkIGJ5IHRoZSBKVk0uXG4gKi9cbnZhciBNRVRSSUNfSlZNX0NQVV9USU1FID0gJ2p2bS5jcHUudGltZSc7XG4vKipcbiAqIER1cmF0aW9uIG9mIEpWTSBnYXJiYWdlIGNvbGxlY3Rpb24gYWN0aW9ucy5cbiAqL1xudmFyIE1FVFJJQ19KVk1fR0NfRFVSQVRJT04gPSAnanZtLmdjLmR1cmF0aW9uJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgY29tbWl0dGVkLlxuICovXG52YXIgTUVUUklDX0pWTV9NRU1PUllfQ09NTUlUVEVEID0gJ2p2bS5tZW1vcnkuY29tbWl0dGVkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtYXggb2J0YWluYWJsZSBtZW1vcnkuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9MSU1JVCA9ICdqdm0ubWVtb3J5LmxpbWl0Jztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZC5cbiAqL1xudmFyIE1FVFJJQ19KVk1fTUVNT1JZX1VTRUQgPSAnanZtLm1lbW9yeS51c2VkJztcbi8qKlxuICogTWVhc3VyZSBvZiBtZW1vcnkgdXNlZCwgYXMgbWVhc3VyZWQgYWZ0ZXIgdGhlIG1vc3QgcmVjZW50IGdhcmJhZ2UgY29sbGVjdGlvbiBldmVudCBvbiB0aGlzIHBvb2wuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MgPSAnanZtLm1lbW9yeS51c2VkX2FmdGVyX2xhc3RfZ2MnO1xuLyoqXG4gKiBOdW1iZXIgb2YgZXhlY3V0aW5nIHBsYXRmb3JtIHRocmVhZHMuXG4gKi9cbnZhciBNRVRSSUNfSlZNX1RIUkVBRF9DT1VOVCA9ICdqdm0udGhyZWFkLmNvdW50Jztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSBhY3RpdmUgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TID0gJ2tlc3RyZWwuYWN0aXZlX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogTnVtYmVyIG9mIFRMUyBoYW5kc2hha2VzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBwcm9ncmVzcyBvbiB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9BQ1RJVkVfVExTX0hBTkRTSEFLRVMgPSAna2VzdHJlbC5hY3RpdmVfdGxzX2hhbmRzaGFrZXMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdrZXN0cmVsLmNvbm5lY3Rpb24uZHVyYXRpb24nO1xuLyoqXG4gKiBOdW1iZXIgb2YgY29ubmVjdGlvbnMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnF1ZXVlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBIVFRQIHJlcXVlc3RzIG9uIG11bHRpcGxleGVkIGNvbm5lY3Rpb25zIChIVFRQLzIgYW5kIEhUVFAvMykgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZCBhbmQgYXJlIHdhaXRpbmcgdG8gc3RhcnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9SRVFVRVNUUyA9ICdrZXN0cmVsLnF1ZXVlZF9yZXF1ZXN0cyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyByZWplY3RlZCBieSB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIENvbm5lY3Rpb25zIGFyZSByZWplY3RlZCB3aGVuIHRoZSBjdXJyZW50bHkgYWN0aXZlIGNvdW50IGV4Y2VlZHMgdGhlIHZhbHVlIGNvbmZpZ3VyZWQgd2l0aCBgTWF4Q29uY3VycmVudENvbm5lY3Rpb25zYC5cbiAqIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9SRUpFQ1RFRF9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLnJlamVjdGVkX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogVGhlIGR1cmF0aW9uIG9mIFRMUyBoYW5kc2hha2VzIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1RMU19IQU5EU0hBS0VfRFVSQVRJT04gPSAna2VzdHJlbC50bHNfaGFuZHNoYWtlLmR1cmF0aW9uJztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSB1cGdyYWRlZCAoV2ViU29ja2V0cykuIC5cbiAqXG4gKiBAbm90ZSBUaGUgY291bnRlciBvbmx5IHRyYWNrcyBIVFRQLzEuMSBjb25uZWN0aW9ucy5cbiAqXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfVVBHUkFERURfQ09OTkVDVElPTlMgPSAna2VzdHJlbC51cGdyYWRlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkh0dHAuQ29ubmVjdGlvbnNgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX1NJR05BTFJfU0VSVkVSX0FDVElWRV9DT05ORUNUSU9OUyA9ICdzaWduYWxyLnNlcnZlci5hY3RpdmVfY29ubmVjdGlvbnMnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgY29ubmVjdGlvbnMgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuSHR0cC5Db25uZWN0aW9uc2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQ09OTkVDVElPTl9EVVJBVElPTiA9ICdzaWduYWxyLnNlcnZlci5jb25uZWN0aW9uLmR1cmF0aW9uJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tXG4gKiBUaGVzZSByZS1leHBvcnRzIGFyZSBvbmx5IG9mIGNvbnN0YW50cywgb25seSB0d28tbGV2ZWxzIGRlZXAsIGFuZFxuICogc2hvdWxkIG5vdCBjYXVzZSBwcm9ibGVtcyBmb3IgdHJlZS1zaGFrZXJzLlxuICovXG4vLyBEZXByZWNhdGVkLiBUaGVzZSBhcmUga2VwdCBhcm91bmQgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXNcblxuY29uc3QgZXNtID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gICAgX19wcm90b19fOiBudWxsLFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9BQk9SVEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9TS0lQUEVELFxuICAgIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9VTkhBTkRMRUQsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCxcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUixcbiAgICBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQsXG4gICAgQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9GQUlMVVJFLFxuICAgIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVCxcbiAgICBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfSEFORExFUl9UWVBFLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1BPTElDWSxcbiAgICBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQsXG4gICAgQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVELFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLLFxuICAgIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyxcbiAgICBBVFRSX0NMSUVOVF9BRERSRVNTLFxuICAgIEFUVFJfQ0xJRU5UX1BPUlQsXG4gICAgQVRUUl9FUlJPUl9UWVBFLFxuICAgIEFUVFJfRVhDRVBUSU9OX0VTQ0FQRUQsXG4gICAgQVRUUl9FWENFUFRJT05fTUVTU0FHRSxcbiAgICBBVFRSX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIEFUVFJfRVhDRVBUSU9OX1RZUEUsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfSEVBREVSLFxuICAgIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRCxcbiAgICBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RfT1JJR0lOQUwsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5ULFxuICAgIEFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIsXG4gICAgQVRUUl9IVFRQX1JFU1BPTlNFX1NUQVRVU19DT0RFLFxuICAgIEFUVFJfSFRUUF9ST1VURSxcbiAgICBBVFRSX0pWTV9HQ19BQ1RJT04sXG4gICAgQVRUUl9KVk1fR0NfTkFNRSxcbiAgICBBVFRSX0pWTV9NRU1PUllfUE9PTF9OQU1FLFxuICAgIEFUVFJfSlZNX01FTU9SWV9UWVBFLFxuICAgIEFUVFJfSlZNX1RIUkVBRF9EQUVNT04sXG4gICAgQVRUUl9KVk1fVEhSRUFEX1NUQVRFLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTLFxuICAgIEFUVFJfTkVUV09SS19MT0NBTF9QT1JULFxuICAgIEFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MsXG4gICAgQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSxcbiAgICBBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBBVFRSX05FVFdPUktfVFJBTlNQT1JULFxuICAgIEFUVFJfTkVUV09SS19UWVBFLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9OQU1FLFxuICAgIEFUVFJfT1RFTF9TQ09QRV9WRVJTSU9OLFxuICAgIEFUVFJfT1RFTF9TVEFUVVNfQ09ERSxcbiAgICBBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OLFxuICAgIEFUVFJfU0VSVkVSX0FERFJFU1MsXG4gICAgQVRUUl9TRVJWRVJfUE9SVCxcbiAgICBBVFRSX1NFUlZJQ0VfTkFNRSxcbiAgICBBVFRSX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMsXG4gICAgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCxcbiAgICBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX05BTUUsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX1ZFUlNJT04sXG4gICAgQVRUUl9VUkxfRlJBR01FTlQsXG4gICAgQVRUUl9VUkxfRlVMTCxcbiAgICBBVFRSX1VSTF9QQVRILFxuICAgIEFUVFJfVVJMX1FVRVJZLFxuICAgIEFUVFJfVVJMX1NDSEVNRSxcbiAgICBBVFRSX1VTRVJfQUdFTlRfT1JJR0lOQUwsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIsXG4gICAgQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFLFxuICAgIEF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEssXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0sXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIENMT1VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIENsb3VkUGxhdGZvcm1WYWx1ZXMsXG4gICAgQ2xvdWRQcm92aWRlclZhbHVlcyxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlksXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPLFxuICAgIERCU1lTVEVNVkFMVUVTX0FEQUJBUyxcbiAgICBEQlNZU1RFTVZBTFVFU19DQUNIRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEsXG4gICAgREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQixcbiAgICBEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPU01PU0RCLFxuICAgIERCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19DT1VDSERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0RCMixcbiAgICBEQlNZU1RFTVZBTFVFU19ERVJCWSxcbiAgICBEQlNZU1RFTVZBTFVFU19EWU5BTU9EQixcbiAgICBEQlNZU1RFTVZBTFVFU19FREIsXG4gICAgREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCxcbiAgICBEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIsXG4gICAgREJTWVNURU1WQUxVRVNfRklSRUJJUkQsXG4gICAgREJTWVNURU1WQUxVRVNfRklSU1RTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfR0VPREUsXG4gICAgREJTWVNURU1WQUxVRVNfSDIsXG4gICAgREJTWVNURU1WQUxVRVNfSEFOQURCLFxuICAgIERCU1lTVEVNVkFMVUVTX0hCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX0hJVkUsXG4gICAgREJTWVNURU1WQUxVRVNfSFNRTERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0lORk9STUlYLFxuICAgIERCU1lTVEVNVkFMVUVTX0lOR1JFUyxcbiAgICBEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIsXG4gICAgREJTWVNURU1WQUxVRVNfSU5URVJCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX01BUklBREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUFYREIsXG4gICAgREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVELFxuICAgIERCU1lTVEVNVkFMVUVTX01PTkdPREIsXG4gICAgREJTWVNURU1WQUxVRVNfTVNTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTVlTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfTkVPNEosXG4gICAgREJTWVNURU1WQUxVRVNfTkVURVpaQSxcbiAgICBEQlNZU1RFTVZBTFVFU19PUkFDTEUsXG4gICAgREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSxcbiAgICBEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UsXG4gICAgREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCxcbiAgICBEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURJUyxcbiAgICBEQlNZU1RFTVZBTFVFU19SRURTSElGVCxcbiAgICBEQlNZU1RFTVZBTFVFU19TUUxJVEUsXG4gICAgREJTWVNURU1WQUxVRVNfU1lCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX1RFUkFEQVRBLFxuICAgIERCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EsXG4gICAgRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzLFxuICAgIERiU3lzdGVtVmFsdWVzLFxuICAgIEVSUk9SX1RZUEVfVkFMVUVfT1RIRVIsXG4gICAgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0RFTEVURSxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfRURJVCxcbiAgICBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfSU5TRVJULFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FXUyxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FaVVJFLFxuICAgIEZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfR0NQLFxuICAgIEZBQVNUUklHR0VSVkFMVUVTX0RBVEFTT1VSQ0UsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfSFRUUCxcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19PVEhFUixcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19QVUJTVUIsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfVElNRVIsXG4gICAgRmFhc0RvY3VtZW50T3BlcmF0aW9uVmFsdWVzLFxuICAgIEZhYXNJbnZva2VkUHJvdmlkZXJWYWx1ZXMsXG4gICAgRmFhc1RyaWdnZXJWYWx1ZXMsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQU1ENjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNMzIsXG4gICAgSE9TVEFSQ0hWQUxVRVNfQVJNNjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfSUE2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19QUEMzMixcbiAgICBIT1NUQVJDSFZBTFVFU19QUEM2NCxcbiAgICBIT1NUQVJDSFZBTFVFU19YODYsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMCxcbiAgICBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8xLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfSFRUUF8yXzAsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19RVUlDLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfU1BEWSxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFELFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX09USEVSLFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUEFUQ0gsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QT1NULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUFVULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfVFJBQ0UsXG4gICAgSG9zdEFyY2hWYWx1ZXMsXG4gICAgSHR0cEZsYXZvclZhbHVlcyxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfSEVBUCxcbiAgICBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfTk9OX0hFQVAsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9CTE9DS0VELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfTkVXLFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfUlVOTkFCTEUsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9URVJNSU5BVEVELFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVElNRURfV0FJVElORyxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1dBSVRJTkcsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfUkVDRUlWRUQsXG4gICAgTUVTU0FHRVRZUEVWQUxVRVNfU0VOVCxcbiAgICBNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUsXG4gICAgTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1RPUElDLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19QUk9DRVNTLFxuICAgIE1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUUyxcbiAgICBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RfTEVBU0VfRFVSQVRJT04sXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyxcbiAgICBNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX0NMQVNTX0NPVU5ULFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfTE9BREVELFxuICAgIE1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQsXG4gICAgTUVUUklDX0pWTV9DUFVfQ09VTlQsXG4gICAgTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OLFxuICAgIE1FVFJJQ19KVk1fQ1BVX1RJTUUsXG4gICAgTUVUUklDX0pWTV9HQ19EVVJBVElPTixcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfTElNSVQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfVVNFRCxcbiAgICBNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MsXG4gICAgTUVUUklDX0pWTV9USFJFQURfQ09VTlQsXG4gICAgTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMsXG4gICAgTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMsXG4gICAgTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTixcbiAgICBNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OLFxuICAgIE1lc3NhZ2VUeXBlVmFsdWVzLFxuICAgIE1lc3NhZ2luZ0Rlc3RpbmF0aW9uS2luZFZhbHVlcyxcbiAgICBNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEyMDAwXzFYUlRULFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FSFJQRCxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET18wLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1BSUyxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU0RQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTVVBBLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JREVOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEVfQ0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUk5TQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVERfU0NETUEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX0NFTEwsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOQVZBSUxBQkxFLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSUZJLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSVJFRCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSVBfVENQLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAsXG4gICAgTkVUVFJBTlNQT1JUVkFMVUVTX09USEVSLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19QSVBFLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19VTklYLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyxcbiAgICBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQsXG4gICAgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYsXG4gICAgTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzLFxuICAgIE5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyxcbiAgICBOZXRUcmFuc3BvcnRWYWx1ZXMsXG4gICAgT1NUWVBFVkFMVUVTX0FJWCxcbiAgICBPU1RZUEVWQUxVRVNfREFSV0lOLFxuICAgIE9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0ZSRUVCU0QsXG4gICAgT1NUWVBFVkFMVUVTX0hQVVgsXG4gICAgT1NUWVBFVkFMVUVTX0xJTlVYLFxuICAgIE9TVFlQRVZBTFVFU19ORVRCU0QsXG4gICAgT1NUWVBFVkFMVUVTX09QRU5CU0QsXG4gICAgT1NUWVBFVkFMVUVTX1NPTEFSSVMsXG4gICAgT1NUWVBFVkFMVUVTX1dJTkRPV1MsXG4gICAgT1NUWVBFVkFMVUVTX1pfT1MsXG4gICAgT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9FUlJPUixcbiAgICBPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX09LLFxuICAgIE9zVHlwZVZhbHVlcyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BQk9SVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FMUkVBRFlfRVhJU1RTLFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0NBTkNFTExFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19EQVRBX0xPU1MsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREVBRExJTkVfRVhDRUVERUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfRkFJTEVEX1BSRUNPTkRJVElPTixcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlRFUk5BTCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlZBTElEX0FSR1VNRU5ULFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX05PVF9GT1VORCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PSyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PVVRfT0ZfUkFOR0UsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUEVSTUlTU0lPTl9ERU5JRUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfUkVTT1VSQ0VfRVhIQVVTVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVVUSEVOVElDQVRFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFWQUlMQUJMRSxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTklNUExFTUVOVEVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOS05PV04sXG4gICAgUnBjR3JwY1N0YXR1c0NvZGVWYWx1ZXMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURVNfVE9fR0VULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVfREVGSU5JVElPTlMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNJU1RFTlRfUkVBRCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU1VNRURfQ0FQQUNJVFksXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9FWENMVVNJVkVfU1RBUlRfVEFCTEUsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhFUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWF9VUERBVEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JTkRFWF9OQU1FLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9JVEVNX0NPTExFQ1RJT05fTUVUUklDUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfTElNSVQsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xPQ0FMX1NFQ09OREFSWV9JTkRFWEVTLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9KRUNUSU9OLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9SRUFEX0NBUEFDSVRZLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9XUklURV9DQVBBQ0lUWSxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTk5FRF9DT1VOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTl9GT1JXQVJELFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUdNRU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TRUxFQ1QsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX0NPVU5ULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9OQU1FUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfVE9UQUxfU0VHTUVOVFMsXG4gICAgU0VNQVRUUlNfQVdTX0xBTUJEQV9JTlZPS0VEX0FSTixcbiAgICBTRU1BVFRSU19DT0RFX0ZJTEVQQVRILFxuICAgIFNFTUFUVFJTX0NPREVfRlVOQ1RJT04sXG4gICAgU0VNQVRUUlNfQ09ERV9MSU5FTk8sXG4gICAgU0VNQVRUUlNfQ09ERV9OQU1FU1BBQ0UsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPTlNJU1RFTkNZX0xFVkVMLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9EQyxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfSUQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0lERU1QT1RFTkNFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9LRVlTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfUEFHRV9TSVpFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9TUEVDVUxBVElWRV9FWEVDVVRJT05fQ09VTlQsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX0NPTk5FQ1RJT05fU1RSSU5HLFxuICAgIFNFTUFUVFJTX0RCX0hCQVNFX05BTUVTUEFDRSxcbiAgICBTRU1BVFRSU19EQl9KREJDX0RSSVZFUl9DTEFTU05BTUUsXG4gICAgU0VNQVRUUlNfREJfTU9OR09EQl9DT0xMRUNUSU9OLFxuICAgIFNFTUFUVFJTX0RCX01TU1FMX0lOU1RBTkNFX05BTUUsXG4gICAgU0VNQVRUUlNfREJfTkFNRSxcbiAgICBTRU1BVFRSU19EQl9PUEVSQVRJT04sXG4gICAgU0VNQVRUUlNfREJfUkVESVNfREFUQUJBU0VfSU5ERVgsXG4gICAgU0VNQVRUUlNfREJfU1FMX1RBQkxFLFxuICAgIFNFTUFUVFJTX0RCX1NUQVRFTUVOVCxcbiAgICBTRU1BVFRSU19EQl9TWVNURU0sXG4gICAgU0VNQVRUUlNfREJfVVNFUixcbiAgICBTRU1BVFRSU19FTkRVU0VSX0lELFxuICAgIFNFTUFUVFJTX0VORFVTRVJfUk9MRSxcbiAgICBTRU1BVFRSU19FTkRVU0VSX1NDT1BFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9FU0NBUEVELFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9TVEFDS1RSQUNFLFxuICAgIFNFTUFUVFJTX0VYQ0VQVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX0ZBQVNfQ09MRFNUQVJULFxuICAgIFNFTUFUVFJTX0ZBQVNfQ1JPTixcbiAgICBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX0NPTExFQ1RJT04sXG4gICAgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9OQU1FLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfVElNRSxcbiAgICBTRU1BVFRSU19GQUFTX0VYRUNVVElPTixcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfTkFNRSxcbiAgICBTRU1BVFRSU19GQUFTX0lOVk9LRURfUFJPVklERVIsXG4gICAgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1JFR0lPTixcbiAgICBTRU1BVFRSU19GQUFTX1RJTUUsXG4gICAgU0VNQVRUUlNfRkFBU19UUklHR0VSLFxuICAgIFNFTUFUVFJTX0hUVFBfQ0xJRU5UX0lQLFxuICAgIFNFTUFUVFJTX0hUVFBfRkxBVk9SLFxuICAgIFNFTUFUVFJTX0hUVFBfSE9TVCxcbiAgICBTRU1BVFRSU19IVFRQX01FVEhPRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEgsXG4gICAgU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCxcbiAgICBTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RILFxuICAgIFNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VELFxuICAgIFNFTUFUVFJTX0hUVFBfUk9VVEUsXG4gICAgU0VNQVRUUlNfSFRUUF9TQ0hFTUUsXG4gICAgU0VNQVRUUlNfSFRUUF9TRVJWRVJfTkFNRSxcbiAgICBTRU1BVFRSU19IVFRQX1NUQVRVU19DT0RFLFxuICAgIFNFTUFUVFJTX0hUVFBfVEFSR0VULFxuICAgIFNFTUFUVFJTX0hUVFBfVVJMLFxuICAgIFNFTUFUVFJTX0hUVFBfVVNFUl9BR0VOVCxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0NPTVBSRVNTRURfU0laRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0VfVFlQRSxcbiAgICBTRU1BVFRSU19NRVNTQUdFX1VOQ09NUFJFU1NFRF9TSVpFLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19DT05TVU1FUl9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfQ09OVkVSU0FUSU9OX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT05fS0lORCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ0xJRU5UX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DT05TVU1FUl9HUk9VUCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfTUVTU0FHRV9LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1BBUlRJVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfVE9NQlNUT05FLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX0lELFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfQ09NUFJFU1NFRF9TSVpFX0JZVEVTLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX1BBWUxPQURfU0laRV9CWVRFUyxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19QUk9UT0NPTCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0xfVkVSU0lPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUkFCQklUTVFfUk9VVElOR19LRVksXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1NZU1RFTSxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVEVNUF9ERVNUSU5BVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfVVJMLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfSUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTUNDLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTU5DLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTkFNRSxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1NVQlRZUEUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9UWVBFLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0lQLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX05BTUUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfUE9SVCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9JUCxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9OQU1FLFxuICAgIFNFTUFUVFJTX05FVF9QRUVSX1BPUlQsXG4gICAgU0VNQVRUUlNfTkVUX1RSQU5TUE9SVCxcbiAgICBTRU1BVFRSU19QRUVSX1NFUlZJQ0UsXG4gICAgU0VNQVRUUlNfUlBDX0dSUENfU1RBVFVTX0NPREUsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfQ09ERSxcbiAgICBTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9NRVNTQUdFLFxuICAgIFNFTUFUVFJTX1JQQ19KU09OUlBDX1JFUVVFU1RfSUQsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfVkVSU0lPTixcbiAgICBTRU1BVFRSU19SUENfTUVUSE9ELFxuICAgIFNFTUFUVFJTX1JQQ19TRVJWSUNFLFxuICAgIFNFTUFUVFJTX1JQQ19TWVNURU0sXG4gICAgU0VNQVRUUlNfVEhSRUFEX0lELFxuICAgIFNFTUFUVFJTX1RIUkVBRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19DT05UQUlORVJfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfTEFVTkNIVFlQRSxcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFksXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX1JFVklTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FS1NfQ0xVU1RFUl9BUk4sXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TLFxuICAgIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfTkFNRVMsXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fQVJOUyxcbiAgICBTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUyxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lELFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1BST1ZJREVSLFxuICAgIFNFTVJFU0FUVFJTX0NMT1VEX1JFR0lPTixcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfSUQsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRyxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSxcbiAgICBTRU1SRVNBVFRSU19ERVBMT1lNRU5UX0VOVklST05NRU5ULFxuICAgIFNFTVJFU0FUVFJTX0RFVklDRV9JRCxcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfSURFTlRJRklFUixcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX0lELFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UsXG4gICAgU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZLFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9BUkNILFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfSUQsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9JRCxcbiAgICBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19IT1NUX1RZUEUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfTkFNRVNQQUNFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1BPRF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19QT0RfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQsXG4gICAgU0VNUkVTQVRUUlNfT1NfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfT1NfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19PU19UWVBFLFxuICAgIFNFTVJFU0FUVFJTX09TX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5ELFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9MSU5FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRILFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfT1dORVIsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19QSUQsXG4gICAgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQsXG4gICAgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFLFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UsXG4gICAgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19XRUJFTkdJTkVfREVTQ1JJUFRJT04sXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04sXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSxcbiAgICBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQsXG4gICAgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfTE9OR19QT0xMSU5HLFxuICAgIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyxcbiAgICBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyxcbiAgICBTZW1hbnRpY0F0dHJpYnV0ZXMsXG4gICAgU2VtYW50aWNSZXNvdXJjZUF0dHJpYnV0ZXMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19FUkxBTkcsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08sXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19OT0RFSlMsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTixcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19SVUJZLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVULFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08sXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QsXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTLFxuICAgIFRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzXG59LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pKTtcblxudmFyIGRldGVjdFJlc291cmNlcyQxID0ge307XG5cbnZhciBSZXNvdXJjZSA9IHt9O1xuXG5jb25zdCByZXF1aXJlJCQxJDEgPSAvKkBfX1BVUkVfXyovZ2V0QXVnbWVudGVkTmFtZXNwYWNlKGVzbSQxKTtcblxuY29uc3QgcmVxdWlyZSQkMSA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtKTtcblxuY29uc3QgcmVxdWlyZSQkMiA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtJDIpO1xuXG52YXIgYnJvd3NlciA9IHt9O1xuXG52YXIgZGVmYXVsdFNlcnZpY2VOYW1lID0ge307XG5cbnZhciBoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZTtcblxuZnVuY3Rpb24gcmVxdWlyZURlZmF1bHRTZXJ2aWNlTmFtZSAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZERlZmF1bHRTZXJ2aWNlTmFtZSkgcmV0dXJuIGRlZmF1bHRTZXJ2aWNlTmFtZTtcblx0aGFzUmVxdWlyZWREZWZhdWx0U2VydmljZU5hbWUgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRlZmF1bHRTZXJ2aWNlTmFtZSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSB2b2lkIDA7XG5cdGZ1bmN0aW9uIGRlZmF1bHRTZXJ2aWNlTmFtZSQxKCkge1xuXHQgICAgcmV0dXJuICd1bmtub3duX3NlcnZpY2UnO1xuXHR9XG5cdGRlZmF1bHRTZXJ2aWNlTmFtZS5kZWZhdWx0U2VydmljZU5hbWUgPSBkZWZhdWx0U2VydmljZU5hbWUkMTtcblx0XG5cdHJldHVybiBkZWZhdWx0U2VydmljZU5hbWU7XG59XG5cbnZhciBoYXNSZXF1aXJlZEJyb3dzZXI7XG5cbmZ1bmN0aW9uIHJlcXVpcmVCcm93c2VyICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkQnJvd3NlcikgcmV0dXJuIGJyb3dzZXI7XG5cdGhhc1JlcXVpcmVkQnJvd3NlciA9IDE7XG5cdChmdW5jdGlvbiAoZXhwb3J0cykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0XHRleHBvcnRzLmRlZmF1bHRTZXJ2aWNlTmFtZSA9IHZvaWQgMDtcblx0XHQvKlxuXHRcdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdFx0ICpcblx0XHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHRcdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0XHQgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblx0XHQgKlxuXHRcdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHRcdCAqXG5cdFx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHRcdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0XHQgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblx0XHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdFx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdFx0ICovXG5cdFx0dmFyIGRlZmF1bHRfc2VydmljZV9uYW1lXzEgPSAvKkBfX1BVUkVfXyovIHJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUoKTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0U2VydmljZU5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlZmF1bHRfc2VydmljZV9uYW1lXzEuZGVmYXVsdFNlcnZpY2VOYW1lOyB9IH0pO1xuXHRcdFxuXHR9IChicm93c2VyKSk7XG5cdHJldHVybiBicm93c2VyO1xufVxuXG52YXIgaGFzUmVxdWlyZWRSZXNvdXJjZTtcblxuZnVuY3Rpb24gcmVxdWlyZVJlc291cmNlICgpIHtcblx0aWYgKGhhc1JlcXVpcmVkUmVzb3VyY2UpIHJldHVybiBSZXNvdXJjZTtcblx0aGFzUmVxdWlyZWRSZXNvdXJjZSA9IDE7XG5cdC8qXG5cdCAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG5cdCAqXG5cdCAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG5cdCAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cblx0ICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cdCAqXG5cdCAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXHQgKlxuXHQgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5cdCAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcblx0ICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5cdCAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcblx0ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cdCAqL1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2UsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHRSZXNvdXJjZS5SZXNvdXJjZSA9IHZvaWQgMDtcblx0Y29uc3QgYXBpXzEgPSByZXF1aXJlJCQxJDE7XG5cdGNvbnN0IHNlbWFudGljX2NvbnZlbnRpb25zXzEgPSByZXF1aXJlJCQxO1xuXHRjb25zdCBjb3JlXzEgPSByZXF1aXJlJCQyO1xuXHRjb25zdCBwbGF0Zm9ybV8xID0gLypAX19QVVJFX18qLyByZXF1aXJlQnJvd3NlcigpO1xuXHQvKipcblx0ICogQSBSZXNvdXJjZSBkZXNjcmliZXMgdGhlIGVudGl0eSBmb3Igd2hpY2ggYSBzaWduYWxzIChtZXRyaWNzIG9yIHRyYWNlKSBhcmVcblx0ICogY29sbGVjdGVkLlxuXHQgKi9cblx0bGV0IFJlc291cmNlJDEgPSBjbGFzcyBSZXNvdXJjZSB7XG5cdCAgICBjb25zdHJ1Y3Rvcihcblx0ICAgIC8qKlxuXHQgICAgICogQSBkaWN0aW9uYXJ5IG9mIGF0dHJpYnV0ZXMgd2l0aCBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgcHJvdmlkZVxuXHQgICAgICogaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVudGl0eSBhcyBudW1iZXJzLCBzdHJpbmdzIG9yIGJvb2xlYW5zXG5cdCAgICAgKiBUT0RPOiBDb25zaWRlciB0byBhZGQgY2hlY2svdmFsaWRhdGlvbiBvbiBhdHRyaWJ1dGVzLlxuXHQgICAgICovXG5cdCAgICBhdHRyaWJ1dGVzLCBhc3luY0F0dHJpYnV0ZXNQcm9taXNlKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXHQgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgIT0gbnVsbDtcblx0ICAgICAgICB0aGlzLl9zeW5jQXR0cmlidXRlcyA9IChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuXHQgICAgICAgIHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UgPSBhc3luY0F0dHJpYnV0ZXNQcm9taXNlID09PSBudWxsIHx8IGFzeW5jQXR0cmlidXRlc1Byb21pc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFzeW5jQXR0cmlidXRlc1Byb21pc2UudGhlbihhc3luY0F0dHJpYnV0ZXMgPT4ge1xuXHQgICAgICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fYXR0cmlidXRlcywgYXN5bmNBdHRyaWJ1dGVzKTtcblx0ICAgICAgICAgICAgdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gZmFsc2U7XG5cdCAgICAgICAgICAgIHJldHVybiBhc3luY0F0dHJpYnV0ZXM7XG5cdCAgICAgICAgfSwgZXJyID0+IHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhcImEgcmVzb3VyY2UncyBhc3luYyBhdHRyaWJ1dGVzIHByb21pc2UgcmVqZWN0ZWQ6ICVzXCIsIGVycik7XG5cdCAgICAgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGZhbHNlO1xuXHQgICAgICAgICAgICByZXR1cm4ge307XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYW4gZW1wdHkgUmVzb3VyY2Vcblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGVtcHR5KCkge1xuXHQgICAgICAgIHJldHVybiBSZXNvdXJjZS5FTVBUWTtcblx0ICAgIH1cblx0ICAgIC8qKlxuXHQgICAgICogUmV0dXJucyBhIFJlc291cmNlIHRoYXQgaWRlbnRpZmllcyB0aGUgU0RLIGluIHVzZS5cblx0ICAgICAqL1xuXHQgICAgc3RhdGljIGRlZmF1bHQoKSB7XG5cdCAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZSh7XG5cdCAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRV06ICgwLCBwbGF0Zm9ybV8xLmRlZmF1bHRTZXJ2aWNlTmFtZSkoKSxcblx0ICAgICAgICAgICAgW3NlbWFudGljX2NvbnZlbnRpb25zXzEuU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRV06IGNvcmVfMS5TREtfSU5GT1tzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0VdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUVdLFxuXHQgICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dLFxuXHQgICAgICAgIH0pO1xuXHQgICAgfVxuXHQgICAgZ2V0IGF0dHJpYnV0ZXMoKSB7XG5cdCAgICAgICAgdmFyIF9hO1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcignQWNjZXNzaW5nIHJlc291cmNlIGF0dHJpYnV0ZXMgYmVmb3JlIGFzeW5jIGF0dHJpYnV0ZXMgc2V0dGxlZCcpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gKF9hID0gdGhpcy5fYXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBuZXZlciBiZSByZWplY3RlZC4gUmVzb2x2ZXMgd2hlbiBhbGwgYXN5bmMgYXR0cmlidXRlcyBoYXZlIGZpbmlzaGVkIGJlaW5nIGFkZGVkIHRvXG5cdCAgICAgKiB0aGlzIFJlc291cmNlJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyB1c2VmdWwgaW4gZXhwb3J0ZXJzIHRvIGJsb2NrIHVudGlsIHJlc291cmNlIGRldGVjdGlvblxuXHQgICAgICogaGFzIGZpbmlzaGVkLlxuXHQgICAgICovXG5cdCAgICBhc3luYyB3YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcblx0ICAgICAgICAgICAgYXdhaXQgdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZTtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdCAgICAvKipcblx0ICAgICAqIFJldHVybnMgYSBuZXcsIG1lcmdlZCB7QGxpbmsgUmVzb3VyY2V9IGJ5IG1lcmdpbmcgdGhlIGN1cnJlbnQgUmVzb3VyY2Vcblx0ICAgICAqIHdpdGggdGhlIG90aGVyIFJlc291cmNlLiBJbiBjYXNlIG9mIGEgY29sbGlzaW9uLCBvdGhlciBSZXNvdXJjZSB0YWtlc1xuXHQgICAgICogcHJlY2VkZW5jZS5cblx0ICAgICAqXG5cdCAgICAgKiBAcGFyYW0gb3RoZXIgdGhlIFJlc291cmNlIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGlzLlxuXHQgICAgICogQHJldHVybnMgdGhlIG5ld2x5IG1lcmdlZCBSZXNvdXJjZS5cblx0ICAgICAqL1xuXHQgICAgbWVyZ2Uob3RoZXIpIHtcblx0ICAgICAgICB2YXIgX2E7XG5cdCAgICAgICAgaWYgKCFvdGhlcilcblx0ICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG5cdCAgICAgICAgLy8gU3BhbkF0dHJpYnV0ZXMgZnJvbSBvdGhlciByZXNvdXJjZSBvdmVyd3JpdGUgYXR0cmlidXRlcyBmcm9tIHRoaXMgcmVzb3VyY2UuXG5cdCAgICAgICAgY29uc3QgbWVyZ2VkU3luY0F0dHJpYnV0ZXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgKChfYSA9IG90aGVyLl9zeW5jQXR0cmlidXRlcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogb3RoZXIuYXR0cmlidXRlcykpO1xuXHQgICAgICAgIGlmICghdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSAmJlxuXHQgICAgICAgICAgICAhb3RoZXIuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UpIHtcblx0ICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShtZXJnZWRTeW5jQXR0cmlidXRlcyk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGNvbnN0IG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlID0gUHJvbWlzZS5hbGwoW1xuXHQgICAgICAgICAgICB0aGlzLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlLFxuXHQgICAgICAgICAgICBvdGhlci5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSxcblx0ICAgICAgICBdKS50aGVuKChbdGhpc0FzeW5jQXR0cmlidXRlcywgb3RoZXJBc3luY0F0dHJpYnV0ZXNdKSA9PiB7XG5cdCAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgdGhpc0FzeW5jQXR0cmlidXRlcyksICgoX2EgPSBvdGhlci5fc3luY0F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG90aGVyLmF0dHJpYnV0ZXMpKSwgb3RoZXJBc3luY0F0dHJpYnV0ZXMpO1xuXHQgICAgICAgIH0pO1xuXHQgICAgICAgIHJldHVybiBuZXcgUmVzb3VyY2UobWVyZ2VkU3luY0F0dHJpYnV0ZXMsIG1lcmdlZEF0dHJpYnV0ZXNQcm9taXNlKTtcblx0ICAgIH1cblx0fTtcblx0UmVzb3VyY2UuUmVzb3VyY2UgPSBSZXNvdXJjZSQxO1xuXHRSZXNvdXJjZSQxLkVNUFRZID0gbmV3IFJlc291cmNlJDEoe30pO1xuXHRcblx0cmV0dXJuIFJlc291cmNlO1xufVxuXG52YXIgdXRpbHMgPSB7fTtcblxudmFyIGhhc1JlcXVpcmVkVXRpbHM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVVdGlscyAoKSB7XG5cdGlmIChoYXNSZXF1aXJlZFV0aWxzKSByZXR1cm4gdXRpbHM7XG5cdGhhc1JlcXVpcmVkVXRpbHMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHV0aWxzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0dXRpbHMuaXNQcm9taXNlTGlrZSA9IHZvaWQgMDtcblx0Y29uc3QgaXNQcm9taXNlTGlrZSA9ICh2YWwpID0+IHtcblx0ICAgIHJldHVybiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHR5cGVvZiB2YWwudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7XG5cdH07XG5cdHV0aWxzLmlzUHJvbWlzZUxpa2UgPSBpc1Byb21pc2VMaWtlO1xuXHRcblx0cmV0dXJuIHV0aWxzO1xufVxuXG52YXIgaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXM7XG5cbmZ1bmN0aW9uIHJlcXVpcmVEZXRlY3RSZXNvdXJjZXMgKCkge1xuXHRpZiAoaGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMpIHJldHVybiBkZXRlY3RSZXNvdXJjZXMkMTtcblx0aGFzUmVxdWlyZWREZXRlY3RSZXNvdXJjZXMgPSAxO1xuXHQvKlxuXHQgKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuXHQgKlxuXHQgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuXHQgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5cdCAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXHQgKlxuXHQgKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblx0ICpcblx0ICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuXHQgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5cdCAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuXHQgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5cdCAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXHQgKi9cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGRldGVjdFJlc291cmNlcyQxLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0ZGV0ZWN0UmVzb3VyY2VzJDEuZGV0ZWN0UmVzb3VyY2VzU3luYyA9IGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IHZvaWQgMDtcblx0Y29uc3QgUmVzb3VyY2VfMSA9IC8qQF9fUFVSRV9fKi8gcmVxdWlyZVJlc291cmNlKCk7XG5cdGNvbnN0IGFwaV8xID0gcmVxdWlyZSQkMSQxO1xuXHRjb25zdCB1dGlsc18xID0gLypAX19QVVJFX18qLyByZXF1aXJlVXRpbHMoKTtcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBhbmQgcmV0dXJucyB0aGUgcmVzdWx0cyBtZXJnZWQgaW50byBhIHNpbmdsZSBSZXNvdXJjZS4gUHJvbWlzZVxuXHQgKiBkb2VzIG5vdCByZXNvbHZlIHVudGlsIGFsbCB0aGUgdW5kZXJseWluZyBkZXRlY3RvcnMgaGF2ZSByZXNvbHZlZCwgdW5saWtlXG5cdCAqIGRldGVjdFJlc291cmNlc1N5bmMuXG5cdCAqXG5cdCAqIEBkZXByZWNhdGVkIHVzZSBkZXRlY3RSZXNvdXJjZXNTeW5jKCkgaW5zdGVhZC5cblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciByZXNvdXJjZSBkZXRlY3Rpb25cblx0ICovXG5cdGNvbnN0IGRldGVjdFJlc291cmNlcyA9IGFzeW5jIChjb25maWcgPSB7fSkgPT4ge1xuXHQgICAgY29uc3QgcmVzb3VyY2VzID0gYXdhaXQgUHJvbWlzZS5hbGwoKGNvbmZpZy5kZXRlY3RvcnMgfHwgW10pLm1hcChhc3luYyAoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKTtcblx0ICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBjYXRjaCAoZSkge1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZmFpbGVkOiAke2UubWVzc2FnZX1gKTtcblx0ICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKTtcblx0ICAgICAgICB9XG5cdCAgICB9KSk7XG5cdCAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgIGxvZ1Jlc291cmNlcyhyZXNvdXJjZXMpO1xuXHQgICAgcmV0dXJuIHJlc291cmNlcy5yZWR1Y2UoKGFjYywgcmVzb3VyY2UpID0+IGFjYy5tZXJnZShyZXNvdXJjZSksIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKSk7XG5cdH07XG5cdGRldGVjdFJlc291cmNlcyQxLmRldGVjdFJlc291cmNlcyA9IGRldGVjdFJlc291cmNlcztcblx0LyoqXG5cdCAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBzeW5jaHJvbm91c2x5LCBtZXJnaW5nIHRoZWlyIHJlc3VsdHMuIEluIGNhc2Ugb2YgYXR0cmlidXRlIGNvbGxpc2lvbiBsYXRlciByZXNvdXJjZXMgd2lsbCB0YWtlIHByZWNlZGVuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2UgZGV0ZWN0aW9uXG5cdCAqL1xuXHRjb25zdCBkZXRlY3RSZXNvdXJjZXNTeW5jID0gKGNvbmZpZyA9IHt9KSA9PiB7XG5cdCAgICB2YXIgX2E7XG5cdCAgICBjb25zdCByZXNvdXJjZXMgPSAoKF9hID0gY29uZmlnLmRldGVjdG9ycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoZCkgPT4ge1xuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIGNvbnN0IHJlc291cmNlT3JQcm9taXNlID0gZC5kZXRlY3QoY29uZmlnKTtcblx0ICAgICAgICAgICAgbGV0IHJlc291cmNlO1xuXHQgICAgICAgICAgICBpZiAoKDAsIHV0aWxzXzEuaXNQcm9taXNlTGlrZSkocmVzb3VyY2VPclByb21pc2UpKSB7XG5cdCAgICAgICAgICAgICAgICBjb25zdCBjcmVhdGVQcm9taXNlID0gYXN5bmMgKCkgPT4ge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcblx0ICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFJlc291cmNlID0gYXdhaXQgcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgYXdhaXQgKChfYSA9IHJlc29sdmVkUmVzb3VyY2Uud2FpdEZvckFzeW5jQXR0cmlidXRlcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzb2x2ZWRSZXNvdXJjZSkpO1xuXHQgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlZFJlc291cmNlLmF0dHJpYnV0ZXM7XG5cdCAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgcmVzb3VyY2UgPSBuZXcgUmVzb3VyY2VfMS5SZXNvdXJjZSh7fSwgY3JlYXRlUHJvbWlzZSgpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHJlc291cmNlID0gcmVzb3VyY2VPclByb21pc2U7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKHJlc291cmNlLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMpIHtcblx0ICAgICAgICAgICAgICAgIHZvaWQgcmVzb3VyY2Vcblx0ICAgICAgICAgICAgICAgICAgICAud2FpdEZvckFzeW5jQXR0cmlidXRlcygpXG5cdCAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBhcGlfMS5kaWFnLmRlYnVnKGAke2QuY29uc3RydWN0b3IubmFtZX0gZm91bmQgcmVzb3VyY2UuYCwgcmVzb3VyY2UpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGUpIHtcblx0ICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcihgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZhaWxlZDogJHtlLm1lc3NhZ2V9YCk7XG5cdCAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdCAgICBjb25zdCBtZXJnZWRSZXNvdXJjZXMgPSByZXNvdXJjZXMucmVkdWNlKChhY2MsIHJlc291cmNlKSA9PiBhY2MubWVyZ2UocmVzb3VyY2UpLCBSZXNvdXJjZV8xLlJlc291cmNlLmVtcHR5KCkpO1xuXHQgICAgaWYgKG1lcmdlZFJlc291cmNlcy53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKSB7XG5cdCAgICAgICAgdm9pZCBtZXJnZWRSZXNvdXJjZXMud2FpdEZvckFzeW5jQXR0cmlidXRlcygpLnRoZW4oKCkgPT4ge1xuXHQgICAgICAgICAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcblx0ICAgICAgICAgICAgbG9nUmVzb3VyY2VzKHJlc291cmNlcyk7XG5cdCAgICAgICAgfSk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gbWVyZ2VkUmVzb3VyY2VzO1xuXHR9O1xuXHRkZXRlY3RSZXNvdXJjZXMkMS5kZXRlY3RSZXNvdXJjZXNTeW5jID0gZGV0ZWN0UmVzb3VyY2VzU3luYztcblx0LyoqXG5cdCAqIFdyaXRlcyBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGV0ZWN0ZWQgcmVzb3VyY2VzIHRvIHRoZSBsb2dnZXIgZGVmaW5lZCBpbiB0aGUgcmVzb3VyY2UgZGV0ZWN0aW9uIGNvbmZpZywgaWYgb25lIGlzIHByb3ZpZGVkLlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSBhcnJheSBvZiB7QGxpbmsgUmVzb3VyY2V9IHRoYXQgc2hvdWxkIGJlIGxvZ2dlZC4gRW1wdHkgZW50cmllcyB3aWxsIGJlIGlnbm9yZWQuXG5cdCAqL1xuXHRjb25zdCBsb2dSZXNvdXJjZXMgPSAocmVzb3VyY2VzKSA9PiB7XG5cdCAgICByZXNvdXJjZXMuZm9yRWFjaChyZXNvdXJjZSA9PiB7XG5cdCAgICAgICAgLy8gUHJpbnQgb25seSBwb3B1bGF0ZWQgcmVzb3VyY2VzXG5cdCAgICAgICAgaWYgKE9iamVjdC5rZXlzKHJlc291cmNlLmF0dHJpYnV0ZXMpLmxlbmd0aCA+IDApIHtcblx0ICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VEZWJ1Z1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KHJlc291cmNlLmF0dHJpYnV0ZXMsIG51bGwsIDQpO1xuXHQgICAgICAgICAgICBhcGlfMS5kaWFnLnZlcmJvc2UocmVzb3VyY2VEZWJ1Z1N0cmluZyk7XG5cdCAgICAgICAgfVxuXHQgICAgfSk7XG5cdH07XG5cdFxuXHRyZXR1cm4gZGV0ZWN0UmVzb3VyY2VzJDE7XG59XG5cbnZhciBkZXRlY3RSZXNvdXJjZXNFeHBvcnRzID0gLypAX19QVVJFX18qLyByZXF1aXJlRGV0ZWN0UmVzb3VyY2VzKCk7XG5cbmNvbnN0IGRldGVjdFJlc291cmNlcyA9IC8qI19fUFVSRV9fKi9fbWVyZ2VOYW1lc3BhY2VzKHtcbiAgICBfX3Byb3RvX186IG51bGxcbn0sIFtkZXRlY3RSZXNvdXJjZXNFeHBvcnRzXSk7XG5cbmV4cG9ydCB7IGRldGVjdFJlc291cmNlcyBhcyBkIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUE2QjtBQUMzQyxTQUFTLEtBQUtDLEdBQWEsS0FBS0MsR0FBZ0MsS0FBS0MsR0FBc0IsS0FBS0MsR0FBc0IsS0FBS0MsR0FBdUMsS0FBS0MsR0FBdUMsS0FBS0MsR0FBK0MsS0FBS0MsR0FBNkMsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBZ0QsS0FBS0MsR0FBdUMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBMEMsS0FBS0MsR0FBeUMsS0FBS0MsR0FBdUMsS0FBS0MsSUFBdUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBMEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMEIsS0FBS0MsSUFBd0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBeUIsS0FBS0MsSUFBb0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBbUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBMEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0IsTUFBTUMsSUFBb0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBbUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0IsTUFBTUMsSUFBNEIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBMEIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBK0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBdUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMkIsTUFBTUMsSUFBMEIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBa0MsTUFBTUMsSUFBMEMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNEIsTUFBTUMsSUFBc0MsTUFBTUMsSUFBMkMsTUFBTUMsSUFBNEMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBcUMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBaUMsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkMsTUFBTUMsSUFBdUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBNkMsTUFBTUMsSUFBZ0QsTUFBTUMsSUFBc0QsTUFBTUMsSUFBa0MsTUFBTUMsSUFBK0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0MsTUFBTUMsSUFBa0MsTUFBTUMsSUFBaUQsTUFBTUMsSUFBa0QsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBOEIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBeUIsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBbUQsTUFBTUMsSUFBNkIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBNkIsTUFBTUMsSUFBbUMsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBa0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBdUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBa0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBd0IsTUFBTUMsSUFBNEIsS0FBS0MsSUFBNEIsS0FBS0MsSUFBK0IsS0FBS0MsSUFBeUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBbUMsTUFBTUMsSUFBNkIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBNkIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBNEIsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBeUIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBc0IsTUFBTUMsSUFBc0MsS0FBS0MsSUFBbUQsS0FBS0MsSUFBdUMsS0FBS0MsSUFBb0QsTUFBTUMsSUFBcUIsS0FBS0MsSUFBc0IsTUFBTUMsSUFBMkIsS0FBS0MsSUFBMkIsTUFBTUMsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBMEIsTUFBTUMsSUFBa0MsTUFBTUMsSUFBcUIsTUFBTUMsSUFBdUIsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBcUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBeUMsTUFBTUMsSUFBc0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBb0MsTUFBTUMsSUFBK0IsTUFBTUMsSUFBMEQsTUFBTUMsSUFBK0MsTUFBTUMsSUFBOEIsTUFBTUMsSUFBNkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBeUMsTUFBTUMsSUFBMkIsTUFBTUMsSUFBcUMsTUFBTUMsSUFBd0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBK0IsTUFBTUMsSUFBZ0MsTUFBTUMsSUFBc0MsTUFBTUMsSUFBbUMsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBc0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBd0IsTUFBTUMsSUFBdUIsTUFBTUMsSUFBK0IsTUFBTUMsSUFBaUMsTUFBTUMsSUFBb0MsTUFBTUMsSUFBaUMsTUFBTUMsSUFBOEIsTUFBTUMsSUFBcUIsTUFBTUMsSUFBc0IsTUFBTUMsSUFBcUIsTUFBTUMsSUFBb0IsTUFBTUMsSUFBc0IsTUFBTUMsVUFBMEI7QUFDOThULFNBQVMsS0FBS0MsR0FBTyxLQUFLQyxHQUFTLEtBQUtDLElBQWMsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBaUIsS0FBS0MsSUFBYSxLQUFLQyxJQUFxQixLQUFLQyxJQUFjLEtBQUtDLElBQVUsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBWSxLQUFLQyxJQUFrQixLQUFLQyxJQUFvQixLQUFLQyxJQUFlLEtBQUtDLFVBQXNCO0FBQy9VLFNBQVMsS0FBS0MsR0FBUyxLQUFLQyxVQUF1QjtBQUNuRCxTQUFTLEtBQUtDLElBQWtCLEtBQUtDLFVBQWE7QUFDbEQsU0FBUyxLQUFLQyxTQUFZO0FBQzFCLFNBQVMsS0FBS0MsSUFBNEIsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBd0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBc0MsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBNkIsS0FBS0MsSUFBMkMsS0FBS0MsSUFBZ0MsS0FBS0MsSUFBK0IsS0FBS0MsSUFBdUMsS0FBS0MsSUFBK0MsS0FBS0MsSUFBcUMsS0FBS0MsSUFBOEIsS0FBS0MsSUFBb0MsS0FBS0MsSUFBeUMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBd0MsS0FBS0MsSUFBMkMsS0FBS0MsSUFBbUMsS0FBS0MsSUFBeUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBeUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBb0IsS0FBS0MsSUFBZ0IsS0FBS0MsSUFBa0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBMkIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBb0IsS0FBS0MsSUFBcUIsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBc0IsS0FBS0MsSUFBbUIsS0FBS0MsSUFBYyxLQUFLQyxJQUFpQyxLQUFLQyxJQUFtQyxLQUFLQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFxQyxNQUFNQyxJQUE0QixNQUFNQyxJQUE0QixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUFrQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUE0QixNQUFNQyxJQUErQixNQUFNQyxJQUFvQyxNQUFNQyxJQUF1QixNQUFNQyxJQUFxQyxNQUFNQyxJQUErQixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUF1QixNQUFNQyxJQUEwQixNQUFNQyxJQUF1QixNQUFNQyxJQUFxQixNQUFNQyxJQUEyQixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUE4QixNQUFNQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUE2QixNQUFNQyxJQUFnQyxNQUFNQyxJQUErQixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFnQyxNQUFNQyxJQUEyQixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUFpQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFrQyxN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QSx1Q0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsNkNBQUFDO0FBQUEsRUFDQSxnREFBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLDBDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLG1CQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGdCQUFBQztBQUFBLEVBQ0Esd0JBQUFnYztBQUFBLEVBQ0Esb0NBQUEvYjtBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSxtQkFBQUM7QUFBQSxFQUNBLHNCQUFBc1A7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLDJCQUFBM1A7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsbUNBQUFvYjtBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUw7QUFBQSxFQUNBLGlDQUFBTTtBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsZ0JBQUFwTTtBQUFBLEVBQ0Esa0JBQUF2UDtBQUFBLEVBQ0EsNEJBQUFxYztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxnQ0FBQUc7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSw0QkFBQTdjO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsMENBQUFnZjtBQUFBLEVBQ0EsdURBQUFDO0FBQUEsRUFDQSxpREFBQUM7QUFBQSxFQUNBLDBDQUFBRztBQUFBLEVBQ0Esd0RBQUFEO0FBQUEsRUFDQSx1REFBQUQ7QUFBQSxFQUNBLDBDQUFBRztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLDJDQUFBQztBQUFBLEVBQ0EsbUJBQUE3Z0I7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSw4QkFBQTRhO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLHlCQUFBRTtBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxnQ0FBQWxiO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esa0JBQUEyTTtBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSw4QkFBQStOO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLGNBQUEvTjtBQUFBLEVBQ0EsaUNBQUFyTjtBQUFBLEVBQ0Esd0NBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsMkNBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsMENBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSwyQ0FBQUM7QUFBQSxFQUNBLDRDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsNkNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0Esc0RBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSwrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsaURBQUFDO0FBQUEsRUFDQSxrREFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG1EQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0Esa0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esa0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxtREFBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0Esb0RBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHlDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSwwREFBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxpQ0FBQXFFO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsK0JBQUFD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RSxTQUFTLEdBQUc7QUFDN0MsY0FBTVEsSUFBc0IsS0FBSyxVQUFVUixFQUFTLFlBQVksTUFBTSxDQUFDO0FBQ3ZFLFFBQUEzQixFQUFNLEtBQUssUUFBUW1DLENBQW1CO0FBQUEsTUFDMUM7QUFBQSxJQUNKLENBQUM7QUFBQSxFQUNMO0FBRUEsU0FBT25EO0FBQ1I7QUFFQSxJQUFJb0QsS0FBdUMsZ0JBQUFmLEdBQXVCO0FBRWxFLE1BQU1HLEtBQStCLGdCQUFBN04sR0FBaUI7QUFBQSxFQUNsRCxXQUFXO0FBQ2YsR0FBRyxDQUFDeU8sRUFBc0IsQ0FBQzsiLAogICJuYW1lcyI6IFsiZ2V0QXVnbWVudGVkTmFtZXNwYWNlIiwgInByb3BhZ2F0aW9uIiwgImJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyIsICJkZWZhdWx0VGV4dE1hcEdldHRlciIsICJkZWZhdWx0VGV4dE1hcFNldHRlciIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQUxMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19BTlkiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0VBQ0hfUVVPUlVNIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19PTkUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfU0VSSUFMIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19USFJFRSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVFdPIiwgIkRCU1lTVEVNVkFMVUVTX0FEQUJBUyIsICJEQlNZU1RFTVZBTFVFU19DQUNIRSIsICJEQlNZU1RFTVZBTFVFU19DQVNTQU5EUkEiLCAiREJTWVNURU1WQUxVRVNfQ0xPVURTQ0FQRSIsICJEQlNZU1RFTVZBTFVFU19DT0NLUk9BQ0hEQiIsICJEQlNZU1RFTVZBTFVFU19DT0xERlVTSU9OIiwgIkRCU1lTVEVNVkFMVUVTX0NPU01PU0RCIiwgIkRCU1lTVEVNVkFMVUVTX0NPVUNIQkFTRSIsICJEQlNZU1RFTVZBTFVFU19DT1VDSERCIiwgIkRCU1lTVEVNVkFMVUVTX0RCMiIsICJEQlNZU1RFTVZBTFVFU19ERVJCWSIsICJEQlNZU1RFTVZBTFVFU19EWU5BTU9EQiIsICJEQlNZU1RFTVZBTFVFU19FREIiLCAiREJTWVNURU1WQUxVRVNfRUxBU1RJQ1NFQVJDSCIsICJEQlNZU1RFTVZBTFVFU19GSUxFTUFLRVIiLCAiREJTWVNURU1WQUxVRVNfRklSRUJJUkQiLCAiREJTWVNURU1WQUxVRVNfRklSU1RTUUwiLCAiREJTWVNURU1WQUxVRVNfR0VPREUiLCAiREJTWVNURU1WQUxVRVNfSDIiLCAiREJTWVNURU1WQUxVRVNfSEFOQURCIiwgIkRCU1lTVEVNVkFMVUVTX0hCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX0hJVkUiLCAiREJTWVNURU1WQUxVRVNfSFNRTERCIiwgIkRCU1lTVEVNVkFMVUVTX0lORk9STUlYIiwgIkRCU1lTVEVNVkFMVUVTX0lOR1JFUyIsICJEQlNZU1RFTVZBTFVFU19JTlNUQU5UREIiLCAiREJTWVNURU1WQUxVRVNfSU5URVJCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX01BUklBREIiLCAiREJTWVNURU1WQUxVRVNfTUFYREIiLCAiREJTWVNURU1WQUxVRVNfTUVNQ0FDSEVEIiwgIkRCU1lTVEVNVkFMVUVTX01PTkdPREIiLCAiREJTWVNURU1WQUxVRVNfTVNTUUwiLCAiREJTWVNURU1WQUxVRVNfTVlTUUwiLCAiREJTWVNURU1WQUxVRVNfTkVPNEoiLCAiREJTWVNURU1WQUxVRVNfTkVURVpaQSIsICJEQlNZU1RFTVZBTFVFU19PUkFDTEUiLCAiREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMIiwgIkRCU1lTVEVNVkFMVUVTX1BFUlZBU0lWRSIsICJEQlNZU1RFTVZBTFVFU19QT0lOVEJBU0UiLCAiREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCIsICJEQlNZU1RFTVZBTFVFU19QUk9HUkVTUyIsICJEQlNZU1RFTVZBTFVFU19SRURJUyIsICJEQlNZU1RFTVZBTFVFU19SRURTSElGVCIsICJEQlNZU1RFTVZBTFVFU19TUUxJVEUiLCAiREJTWVNURU1WQUxVRVNfU1lCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX1RFUkFEQVRBIiwgIkRCU1lTVEVNVkFMVUVTX1ZFUlRJQ0EiLCAiRGJDYXNzYW5kcmFDb25zaXN0ZW5jeUxldmVsVmFsdWVzIiwgIkRiU3lzdGVtVmFsdWVzIiwgIkZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19ERUxFVEUiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQiLCAiRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0lOU0VSVCIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BWlVSRSIsICJGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0dDUCIsICJGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFIiwgIkZBQVNUUklHR0VSVkFMVUVTX0hUVFAiLCAiRkFBU1RSSUdHRVJWQUxVRVNfT1RIRVIiLCAiRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCIiwgIkZBQVNUUklHR0VSVkFMVUVTX1RJTUVSIiwgIkZhYXNEb2N1bWVudE9wZXJhdGlvblZhbHVlcyIsICJGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzIiwgIkZhYXNUcmlnZ2VyVmFsdWVzIiwgIkhUVFBGTEFWT1JWQUxVRVNfSFRUUF8xXzAiLCAiSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSIsICJIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMl8wIiwgIkhUVFBGTEFWT1JWQUxVRVNfUVVJQyIsICJIVFRQRkxBVk9SVkFMVUVTX1NQRFkiLCAiSHR0cEZsYXZvclZhbHVlcyIsICJNRVNTQUdFVFlQRVZBTFVFU19SRUNFSVZFRCIsICJNRVNTQUdFVFlQRVZBTFVFU19TRU5UIiwgIk1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19RVUVVRSIsICJNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfVE9QSUMiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1BST0NFU1MiLCAiTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1JFQ0VJVkUiLCAiTWVzc2FnZVR5cGVWYWx1ZXMiLCAiTWVzc2FnaW5nRGVzdGluYXRpb25LaW5kVmFsdWVzIiwgIk1lc3NhZ2luZ09wZXJhdGlvblZhbHVlcyIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfQ0RNQTIwMDBfMVhSVFQiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VER0UiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VIUlBEIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPXzAiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET19CIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HUFJTIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HU00iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTRFBBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBUCIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNVUEEiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lERU4iLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lXTEFOIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEUiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURV9DQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlIiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05STlNBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19URF9TQ0RNQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVU1UUyIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfQ0VMTCIsICJORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOS05PV04iLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJRkkiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1dJUkVEIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JTlBST0MiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JUF9UQ1AiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1VEUCIsICJORVRUUkFOU1BPUlRWQUxVRVNfT1RIRVIiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1BJUEUiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX1VOSVgiLCAiTmV0SG9zdENvbm5lY3Rpb25TdWJ0eXBlVmFsdWVzIiwgIk5ldEhvc3RDb25uZWN0aW9uVHlwZVZhbHVlcyIsICJOZXRUcmFuc3BvcnRWYWx1ZXMiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQUJPUlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUyIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19DQU5DRUxMRUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREFUQV9MT1NTIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0ZBSUxFRF9QUkVDT05ESVRJT04iLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5URVJOQUwiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19OT1RfRk9VTkQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT0siLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1BFUk1JU1NJT05fREVOSUVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1JFU09VUkNFX0VYSEFVU1RFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVkFJTEFCTEUiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5JTVBMRU1FTlRFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOIiwgIlJwY0dycGNTdGF0dXNDb2RlVmFsdWVzIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVTX1RPX0dFVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TSVNURU5UX1JFQUQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNVTUVEX0NBUEFDSVRZIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfRVhDTFVTSVZFX1NUQVJUX1RBQkxFIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9HTE9CQUxfU0VDT05EQVJZX0lOREVYRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSU5ERVhfTkFNRSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfSVRFTV9DT0xMRUNUSU9OX01FVFJJQ1MiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9MT0NBTF9TRUNPTkRBUllfSU5ERVhFUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPSkVDVElPTiIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfV1JJVEVfQ0FQQUNJVFkiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5ORURfQ09VTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VHTUVOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VMRUNUIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfTkFNRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RPVEFMX1NFR01FTlRTIiwgIlNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4iLCAiU0VNQVRUUlNfQ09ERV9GSUxFUEFUSCIsICJTRU1BVFRSU19DT0RFX0ZVTkNUSU9OIiwgIlNFTUFUVFJTX0NPREVfTElORU5PIiwgIlNFTUFUVFJTX0NPREVfTkFNRVNQQUNFIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT05TSVNURU5DWV9MRVZFTCIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0lEIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9JREVNUE9URU5DRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX1BBR0VfU0laRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfU1BFQ1VMQVRJVkVfRVhFQ1VUSU9OX0NPVU5UIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSIsICJTRU1BVFRSU19EQl9DT05ORUNUSU9OX1NUUklORyIsICJTRU1BVFRSU19EQl9IQkFTRV9OQU1FU1BBQ0UiLCAiU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FIiwgIlNFTUFUVFJTX0RCX01PTkdPREJfQ09MTEVDVElPTiIsICJTRU1BVFRSU19EQl9NU1NRTF9JTlNUQU5DRV9OQU1FIiwgIlNFTUFUVFJTX0RCX05BTUUiLCAiU0VNQVRUUlNfREJfT1BFUkFUSU9OIiwgIlNFTUFUVFJTX0RCX1JFRElTX0RBVEFCQVNFX0lOREVYIiwgIlNFTUFUVFJTX0RCX1NRTF9UQUJMRSIsICJTRU1BVFRSU19EQl9TVEFURU1FTlQiLCAiU0VNQVRUUlNfREJfU1lTVEVNIiwgIlNFTUFUVFJTX0RCX1VTRVIiLCAiU0VNQVRUUlNfRU5EVVNFUl9JRCIsICJTRU1BVFRSU19FTkRVU0VSX1JPTEUiLCAiU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSIsICJTRU1BVFRSU19FWENFUFRJT05fRVNDQVBFRCIsICJTRU1BVFRSU19FWENFUFRJT05fTUVTU0FHRSIsICJTRU1BVFRSU19FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJTRU1BVFRSU19FWENFUFRJT05fVFlQRSIsICJTRU1BVFRSU19GQUFTX0NPTERTVEFSVCIsICJTRU1BVFRSU19GQUFTX0NST04iLCAiU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9DT0xMRUNUSU9OIiwgIlNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfTkFNRSIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTiIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX1RJTUUiLCAiU0VNQVRUUlNfRkFBU19FWEVDVVRJT04iLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUiLCAiU0VNQVRUUlNfRkFBU19JTlZPS0VEX1BST1ZJREVSIiwgIlNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9SRUdJT04iLCAiU0VNQVRUUlNfRkFBU19USU1FIiwgIlNFTUFUVFJTX0ZBQVNfVFJJR0dFUiIsICJTRU1BVFRSU19IVFRQX0NMSUVOVF9JUCIsICJTRU1BVFRSU19IVFRQX0ZMQVZPUiIsICJTRU1BVFRSU19IVFRQX0hPU1QiLCAiU0VNQVRUUlNfSFRUUF9NRVRIT0QiLCAiU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RIIiwgIlNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQiLCAiU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSCIsICJTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCIsICJTRU1BVFRSU19IVFRQX1JPVVRFIiwgIlNFTUFUVFJTX0hUVFBfU0NIRU1FIiwgIlNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUiLCAiU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSIsICJTRU1BVFRSU19IVFRQX1RBUkdFVCIsICJTRU1BVFRSU19IVFRQX1VSTCIsICJTRU1BVFRSU19IVFRQX1VTRVJfQUdFTlQiLCAiU0VNQVRUUlNfTUVTU0FHRV9DT01QUkVTU0VEX1NJWkUiLCAiU0VNQVRUUlNfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdFX1RZUEUiLCAiU0VNQVRUUlNfTUVTU0FHRV9VTkNPTVBSRVNTRURfU0laRSIsICJTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlZFUlNBVElPTl9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NMSUVOVF9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ09OU1VNRVJfR1JPVVAiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9QQVJUSVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1RPTUJTVE9ORSIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX0NPTVBSRVNTRURfU0laRV9CWVRFUyIsICJTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX1NJWkVfQllURVMiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTiIsICJTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0wiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MX1ZFUlNJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZIiwgIlNFTUFUVFJTX01FU1NBR0lOR19TWVNURU0iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1RFTVBfREVTVElOQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX0lDQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01DQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQyIsICJTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX05BTUUiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9TVUJUWVBFIiwgIlNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSIsICJTRU1BVFRSU19ORVRfSE9TVF9JUCIsICJTRU1BVFRSU19ORVRfSE9TVF9OQU1FIiwgIlNFTUFUVFJTX05FVF9IT1NUX1BPUlQiLCAiU0VNQVRUUlNfTkVUX1BFRVJfSVAiLCAiU0VNQVRUUlNfTkVUX1BFRVJfTkFNRSIsICJTRU1BVFRSU19ORVRfUEVFUl9QT1JUIiwgIlNFTUFUVFJTX05FVF9UUkFOU1BPUlQiLCAiU0VNQVRUUlNfUEVFUl9TRVJWSUNFIiwgIlNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX0NPREUiLCAiU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfTUVTU0FHRSIsICJTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lEIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX1ZFUlNJT04iLCAiU0VNQVRUUlNfUlBDX01FVEhPRCIsICJTRU1BVFRSU19SUENfU0VSVklDRSIsICJTRU1BVFRSU19SUENfU1lTVEVNIiwgIlNFTUFUVFJTX1RIUkVBRF9JRCIsICJTRU1BVFRSU19USFJFQURfTkFNRSIsICJTZW1hbnRpY0F0dHJpYnV0ZXMiLCAidHJhY2UiLCAiY29udGV4dCIsICJEaWFnTG9nTGV2ZWwiLCAiSU5WQUxJRF9TUEFOSUQiLCAiSU5WQUxJRF9TUEFOX0NPTlRFWFQiLCAiSU5WQUxJRF9UUkFDRUlEIiwgIlByb3h5VHJhY2VyIiwgIlByb3h5VHJhY2VyUHJvdmlkZXIiLCAiUk9PVF9DT05URVhUIiwgIlNwYW5LaW5kIiwgIlNwYW5TdGF0dXNDb2RlIiwgIlRyYWNlRmxhZ3MiLCAiY3JlYXRlQ29udGV4dEtleSIsICJpc1NwYW5Db250ZXh0VmFsaWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1ZhbGlkVHJhY2VJZCIsICJtZXRyaWNzIiwgImNyZWF0ZU5vb3BNZXRlciIsICJTYW1wbGluZ0RlY2lzaW9uIiwgImVzbSQyIiwgImRpYWciLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19FQzIiLCAiQVdTRUNTTEFVTkNIVFlQRVZBTFVFU19GQVJHQVRFIiwgIkF3c0Vjc0xhdW5jaHR5cGVWYWx1ZXMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FMSUJBQkFfQ0xPVURfRkMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUMyIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FS1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUxBU1RJQ19CRUFOU1RBTEsiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfTEFNQkRBIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQUtTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQVBQX1NFUlZJQ0UiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BWlVSRV9DT05UQUlORVJfSU5TVEFOQ0VTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfRlVOQ1RJT05TIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfVk0iLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQVBQX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DTE9VRF9GVU5DVElPTlMiLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfUlVOIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NPTVBVVEVfRU5HSU5FIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0tVQkVSTkVURVNfRU5HSU5FIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfQUxJQkFCQV9DTE9VRCIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FXUyIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FaVVJFIiwgIkNMT1VEUFJPVklERVJWQUxVRVNfR0NQIiwgIkNsb3VkUGxhdGZvcm1WYWx1ZXMiLCAiQ2xvdWRQcm92aWRlclZhbHVlcyIsICJIT1NUQVJDSFZBTFVFU19BTUQ2NCIsICJIT1NUQVJDSFZBTFVFU19BUk0zMiIsICJIT1NUQVJDSFZBTFVFU19BUk02NCIsICJIT1NUQVJDSFZBTFVFU19JQTY0IiwgIkhPU1RBUkNIVkFMVUVTX1BQQzMyIiwgIkhPU1RBUkNIVkFMVUVTX1BQQzY0IiwgIkhPU1RBUkNIVkFMVUVTX1g4NiIsICJIb3N0QXJjaFZhbHVlcyIsICJPU1RZUEVWQUxVRVNfQUlYIiwgIk9TVFlQRVZBTFVFU19EQVJXSU4iLCAiT1NUWVBFVkFMVUVTX0RSQUdPTkZMWUJTRCIsICJPU1RZUEVWQUxVRVNfRlJFRUJTRCIsICJPU1RZUEVWQUxVRVNfSFBVWCIsICJPU1RZUEVWQUxVRVNfTElOVVgiLCAiT1NUWVBFVkFMVUVTX05FVEJTRCIsICJPU1RZUEVWQUxVRVNfT1BFTkJTRCIsICJPU1RZUEVWQUxVRVNfU09MQVJJUyIsICJPU1RZUEVWQUxVRVNfV0lORE9XUyIsICJPU1RZUEVWQUxVRVNfWl9PUyIsICJPc1R5cGVWYWx1ZXMiLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfRUNTX0NPTlRBSU5FUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0ZBTUlMWSIsICJTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfUkVWSVNJT04iLCAiU0VNUkVTQVRUUlNfQVdTX0VLU19DTFVTVEVSX0FSTiIsICJTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX0FSTlMiLCAiU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9OQU1FUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9BUk5TIiwgIlNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX05BTUVTIiwgIlNFTVJFU0FUVFJTX0NMT1VEX0FDQ09VTlRfSUQiLCAiU0VNUkVTQVRUUlNfQ0xPVURfQVZBSUxBQklMSVRZX1pPTkUiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUExBVEZPUk0iLCAiU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIiLCAiU0VNUkVTQVRUUlNfQ0xPVURfUkVHSU9OIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JRCIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfVEFHIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0NPTlRBSU5FUl9SVU5USU1FIiwgIlNFTVJFU0FUVFJTX0RFUExPWU1FTlRfRU5WSVJPTk1FTlQiLCAiU0VNUkVTQVRUUlNfREVWSUNFX0lEIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfSUQiLCAiU0VNUkVTQVRUUlNfRkFBU19JTlNUQU5DRSIsICJTRU1SRVNBVFRSU19GQUFTX01BWF9NRU1PUlkiLCAiU0VNUkVTQVRUUlNfRkFBU19OQU1FIiwgIlNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19IT1NUX0FSQ0giLCAiU0VNUkVTQVRUUlNfSE9TVF9JRCIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX0lEIiwgIlNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfSE9TVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0hPU1RfVFlQRSIsICJTRU1SRVNBVFRSU19LOFNfQ0xVU1RFUl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DT05UQUlORVJfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0pPQl9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfTk9ERV9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19OT0RFX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1BPRF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1NUQVRFRlVMU0VUX1VJRCIsICJTRU1SRVNBVFRSU19PU19ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19PU19OQU1FIiwgIlNFTVJFU0FUVFJTX09TX1RZUEUiLCAiU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkQiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0FSR1MiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19FWEVDVVRBQkxFX1BBVEgiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1BJRCIsICJTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX05BTUUiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9JTlNUQU5DRV9JRCIsICJTRU1SRVNBVFRSU19TRVJWSUNFX05BTUUiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FU1BBQ0UiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9BVVRPX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19MQU5HVUFHRSIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX05BTUUiLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfTkFNRSIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfVkVSU0lPTiIsICJTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19DUFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRE9UTkVUIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19HTyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19KQVZBIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUyIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QSFAiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUFlUSE9OIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlkiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfV0VCSlMiLCAiVGVsZW1ldHJ5U2RrTGFuZ3VhZ2VWYWx1ZXMiLCAiX21lcmdlTmFtZXNwYWNlcyIsICJuIiwgIm0iLCAiaSIsICJlIiwgImsiLCAiZCIsICJjb25zb2xlTWFwIiwgIkRpYWdDb25zb2xlTG9nZ2VyIiwgIl9jb25zb2xlRnVuYyIsICJmdW5jTmFtZSIsICJhcmdzIiwgIl9pIiwgInRoZUZ1bmMiLCAiVmFsdWVUeXBlIiwgIlZBTElEX0tFWV9DSEFSX1JBTkdFIiwgIlZBTElEX0tFWSIsICJWQUxJRF9WRU5ET1JfS0VZIiwgIlZBTElEX0tFWV9SRUdFWCIsICJWQUxJRF9WQUxVRV9CQVNFX1JFR0VYIiwgIklOVkFMSURfVkFMVUVfQ09NTUFfRVFVQUxfUkVHRVgiLCAidmFsaWRhdGVLZXkiLCAia2V5IiwgInZhbGlkYXRlVmFsdWUiLCAidmFsdWUiLCAiTUFYX1RSQUNFX1NUQVRFX0lURU1TIiwgIk1BWF9UUkFDRV9TVEFURV9MRU4iLCAiTElTVF9NRU1CRVJTX1NFUEFSQVRPUiIsICJMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIiLCAiVHJhY2VTdGF0ZUltcGwiLCAicmF3VHJhY2VTdGF0ZSIsICJ0cmFjZVN0YXRlIiwgIl90aGlzIiwgImFnZyIsICJwYXJ0IiwgImxpc3RNZW1iZXIiLCAiY3JlYXRlVHJhY2VTdGF0ZSIsICJpbmRleCIsICJlc20kMSIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFQiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUiIsICJBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQiLCAiQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfQ1BQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRE9UTkVUIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfRVJMQU5HIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfR08iLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9KQVZBIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfTk9ERUpTIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUEhQIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUFlUSE9OIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVU1QiLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9TV0lGVCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTIiwgIkFUVFJfVEVMRU1FVFJZX1NES19OQU1FIiwgIkFUVFJfVEVMRU1FVFJZX1NES19WRVJTSU9OIiwgIkFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19IQU5ETEVSX1RZUEUiLCAiQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0FCT1JURUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX0hBTkRMRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1NLSVBQRUQiLCAiQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1VOSEFORExFRCIsICJBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19QT0xJQ1kiLCAiQVRUUl9BU1BORVRDT1JFX1JFUVVFU1RfSVNfVU5IQU5ETEVEIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLIiwgIkFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyIsICJBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX0ZBSUxVUkUiLCAiQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9TVUNDRVNTIiwgIkFUVFJfQ0xJRU5UX0FERFJFU1MiLCAiQVRUUl9DTElFTlRfUE9SVCIsICJBVFRSX0VSUk9SX1RZUEUiLCAiRVJST1JfVFlQRV9WQUxVRV9PVEhFUiIsICJBVFRSX0VYQ0VQVElPTl9FU0NBUEVEIiwgIkFUVFJfRVhDRVBUSU9OX01FU1NBR0UiLCAiQVRUUl9FWENFUFRJT05fU1RBQ0tUUkFDRSIsICJBVFRSX0VYQ0VQVElPTl9UWVBFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX0hFQURFUiIsICJBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUiIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX0NPTk5FQ1QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9IRUFEIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BBVENIIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUE9TVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1RSQUNFIiwgIkFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRF9PUklHSU5BTCIsICJBVFRSX0hUVFBfUkVRVUVTVF9SRVNFTkRfQ09VTlQiLCAiQVRUUl9IVFRQX1JFU1BPTlNFX0hFQURFUiIsICJBVFRSX0hUVFBfUkVTUE9OU0VfU1RBVFVTX0NPREUiLCAiQVRUUl9IVFRQX1JPVVRFIiwgIkFUVFJfSlZNX0dDX0FDVElPTiIsICJBVFRSX0pWTV9HQ19OQU1FIiwgIkFUVFJfSlZNX01FTU9SWV9QT09MX05BTUUiLCAiQVRUUl9KVk1fTUVNT1JZX1RZUEUiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX0hFQVAiLCAiSlZNX01FTU9SWV9UWVBFX1ZBTFVFX05PTl9IRUFQIiwgIkFUVFJfSlZNX1RIUkVBRF9EQUVNT04iLCAiQVRUUl9KVk1fVEhSRUFEX1NUQVRFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX05FVyIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RJTUVEX1dBSVRJTkciLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9XQUlUSU5HIiwgIkFUVFJfTkVUV09SS19MT0NBTF9BRERSRVNTIiwgIkFUVFJfTkVUV09SS19MT0NBTF9QT1JUIiwgIkFUVFJfTkVUV09SS19QRUVSX0FERFJFU1MiLCAiQVRUUl9ORVRXT1JLX1BFRVJfUE9SVCIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfTkFNRSIsICJBVFRSX05FVFdPUktfUFJPVE9DT0xfVkVSU0lPTiIsICJBVFRSX05FVFdPUktfVFJBTlNQT1JUIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1BJUEUiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfUVVJQyIsICJORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVURQIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVgiLCAiQVRUUl9ORVRXT1JLX1RZUEUiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQiLCAiTkVUV09SS19UWVBFX1ZBTFVFX0lQVjYiLCAiQVRUUl9PVEVMX1NDT1BFX05BTUUiLCAiQVRUUl9PVEVMX1NDT1BFX1ZFUlNJT04iLCAiQVRUUl9PVEVMX1NUQVRVU19DT0RFIiwgIk9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IiLCAiT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9PSyIsICJBVFRSX09URUxfU1RBVFVTX0RFU0NSSVBUSU9OIiwgIkFUVFJfU0VSVkVSX0FERFJFU1MiLCAiQVRUUl9TRVJWRVJfUE9SVCIsICJBVFRSX1NFUlZJQ0VfTkFNRSIsICJBVFRSX1NFUlZJQ0VfVkVSU0lPTiIsICJBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVMiLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9BUFBfU0hVVERPV04iLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSIsICJTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQiLCAiQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCIsICJTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9MT05HX1BPTExJTkciLCAiU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfU0VSVkVSX1NFTlRfRVZFTlRTIiwgIlNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1dFQl9TT0NLRVRTIiwgIkFUVFJfVVJMX0ZSQUdNRU5UIiwgIkFUVFJfVVJMX0ZVTEwiLCAiQVRUUl9VUkxfUEFUSCIsICJBVFRSX1VSTF9RVUVSWSIsICJBVFRSX1VSTF9TQ0hFTUUiLCAiQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMIiwgIk1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX1RJTUVfSU5fUVVFVUUiLCAiTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX0xFQVNFX0RVUkFUSU9OIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMiLCAiTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyIsICJNRVRSSUNfSFRUUF9DTElFTlRfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSFRUUF9TRVJWRVJfUkVRVUVTVF9EVVJBVElPTiIsICJNRVRSSUNfSlZNX0NMQVNTX0NPVU5UIiwgIk1FVFJJQ19KVk1fQ0xBU1NfTE9BREVEIiwgIk1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQiLCAiTUVUUklDX0pWTV9DUFVfQ09VTlQiLCAiTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OIiwgIk1FVFJJQ19KVk1fQ1BVX1RJTUUiLCAiTUVUUklDX0pWTV9HQ19EVVJBVElPTiIsICJNRVRSSUNfSlZNX01FTU9SWV9DT01NSVRURUQiLCAiTUVUUklDX0pWTV9NRU1PUllfTElNSVQiLCAiTUVUUklDX0pWTV9NRU1PUllfVVNFRCIsICJNRVRSSUNfSlZNX01FTU9SWV9VU0VEX0FGVEVSX0xBU1RfR0MiLCAiTUVUUklDX0pWTV9USFJFQURfQ09VTlQiLCAiTUVUUklDX0tFU1RSRUxfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19LRVNUUkVMX0FDVElWRV9UTFNfSEFORFNIQUtFUyIsICJNRVRSSUNfS0VTVFJFTF9DT05ORUNUSU9OX0RVUkFUSU9OIiwgIk1FVFJJQ19LRVNUUkVMX1FVRVVFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMiLCAiTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMiLCAiTUVUUklDX0tFU1RSRUxfVExTX0hBTkRTSEFLRV9EVVJBVElPTiIsICJNRVRSSUNfS0VTVFJFTF9VUEdSQURFRF9DT05ORUNUSU9OUyIsICJNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQUNUSVZFX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19TSUdOQUxSX1NFUlZFUl9DT05ORUNUSU9OX0RVUkFUSU9OIiwgImVzbSIsICJkZXRlY3RSZXNvdXJjZXMkMSIsICJSZXNvdXJjZSIsICJyZXF1aXJlJCQxJDEiLCAicmVxdWlyZSQkMSIsICJyZXF1aXJlJCQyIiwgImJyb3dzZXIiLCAiZGVmYXVsdFNlcnZpY2VOYW1lIiwgImhhc1JlcXVpcmVkRGVmYXVsdFNlcnZpY2VOYW1lIiwgInJlcXVpcmVEZWZhdWx0U2VydmljZU5hbWUiLCAiZGVmYXVsdFNlcnZpY2VOYW1lJDEiLCAiaGFzUmVxdWlyZWRCcm93c2VyIiwgInJlcXVpcmVCcm93c2VyIiwgImV4cG9ydHMiLCAiZGVmYXVsdF9zZXJ2aWNlX25hbWVfMSIsICJoYXNSZXF1aXJlZFJlc291cmNlIiwgInJlcXVpcmVSZXNvdXJjZSIsICJhcGlfMSIsICJzZW1hbnRpY19jb252ZW50aW9uc18xIiwgImNvcmVfMSIsICJwbGF0Zm9ybV8xIiwgIlJlc291cmNlJDEiLCAiYXR0cmlidXRlcyIsICJhc3luY0F0dHJpYnV0ZXNQcm9taXNlIiwgIl9hIiwgImFzeW5jQXR0cmlidXRlcyIsICJlcnIiLCAib3RoZXIiLCAibWVyZ2VkU3luY0F0dHJpYnV0ZXMiLCAibWVyZ2VkQXR0cmlidXRlc1Byb21pc2UiLCAidGhpc0FzeW5jQXR0cmlidXRlcyIsICJvdGhlckFzeW5jQXR0cmlidXRlcyIsICJ1dGlscyIsICJoYXNSZXF1aXJlZFV0aWxzIiwgInJlcXVpcmVVdGlscyIsICJpc1Byb21pc2VMaWtlIiwgInZhbCIsICJoYXNSZXF1aXJlZERldGVjdFJlc291cmNlcyIsICJyZXF1aXJlRGV0ZWN0UmVzb3VyY2VzIiwgIlJlc291cmNlXzEiLCAidXRpbHNfMSIsICJkZXRlY3RSZXNvdXJjZXMiLCAiY29uZmlnIiwgInJlc291cmNlcyIsICJyZXNvdXJjZSIsICJsb2dSZXNvdXJjZXMiLCAiYWNjIiwgImRldGVjdFJlc291cmNlc1N5bmMiLCAicmVzb3VyY2VPclByb21pc2UiLCAiY3JlYXRlUHJvbWlzZSIsICJyZXNvbHZlZFJlc291cmNlIiwgIm1lcmdlZFJlc291cmNlcyIsICJyZXNvdXJjZURlYnVnU3RyaW5nIiwgImRldGVjdFJlc291cmNlc0V4cG9ydHMiXQp9Cg==
|