@myxtra/authentication-green 1.7.5 → 1.7.7-alpha.0

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.
@@ -1,4 +1,4 @@
1
- var qi = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, gs = { exports: {} }, ki = {}, fs = { exports: {} }, k = {};
1
+ var qi = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, gs = { exports: {} }, Si = {}, fs = { exports: {} }, S = {};
2
2
  /**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -8,7 +8,7 @@ var qi = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
- var yr = Symbol.for("react.element"), Hd = Symbol.for("react.portal"), Md = Symbol.for("react.fragment"), zd = Symbol.for("react.strict_mode"), xd = Symbol.for("react.profiler"), Jd = Symbol.for("react.provider"), Td = Symbol.for("react.context"), Dd = Symbol.for("react.forward_ref"), Qd = Symbol.for("react.suspense"), Ed = Symbol.for("react.memo"), Ud = Symbol.for("react.lazy"), Ga = Symbol.iterator;
11
+ var yr = Symbol.for("react.element"), Fd = Symbol.for("react.portal"), Md = Symbol.for("react.fragment"), zd = Symbol.for("react.strict_mode"), xd = Symbol.for("react.profiler"), Td = Symbol.for("react.provider"), Dd = Symbol.for("react.context"), Jd = Symbol.for("react.forward_ref"), Qd = Symbol.for("react.suspense"), Ed = Symbol.for("react.memo"), Ud = Symbol.for("react.lazy"), Ga = Symbol.iterator;
12
12
  function Pd(e) {
13
13
  return e === null || typeof e != "object" ? null : (e = Ga && e[Ga] || e["@@iterator"], typeof e == "function" ? e : null);
14
14
  }
@@ -75,7 +75,7 @@ var Ya = /\/+/g;
75
75
  function eo(e, t) {
76
76
  return typeof e == "object" && e !== null && e.key != null ? $d("" + e.key) : t.toString(36);
77
77
  }
78
- function Dr(e, t, n, r, i) {
78
+ function Jr(e, t, n, r, i) {
79
79
  var o = typeof e;
80
80
  (o === "undefined" || o === "boolean") && (e = null);
81
81
  var l = !1;
@@ -90,23 +90,23 @@ function Dr(e, t, n, r, i) {
90
90
  case "object":
91
91
  switch (e.$$typeof) {
92
92
  case yr:
93
- case Hd:
93
+ case Fd:
94
94
  l = !0;
95
95
  }
96
96
  }
97
97
  if (l)
98
- return l = e, i = i(l), e = r === "" ? "." + eo(l, 0) : r, Xa(i) ? (n = "", e != null && (n = e.replace(Ya, "$&/") + "/"), Dr(i, t, n, "", function(c) {
98
+ return l = e, i = i(l), e = r === "" ? "." + eo(l, 0) : r, Xa(i) ? (n = "", e != null && (n = e.replace(Ya, "$&/") + "/"), Jr(i, t, n, "", function(c) {
99
99
  return c;
100
100
  })) : i != null && (Nl(i) && (i = _d(i, n + (!i.key || l && l.key === i.key ? "" : ("" + i.key).replace(Ya, "$&/") + "/") + e)), t.push(i)), 1;
101
101
  if (l = 0, r = r === "" ? "." : r + ":", Xa(e))
102
102
  for (var a = 0; a < e.length; a++) {
103
103
  o = e[a];
104
104
  var u = r + eo(o, a);
105
- l += Dr(o, t, n, u, i);
105
+ l += Jr(o, t, n, u, i);
106
106
  }
107
107
  else if (u = Pd(e), typeof u == "function")
108
108
  for (e = u.call(e), a = 0; !(o = e.next()).done; )
109
- o = o.value, u = r + eo(o, a++), l += Dr(o, t, n, u, i);
109
+ o = o.value, u = r + eo(o, a++), l += Jr(o, t, n, u, i);
110
110
  else if (o === "object")
111
111
  throw t = String(e), Error("Objects are not valid as a React child (found: " + (t === "[object Object]" ? "object with keys {" + Object.keys(e).join(", ") + "}" : t) + "). If you meant to render a collection of children, use an array instead.");
112
112
  return l;
@@ -115,7 +115,7 @@ function Xr(e, t, n) {
115
115
  if (e == null)
116
116
  return e;
117
117
  var r = [], i = 0;
118
- return Dr(e, r, "", "", function(o) {
118
+ return Jr(e, r, "", "", function(o) {
119
119
  return t.call(n, o, i++);
120
120
  }), r;
121
121
  }
@@ -133,7 +133,7 @@ function qd(e) {
133
133
  throw e._result;
134
134
  }
135
135
  var de = { current: null }, Qr = { transition: null }, eg = { ReactCurrentDispatcher: de, ReactCurrentBatchConfig: Qr, ReactCurrentOwner: Al };
136
- k.Children = { map: Xr, forEach: function(e, t, n) {
136
+ S.Children = { map: Xr, forEach: function(e, t, n) {
137
137
  Xr(e, function() {
138
138
  t.apply(this, arguments);
139
139
  }, n);
@@ -151,14 +151,14 @@ k.Children = { map: Xr, forEach: function(e, t, n) {
151
151
  throw Error("React.Children.only expected to receive a single React element child.");
152
152
  return e;
153
153
  } };
154
- k.Component = An;
155
- k.Fragment = Md;
156
- k.Profiler = xd;
157
- k.PureComponent = Xl;
158
- k.StrictMode = zd;
159
- k.Suspense = Qd;
160
- k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = eg;
161
- k.cloneElement = function(e, t, n) {
154
+ S.Component = An;
155
+ S.Fragment = Md;
156
+ S.Profiler = xd;
157
+ S.PureComponent = Xl;
158
+ S.StrictMode = zd;
159
+ S.Suspense = Qd;
160
+ S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = eg;
161
+ S.cloneElement = function(e, t, n) {
162
162
  if (e == null)
163
163
  throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + e + ".");
164
164
  var r = ms({}, e.props), i = e.key, o = e.ref, l = e._owner;
@@ -179,28 +179,28 @@ k.cloneElement = function(e, t, n) {
179
179
  }
180
180
  return { $$typeof: yr, type: e.type, key: i, ref: o, props: r, _owner: l };
181
181
  };
182
- k.createContext = function(e) {
183
- return e = { $$typeof: Td, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: Jd, _context: e }, e.Consumer = e;
182
+ S.createContext = function(e) {
183
+ return e = { $$typeof: Dd, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: Td, _context: e }, e.Consumer = e;
184
184
  };
185
- k.createElement = ys;
186
- k.createFactory = function(e) {
185
+ S.createElement = ys;
186
+ S.createFactory = function(e) {
187
187
  var t = ys.bind(null, e);
188
188
  return t.type = e, t;
189
189
  };
190
- k.createRef = function() {
190
+ S.createRef = function() {
191
191
  return { current: null };
192
192
  };
193
- k.forwardRef = function(e) {
194
- return { $$typeof: Dd, render: e };
193
+ S.forwardRef = function(e) {
194
+ return { $$typeof: Jd, render: e };
195
195
  };
196
- k.isValidElement = Nl;
197
- k.lazy = function(e) {
196
+ S.isValidElement = Nl;
197
+ S.lazy = function(e) {
198
198
  return { $$typeof: Ud, _payload: { _status: -1, _result: e }, _init: qd };
199
199
  };
200
- k.memo = function(e, t) {
200
+ S.memo = function(e, t) {
201
201
  return { $$typeof: Ed, type: e, compare: t === void 0 ? null : t };
202
202
  };
203
- k.startTransition = function(e) {
203
+ S.startTransition = function(e) {
204
204
  var t = Qr.transition;
205
205
  Qr.transition = {};
206
206
  try {
@@ -209,55 +209,55 @@ k.startTransition = function(e) {
209
209
  Qr.transition = t;
210
210
  }
211
211
  };
212
- k.unstable_act = function() {
212
+ S.unstable_act = function() {
213
213
  throw Error("act(...) is not supported in production builds of React.");
214
214
  };
215
- k.useCallback = function(e, t) {
215
+ S.useCallback = function(e, t) {
216
216
  return de.current.useCallback(e, t);
217
217
  };
218
- k.useContext = function(e) {
218
+ S.useContext = function(e) {
219
219
  return de.current.useContext(e);
220
220
  };
221
- k.useDebugValue = function() {
221
+ S.useDebugValue = function() {
222
222
  };
223
- k.useDeferredValue = function(e) {
223
+ S.useDeferredValue = function(e) {
224
224
  return de.current.useDeferredValue(e);
225
225
  };
226
- k.useEffect = function(e, t) {
226
+ S.useEffect = function(e, t) {
227
227
  return de.current.useEffect(e, t);
228
228
  };
229
- k.useId = function() {
229
+ S.useId = function() {
230
230
  return de.current.useId();
231
231
  };
232
- k.useImperativeHandle = function(e, t, n) {
232
+ S.useImperativeHandle = function(e, t, n) {
233
233
  return de.current.useImperativeHandle(e, t, n);
234
234
  };
235
- k.useInsertionEffect = function(e, t) {
235
+ S.useInsertionEffect = function(e, t) {
236
236
  return de.current.useInsertionEffect(e, t);
237
237
  };
238
- k.useLayoutEffect = function(e, t) {
238
+ S.useLayoutEffect = function(e, t) {
239
239
  return de.current.useLayoutEffect(e, t);
240
240
  };
241
- k.useMemo = function(e, t) {
241
+ S.useMemo = function(e, t) {
242
242
  return de.current.useMemo(e, t);
243
243
  };
244
- k.useReducer = function(e, t, n) {
244
+ S.useReducer = function(e, t, n) {
245
245
  return de.current.useReducer(e, t, n);
246
246
  };
247
- k.useRef = function(e) {
247
+ S.useRef = function(e) {
248
248
  return de.current.useRef(e);
249
249
  };
250
- k.useState = function(e) {
250
+ S.useState = function(e) {
251
251
  return de.current.useState(e);
252
252
  };
253
- k.useSyncExternalStore = function(e, t, n) {
253
+ S.useSyncExternalStore = function(e, t, n) {
254
254
  return de.current.useSyncExternalStore(e, t, n);
255
255
  };
256
- k.useTransition = function() {
256
+ S.useTransition = function() {
257
257
  return de.current.useTransition();
258
258
  };
259
- k.version = "18.2.0";
260
- fs.exports = k;
259
+ S.version = "18.2.0";
260
+ fs.exports = S;
261
261
  var Q = fs.exports;
262
262
  /**
263
263
  * @license React
@@ -279,10 +279,10 @@ function bs(e, t, n) {
279
279
  i[r] === void 0 && (i[r] = t[r]);
280
280
  return { $$typeof: ng, type: e, key: o, ref: l, props: i, _owner: og.current };
281
281
  }
282
- ki.Fragment = rg;
283
- ki.jsx = bs;
284
- ki.jsxs = bs;
285
- gs.exports = ki;
282
+ Si.Fragment = rg;
283
+ Si.jsx = bs;
284
+ Si.jsxs = bs;
285
+ gs.exports = Si;
286
286
  var nr = gs.exports;
287
287
  function we(e) {
288
288
  "@babel/helpers - typeof";
@@ -346,7 +346,7 @@ var Zs = function(t, n) {
346
346
  function Na(e, t, n) {
347
347
  e.loadNamespaces(t, Zs(e, n));
348
348
  }
349
- function Sa(e, t, n, r) {
349
+ function ka(e, t, n, r) {
350
350
  typeof n == "string" && (n = [n]), n.forEach(function(i) {
351
351
  e.options.ns.indexOf(i) < 0 && e.options.ns.push(i);
352
352
  }), e.loadLanguages(t, Zs(e, r));
@@ -400,7 +400,7 @@ var dg = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#1
400
400
  }, pg = function(t) {
401
401
  return t.replace(dg, fg);
402
402
  };
403
- function ka(e, t) {
403
+ function Sa(e, t) {
404
404
  var n = Object.keys(e);
405
405
  if (Object.getOwnPropertySymbols) {
406
406
  var r = Object.getOwnPropertySymbols(e);
@@ -413,9 +413,9 @@ function ka(e, t) {
413
413
  function Ra(e) {
414
414
  for (var t = 1; t < arguments.length; t++) {
415
415
  var n = arguments[t] != null ? arguments[t] : {};
416
- t % 2 ? ka(Object(n), !0).forEach(function(r) {
416
+ t % 2 ? Sa(Object(n), !0).forEach(function(r) {
417
417
  $e(e, r, n[r]);
418
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ka(Object(n)).forEach(function(r) {
418
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Sa(Object(n)).forEach(function(r) {
419
419
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
420
420
  });
421
421
  }
@@ -569,8 +569,8 @@ function Ys(e) {
569
569
  var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.i18n, r = Q.useContext(yg) || {}, i = r.i18n, o = r.defaultNS, l = n || i || Ig();
570
570
  if (l && !l.reportNamespaces && (l.reportNamespaces = new bg()), !l) {
571
571
  Ao("You will need to pass in an i18next instance by using initReactI18next");
572
- var a = function(S, Y) {
573
- return typeof Y == "string" ? Y : Y && we(Y) === "object" && typeof Y.defaultValue == "string" ? Y.defaultValue : Array.isArray(S) ? S[S.length - 1] : S;
572
+ var a = function(k, Y) {
573
+ return typeof Y == "string" ? Y : Y && we(Y) === "object" && typeof Y.defaultValue == "string" ? Y.defaultValue : Array.isArray(k) ? k[k.length - 1] : k;
574
574
  }, u = [a, {}, !1];
575
575
  return u.t = a, u.i18n = {}, u.ready = !1, u;
576
576
  }
@@ -587,8 +587,8 @@ function Ys(e) {
587
587
  t.lng && (m = "".concat(t.lng).concat(m));
588
588
  var I = Wg(m), y = Q.useRef(!0);
589
589
  Q.useEffect(function() {
590
- var L = c.bindI18n, S = c.bindI18nStore;
591
- y.current = !0, !h && !p && (t.lng ? Sa(l, t.lng, f, function() {
590
+ var L = c.bindI18n, k = c.bindI18nStore;
591
+ y.current = !0, !h && !p && (t.lng ? ka(l, t.lng, f, function() {
592
592
  y.current && s(C);
593
593
  }) : Na(l, f, function() {
594
594
  y.current && s(C);
@@ -596,10 +596,10 @@ function Ys(e) {
596
596
  function Y() {
597
597
  y.current && s(C);
598
598
  }
599
- return L && l && l.on(L, Y), S && l && l.store.on(S, Y), function() {
599
+ return L && l && l.on(L, Y), k && l && l.store.on(k, Y), function() {
600
600
  y.current = !1, L && l && L.split(" ").forEach(function(_) {
601
601
  return l.off(_, Y);
602
- }), S && l && S.split(" ").forEach(function(_) {
602
+ }), k && l && k.split(" ").forEach(function(_) {
603
603
  return l.store.off(_, Y);
604
604
  });
605
605
  };
@@ -612,7 +612,7 @@ function Ys(e) {
612
612
  if (W.t = d, W.i18n = l, W.ready = h, h || !h && !p)
613
613
  return W;
614
614
  throw new Promise(function(L) {
615
- t.lng ? Sa(l, t.lng, f, function() {
615
+ t.lng ? ka(l, t.lng, f, function() {
616
616
  return L();
617
617
  }) : Na(l, f, function() {
618
618
  return L();
@@ -688,9 +688,9 @@ R();
688
688
  R();
689
689
  R();
690
690
  R();
691
- var Sl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst", e.Prod = "prod", e))(Sl || {}), Yg = class extends Error {
691
+ var kl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst", e.Prod = "prod", e))(kl || {}), Yg = class extends Error {
692
692
  constructor(e) {
693
- const t = Object.values(Sl).join(", ");
693
+ const t = Object.values(kl).join(", ");
694
694
  super(`${e} is not a valid Environment. Valid environments are ${t}`), this.name = "InvalidEnvironmentError";
695
695
  }
696
696
  };
@@ -723,9 +723,9 @@ R();
723
723
  var Va = ({ error: e }) => e ? /* @__PURE__ */ nr.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null;
724
724
  R();
725
725
  R();
726
- var Sg = (e, t) => e.getAttribute("name") === t, kg = (e, t) => {
726
+ var kg = (e, t) => e.getAttribute("name") === t, Sg = (e, t) => {
727
727
  const n = Object.keys(t)[0];
728
- return Array.from(e.elements).find((i) => Sg(i, n));
728
+ return Array.from(e.elements).find((i) => kg(i, n));
729
729
  };
730
730
  R();
731
731
  var Rg = (e, t) => Object.keys(t).reduce((n, r, i) => {
@@ -738,7 +738,7 @@ var Rg = (e, t) => Object.keys(t).reduce((n, r, i) => {
738
738
  const { textContent: a } = l;
739
739
  return i === 0 ? a : `${n}, ${a}`;
740
740
  }, ""), Bg = (e, t, n) => {
741
- const r = Rg(e, t), i = r == null ? void 0 : r.split(",")[0], o = kg(e, t);
741
+ const r = Rg(e, t), i = r == null ? void 0 : r.split(",")[0], o = Sg(e, t);
742
742
  return o == null || o.focus(), o == null || o.scrollIntoView({ block: "center" }), n("common.form.detailedError", { invalidFormFieldLabels: r, firstInvalidFormFieldLabel: i });
743
743
  }, gh = ({ submitCount: e, errors: t }) => {
744
744
  const { t: n } = Ys(), r = Q.useRef(null), i = r.current, [o, l] = Q.useState(!1), [a] = Object.entries(t), [u, c] = Q.useState(), [p, g] = Q.useState(e);
@@ -769,8 +769,8 @@ R();
769
769
  R();
770
770
  R();
771
771
  R();
772
- const Og = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmFjdGl2ZSwKLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKSwgMCAwIDAgMTBweCB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIDppcyhhLCBwLCBidXR0b24pIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc2VjdGlvbi1tZXNzYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTUpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1Bob25lTnVtYmVyL1Bob25lTnVtYmVyLmNzcyAqLwoucGhvbmUtbnVtYmVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoucGhvbmUtbnVtYmVyIC5pbnB1dF9fd3JhcHBlciB7CiAgZmxleC1ncm93OiAxOwp9Ci5waG9uZS1udW1iZXIgLnBob25lLW51bWJlcl9fY291bnRyeS1jb2RlLXNlbGVjdCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiA5NnB4Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9TZWxlY3QvU2VsZWN0LmNzcyAqLwouc2VsZWN0LXdyYXBwZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouc2VsZWN0LXdyYXBwZXI6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI0cHg7CiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyOwogIG1hc2stcG9zaXRpb246IGNlbnRlcjsKICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7CiAgbWFzay1zaXplOiBjb3ZlcjsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogIHdpZHRoOiAyNHB4Owp9Ci5zZWxlY3QgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMTAwJTsKfQouc2VsZWN0LS13aXRoLXBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VsZWN0OmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouc2VsZWN0OmZvY3VzIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5zZWxlY3Qtd3JhcHBlci0tZm9jdXM6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlZ21lbnRlZENvbnRyb2wvU2VnbWVudGVkQ29udHJvbC5jc3MgKi8KLnNlZ21lbnRlZC1jb250cm9sX19saXN0LAouc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBub25lOwp9Ci5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19saXN0LAouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sIFtyb2xlPXRhYnBhbmVsXVtkYXRhLXN0YXRlPWluYWN0aXZlXSB7CiAgZGlzcGxheTogbm9uZTsKfQouc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3RfX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXIgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZmxleDogMTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdOmZvY3VzLXZpc2libGUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGFicy9UYWJzLmNzcyAqLwoudGFicyB7CiAgZGlzcGxheTogbm9uZTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBkaXNwbGF5OiBibG9jazsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEuYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRhYnMsCiAgLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogICAgZGlzcGxheTogZmxleDsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpIDAgdmFyKC0tc3BhY2luZy04KTsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IHZhcigtLXNpdGUtaGVhZGVyLWhlaWdodCk7CiAgICB6LWluZGV4OiAxNTsKICB9CiAgLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogICAgd2lkdGg6IGF1dG87CiAgfQogIC50YWJzIGEsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIH0KICAudGFicyBhLmFjdGl2ZSwKICAudGFicy50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEuYWN0aXZlIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIH0KICAudGFicyBhOmJlZm9yZSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogICAgaGVpZ2h0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICB9CiAgQG1lZGlhIChob3Zlcjpob3ZlcikgewogICAgLnRhYnMgYTpmb2N1cyB7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CiAgICAudGFicyBhOm5vdCguYWN0aXZlKTpob3ZlcjphZnRlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICAgICAgYm90dG9tOiAwOwogICAgICBjb250ZW50OiAiIjsKICAgICAgaGVpZ2h0OiAycHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgfQogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIsCiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYm90dG9tOiAwOwogICAgY29udGVudDogIiI7CiAgICBoZWlnaHQ6IDJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9hc3QvVG9hc3QuY3NzICovCi50b2FzdCB7CiAgLS1zbGlkZS1pbi1lbmQ6MDsKICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctOCkpOwogIGFuaW1hdGlvbjogc2xpZGUtaW4gMG1zLCBzbGlkZS1vdXQgMG1zIDVzIGZvcndhcmRzOwogIGJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKICBoZWlnaHQ6IGF1dG87CiAgbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiBmaXhlZDsKICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKfQoudG9hc3QtLWVycm9yIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiKDIzMCA0NSA1MC81JSksIHJnYigyMzAgNDUgNTAvNSUpKSwgdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1lcnJvci00MDApLAogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoudG9hc3QtLWluZm8gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tcHJpbWFyeS01MDApLAogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci50b2FzdF9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci50b2FzdF9fdGl0bGVfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLnRvYXN0LS1pbmZvIC50b2FzdF9fdGl0bGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50b2FzdCB7CiAgICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctMTIpKTsKICAgIGJvdHRvbTogdmFyKC0tc3BhY2luZy0xMCk7CiAgICBsZWZ0OiBhdXRvOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwKTsKICAgIHdpZHRoOiA0MjBweDsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAudG9hc3QgewogICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAuM3MgZWFzZS1vdXQsIHNsaWRlLW91dCAuM3MgZWFzZS1pbiA1cyBmb3J3YXJkczsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogLjg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tc3RhcnQpKTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1lbmQpKTsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9nZ2xlL1RvZ2dsZS5jc3MgKi8KLnRvZ2dsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMik7CiAgd2lkdGg6IHZhcigtLXNwYWNpbmctNik7Cn0KLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5zdGVwc19fbGluazpmaXJzdC1vZi10eXBlIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgZGlzcGxheTogbm9uZTsKfQouc3RlcHNfX2xpbmsuYWN0aXZlIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIsCi5zdGVwc19fbGluay5hY3RpdmUgYSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICAgIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RpbWVsaW5lL1RpbWVsaW5lLmNzcyAqLwoudGltZWxpbmUtY29udGFpbmVyLm1vYmlsZS1vbmx5IHsKICBkaXNwbGF5OiBub25lOwp9Ci50aW1lbGluZS1jb250YWluZXIgewogIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0zKTsKfQoudGltZWxpbmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBtYXJnaW46IDAgYXV0bzsKfQoudGltZWxpbmUuaG9yaXpvbnRhbCB7CiAgaGVpZ2h0OiAxcHg7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLnZlcnRpY2FsIHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDFweDsKfQoudGltZWxpbmVfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgaGVpZ2h0OiAzMnB4OwogIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKICB3aWR0aDogMzJweDsKICB6LWluZGV4OiAxMDsKfQoudGltZWxpbmVfX2xhYmVsLmhvcml6b250YWwgewogIG1hcmdpbi1sZWZ0OiAtMTcwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci50aW1lbGluZV9fbGFiZWwudmVydGljYWwgewogIG1hcmdpbjogdmFyKC0tc3BhY2luZy02KSBhdXRvIDA7Cn0KLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlcjogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci50aW1lbGluZV9fbGFiZWwtY29udGVudCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMTAwJTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpOwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS1jb250YWluZXIuaG9yaXpvbnRhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogNTBweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLnZlcnRpY2FsOm5vdCgubW9iaWxlLW9ubHkpIHsKICBkaXNwbGF5OiBncmlkOwp9Ci50aW1lbGluZSwKLnRpbWVsaW5lX19sYWJlbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGdyaWQtYXJlYTogMS8xOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWwgewogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IDUwcHg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDA7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbCB7CiAgICBkaXNwbGF5OiBncmlkOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9Gb3JtR3JvdXAuY3NzICovCi5mb3JtLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvSGludC9IaW50LmNzcyAqLwouZm9ybS1ncm91cF9fZXJyb3IsCi5mb3JtLWdyb3VwX19oaW50IHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9Ci5mb3JtLWdyb3VwX19oaW50IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5mb3JtLWdyb3VwX19lcnJvciB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvTGFiZWwvTGFiZWwuY3NzICovCi5mb3JtLWl0ZW1fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xKTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1JhZGlvL1JhZGlvLmNzcyAqLwoucmFkaW8tZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQtd3JhcHBlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoucmFkaW9fX2lucHV0IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICBkaXNwbGF5OiBncmlkOwogIGZvbnQ6IGluaGVyaXQ7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXNwYWNpbmctNik7CiAgcGxhY2UtY29udGVudDogY2VudGVyOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDphY3RpdmUpIHsKICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5yYWRpb19faW5wdXQ6bm90KDpkaXNhYmxlZCwgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSwgOmNoZWNrZWQpOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiA1MCU7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsKICB3aWR0aDogMDsKfQoucmFkaW9fX2lucHV0OmNoZWNrZWQ6YmVmb3JlIHsKICBoZWlnaHQ6IDEycHg7CiAgd2lkdGg6IDEycHg7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9Cn0K";
773
- var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
772
+ const Og = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
773
+ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
774
774
  /**
775
775
  * @license React
776
776
  * scheduler.production.min.js
@@ -786,9 +786,9 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
786
786
  G.push(A);
787
787
  e:
788
788
  for (; 0 < N; ) {
789
- var K = N - 1 >>> 1, D = G[K];
790
- if (0 < i(D, A))
791
- G[K] = A, G[N] = D, N = K;
789
+ var K = N - 1 >>> 1, J = G[K];
790
+ if (0 < i(J, A))
791
+ G[K] = A, G[N] = J, N = K;
792
792
  else
793
793
  break e;
794
794
  }
@@ -803,11 +803,11 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
803
803
  if (N !== A) {
804
804
  G[0] = N;
805
805
  e:
806
- for (var K = 0, D = G.length, _t = D >>> 1; K < _t; ) {
806
+ for (var K = 0, J = G.length, _t = J >>> 1; K < _t; ) {
807
807
  var Ie = 2 * (K + 1) - 1, $t = G[Ie], ve = Ie + 1, tt = G[ve];
808
808
  if (0 > i($t, N))
809
- ve < D && 0 > i(tt, $t) ? (G[K] = tt, G[ve] = N, K = ve) : (G[K] = $t, G[Ie] = N, K = Ie);
810
- else if (ve < D && 0 > i(tt, N))
809
+ ve < J && 0 > i(tt, $t) ? (G[K] = tt, G[ve] = N, K = ve) : (G[K] = $t, G[Ie] = N, K = Ie);
810
+ else if (ve < J && 0 > i(tt, N))
811
811
  G[K] = tt, G[ve] = N, K = ve;
812
812
  else
813
813
  break e;
@@ -860,8 +860,8 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
860
860
  var K = g.callback;
861
861
  if (typeof K == "function") {
862
862
  g.callback = null, f = g.priorityLevel;
863
- var D = K(g.expirationTime <= A);
864
- A = e.unstable_now(), typeof D == "function" ? g.callback = D : g === n(u) && r(u), m(A);
863
+ var J = K(g.expirationTime <= A);
864
+ A = e.unstable_now(), typeof J == "function" ? g.callback = J : g === n(u) && r(u), m(A);
865
865
  } else
866
866
  r(u);
867
867
  g = n(u);
@@ -877,9 +877,9 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
877
877
  g = null, f = N, h = !1;
878
878
  }
879
879
  }
880
- var Z = !1, W = null, L = -1, S = 5, Y = -1;
880
+ var Z = !1, W = null, L = -1, k = 5, Y = -1;
881
881
  function _() {
882
- return !(e.unstable_now() - Y < S);
882
+ return !(e.unstable_now() - Y < k);
883
883
  }
884
884
  function xe() {
885
885
  if (W !== null) {
@@ -921,7 +921,7 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
921
921
  }, e.unstable_continueExecution = function() {
922
922
  C || h || (C = !0, ft(y));
923
923
  }, e.unstable_forceFrameRate = function(G) {
924
- 0 > G || 125 < G ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : S = 0 < G ? Math.floor(1e3 / G) : 5;
924
+ 0 > G || 125 < G ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : k = 0 < G ? Math.floor(1e3 / G) : 5;
925
925
  }, e.unstable_getCurrentPriorityLevel = function() {
926
926
  return f;
927
927
  }, e.unstable_getFirstCallbackNode = function() {
@@ -967,21 +967,21 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
967
967
  var K = e.unstable_now();
968
968
  switch (typeof N == "object" && N !== null ? (N = N.delay, N = typeof N == "number" && 0 < N ? K + N : K) : N = K, G) {
969
969
  case 1:
970
- var D = -1;
970
+ var J = -1;
971
971
  break;
972
972
  case 2:
973
- D = 250;
973
+ J = 250;
974
974
  break;
975
975
  case 5:
976
- D = 1073741823;
976
+ J = 1073741823;
977
977
  break;
978
978
  case 4:
979
- D = 1e4;
979
+ J = 1e4;
980
980
  break;
981
981
  default:
982
- D = 5e3;
982
+ J = 5e3;
983
983
  }
984
- return D = N + D, G = { id: p++, callback: A, priorityLevel: G, startTime: N, expirationTime: D, sortIndex: -1 }, N > K ? (G.sortIndex = N, t(c, G), n(u) === null && G === n(c) && (v ? (d(L), L = -1) : v = !0, et(I, N - K))) : (G.sortIndex = D, t(u, G), C || h || (C = !0, ft(y))), G;
984
+ return J = N + J, G = { id: p++, callback: A, priorityLevel: G, startTime: N, expirationTime: J, sortIndex: -1 }, N > K ? (G.sortIndex = N, t(c, G), n(u) === null && G === n(c) && (v ? (d(L), L = -1) : v = !0, et(I, N - K))) : (G.sortIndex = J, t(u, G), C || h || (C = !0, ft(y))), G;
985
985
  }, e.unstable_shouldYield = _, e.unstable_wrapCallback = function(G) {
986
986
  var A = f;
987
987
  return function() {
@@ -994,9 +994,9 @@ var Ns = { exports: {} }, Le = {}, Ss = { exports: {} }, ks = {};
994
994
  }
995
995
  };
996
996
  };
997
- })(ks);
998
- Ss.exports = ks;
999
- var Kg = Ss.exports;
997
+ })(Ss);
998
+ ks.exports = Ss;
999
+ var Kg = ks.exports;
1000
1000
  /**
1001
1001
  * @license React
1002
1002
  * react-dom.production.min.js
@@ -1020,11 +1020,11 @@ function wn(e, t) {
1020
1020
  for (rr[e] = t, e = 0; e < t.length; e++)
1021
1021
  Bs.add(t[e]);
1022
1022
  }
1023
- var ut = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), So = Object.prototype.hasOwnProperty, Vg = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, ja = {}, Fa = {};
1023
+ var ut = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), ko = Object.prototype.hasOwnProperty, Vg = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, ja = {}, Ha = {};
1024
1024
  function jg(e) {
1025
- return So.call(Fa, e) ? !0 : So.call(ja, e) ? !1 : Vg.test(e) ? Fa[e] = !0 : (ja[e] = !0, !1);
1025
+ return ko.call(Ha, e) ? !0 : ko.call(ja, e) ? !1 : Vg.test(e) ? Ha[e] = !0 : (ja[e] = !0, !1);
1026
1026
  }
1027
- function Fg(e, t, n, r) {
1027
+ function Hg(e, t, n, r) {
1028
1028
  if (n !== null && n.type === 0)
1029
1029
  return !1;
1030
1030
  switch (typeof t) {
@@ -1037,8 +1037,8 @@ function Fg(e, t, n, r) {
1037
1037
  return !1;
1038
1038
  }
1039
1039
  }
1040
- function Hg(e, t, n, r) {
1041
- if (t === null || typeof t > "u" || Fg(e, t, n, r))
1040
+ function Fg(e, t, n, r) {
1041
+ if (t === null || typeof t > "u" || Hg(e, t, n, r))
1042
1042
  return !0;
1043
1043
  if (r)
1044
1044
  return !1;
@@ -1087,23 +1087,23 @@ var ne = {};
1087
1087
  ["rowSpan", "start"].forEach(function(e) {
1088
1088
  ne[e] = new ge(e, 5, !1, e.toLowerCase(), null, !1, !1);
1089
1089
  });
1090
- var kl = /[\-:]([a-z])/g;
1090
+ var Sl = /[\-:]([a-z])/g;
1091
1091
  function Rl(e) {
1092
1092
  return e[1].toUpperCase();
1093
1093
  }
1094
1094
  "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e) {
1095
1095
  var t = e.replace(
1096
- kl,
1096
+ Sl,
1097
1097
  Rl
1098
1098
  );
1099
1099
  ne[t] = new ge(t, 1, !1, e, null, !1, !1);
1100
1100
  });
1101
1101
  "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e) {
1102
- var t = e.replace(kl, Rl);
1102
+ var t = e.replace(Sl, Rl);
1103
1103
  ne[t] = new ge(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1);
1104
1104
  });
1105
1105
  ["xml:base", "xml:lang", "xml:space"].forEach(function(e) {
1106
- var t = e.replace(kl, Rl);
1106
+ var t = e.replace(Sl, Rl);
1107
1107
  ne[t] = new ge(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1);
1108
1108
  });
1109
1109
  ["tabIndex", "crossOrigin"].forEach(function(e) {
@@ -1115,11 +1115,11 @@ ne.xlinkHref = new ge("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/
1115
1115
  });
1116
1116
  function Bl(e, t, n, r) {
1117
1117
  var i = ne.hasOwnProperty(t) ? ne[t] : null;
1118
- (i !== null ? i.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Hg(t, n, i, r) && (n = null), r || i === null ? jg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = n === null ? i.type === 3 ? !1 : "" : n : (t = i.attributeName, r = i.attributeNamespace, n === null ? e.removeAttribute(t) : (i = i.type, n = i === 3 || i === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
1118
+ (i !== null ? i.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Fg(t, n, i, r) && (n = null), r || i === null ? jg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = n === null ? i.type === 3 ? !1 : "" : n : (t = i.attributeName, r = i.attributeNamespace, n === null ? e.removeAttribute(t) : (i = i.type, n = i === 3 || i === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
1119
1119
  }
1120
- var gt = Rs.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Yr = Symbol.for("react.element"), rn = Symbol.for("react.portal"), on = Symbol.for("react.fragment"), Ol = Symbol.for("react.strict_mode"), ko = Symbol.for("react.profiler"), Os = Symbol.for("react.provider"), Ks = Symbol.for("react.context"), Kl = Symbol.for("react.forward_ref"), Ro = Symbol.for("react.suspense"), Bo = Symbol.for("react.suspense_list"), Vl = Symbol.for("react.memo"), mt = Symbol.for("react.lazy"), Vs = Symbol.for("react.offscreen"), Ha = Symbol.iterator;
1121
- function kn(e) {
1122
- return e === null || typeof e != "object" ? null : (e = Ha && e[Ha] || e["@@iterator"], typeof e == "function" ? e : null);
1120
+ var gt = Rs.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Yr = Symbol.for("react.element"), rn = Symbol.for("react.portal"), on = Symbol.for("react.fragment"), Ol = Symbol.for("react.strict_mode"), So = Symbol.for("react.profiler"), Os = Symbol.for("react.provider"), Ks = Symbol.for("react.context"), Kl = Symbol.for("react.forward_ref"), Ro = Symbol.for("react.suspense"), Bo = Symbol.for("react.suspense_list"), Vl = Symbol.for("react.memo"), mt = Symbol.for("react.lazy"), Vs = Symbol.for("react.offscreen"), Fa = Symbol.iterator;
1121
+ function Sn(e) {
1122
+ return e === null || typeof e != "object" ? null : (e = Fa && e[Fa] || e["@@iterator"], typeof e == "function" ? e : null);
1123
1123
  }
1124
1124
  var x = Object.assign, no;
1125
1125
  function xn(e) {
@@ -1227,7 +1227,7 @@ function Oo(e) {
1227
1227
  return "Fragment";
1228
1228
  case rn:
1229
1229
  return "Portal";
1230
- case ko:
1230
+ case So:
1231
1231
  return "Profiler";
1232
1232
  case Ol:
1233
1233
  return "StrictMode";
@@ -1345,7 +1345,7 @@ function xg(e) {
1345
1345
  function Ar(e) {
1346
1346
  e._valueTracker || (e._valueTracker = xg(e));
1347
1347
  }
1348
- function Fs(e) {
1348
+ function Hs(e) {
1349
1349
  if (!e)
1350
1350
  return !1;
1351
1351
  var t = e._valueTracker;
@@ -1371,11 +1371,11 @@ function Ma(e, t) {
1371
1371
  var n = t.defaultValue == null ? "" : t.defaultValue, r = t.checked != null ? t.checked : t.defaultChecked;
1372
1372
  n = Nt(t.value != null ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: t.type === "checkbox" || t.type === "radio" ? t.checked != null : t.value != null };
1373
1373
  }
1374
- function Hs(e, t) {
1374
+ function Fs(e, t) {
1375
1375
  t = t.checked, t != null && Bl(e, "checked", t, !1);
1376
1376
  }
1377
1377
  function Vo(e, t) {
1378
- Hs(e, t);
1378
+ Fs(e, t);
1379
1379
  var n = Nt(t.value), r = t.type;
1380
1380
  if (n != null)
1381
1381
  r === "number" ? (n === 0 && e.value === "" || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n);
@@ -1397,7 +1397,7 @@ function za(e, t, n) {
1397
1397
  function jo(e, t, n) {
1398
1398
  (t !== "number" || oi(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
1399
1399
  }
1400
- var Jn = Array.isArray;
1400
+ var Tn = Array.isArray;
1401
1401
  function hn(e, t, n, r) {
1402
1402
  if (e = e.options, t) {
1403
1403
  t = {};
@@ -1416,7 +1416,7 @@ function hn(e, t, n, r) {
1416
1416
  t !== null && (t.selected = !0);
1417
1417
  }
1418
1418
  }
1419
- function Fo(e, t) {
1419
+ function Ho(e, t) {
1420
1420
  if (t.dangerouslySetInnerHTML != null)
1421
1421
  throw Error(b(91));
1422
1422
  return x({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
@@ -1427,7 +1427,7 @@ function xa(e, t) {
1427
1427
  if (n = t.children, t = t.defaultValue, n != null) {
1428
1428
  if (t != null)
1429
1429
  throw Error(b(92));
1430
- if (Jn(n)) {
1430
+ if (Tn(n)) {
1431
1431
  if (1 < n.length)
1432
1432
  throw Error(b(93));
1433
1433
  n = n[0];
@@ -1442,7 +1442,7 @@ function Ms(e, t) {
1442
1442
  var n = Nt(t.value), r = Nt(t.defaultValue);
1443
1443
  n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), r != null && (e.defaultValue = "" + r);
1444
1444
  }
1445
- function Ja(e) {
1445
+ function Ta(e) {
1446
1446
  var t = e.textContent;
1447
1447
  t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
1448
1448
  }
@@ -1456,7 +1456,7 @@ function zs(e) {
1456
1456
  return "http://www.w3.org/1999/xhtml";
1457
1457
  }
1458
1458
  }
1459
- function Ho(e, t) {
1459
+ function Fo(e, t) {
1460
1460
  return e == null || e === "http://www.w3.org/1999/xhtml" ? zs(t) : e === "http://www.w3.org/2000/svg" && t === "foreignObject" ? "http://www.w3.org/1999/xhtml" : e;
1461
1461
  }
1462
1462
  var Nr, xs = function(e) {
@@ -1529,27 +1529,27 @@ var Qn = {
1529
1529
  strokeMiterlimit: !0,
1530
1530
  strokeOpacity: !0,
1531
1531
  strokeWidth: !0
1532
- }, Jg = ["Webkit", "ms", "Moz", "O"];
1532
+ }, Tg = ["Webkit", "ms", "Moz", "O"];
1533
1533
  Object.keys(Qn).forEach(function(e) {
1534
- Jg.forEach(function(t) {
1534
+ Tg.forEach(function(t) {
1535
1535
  t = t + e.charAt(0).toUpperCase() + e.substring(1), Qn[t] = Qn[e];
1536
1536
  });
1537
1537
  });
1538
- function Js(e, t, n) {
1538
+ function Ts(e, t, n) {
1539
1539
  return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || Qn.hasOwnProperty(e) && Qn[e] ? ("" + t).trim() : t + "px";
1540
1540
  }
1541
- function Ts(e, t) {
1541
+ function Ds(e, t) {
1542
1542
  e = e.style;
1543
1543
  for (var n in t)
1544
1544
  if (t.hasOwnProperty(n)) {
1545
- var r = n.indexOf("--") === 0, i = Js(n, t[n], r);
1545
+ var r = n.indexOf("--") === 0, i = Ts(n, t[n], r);
1546
1546
  n === "float" && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i;
1547
1547
  }
1548
1548
  }
1549
- var Tg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1549
+ var Dg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1550
1550
  function Mo(e, t) {
1551
1551
  if (t) {
1552
- if (Tg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1552
+ if (Dg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1553
1553
  throw Error(b(137, e));
1554
1554
  if (t.dangerouslySetInnerHTML != null) {
1555
1555
  if (t.children != null)
@@ -1582,24 +1582,24 @@ var xo = null;
1582
1582
  function jl(e) {
1583
1583
  return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
1584
1584
  }
1585
- var Jo = null, Cn = null, In = null;
1586
- function Ta(e) {
1585
+ var To = null, Cn = null, In = null;
1586
+ function Da(e) {
1587
1587
  if (e = Zr(e)) {
1588
- if (typeof Jo != "function")
1588
+ if (typeof To != "function")
1589
1589
  throw Error(b(280));
1590
1590
  var t = e.stateNode;
1591
- t && (t = Vi(t), Jo(e.stateNode, e.type, t));
1591
+ t && (t = Vi(t), To(e.stateNode, e.type, t));
1592
1592
  }
1593
1593
  }
1594
- function Ds(e) {
1594
+ function Js(e) {
1595
1595
  Cn ? In ? In.push(e) : In = [e] : Cn = e;
1596
1596
  }
1597
1597
  function Qs() {
1598
1598
  if (Cn) {
1599
1599
  var e = Cn, t = In;
1600
- if (In = Cn = null, Ta(e), t)
1600
+ if (In = Cn = null, Da(e), t)
1601
1601
  for (e = 0; e < t.length; e++)
1602
- Ta(t[e]);
1602
+ Da(t[e]);
1603
1603
  }
1604
1604
  }
1605
1605
  function Es(e, t) {
@@ -1650,17 +1650,17 @@ function or(e, t) {
1650
1650
  throw Error(b(231, t, typeof n));
1651
1651
  return n;
1652
1652
  }
1653
- var To = !1;
1653
+ var Do = !1;
1654
1654
  if (ut)
1655
1655
  try {
1656
1656
  var Rn = {};
1657
1657
  Object.defineProperty(Rn, "passive", { get: function() {
1658
- To = !0;
1658
+ Do = !0;
1659
1659
  } }), window.addEventListener("test", Rn, Rn), window.removeEventListener("test", Rn, Rn);
1660
1660
  } catch {
1661
- To = !1;
1661
+ Do = !1;
1662
1662
  }
1663
- function Dg(e, t, n, r, i, o, l, a, u) {
1663
+ function Jg(e, t, n, r, i, o, l, a, u) {
1664
1664
  var c = Array.prototype.slice.call(arguments, 3);
1665
1665
  try {
1666
1666
  t.apply(n, c);
@@ -1668,11 +1668,11 @@ function Dg(e, t, n, r, i, o, l, a, u) {
1668
1668
  this.onError(p);
1669
1669
  }
1670
1670
  }
1671
- var En = !1, li = null, ai = !1, Do = null, Qg = { onError: function(e) {
1671
+ var En = !1, li = null, ai = !1, Jo = null, Qg = { onError: function(e) {
1672
1672
  En = !0, li = e;
1673
1673
  } };
1674
1674
  function Eg(e, t, n, r, i, o, l, a, u) {
1675
- En = !1, li = null, Dg.apply(Qg, arguments);
1675
+ En = !1, li = null, Jg.apply(Qg, arguments);
1676
1676
  }
1677
1677
  function Ug(e, t, n, r, i, o, l, a, u) {
1678
1678
  if (Eg.apply(this, arguments), En) {
@@ -1681,7 +1681,7 @@ function Ug(e, t, n, r, i, o, l, a, u) {
1681
1681
  En = !1, li = null;
1682
1682
  } else
1683
1683
  throw Error(b(198));
1684
- ai || (ai = !0, Do = c);
1684
+ ai || (ai = !0, Jo = c);
1685
1685
  }
1686
1686
  }
1687
1687
  function Pt(e) {
@@ -1705,7 +1705,7 @@ function _s(e) {
1705
1705
  }
1706
1706
  return null;
1707
1707
  }
1708
- function Da(e) {
1708
+ function Ja(e) {
1709
1709
  if (Pt(e) !== e)
1710
1710
  throw Error(b(188));
1711
1711
  }
@@ -1731,9 +1731,9 @@ function Pg(e) {
1731
1731
  if (i.child === o.child) {
1732
1732
  for (o = i.child; o; ) {
1733
1733
  if (o === n)
1734
- return Da(i), e;
1734
+ return Ja(i), e;
1735
1735
  if (o === r)
1736
- return Da(i), t;
1736
+ return Ja(i), t;
1737
1737
  o = o.sibling;
1738
1738
  }
1739
1739
  throw Error(b(188));
@@ -1789,7 +1789,7 @@ function qs(e) {
1789
1789
  }
1790
1790
  return null;
1791
1791
  }
1792
- var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, _g = We.unstable_shouldYield, $g = We.unstable_requestPaint, T = We.unstable_now, qg = We.unstable_getCurrentPriorityLevel, Fl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, ui = We.unstable_NormalPriority, ef = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Ri = null, Ue = null;
1792
+ var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, _g = We.unstable_shouldYield, $g = We.unstable_requestPaint, D = We.unstable_now, qg = We.unstable_getCurrentPriorityLevel, Hl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, ui = We.unstable_NormalPriority, ef = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Ri = null, Ue = null;
1793
1793
  function tf(e) {
1794
1794
  if (Ue && typeof Ue.onCommitFiberRoot == "function")
1795
1795
  try {
@@ -1797,12 +1797,12 @@ function tf(e) {
1797
1797
  } catch {
1798
1798
  }
1799
1799
  }
1800
- var He = Math.clz32 ? Math.clz32 : of, nf = Math.log, rf = Math.LN2;
1800
+ var Fe = Math.clz32 ? Math.clz32 : of, nf = Math.log, rf = Math.LN2;
1801
1801
  function of(e) {
1802
1802
  return e >>>= 0, e === 0 ? 32 : 31 - (nf(e) / rf | 0) | 0;
1803
1803
  }
1804
- var Sr = 64, kr = 4194304;
1805
- function Tn(e) {
1804
+ var kr = 64, Sr = 4194304;
1805
+ function Dn(e) {
1806
1806
  switch (e & -e) {
1807
1807
  case 1:
1808
1808
  return 1;
@@ -1858,16 +1858,16 @@ function si(e, t) {
1858
1858
  var r = 0, i = e.suspendedLanes, o = e.pingedLanes, l = n & 268435455;
1859
1859
  if (l !== 0) {
1860
1860
  var a = l & ~i;
1861
- a !== 0 ? r = Tn(a) : (o &= l, o !== 0 && (r = Tn(o)));
1861
+ a !== 0 ? r = Dn(a) : (o &= l, o !== 0 && (r = Dn(o)));
1862
1862
  } else
1863
- l = n & ~i, l !== 0 ? r = Tn(l) : o !== 0 && (r = Tn(o));
1863
+ l = n & ~i, l !== 0 ? r = Dn(l) : o !== 0 && (r = Dn(o));
1864
1864
  if (r === 0)
1865
1865
  return 0;
1866
1866
  if (t !== 0 && t !== r && !(t & i) && (i = r & -r, o = t & -t, i >= o || i === 16 && (o & 4194240) !== 0))
1867
1867
  return t;
1868
1868
  if (r & 4 && (r |= n & 16), t = e.entangledLanes, t !== 0)
1869
1869
  for (e = e.entanglements, t &= r; 0 < t; )
1870
- n = 31 - He(t), i = 1 << n, r |= e[n], t &= ~i;
1870
+ n = 31 - Fe(t), i = 1 << n, r |= e[n], t &= ~i;
1871
1871
  return r;
1872
1872
  }
1873
1873
  function lf(e, t) {
@@ -1913,7 +1913,7 @@ function lf(e, t) {
1913
1913
  }
1914
1914
  function af(e, t) {
1915
1915
  for (var n = e.suspendedLanes, r = e.pingedLanes, i = e.expirationTimes, o = e.pendingLanes; 0 < o; ) {
1916
- var l = 31 - He(o), a = 1 << l, u = i[l];
1916
+ var l = 31 - Fe(o), a = 1 << l, u = i[l];
1917
1917
  u === -1 ? (!(a & n) || a & r) && (i[l] = lf(a, t)) : u <= t && (e.expiredLanes |= a), o &= ~a;
1918
1918
  }
1919
1919
  }
@@ -1921,8 +1921,8 @@ function Qo(e) {
1921
1921
  return e = e.pendingLanes & -1073741825, e !== 0 ? e : e & 1073741824 ? 1073741824 : 0;
1922
1922
  }
1923
1923
  function rc() {
1924
- var e = Sr;
1925
- return Sr <<= 1, !(Sr & 4194240) && (Sr = 64), e;
1924
+ var e = kr;
1925
+ return kr <<= 1, !(kr & 4194240) && (kr = 64), e;
1926
1926
  }
1927
1927
  function lo(e) {
1928
1928
  for (var t = [], n = 0; 31 > n; n++)
@@ -1930,21 +1930,21 @@ function lo(e) {
1930
1930
  return t;
1931
1931
  }
1932
1932
  function br(e, t, n) {
1933
- e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - He(t), e[t] = n;
1933
+ e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - Fe(t), e[t] = n;
1934
1934
  }
1935
1935
  function uf(e, t) {
1936
1936
  var n = e.pendingLanes & ~t;
1937
1937
  e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
1938
1938
  var r = e.eventTimes;
1939
1939
  for (e = e.expirationTimes; 0 < n; ) {
1940
- var i = 31 - He(n), o = 1 << i;
1940
+ var i = 31 - Fe(n), o = 1 << i;
1941
1941
  t[i] = 0, r[i] = -1, e[i] = -1, n &= ~o;
1942
1942
  }
1943
1943
  }
1944
- function Hl(e, t) {
1944
+ function Fl(e, t) {
1945
1945
  var n = e.entangledLanes |= t;
1946
1946
  for (e = e.entanglements; n; ) {
1947
- var r = 31 - He(n), i = 1 << r;
1947
+ var r = 31 - Fe(n), i = 1 << r;
1948
1948
  i & t | e[r] & t && (e[r] |= t), n &= ~i;
1949
1949
  }
1950
1950
  }
@@ -1996,7 +1996,7 @@ function cf(e, t, n, r, i) {
1996
1996
  return !1;
1997
1997
  }
1998
1998
  function sc(e) {
1999
- var t = Ft(e.target);
1999
+ var t = Ht(e.target);
2000
2000
  if (t !== null) {
2001
2001
  var n = Pt(t);
2002
2002
  if (n !== null) {
@@ -2095,7 +2095,7 @@ function zl(e, t, n, r) {
2095
2095
  }
2096
2096
  var di = null;
2097
2097
  function Uo(e, t, n, r) {
2098
- if (di = null, e = jl(r), e = Ft(e), e !== null)
2098
+ if (di = null, e = jl(r), e = Ht(e), e !== null)
2099
2099
  if (t = Pt(e), t === null)
2100
2100
  e = null;
2101
2101
  else if (n = t.tag, n === 13) {
@@ -2186,7 +2186,7 @@ function cc(e) {
2186
2186
  return 4;
2187
2187
  case "message":
2188
2188
  switch (qg()) {
2189
- case Fl:
2189
+ case Hl:
2190
2190
  return 1;
2191
2191
  case tc:
2192
2192
  return 4;
@@ -2243,7 +2243,7 @@ function Ge(e) {
2243
2243
  }
2244
2244
  var Nn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2245
2245
  return e.timeStamp || Date.now();
2246
- }, defaultPrevented: 0, isTrusted: 0 }, Jl = Ge(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), pf = Ge(wr), ao, uo, Kn, Bi = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Tl, button: 0, buttons: 0, relatedTarget: function(e) {
2246
+ }, defaultPrevented: 0, isTrusted: 0 }, Tl = Ge(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), pf = Ge(wr), ao, uo, Kn, Bi = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Dl, button: 0, buttons: 0, relatedTarget: function(e) {
2247
2247
  return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
2248
2248
  }, movementX: function(e) {
2249
2249
  return "movementX" in e ? e.movementX : (e !== Kn && (Kn && e.type === "mousemove" ? (ao = e.screenX - Kn.screenX, uo = e.screenY - Kn.screenY) : uo = ao = 0, Kn = e), ao);
@@ -2306,7 +2306,7 @@ function Gf(e) {
2306
2306
  var t = this.nativeEvent;
2307
2307
  return t.getModifierState ? t.getModifierState(e) : (e = Lf[e]) ? !!t[e] : !1;
2308
2308
  }
2309
- function Tl() {
2309
+ function Dl() {
2310
2310
  return Gf;
2311
2311
  }
2312
2312
  var Xf = x({}, wr, { key: function(e) {
@@ -2316,13 +2316,13 @@ var Xf = x({}, wr, { key: function(e) {
2316
2316
  return t;
2317
2317
  }
2318
2318
  return e.type === "keypress" ? (e = Pr(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Wf[e.keyCode] || "Unidentified" : "";
2319
- }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Tl, charCode: function(e) {
2319
+ }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Dl, charCode: function(e) {
2320
2320
  return e.type === "keypress" ? Pr(e) : 0;
2321
2321
  }, keyCode: function(e) {
2322
2322
  return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2323
2323
  }, which: function(e) {
2324
2324
  return e.type === "keypress" ? Pr(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2325
- } }), Yf = Ge(Xf), Af = x({}, Bi, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Ge(Af), Nf = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Tl }), Sf = Ge(Nf), kf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Rf = Ge(kf), Bf = x({}, Bi, {
2325
+ } }), Yf = Ge(Xf), Af = x({}, Bi, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Ge(Af), Nf = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Dl }), kf = Ge(Nf), Sf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Rf = Ge(Sf), Bf = x({}, Bi, {
2326
2326
  deltaX: function(e) {
2327
2327
  return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
2328
2328
  },
@@ -2331,9 +2331,9 @@ var Xf = x({}, wr, { key: function(e) {
2331
2331
  },
2332
2332
  deltaZ: 0,
2333
2333
  deltaMode: 0
2334
- }), Of = Ge(Bf), Kf = [9, 13, 27, 32], Dl = ut && "CompositionEvent" in window, Un = null;
2334
+ }), Of = Ge(Bf), Kf = [9, 13, 27, 32], Jl = ut && "CompositionEvent" in window, Un = null;
2335
2335
  ut && "documentMode" in document && (Un = document.documentMode);
2336
- var Vf = ut && "TextEvent" in window && !Un, gc = ut && (!Dl || Un && 8 < Un && 11 >= Un), eu = String.fromCharCode(32), tu = !1;
2336
+ var Vf = ut && "TextEvent" in window && !Un, gc = ut && (!Jl || Un && 8 < Un && 11 >= Un), eu = String.fromCharCode(32), tu = !1;
2337
2337
  function fc(e, t) {
2338
2338
  switch (e) {
2339
2339
  case "keyup":
@@ -2364,9 +2364,9 @@ function jf(e, t) {
2364
2364
  return null;
2365
2365
  }
2366
2366
  }
2367
- function Ff(e, t) {
2367
+ function Hf(e, t) {
2368
2368
  if (ln)
2369
- return e === "compositionend" || !Dl && fc(e, t) ? (e = dc(), Ur = xl = vt = null, ln = !1, e) : null;
2369
+ return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = vt = null, ln = !1, e) : null;
2370
2370
  switch (e) {
2371
2371
  case "paste":
2372
2372
  return null;
@@ -2384,13 +2384,13 @@ function Ff(e, t) {
2384
2384
  return null;
2385
2385
  }
2386
2386
  }
2387
- var Hf = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2387
+ var Ff = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2388
2388
  function nu(e) {
2389
2389
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2390
- return t === "input" ? !!Hf[e.type] : t === "textarea";
2390
+ return t === "input" ? !!Ff[e.type] : t === "textarea";
2391
2391
  }
2392
2392
  function mc(e, t, n, r) {
2393
- Ds(r), t = gi(t, "onChange"), 0 < t.length && (n = new Jl("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
2393
+ Js(r), t = gi(t, "onChange"), 0 < t.length && (n = new Tl("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
2394
2394
  }
2395
2395
  var Pn = null, sr = null;
2396
2396
  function Mf(e) {
@@ -2398,7 +2398,7 @@ function Mf(e) {
2398
2398
  }
2399
2399
  function Oi(e) {
2400
2400
  var t = sn(e);
2401
- if (Fs(t))
2401
+ if (Hs(t))
2402
2402
  return e;
2403
2403
  }
2404
2404
  function zf(e, t) {
@@ -2431,15 +2431,15 @@ function Cc(e) {
2431
2431
  function xf(e, t, n) {
2432
2432
  e === "focusin" ? (iu(), Pn = t, sr = n, Pn.attachEvent("onpropertychange", Cc)) : e === "focusout" && iu();
2433
2433
  }
2434
- function Jf(e) {
2434
+ function Tf(e) {
2435
2435
  if (e === "selectionchange" || e === "keyup" || e === "keydown")
2436
2436
  return Oi(sr);
2437
2437
  }
2438
- function Tf(e, t) {
2438
+ function Df(e, t) {
2439
2439
  if (e === "click")
2440
2440
  return Oi(t);
2441
2441
  }
2442
- function Df(e, t) {
2442
+ function Jf(e, t) {
2443
2443
  if (e === "input" || e === "change")
2444
2444
  return Oi(t);
2445
2445
  }
@@ -2457,7 +2457,7 @@ function cr(e, t) {
2457
2457
  return !1;
2458
2458
  for (r = 0; r < n.length; r++) {
2459
2459
  var i = n[r];
2460
- if (!So.call(t, i) || !ze(e[i], t[i]))
2460
+ if (!ko.call(t, i) || !ze(e[i], t[i]))
2461
2461
  return !1;
2462
2462
  }
2463
2463
  return !0;
@@ -2537,7 +2537,7 @@ function Ef(e) {
2537
2537
  var Uf = ut && "documentMode" in document && 11 >= document.documentMode, an = null, Po = null, _n = null, _o = !1;
2538
2538
  function au(e, t, n) {
2539
2539
  var r = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
2540
- _o || an == null || an !== oi(r) || (r = an, "selectionStart" in r && Ql(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), _n && cr(_n, r) || (_n = r, r = gi(Po, "onSelect"), 0 < r.length && (t = new Jl("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = an)));
2540
+ _o || an == null || an !== oi(r) || (r = an, "selectionStart" in r && Ql(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), _n && cr(_n, r) || (_n = r, r = gi(Po, "onSelect"), 0 < r.length && (t = new Tl("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = an)));
2541
2541
  }
2542
2542
  function Or(e, t) {
2543
2543
  var n = {};
@@ -2581,7 +2581,7 @@ Ut("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
2581
2581
  Ut("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
2582
2582
  Ut("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
2583
2583
  Ut("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
2584
- var Dn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), $f = new Set("cancel close invalid load scroll toggle".split(" ").concat(Dn));
2584
+ var Jn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), $f = new Set("cancel close invalid load scroll toggle".split(" ").concat(Jn));
2585
2585
  function su(e, t, n) {
2586
2586
  var r = e.type || "unknown-event";
2587
2587
  e.currentTarget = n, Ug(r, t, void 0, e), e.currentTarget = null;
@@ -2609,7 +2609,7 @@ function Gc(e, t) {
2609
2609
  }
2610
2610
  }
2611
2611
  if (ai)
2612
- throw e = Do, ai = !1, Do = null, e;
2612
+ throw e = Jo, ai = !1, Jo = null, e;
2613
2613
  }
2614
2614
  function j(e, t) {
2615
2615
  var n = t[nl];
@@ -2642,7 +2642,7 @@ function Xc(e, t, n, r) {
2642
2642
  default:
2643
2643
  i = zl;
2644
2644
  }
2645
- n = i.bind(null, t, n, e), i = void 0, !To || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (i = !0), r ? i !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: i }) : e.addEventListener(t, n, !0) : i !== void 0 ? e.addEventListener(t, n, { passive: i }) : e.addEventListener(t, n, !1);
2645
+ n = i.bind(null, t, n, e), i = void 0, !Do || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (i = !0), r ? i !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: i }) : e.addEventListener(t, n, !0) : i !== void 0 ? e.addEventListener(t, n, { passive: i }) : e.addEventListener(t, n, !1);
2646
2646
  }
2647
2647
  function Co(e, t, n, r, i) {
2648
2648
  var o = r;
@@ -2664,7 +2664,7 @@ function Co(e, t, n, r, i) {
2664
2664
  l = l.return;
2665
2665
  }
2666
2666
  for (; a !== null; ) {
2667
- if (l = Ft(a), l === null)
2667
+ if (l = Ht(a), l === null)
2668
2668
  return;
2669
2669
  if (u = l.tag, u === 5 || u === 6) {
2670
2670
  r = o = l;
@@ -2680,7 +2680,7 @@ function Co(e, t, n, r, i) {
2680
2680
  e: {
2681
2681
  var f = Lc.get(e);
2682
2682
  if (f !== void 0) {
2683
- var h = Jl, C = e;
2683
+ var h = Tl, C = e;
2684
2684
  switch (e) {
2685
2685
  case "keypress":
2686
2686
  if (Pr(n) === 0)
@@ -2726,7 +2726,7 @@ function Co(e, t, n, r, i) {
2726
2726
  case "touchend":
2727
2727
  case "touchmove":
2728
2728
  case "touchstart":
2729
- h = Sf;
2729
+ h = kf;
2730
2730
  break;
2731
2731
  case bc:
2732
2732
  case wc:
@@ -2771,10 +2771,10 @@ function Co(e, t, n, r, i) {
2771
2771
  }
2772
2772
  if (!(t & 7)) {
2773
2773
  e: {
2774
- if (f = e === "mouseover" || e === "pointerover", h = e === "mouseout" || e === "pointerout", f && n !== xo && (C = n.relatedTarget || n.fromElement) && (Ft(C) || C[st]))
2774
+ if (f = e === "mouseover" || e === "pointerover", h = e === "mouseout" || e === "pointerout", f && n !== xo && (C = n.relatedTarget || n.fromElement) && (Ht(C) || C[st]))
2775
2775
  break e;
2776
- if ((h || f) && (f = p.window === p ? p : (f = p.ownerDocument) ? f.defaultView || f.parentWindow : window, h ? (C = n.relatedTarget || n.toElement, h = c, C = C ? Ft(C) : null, C !== null && (w = Pt(C), C !== w || C.tag !== 5 && C.tag !== 6) && (C = null)) : (h = null, C = c), h !== C)) {
2777
- if (v = _a, I = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (v = qa, I = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new v(I, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, I = null, Ft(p) === c && (v = new v(d, s + "enter", C, n, p), v.target = m, v.relatedTarget = w, I = v), w = I, h && C)
2776
+ if ((h || f) && (f = p.window === p ? p : (f = p.ownerDocument) ? f.defaultView || f.parentWindow : window, h ? (C = n.relatedTarget || n.toElement, h = c, C = C ? Ht(C) : null, C !== null && (w = Pt(C), C !== w || C.tag !== 5 && C.tag !== 6) && (C = null)) : (h = null, C = c), h !== C)) {
2777
+ if (v = _a, I = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (v = qa, I = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new v(I, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, I = null, Ht(p) === c && (v = new v(d, s + "enter", C, n, p), v.target = m, v.relatedTarget = w, I = v), w = I, h && C)
2778
2778
  t: {
2779
2779
  for (v = h, d = C, s = 0, m = v; m; m = en(m))
2780
2780
  s++;
@@ -2801,13 +2801,13 @@ function Co(e, t, n, r, i) {
2801
2801
  var y = zf;
2802
2802
  else if (nu(f))
2803
2803
  if (hc)
2804
- y = Df;
2805
- else {
2806
2804
  y = Jf;
2805
+ else {
2806
+ y = Tf;
2807
2807
  var Z = xf;
2808
2808
  }
2809
2809
  else
2810
- (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Tf);
2810
+ (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Df);
2811
2811
  if (y && (y = y(e, c))) {
2812
2812
  mc(g, y, n, p);
2813
2813
  break e;
@@ -2837,7 +2837,7 @@ function Co(e, t, n, r, i) {
2837
2837
  au(g, n, p);
2838
2838
  }
2839
2839
  var W;
2840
- if (Dl)
2840
+ if (Jl)
2841
2841
  e: {
2842
2842
  switch (e) {
2843
2843
  case "compositionstart":
@@ -2854,7 +2854,7 @@ function Co(e, t, n, r, i) {
2854
2854
  }
2855
2855
  else
2856
2856
  ln ? fc(e, n) && (L = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (L = "onCompositionStart");
2857
- L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (vt = p, xl = "value" in vt ? vt.value : vt.textContent, ln = !0)), Z = gi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = Vf ? jf(e, n) : Ff(e, n)) && (c = gi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2857
+ L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (vt = p, xl = "value" in vt ? vt.value : vt.textContent, ln = !0)), Z = gi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = Vf ? jf(e, n) : Hf(e, n)) && (c = gi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2858
2858
  }
2859
2859
  Gc(g, t);
2860
2860
  });
@@ -2956,8 +2956,8 @@ function fu(e) {
2956
2956
  }
2957
2957
  return null;
2958
2958
  }
2959
- var Sn = Math.random().toString(36).slice(2), Qe = "__reactFiber$" + Sn, fr = "__reactProps$" + Sn, st = "__reactContainer$" + Sn, nl = "__reactEvents$" + Sn, ip = "__reactListeners$" + Sn, op = "__reactHandles$" + Sn;
2960
- function Ft(e) {
2959
+ var kn = Math.random().toString(36).slice(2), Qe = "__reactFiber$" + kn, fr = "__reactProps$" + kn, st = "__reactContainer$" + kn, nl = "__reactEvents$" + kn, ip = "__reactListeners$" + kn, op = "__reactHandles$" + kn;
2960
+ function Ht(e) {
2961
2961
  var t = e[Qe];
2962
2962
  if (t)
2963
2963
  return t;
@@ -2990,17 +2990,17 @@ var rl = [], cn = -1;
2990
2990
  function Bt(e) {
2991
2991
  return { current: e };
2992
2992
  }
2993
- function F(e) {
2993
+ function H(e) {
2994
2994
  0 > cn || (e.current = rl[cn], rl[cn] = null, cn--);
2995
2995
  }
2996
2996
  function V(e, t) {
2997
2997
  cn++, rl[cn] = e.current, e.current = t;
2998
2998
  }
2999
- var St = {}, ae = Bt(St), me = Bt(!1), Jt = St;
2999
+ var kt = {}, ae = Bt(kt), me = Bt(!1), Tt = kt;
3000
3000
  function Zn(e, t) {
3001
3001
  var n = e.type.contextTypes;
3002
3002
  if (!n)
3003
- return St;
3003
+ return kt;
3004
3004
  var r = e.stateNode;
3005
3005
  if (r && r.__reactInternalMemoizedUnmaskedChildContext === t)
3006
3006
  return r.__reactInternalMemoizedMaskedChildContext;
@@ -3013,10 +3013,10 @@ function he(e) {
3013
3013
  return e = e.childContextTypes, e != null;
3014
3014
  }
3015
3015
  function pi() {
3016
- F(me), F(ae);
3016
+ H(me), H(ae);
3017
3017
  }
3018
3018
  function pu(e, t, n) {
3019
- if (ae.current !== St)
3019
+ if (ae.current !== kt)
3020
3020
  throw Error(b(168));
3021
3021
  V(ae, t), V(me, n);
3022
3022
  }
@@ -3031,13 +3031,13 @@ function Yc(e, t, n) {
3031
3031
  return x({}, n, r);
3032
3032
  }
3033
3033
  function mi(e) {
3034
- return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || St, Jt = ae.current, V(ae, e), V(me, me.current), !0;
3034
+ return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || kt, Tt = ae.current, V(ae, e), V(me, me.current), !0;
3035
3035
  }
3036
3036
  function mu(e, t, n) {
3037
3037
  var r = e.stateNode;
3038
3038
  if (!r)
3039
3039
  throw Error(b(169));
3040
- n ? (e = Yc(e, t, Jt), r.__reactInternalMemoizedMergedChildContext = e, F(me), F(ae), V(ae, e)) : F(me), V(me, n);
3040
+ n ? (e = Yc(e, t, Tt), r.__reactInternalMemoizedMergedChildContext = e, H(me), H(ae), V(ae, e)) : H(me), V(me, n);
3041
3041
  }
3042
3042
  var it = null, ji = !1, vo = !1;
3043
3043
  function Ac(e) {
@@ -3060,27 +3060,27 @@ function Ot() {
3060
3060
  }
3061
3061
  it = null, ji = !1;
3062
3062
  } catch (i) {
3063
- throw it !== null && (it = it.slice(e + 1)), ec(Fl, Ot), i;
3063
+ throw it !== null && (it = it.slice(e + 1)), ec(Hl, Ot), i;
3064
3064
  } finally {
3065
3065
  O = t, vo = !1;
3066
3066
  }
3067
3067
  }
3068
3068
  return null;
3069
3069
  }
3070
- var dn = [], gn = 0, hi = null, Ci = 0, Xe = [], Ye = 0, Tt = null, ot = 1, lt = "";
3070
+ var dn = [], gn = 0, hi = null, Ci = 0, Xe = [], Ye = 0, Dt = null, ot = 1, lt = "";
3071
3071
  function Vt(e, t) {
3072
3072
  dn[gn++] = Ci, dn[gn++] = hi, hi = e, Ci = t;
3073
3073
  }
3074
3074
  function Nc(e, t, n) {
3075
- Xe[Ye++] = ot, Xe[Ye++] = lt, Xe[Ye++] = Tt, Tt = e;
3075
+ Xe[Ye++] = ot, Xe[Ye++] = lt, Xe[Ye++] = Dt, Dt = e;
3076
3076
  var r = ot;
3077
3077
  e = lt;
3078
- var i = 32 - He(r) - 1;
3078
+ var i = 32 - Fe(r) - 1;
3079
3079
  r &= ~(1 << i), n += 1;
3080
- var o = 32 - He(t) + i;
3080
+ var o = 32 - Fe(t) + i;
3081
3081
  if (30 < o) {
3082
3082
  var l = i - i % 5;
3083
- o = (r & (1 << l) - 1).toString(32), r >>= l, i -= l, ot = 1 << 32 - He(t) + i | n << i | r, lt = o + e;
3083
+ o = (r & (1 << l) - 1).toString(32), r >>= l, i -= l, ot = 1 << 32 - Fe(t) + i | n << i | r, lt = o + e;
3084
3084
  } else
3085
3085
  ot = 1 << o | n << i | r, lt = e;
3086
3086
  }
@@ -3090,11 +3090,11 @@ function El(e) {
3090
3090
  function Ul(e) {
3091
3091
  for (; e === hi; )
3092
3092
  hi = dn[--gn], dn[gn] = null, Ci = dn[--gn], dn[gn] = null;
3093
- for (; e === Tt; )
3094
- Tt = Xe[--Ye], Xe[Ye] = null, lt = Xe[--Ye], Xe[Ye] = null, ot = Xe[--Ye], Xe[Ye] = null;
3093
+ for (; e === Dt; )
3094
+ Dt = Xe[--Ye], Xe[Ye] = null, lt = Xe[--Ye], Xe[Ye] = null, ot = Xe[--Ye], Xe[Ye] = null;
3095
3095
  }
3096
- var Ze = null, be = null, H = !1, Fe = null;
3097
- function Sc(e, t) {
3096
+ var Ze = null, be = null, F = !1, He = null;
3097
+ function kc(e, t) {
3098
3098
  var n = Ae(5, null, null, 0);
3099
3099
  n.elementType = "DELETED", n.stateNode = t, n.return = e, t = e.deletions, t === null ? (e.deletions = [n], e.flags |= 16) : t.push(n);
3100
3100
  }
@@ -3106,7 +3106,7 @@ function hu(e, t) {
3106
3106
  case 6:
3107
3107
  return t = e.pendingProps === "" || t.nodeType !== 3 ? null : t, t !== null ? (e.stateNode = t, Ze = e, be = null, !0) : !1;
3108
3108
  case 13:
3109
- return t = t.nodeType !== 8 ? null : t, t !== null ? (n = Tt !== null ? { id: ot, overflow: lt } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Ae(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ze = e, be = null, !0) : !1;
3109
+ return t = t.nodeType !== 8 ? null : t, t !== null ? (n = Dt !== null ? { id: ot, overflow: lt } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Ae(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ze = e, be = null, !0) : !1;
3110
3110
  default:
3111
3111
  return !1;
3112
3112
  }
@@ -3115,7 +3115,7 @@ function il(e) {
3115
3115
  return (e.mode & 1) !== 0 && (e.flags & 128) === 0;
3116
3116
  }
3117
3117
  function ol(e) {
3118
- if (H) {
3118
+ if (F) {
3119
3119
  var t = be;
3120
3120
  if (t) {
3121
3121
  var n = t;
@@ -3124,12 +3124,12 @@ function ol(e) {
3124
3124
  throw Error(b(418));
3125
3125
  t = Wt(n.nextSibling);
3126
3126
  var r = Ze;
3127
- t && hu(e, t) ? Sc(r, n) : (e.flags = e.flags & -4097 | 2, H = !1, Ze = e);
3127
+ t && hu(e, t) ? kc(r, n) : (e.flags = e.flags & -4097 | 2, F = !1, Ze = e);
3128
3128
  }
3129
3129
  } else {
3130
3130
  if (il(e))
3131
3131
  throw Error(b(418));
3132
- e.flags = e.flags & -4097 | 2, H = !1, Ze = e;
3132
+ e.flags = e.flags & -4097 | 2, F = !1, Ze = e;
3133
3133
  }
3134
3134
  }
3135
3135
  }
@@ -3141,14 +3141,14 @@ function Cu(e) {
3141
3141
  function jr(e) {
3142
3142
  if (e !== Ze)
3143
3143
  return !1;
3144
- if (!H)
3145
- return Cu(e), H = !0, !1;
3144
+ if (!F)
3145
+ return Cu(e), F = !0, !1;
3146
3146
  var t;
3147
3147
  if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !el(e.type, e.memoizedProps)), t && (t = be)) {
3148
3148
  if (il(e))
3149
- throw kc(), Error(b(418));
3149
+ throw Sc(), Error(b(418));
3150
3150
  for (; t; )
3151
- Sc(e, t), t = Wt(t.nextSibling);
3151
+ kc(e, t), t = Wt(t.nextSibling);
3152
3152
  }
3153
3153
  if (Cu(e), e.tag === 13) {
3154
3154
  if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e)
@@ -3174,15 +3174,15 @@ function jr(e) {
3174
3174
  be = Ze ? Wt(e.stateNode.nextSibling) : null;
3175
3175
  return !0;
3176
3176
  }
3177
- function kc() {
3177
+ function Sc() {
3178
3178
  for (var e = be; e; )
3179
3179
  e = Wt(e.nextSibling);
3180
3180
  }
3181
3181
  function Wn() {
3182
- be = Ze = null, H = !1;
3182
+ be = Ze = null, F = !1;
3183
3183
  }
3184
3184
  function Pl(e) {
3185
- Fe === null ? Fe = [e] : Fe.push(e);
3185
+ He === null ? He = [e] : He.push(e);
3186
3186
  }
3187
3187
  var ap = gt.ReactCurrentBatchConfig;
3188
3188
  function Ve(e, t) {
@@ -3200,7 +3200,7 @@ function $l() {
3200
3200
  }
3201
3201
  function ql(e) {
3202
3202
  var t = Ii.current;
3203
- F(Ii), e._currentValue = t;
3203
+ H(Ii), e._currentValue = t;
3204
3204
  }
3205
3205
  function ll(e, t, n) {
3206
3206
  for (; e !== null; ) {
@@ -3213,7 +3213,7 @@ function ll(e, t, n) {
3213
3213
  function yn(e, t) {
3214
3214
  vi = e, _l = fn = null, e = e.dependencies, e !== null && e.firstContext !== null && (e.lanes & t && (pe = !0), e.firstContext = null);
3215
3215
  }
3216
- function Se(e) {
3216
+ function ke(e) {
3217
3217
  var t = e._currentValue;
3218
3218
  if (_l !== e)
3219
3219
  if (e = { context: e, memoizedValue: t, next: null }, fn === null) {
@@ -3224,9 +3224,9 @@ function Se(e) {
3224
3224
  fn = fn.next = e;
3225
3225
  return t;
3226
3226
  }
3227
- var Ht = null;
3227
+ var Ft = null;
3228
3228
  function ea(e) {
3229
- Ht === null ? Ht = [e] : Ht.push(e);
3229
+ Ft === null ? Ft = [e] : Ft.push(e);
3230
3230
  }
3231
3231
  function Rc(e, t, n, r) {
3232
3232
  var i = t.interleaved;
@@ -3262,7 +3262,7 @@ function Lt(e, t, n) {
3262
3262
  function _r(e, t, n) {
3263
3263
  if (t = t.updateQueue, t !== null && (t = t.shared, (n & 4194240) !== 0)) {
3264
3264
  var r = t.lanes;
3265
- r &= e.pendingLanes, n |= r, t.lanes = n, Hl(e, n);
3265
+ r &= e.pendingLanes, n |= r, t.lanes = n, Fl(e, n);
3266
3266
  }
3267
3267
  }
3268
3268
  function Iu(e, t) {
@@ -3362,7 +3362,7 @@ var Oc = new Rs.Component().refs;
3362
3362
  function al(e, t, n, r) {
3363
3363
  t = e.memoizedState, n = n(r, t), n = n == null ? t : x({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
3364
3364
  }
3365
- var Fi = { isMounted: function(e) {
3365
+ var Hi = { isMounted: function(e) {
3366
3366
  return (e = e._reactInternals) ? Pt(e) === e : !1;
3367
3367
  }, enqueueSetState: function(e, t, n) {
3368
3368
  e = e._reactInternals;
@@ -3381,17 +3381,17 @@ function yu(e, t, n, r, i, o, l) {
3381
3381
  return e = e.stateNode, typeof e.shouldComponentUpdate == "function" ? e.shouldComponentUpdate(r, o, l) : t.prototype && t.prototype.isPureReactComponent ? !cr(n, r) || !cr(i, o) : !0;
3382
3382
  }
3383
3383
  function Kc(e, t, n) {
3384
- var r = !1, i = St, o = t.contextType;
3385
- return typeof o == "object" && o !== null ? o = Se(o) : (i = he(t) ? Jt : ae.current, r = t.contextTypes, o = (r = r != null) ? Zn(e, i) : St), t = new t(n, o), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Fi, e.stateNode = t, t._reactInternals = e, r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = o), t;
3384
+ var r = !1, i = kt, o = t.contextType;
3385
+ return typeof o == "object" && o !== null ? o = ke(o) : (i = he(t) ? Tt : ae.current, r = t.contextTypes, o = (r = r != null) ? Zn(e, i) : kt), t = new t(n, o), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Hi, e.stateNode = t, t._reactInternals = e, r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = o), t;
3386
3386
  }
3387
3387
  function bu(e, t, n, r) {
3388
- e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, r), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && Fi.enqueueReplaceState(t, t.state, null);
3388
+ e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, r), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && Hi.enqueueReplaceState(t, t.state, null);
3389
3389
  }
3390
3390
  function ul(e, t, n, r) {
3391
3391
  var i = e.stateNode;
3392
3392
  i.props = n, i.state = e.memoizedState, i.refs = Oc, ta(e);
3393
3393
  var o = t.contextType;
3394
- typeof o == "object" && o !== null ? i.context = Se(o) : (o = he(t) ? Jt : ae.current, i.context = Zn(e, o)), i.state = e.memoizedState, o = t.getDerivedStateFromProps, typeof o == "function" && (al(e, t, o, n), i.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof i.getSnapshotBeforeUpdate == "function" || typeof i.UNSAFE_componentWillMount != "function" && typeof i.componentWillMount != "function" || (t = i.state, typeof i.componentWillMount == "function" && i.componentWillMount(), typeof i.UNSAFE_componentWillMount == "function" && i.UNSAFE_componentWillMount(), t !== i.state && Fi.enqueueReplaceState(i, i.state, null), yi(e, n, i, r), i.state = e.memoizedState), typeof i.componentDidMount == "function" && (e.flags |= 4194308);
3394
+ typeof o == "object" && o !== null ? i.context = ke(o) : (o = he(t) ? Tt : ae.current, i.context = Zn(e, o)), i.state = e.memoizedState, o = t.getDerivedStateFromProps, typeof o == "function" && (al(e, t, o, n), i.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof i.getSnapshotBeforeUpdate == "function" || typeof i.UNSAFE_componentWillMount != "function" && typeof i.componentWillMount != "function" || (t = i.state, typeof i.componentWillMount == "function" && i.componentWillMount(), typeof i.UNSAFE_componentWillMount == "function" && i.UNSAFE_componentWillMount(), t !== i.state && Hi.enqueueReplaceState(i, i.state, null), yi(e, n, i, r), i.state = e.memoizedState), typeof i.componentDidMount == "function" && (e.flags |= 4194308);
3395
3395
  }
3396
3396
  function Vn(e, t, n) {
3397
3397
  if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
@@ -3416,7 +3416,7 @@ function Vn(e, t, n) {
3416
3416
  }
3417
3417
  return e;
3418
3418
  }
3419
- function Fr(e, t) {
3419
+ function Hr(e, t) {
3420
3420
  throw e = Object.prototype.toString.call(t), Error(b(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
3421
3421
  }
3422
3422
  function wu(e) {
@@ -3477,9 +3477,9 @@ function Vc(e) {
3477
3477
  var I = s._init;
3478
3478
  return g(d, I(s._payload), m);
3479
3479
  }
3480
- if (Jn(s) || kn(s))
3480
+ if (Tn(s) || Sn(s))
3481
3481
  return s = xt(s, d.mode, m, null), s.return = d, s;
3482
- Fr(d, s);
3482
+ Hr(d, s);
3483
3483
  }
3484
3484
  return null;
3485
3485
  }
@@ -3501,9 +3501,9 @@ function Vc(e) {
3501
3501
  I
3502
3502
  );
3503
3503
  }
3504
- if (Jn(m) || kn(m))
3504
+ if (Tn(m) || Sn(m))
3505
3505
  return y !== null ? null : p(d, s, m, I, null);
3506
- Fr(d, m);
3506
+ Hr(d, m);
3507
3507
  }
3508
3508
  return null;
3509
3509
  }
@@ -3520,65 +3520,65 @@ function Vc(e) {
3520
3520
  var Z = I._init;
3521
3521
  return h(d, s, m, Z(I._payload), y);
3522
3522
  }
3523
- if (Jn(I) || kn(I))
3523
+ if (Tn(I) || Sn(I))
3524
3524
  return d = d.get(m) || null, p(s, d, I, y, null);
3525
- Fr(s, I);
3525
+ Hr(s, I);
3526
3526
  }
3527
3527
  return null;
3528
3528
  }
3529
3529
  function C(d, s, m, I) {
3530
- for (var y = null, Z = null, W = s, L = s = 0, S = null; W !== null && L < m.length; L++) {
3531
- W.index > L ? (S = W, W = null) : S = W.sibling;
3530
+ for (var y = null, Z = null, W = s, L = s = 0, k = null; W !== null && L < m.length; L++) {
3531
+ W.index > L ? (k = W, W = null) : k = W.sibling;
3532
3532
  var Y = f(d, W, m[L], I);
3533
3533
  if (Y === null) {
3534
- W === null && (W = S);
3534
+ W === null && (W = k);
3535
3535
  break;
3536
3536
  }
3537
- e && W && Y.alternate === null && t(d, W), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y, W = S;
3537
+ e && W && Y.alternate === null && t(d, W), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y, W = k;
3538
3538
  }
3539
3539
  if (L === m.length)
3540
- return n(d, W), H && Vt(d, L), y;
3540
+ return n(d, W), F && Vt(d, L), y;
3541
3541
  if (W === null) {
3542
3542
  for (; L < m.length; L++)
3543
3543
  W = g(d, m[L], I), W !== null && (s = o(W, s, L), Z === null ? y = W : Z.sibling = W, Z = W);
3544
- return H && Vt(d, L), y;
3544
+ return F && Vt(d, L), y;
3545
3545
  }
3546
3546
  for (W = r(d, W); L < m.length; L++)
3547
- S = h(W, d, L, m[L], I), S !== null && (e && S.alternate !== null && W.delete(S.key === null ? L : S.key), s = o(S, s, L), Z === null ? y = S : Z.sibling = S, Z = S);
3547
+ k = h(W, d, L, m[L], I), k !== null && (e && k.alternate !== null && W.delete(k.key === null ? L : k.key), s = o(k, s, L), Z === null ? y = k : Z.sibling = k, Z = k);
3548
3548
  return e && W.forEach(function(_) {
3549
3549
  return t(d, _);
3550
- }), H && Vt(d, L), y;
3550
+ }), F && Vt(d, L), y;
3551
3551
  }
3552
3552
  function v(d, s, m, I) {
3553
- var y = kn(m);
3553
+ var y = Sn(m);
3554
3554
  if (typeof y != "function")
3555
3555
  throw Error(b(150));
3556
3556
  if (m = y.call(m), m == null)
3557
3557
  throw Error(b(151));
3558
- for (var Z = y = null, W = s, L = s = 0, S = null, Y = m.next(); W !== null && !Y.done; L++, Y = m.next()) {
3559
- W.index > L ? (S = W, W = null) : S = W.sibling;
3558
+ for (var Z = y = null, W = s, L = s = 0, k = null, Y = m.next(); W !== null && !Y.done; L++, Y = m.next()) {
3559
+ W.index > L ? (k = W, W = null) : k = W.sibling;
3560
3560
  var _ = f(d, W, Y.value, I);
3561
3561
  if (_ === null) {
3562
- W === null && (W = S);
3562
+ W === null && (W = k);
3563
3563
  break;
3564
3564
  }
3565
- e && W && _.alternate === null && t(d, W), s = o(_, s, L), Z === null ? y = _ : Z.sibling = _, Z = _, W = S;
3565
+ e && W && _.alternate === null && t(d, W), s = o(_, s, L), Z === null ? y = _ : Z.sibling = _, Z = _, W = k;
3566
3566
  }
3567
3567
  if (Y.done)
3568
3568
  return n(
3569
3569
  d,
3570
3570
  W
3571
- ), H && Vt(d, L), y;
3571
+ ), F && Vt(d, L), y;
3572
3572
  if (W === null) {
3573
3573
  for (; !Y.done; L++, Y = m.next())
3574
3574
  Y = g(d, Y.value, I), Y !== null && (s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3575
- return H && Vt(d, L), y;
3575
+ return F && Vt(d, L), y;
3576
3576
  }
3577
3577
  for (W = r(d, W); !Y.done; L++, Y = m.next())
3578
3578
  Y = h(W, d, L, Y.value, I), Y !== null && (e && Y.alternate !== null && W.delete(Y.key === null ? L : Y.key), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3579
3579
  return e && W.forEach(function(xe) {
3580
3580
  return t(d, xe);
3581
- }), H && Vt(d, L), y;
3581
+ }), F && Vt(d, L), y;
3582
3582
  }
3583
3583
  function w(d, s, m, I) {
3584
3584
  if (typeof m == "object" && m !== null && m.type === on && m.key === null && (m = m.props.children), typeof m == "object" && m !== null) {
@@ -3626,11 +3626,11 @@ function Vc(e) {
3626
3626
  case mt:
3627
3627
  return Z = m._init, w(d, s, Z(m._payload), I);
3628
3628
  }
3629
- if (Jn(m))
3629
+ if (Tn(m))
3630
3630
  return C(d, s, m, I);
3631
- if (kn(m))
3631
+ if (Sn(m))
3632
3632
  return v(d, s, m, I);
3633
- Fr(d, m);
3633
+ Hr(d, m);
3634
3634
  }
3635
3635
  return typeof m == "string" && m !== "" || typeof m == "number" ? (m = "" + m, s !== null && s.tag === 6 ? (n(d, s.sibling), s = i(s, m), s.return = d, d = s) : (n(d, s), s = Go(m, d.mode, I), s.return = d, d = s), l(d)) : n(d, s);
3636
3636
  }
@@ -3646,23 +3646,23 @@ function na(e, t) {
3646
3646
  switch (V(mr, t), V(pr, e), V(Pe, Wr), e = t.nodeType, e) {
3647
3647
  case 9:
3648
3648
  case 11:
3649
- t = (t = t.documentElement) ? t.namespaceURI : Ho(null, "");
3649
+ t = (t = t.documentElement) ? t.namespaceURI : Fo(null, "");
3650
3650
  break;
3651
3651
  default:
3652
- e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = Ho(t, e);
3652
+ e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = Fo(t, e);
3653
3653
  }
3654
- F(Pe), V(Pe, t);
3654
+ H(Pe), V(Pe, t);
3655
3655
  }
3656
3656
  function Gn() {
3657
- F(Pe), F(pr), F(mr);
3657
+ H(Pe), H(pr), H(mr);
3658
3658
  }
3659
- function Fc(e) {
3659
+ function Hc(e) {
3660
3660
  Mt(mr.current);
3661
- var t = Mt(Pe.current), n = Ho(t, e.type);
3661
+ var t = Mt(Pe.current), n = Fo(t, e.type);
3662
3662
  t !== n && (V(pr, e), V(Pe, n));
3663
3663
  }
3664
3664
  function ra(e) {
3665
- pr.current === e && (F(Pe), F(pr));
3665
+ pr.current === e && (H(Pe), H(pr));
3666
3666
  }
3667
3667
  var M = Bt(0);
3668
3668
  function bi(e) {
@@ -3695,7 +3695,7 @@ function ia() {
3695
3695
  yo[e]._workInProgressVersionPrimary = null;
3696
3696
  yo.length = 0;
3697
3697
  }
3698
- var $r = gt.ReactCurrentDispatcher, bo = gt.ReactCurrentBatchConfig, Dt = 0, z = null, U = null, $ = null, wi = !1, $n = !1, hr = 0, up = 0;
3698
+ var $r = gt.ReactCurrentDispatcher, bo = gt.ReactCurrentBatchConfig, Jt = 0, z = null, U = null, $ = null, wi = !1, $n = !1, hr = 0, up = 0;
3699
3699
  function re() {
3700
3700
  throw Error(b(321));
3701
3701
  }
@@ -3708,7 +3708,7 @@ function oa(e, t) {
3708
3708
  return !0;
3709
3709
  }
3710
3710
  function la(e, t, n, r, i, o) {
3711
- if (Dt = o, z = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, $r.current = e === null || e.memoizedState === null ? gp : fp, e = n(r, i), $n) {
3711
+ if (Jt = o, z = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, $r.current = e === null || e.memoizedState === null ? gp : fp, e = n(r, i), $n) {
3712
3712
  o = 0;
3713
3713
  do {
3714
3714
  if ($n = !1, hr = 0, 25 <= o)
@@ -3716,7 +3716,7 @@ function la(e, t, n, r, i, o) {
3716
3716
  o += 1, $ = U = null, t.updateQueue = null, $r.current = pp, e = n(r, i);
3717
3717
  } while ($n);
3718
3718
  }
3719
- if ($r.current = Zi, t = U !== null && U.next !== null, Dt = 0, $ = U = z = null, wi = !1, t)
3719
+ if ($r.current = Zi, t = U !== null && U.next !== null, Jt = 0, $ = U = z = null, wi = !1, t)
3720
3720
  throw Error(b(300));
3721
3721
  return e;
3722
3722
  }
@@ -3724,11 +3724,11 @@ function aa() {
3724
3724
  var e = hr !== 0;
3725
3725
  return hr = 0, e;
3726
3726
  }
3727
- function De() {
3727
+ function Je() {
3728
3728
  var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
3729
3729
  return $ === null ? z.memoizedState = $ = e : $ = $.next = e, $;
3730
3730
  }
3731
- function ke() {
3731
+ function Se() {
3732
3732
  if (U === null) {
3733
3733
  var e = z.alternate;
3734
3734
  e = e !== null ? e.memoizedState : null;
@@ -3748,7 +3748,7 @@ function Cr(e, t) {
3748
3748
  return typeof t == "function" ? t(e) : t;
3749
3749
  }
3750
3750
  function wo(e) {
3751
- var t = ke(), n = t.queue;
3751
+ var t = Se(), n = t.queue;
3752
3752
  if (n === null)
3753
3753
  throw Error(b(311));
3754
3754
  n.lastRenderedReducer = e;
@@ -3765,7 +3765,7 @@ function wo(e) {
3765
3765
  var a = l = null, u = null, c = o;
3766
3766
  do {
3767
3767
  var p = c.lane;
3768
- if ((Dt & p) === p)
3768
+ if ((Jt & p) === p)
3769
3769
  u !== null && (u = u.next = { lane: 0, action: c.action, hasEagerState: c.hasEagerState, eagerState: c.eagerState, next: null }), r = c.hasEagerState ? c.eagerState : e(r, c.action);
3770
3770
  else {
3771
3771
  var g = {
@@ -3791,7 +3791,7 @@ function wo(e) {
3791
3791
  return [t.memoizedState, n.dispatch];
3792
3792
  }
3793
3793
  function Zo(e) {
3794
- var t = ke(), n = t.queue;
3794
+ var t = Se(), n = t.queue;
3795
3795
  if (n === null)
3796
3796
  throw Error(b(311));
3797
3797
  n.lastRenderedReducer = e;
@@ -3806,14 +3806,14 @@ function Zo(e) {
3806
3806
  }
3807
3807
  return [o, r];
3808
3808
  }
3809
- function Hc() {
3809
+ function Fc() {
3810
3810
  }
3811
3811
  function Mc(e, t) {
3812
- var n = z, r = ke(), i = t(), o = !ze(r.memoizedState, i);
3813
- if (o && (r.memoizedState = i, pe = !0), r = r.queue, ua(Jc.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || $ !== null && $.memoizedState.tag & 1) {
3812
+ var n = z, r = Se(), i = t(), o = !ze(r.memoizedState, i);
3813
+ if (o && (r.memoizedState = i, pe = !0), r = r.queue, ua(Tc.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || $ !== null && $.memoizedState.tag & 1) {
3814
3814
  if (n.flags |= 2048, Ir(9, xc.bind(null, n, r, i, t), void 0, null), q === null)
3815
3815
  throw Error(b(349));
3816
- Dt & 30 || zc(n, t, i);
3816
+ Jt & 30 || zc(n, t, i);
3817
3817
  }
3818
3818
  return i;
3819
3819
  }
@@ -3821,14 +3821,14 @@ function zc(e, t, n) {
3821
3821
  e.flags |= 16384, e = { getSnapshot: t, value: n }, t = z.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, z.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
3822
3822
  }
3823
3823
  function xc(e, t, n, r) {
3824
- t.value = n, t.getSnapshot = r, Tc(t) && Dc(e);
3824
+ t.value = n, t.getSnapshot = r, Dc(t) && Jc(e);
3825
3825
  }
3826
- function Jc(e, t, n) {
3826
+ function Tc(e, t, n) {
3827
3827
  return n(function() {
3828
- Tc(t) && Dc(e);
3828
+ Dc(t) && Jc(e);
3829
3829
  });
3830
3830
  }
3831
- function Tc(e) {
3831
+ function Dc(e) {
3832
3832
  var t = e.getSnapshot;
3833
3833
  e = e.value;
3834
3834
  try {
@@ -3838,26 +3838,26 @@ function Tc(e) {
3838
3838
  return !0;
3839
3839
  }
3840
3840
  }
3841
- function Dc(e) {
3841
+ function Jc(e) {
3842
3842
  var t = ct(e, 1);
3843
3843
  t !== null && Me(t, e, 1, -1);
3844
3844
  }
3845
3845
  function Zu(e) {
3846
- var t = De();
3846
+ var t = Je();
3847
3847
  return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Cr, lastRenderedState: e }, t.queue = e, e = e.dispatch = dp.bind(null, z, e), [t.memoizedState, e];
3848
3848
  }
3849
3849
  function Ir(e, t, n, r) {
3850
3850
  return e = { tag: e, create: t, destroy: n, deps: r, next: null }, t = z.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, z.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e)), e;
3851
3851
  }
3852
3852
  function Qc() {
3853
- return ke().memoizedState;
3853
+ return Se().memoizedState;
3854
3854
  }
3855
3855
  function qr(e, t, n, r) {
3856
- var i = De();
3856
+ var i = Je();
3857
3857
  z.flags |= e, i.memoizedState = Ir(1 | t, n, void 0, r === void 0 ? null : r);
3858
3858
  }
3859
- function Hi(e, t, n, r) {
3860
- var i = ke();
3859
+ function Fi(e, t, n, r) {
3860
+ var i = Se();
3861
3861
  r = r === void 0 ? null : r;
3862
3862
  var o = void 0;
3863
3863
  if (U !== null) {
@@ -3873,13 +3873,13 @@ function Wu(e, t) {
3873
3873
  return qr(8390656, 8, e, t);
3874
3874
  }
3875
3875
  function ua(e, t) {
3876
- return Hi(2048, 8, e, t);
3876
+ return Fi(2048, 8, e, t);
3877
3877
  }
3878
3878
  function Ec(e, t) {
3879
- return Hi(4, 2, e, t);
3879
+ return Fi(4, 2, e, t);
3880
3880
  }
3881
3881
  function Uc(e, t) {
3882
- return Hi(4, 4, e, t);
3882
+ return Fi(4, 4, e, t);
3883
3883
  }
3884
3884
  function Pc(e, t) {
3885
3885
  if (typeof t == "function")
@@ -3892,24 +3892,24 @@ function Pc(e, t) {
3892
3892
  };
3893
3893
  }
3894
3894
  function _c(e, t, n) {
3895
- return n = n != null ? n.concat([e]) : null, Hi(4, 4, Pc.bind(null, t, e), n);
3895
+ return n = n != null ? n.concat([e]) : null, Fi(4, 4, Pc.bind(null, t, e), n);
3896
3896
  }
3897
3897
  function sa() {
3898
3898
  }
3899
3899
  function $c(e, t) {
3900
- var n = ke();
3900
+ var n = Se();
3901
3901
  t = t === void 0 ? null : t;
3902
3902
  var r = n.memoizedState;
3903
3903
  return r !== null && t !== null && oa(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e);
3904
3904
  }
3905
3905
  function qc(e, t) {
3906
- var n = ke();
3906
+ var n = Se();
3907
3907
  t = t === void 0 ? null : t;
3908
3908
  var r = n.memoizedState;
3909
3909
  return r !== null && t !== null && oa(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e);
3910
3910
  }
3911
3911
  function ed(e, t, n) {
3912
- return Dt & 21 ? (ze(n, t) || (n = rc(), z.lanes |= n, Qt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, pe = !0), e.memoizedState = n);
3912
+ return Jt & 21 ? (ze(n, t) || (n = rc(), z.lanes |= n, Qt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, pe = !0), e.memoizedState = n);
3913
3913
  }
3914
3914
  function sp(e, t) {
3915
3915
  var n = O;
@@ -3923,7 +3923,7 @@ function sp(e, t) {
3923
3923
  }
3924
3924
  }
3925
3925
  function td() {
3926
- return ke().memoizedState;
3926
+ return Se().memoizedState;
3927
3927
  }
3928
3928
  function cp(e, t, n) {
3929
3929
  var r = Xt(e);
@@ -3966,12 +3966,12 @@ function rd(e, t) {
3966
3966
  function id(e, t, n) {
3967
3967
  if (n & 4194240) {
3968
3968
  var r = t.lanes;
3969
- r &= e.pendingLanes, n |= r, t.lanes = n, Hl(e, n);
3969
+ r &= e.pendingLanes, n |= r, t.lanes = n, Fl(e, n);
3970
3970
  }
3971
3971
  }
3972
- var Zi = { readContext: Se, useCallback: re, useContext: re, useEffect: re, useImperativeHandle: re, useInsertionEffect: re, useLayoutEffect: re, useMemo: re, useReducer: re, useRef: re, useState: re, useDebugValue: re, useDeferredValue: re, useTransition: re, useMutableSource: re, useSyncExternalStore: re, useId: re, unstable_isNewReconciler: !1 }, gp = { readContext: Se, useCallback: function(e, t) {
3973
- return De().memoizedState = [e, t === void 0 ? null : t], e;
3974
- }, useContext: Se, useEffect: Wu, useImperativeHandle: function(e, t, n) {
3972
+ var Zi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useImperativeHandle: re, useInsertionEffect: re, useLayoutEffect: re, useMemo: re, useReducer: re, useRef: re, useState: re, useDebugValue: re, useDeferredValue: re, useTransition: re, useMutableSource: re, useSyncExternalStore: re, useId: re, unstable_isNewReconciler: !1 }, gp = { readContext: ke, useCallback: function(e, t) {
3973
+ return Je().memoizedState = [e, t === void 0 ? null : t], e;
3974
+ }, useContext: ke, useEffect: Wu, useImperativeHandle: function(e, t, n) {
3975
3975
  return n = n != null ? n.concat([e]) : null, qr(
3976
3976
  4194308,
3977
3977
  4,
@@ -3983,51 +3983,51 @@ var Zi = { readContext: Se, useCallback: re, useContext: re, useEffect: re, useI
3983
3983
  }, useInsertionEffect: function(e, t) {
3984
3984
  return qr(4, 2, e, t);
3985
3985
  }, useMemo: function(e, t) {
3986
- var n = De();
3986
+ var n = Je();
3987
3987
  return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
3988
3988
  }, useReducer: function(e, t, n) {
3989
- var r = De();
3989
+ var r = Je();
3990
3990
  return t = n !== void 0 ? n(t) : t, r.memoizedState = r.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, r.queue = e, e = e.dispatch = cp.bind(null, z, e), [r.memoizedState, e];
3991
3991
  }, useRef: function(e) {
3992
- var t = De();
3992
+ var t = Je();
3993
3993
  return e = { current: e }, t.memoizedState = e;
3994
3994
  }, useState: Zu, useDebugValue: sa, useDeferredValue: function(e) {
3995
- return De().memoizedState = e;
3995
+ return Je().memoizedState = e;
3996
3996
  }, useTransition: function() {
3997
3997
  var e = Zu(!1), t = e[0];
3998
- return e = sp.bind(null, e[1]), De().memoizedState = e, [t, e];
3998
+ return e = sp.bind(null, e[1]), Je().memoizedState = e, [t, e];
3999
3999
  }, useMutableSource: function() {
4000
4000
  }, useSyncExternalStore: function(e, t, n) {
4001
- var r = z, i = De();
4002
- if (H) {
4001
+ var r = z, i = Je();
4002
+ if (F) {
4003
4003
  if (n === void 0)
4004
4004
  throw Error(b(407));
4005
4005
  n = n();
4006
4006
  } else {
4007
4007
  if (n = t(), q === null)
4008
4008
  throw Error(b(349));
4009
- Dt & 30 || zc(r, t, n);
4009
+ Jt & 30 || zc(r, t, n);
4010
4010
  }
4011
4011
  i.memoizedState = n;
4012
4012
  var o = { value: n, getSnapshot: t };
4013
- return i.queue = o, Wu(Jc.bind(
4013
+ return i.queue = o, Wu(Tc.bind(
4014
4014
  null,
4015
4015
  r,
4016
4016
  o,
4017
4017
  e
4018
4018
  ), [e]), r.flags |= 2048, Ir(9, xc.bind(null, r, o, n, t), void 0, null), n;
4019
4019
  }, useId: function() {
4020
- var e = De(), t = q.identifierPrefix;
4021
- if (H) {
4020
+ var e = Je(), t = q.identifierPrefix;
4021
+ if (F) {
4022
4022
  var n = lt, r = ot;
4023
- n = (r & ~(1 << 32 - He(r) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = hr++, 0 < n && (t += "H" + n.toString(32)), t += ":";
4023
+ n = (r & ~(1 << 32 - Fe(r) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = hr++, 0 < n && (t += "H" + n.toString(32)), t += ":";
4024
4024
  } else
4025
4025
  n = up++, t = ":" + t + "r" + n.toString(32) + ":";
4026
4026
  return e.memoizedState = t;
4027
4027
  }, unstable_isNewReconciler: !1 }, fp = {
4028
- readContext: Se,
4028
+ readContext: ke,
4029
4029
  useCallback: $c,
4030
- useContext: Se,
4030
+ useContext: ke,
4031
4031
  useEffect: ua,
4032
4032
  useImperativeHandle: _c,
4033
4033
  useInsertionEffect: Ec,
@@ -4040,26 +4040,26 @@ var Zi = { readContext: Se, useCallback: re, useContext: re, useEffect: re, useI
4040
4040
  },
4041
4041
  useDebugValue: sa,
4042
4042
  useDeferredValue: function(e) {
4043
- var t = ke();
4043
+ var t = Se();
4044
4044
  return ed(t, U.memoizedState, e);
4045
4045
  },
4046
4046
  useTransition: function() {
4047
- var e = wo(Cr)[0], t = ke().memoizedState;
4047
+ var e = wo(Cr)[0], t = Se().memoizedState;
4048
4048
  return [e, t];
4049
4049
  },
4050
- useMutableSource: Hc,
4050
+ useMutableSource: Fc,
4051
4051
  useSyncExternalStore: Mc,
4052
4052
  useId: td,
4053
4053
  unstable_isNewReconciler: !1
4054
- }, pp = { readContext: Se, useCallback: $c, useContext: Se, useEffect: ua, useImperativeHandle: _c, useInsertionEffect: Ec, useLayoutEffect: Uc, useMemo: qc, useReducer: Zo, useRef: Qc, useState: function() {
4054
+ }, pp = { readContext: ke, useCallback: $c, useContext: ke, useEffect: ua, useImperativeHandle: _c, useInsertionEffect: Ec, useLayoutEffect: Uc, useMemo: qc, useReducer: Zo, useRef: Qc, useState: function() {
4055
4055
  return Zo(Cr);
4056
4056
  }, useDebugValue: sa, useDeferredValue: function(e) {
4057
- var t = ke();
4057
+ var t = Se();
4058
4058
  return U === null ? t.memoizedState = e : ed(t, U.memoizedState, e);
4059
4059
  }, useTransition: function() {
4060
- var e = Zo(Cr)[0], t = ke().memoizedState;
4060
+ var e = Zo(Cr)[0], t = Se().memoizedState;
4061
4061
  return [e, t];
4062
- }, useMutableSource: Hc, useSyncExternalStore: Mc, useId: td, unstable_isNewReconciler: !1 };
4062
+ }, useMutableSource: Fc, useSyncExternalStore: Mc, useId: td, unstable_isNewReconciler: !1 };
4063
4063
  function Xn(e, t) {
4064
4064
  try {
4065
4065
  var n = "", r = t;
@@ -4141,7 +4141,7 @@ function se(e, t, n, r) {
4141
4141
  function Yu(e, t, n, r, i) {
4142
4142
  n = n.render;
4143
4143
  var o = t.ref;
4144
- return yn(t, i), r = la(e, t, n, r, o, i), n = aa(), e !== null && !pe ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, dt(e, t, i)) : (H && n && El(t), t.flags |= 1, se(e, t, r, i), t.child);
4144
+ return yn(t, i), r = la(e, t, n, r, o, i), n = aa(), e !== null && !pe ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, dt(e, t, i)) : (F && n && El(t), t.flags |= 1, se(e, t, r, i), t.child);
4145
4145
  }
4146
4146
  function Au(e, t, n, r, i) {
4147
4147
  if (e === null) {
@@ -4185,8 +4185,8 @@ function sd(e, t) {
4185
4185
  (e === null && n !== null || e !== null && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152);
4186
4186
  }
4187
4187
  function cl(e, t, n, r, i) {
4188
- var o = he(n) ? Jt : ae.current;
4189
- return o = Zn(t, o), yn(t, i), n = la(e, t, n, r, o, i), r = aa(), e !== null && !pe ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, dt(e, t, i)) : (H && r && El(t), t.flags |= 1, se(e, t, n, i), t.child);
4188
+ var o = he(n) ? Tt : ae.current;
4189
+ return o = Zn(t, o), yn(t, i), n = la(e, t, n, r, o, i), r = aa(), e !== null && !pe ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~i, dt(e, t, i)) : (F && r && El(t), t.flags |= 1, se(e, t, n, i), t.child);
4190
4190
  }
4191
4191
  function Nu(e, t, n, r, i) {
4192
4192
  if (he(n)) {
@@ -4200,13 +4200,13 @@ function Nu(e, t, n, r, i) {
4200
4200
  var l = t.stateNode, a = t.memoizedProps;
4201
4201
  l.props = a;
4202
4202
  var u = l.context, c = n.contextType;
4203
- typeof c == "object" && c !== null ? c = Se(c) : (c = he(n) ? Jt : ae.current, c = Zn(t, c));
4203
+ typeof c == "object" && c !== null ? c = ke(c) : (c = he(n) ? Tt : ae.current, c = Zn(t, c));
4204
4204
  var p = n.getDerivedStateFromProps, g = typeof p == "function" || typeof l.getSnapshotBeforeUpdate == "function";
4205
4205
  g || typeof l.UNSAFE_componentWillReceiveProps != "function" && typeof l.componentWillReceiveProps != "function" || (a !== r || u !== c) && bu(t, l, r, c), ht = !1;
4206
4206
  var f = t.memoizedState;
4207
4207
  l.state = f, yi(t, r, l, i), u = t.memoizedState, a !== r || f !== u || me.current || ht ? (typeof p == "function" && (al(t, n, p, r), u = t.memoizedState), (a = ht || yu(t, n, a, r, f, u, c)) ? (g || typeof l.UNSAFE_componentWillMount != "function" && typeof l.componentWillMount != "function" || (typeof l.componentWillMount == "function" && l.componentWillMount(), typeof l.UNSAFE_componentWillMount == "function" && l.UNSAFE_componentWillMount()), typeof l.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof l.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = r, t.memoizedState = u), l.props = r, l.state = u, l.context = c, r = a) : (typeof l.componentDidMount == "function" && (t.flags |= 4194308), r = !1);
4208
4208
  } else {
4209
- l = t.stateNode, Bc(e, t), a = t.memoizedProps, c = t.type === t.elementType ? a : Ve(t.type, a), l.props = c, g = t.pendingProps, f = l.context, u = n.contextType, typeof u == "object" && u !== null ? u = Se(u) : (u = he(n) ? Jt : ae.current, u = Zn(t, u));
4209
+ l = t.stateNode, Bc(e, t), a = t.memoizedProps, c = t.type === t.elementType ? a : Ve(t.type, a), l.props = c, g = t.pendingProps, f = l.context, u = n.contextType, typeof u == "object" && u !== null ? u = ke(u) : (u = he(n) ? Tt : ae.current, u = Zn(t, u));
4210
4210
  var h = n.getDerivedStateFromProps;
4211
4211
  (p = typeof h == "function" || typeof l.getSnapshotBeforeUpdate == "function") || typeof l.UNSAFE_componentWillReceiveProps != "function" && typeof l.componentWillReceiveProps != "function" || (a !== g || f !== u) && bu(t, l, r, u), ht = !1, f = t.memoizedState, l.state = f, yi(t, r, l, i);
4212
4212
  var C = t.memoizedState;
@@ -4227,7 +4227,7 @@ function cd(e) {
4227
4227
  var t = e.stateNode;
4228
4228
  t.pendingContext ? pu(e, t.pendingContext, t.pendingContext !== t.context) : t.context && pu(e, t.context, !1), na(e, t.containerInfo);
4229
4229
  }
4230
- function Su(e, t, n, r, i) {
4230
+ function ku(e, t, n, r, i) {
4231
4231
  return Wn(), Pl(i), t.flags |= 256, se(e, t, n, r), t.child;
4232
4232
  }
4233
4233
  var gl = { dehydrated: null, treeContext: null, retryLane: 0 };
@@ -4250,18 +4250,18 @@ function dd(e, t, n) {
4250
4250
  function ca(e, t) {
4251
4251
  return t = xi({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
4252
4252
  }
4253
- function Hr(e, t, n, r) {
4253
+ function Fr(e, t, n, r) {
4254
4254
  return r !== null && Pl(r), Ln(t, e.child, null, n), e = ca(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4255
4255
  }
4256
4256
  function Cp(e, t, n, r, i, o, l) {
4257
4257
  if (n)
4258
- return t.flags & 256 ? (t.flags &= -257, r = Wo(Error(b(422))), Hr(e, t, l, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = xi({ mode: "visible", children: r.children }, i, 0, null), o = xt(o, i, l, null), o.flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, t.mode & 1 && Ln(t, e.child, null, l), t.child.memoizedState = fl(l), t.memoizedState = gl, o);
4258
+ return t.flags & 256 ? (t.flags &= -257, r = Wo(Error(b(422))), Fr(e, t, l, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = xi({ mode: "visible", children: r.children }, i, 0, null), o = xt(o, i, l, null), o.flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, t.mode & 1 && Ln(t, e.child, null, l), t.child.memoizedState = fl(l), t.memoizedState = gl, o);
4259
4259
  if (!(t.mode & 1))
4260
- return Hr(e, t, l, null);
4260
+ return Fr(e, t, l, null);
4261
4261
  if (i.data === "$!") {
4262
4262
  if (r = i.nextSibling && i.nextSibling.dataset, r)
4263
4263
  var a = r.dgst;
4264
- return r = a, o = Error(b(419)), r = Wo(o, r, void 0), Hr(e, t, l, r);
4264
+ return r = a, o = Error(b(419)), r = Wo(o, r, void 0), Fr(e, t, l, r);
4265
4265
  }
4266
4266
  if (a = (l & e.childLanes) !== 0, pe || a) {
4267
4267
  if (r = q, r !== null) {
@@ -4303,11 +4303,11 @@ function Cp(e, t, n, r, i, o, l) {
4303
4303
  }
4304
4304
  i = i & (r.suspendedLanes | l) ? 0 : i, i !== 0 && i !== o.retryLane && (o.retryLane = i, ct(e, i), Me(r, e, i, -1));
4305
4305
  }
4306
- return ha(), r = Wo(Error(b(421))), Hr(e, t, l, r);
4306
+ return ha(), r = Wo(Error(b(421))), Fr(e, t, l, r);
4307
4307
  }
4308
- return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Np.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, H = !0, Fe = null, e !== null && (Xe[Ye++] = ot, Xe[Ye++] = lt, Xe[Ye++] = Tt, ot = e.id, lt = e.overflow, Tt = t), t = ca(t, r.children), t.flags |= 4096, t);
4308
+ return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Np.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, F = !0, He = null, e !== null && (Xe[Ye++] = ot, Xe[Ye++] = lt, Xe[Ye++] = Dt, ot = e.id, lt = e.overflow, Dt = t), t = ca(t, r.children), t.flags |= 4096, t);
4309
4309
  }
4310
- function ku(e, t, n) {
4310
+ function Su(e, t, n) {
4311
4311
  e.lanes |= t;
4312
4312
  var r = e.alternate;
4313
4313
  r !== null && (r.lanes |= t), ll(e.return, t, n);
@@ -4325,9 +4325,9 @@ function gd(e, t, n) {
4325
4325
  e:
4326
4326
  for (e = t.child; e !== null; ) {
4327
4327
  if (e.tag === 13)
4328
- e.memoizedState !== null && ku(e, n, t);
4328
+ e.memoizedState !== null && Su(e, n, t);
4329
4329
  else if (e.tag === 19)
4330
- ku(e, n, t);
4330
+ Su(e, n, t);
4331
4331
  else if (e.child !== null) {
4332
4332
  e.child.return = e, e = e.child;
4333
4333
  continue;
@@ -4391,7 +4391,7 @@ function Ip(e, t, n) {
4391
4391
  cd(t), Wn();
4392
4392
  break;
4393
4393
  case 5:
4394
- Fc(t);
4394
+ Hc(t);
4395
4395
  break;
4396
4396
  case 1:
4397
4397
  he(t.type) && mi(t);
@@ -4457,7 +4457,7 @@ pd = function(e, t, n, r) {
4457
4457
  i = x({}, i, { value: void 0 }), r = x({}, r, { value: void 0 }), o = [];
4458
4458
  break;
4459
4459
  case "textarea":
4460
- i = Fo(e, i), r = Fo(e, r), o = [];
4460
+ i = Ho(e, i), r = Ho(e, r), o = [];
4461
4461
  break;
4462
4462
  default:
4463
4463
  typeof i.onClick != "function" && typeof r.onClick == "function" && (e.onclick = fi);
@@ -4499,7 +4499,7 @@ md = function(e, t, n, r) {
4499
4499
  n !== r && (t.flags |= 4);
4500
4500
  };
4501
4501
  function jn(e, t) {
4502
- if (!H)
4502
+ if (!F)
4503
4503
  switch (e.tailMode) {
4504
4504
  case "hidden":
4505
4505
  t = e.tail;
@@ -4541,7 +4541,7 @@ function vp(e, t, n) {
4541
4541
  case 1:
4542
4542
  return he(t.type) && pi(), ie(t), null;
4543
4543
  case 3:
4544
- return r = t.stateNode, Gn(), F(me), F(ae), ia(), r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null), (e === null || e.child === null) && (jr(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, Fe !== null && (wl(Fe), Fe = null))), pl(e, t), ie(t), null;
4544
+ return r = t.stateNode, Gn(), H(me), H(ae), ia(), r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null), (e === null || e.child === null) && (jr(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, He !== null && (wl(He), He = null))), pl(e, t), ie(t), null;
4545
4545
  case 5:
4546
4546
  ra(t);
4547
4547
  var i = Mt(mr.current);
@@ -4567,8 +4567,8 @@ function vp(e, t, n) {
4567
4567
  break;
4568
4568
  case "video":
4569
4569
  case "audio":
4570
- for (i = 0; i < Dn.length; i++)
4571
- j(Dn[i], r);
4570
+ for (i = 0; i < Jn.length; i++)
4571
+ j(Jn[i], r);
4572
4572
  break;
4573
4573
  case "source":
4574
4574
  j("error", r);
@@ -4608,7 +4608,7 @@ function vp(e, t, n) {
4608
4608
  Ar(r), za(r, o, !0);
4609
4609
  break;
4610
4610
  case "textarea":
4611
- Ar(r), Ja(r);
4611
+ Ar(r), Ta(r);
4612
4612
  break;
4613
4613
  case "select":
4614
4614
  case "option":
@@ -4631,8 +4631,8 @@ function vp(e, t, n) {
4631
4631
  break;
4632
4632
  case "video":
4633
4633
  case "audio":
4634
- for (i = 0; i < Dn.length; i++)
4635
- j(Dn[i], e);
4634
+ for (i = 0; i < Jn.length; i++)
4635
+ j(Jn[i], e);
4636
4636
  i = r;
4637
4637
  break;
4638
4638
  case "source":
@@ -4659,7 +4659,7 @@ function vp(e, t, n) {
4659
4659
  e._wrapperState = { wasMultiple: !!r.multiple }, i = x({}, r, { value: void 0 }), j("invalid", e);
4660
4660
  break;
4661
4661
  case "textarea":
4662
- xa(e, r), i = Fo(e, r), j("invalid", e);
4662
+ xa(e, r), i = Ho(e, r), j("invalid", e);
4663
4663
  break;
4664
4664
  default:
4665
4665
  i = r;
@@ -4668,14 +4668,14 @@ function vp(e, t, n) {
4668
4668
  for (o in a)
4669
4669
  if (a.hasOwnProperty(o)) {
4670
4670
  var u = a[o];
4671
- o === "style" ? Ts(e, u) : o === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && xs(e, u)) : o === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && ir(e, u) : typeof u == "number" && ir(e, "" + u) : o !== "suppressContentEditableWarning" && o !== "suppressHydrationWarning" && o !== "autoFocus" && (rr.hasOwnProperty(o) ? u != null && o === "onScroll" && j("scroll", e) : u != null && Bl(e, o, u, l));
4671
+ o === "style" ? Ds(e, u) : o === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && xs(e, u)) : o === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && ir(e, u) : typeof u == "number" && ir(e, "" + u) : o !== "suppressContentEditableWarning" && o !== "suppressHydrationWarning" && o !== "autoFocus" && (rr.hasOwnProperty(o) ? u != null && o === "onScroll" && j("scroll", e) : u != null && Bl(e, o, u, l));
4672
4672
  }
4673
4673
  switch (n) {
4674
4674
  case "input":
4675
4675
  Ar(e), za(e, r, !1);
4676
4676
  break;
4677
4677
  case "textarea":
4678
- Ar(e), Ja(e);
4678
+ Ar(e), Ta(e);
4679
4679
  break;
4680
4680
  case "option":
4681
4681
  r.value != null && e.setAttribute("value", "" + Nt(r.value));
@@ -4731,9 +4731,9 @@ function vp(e, t, n) {
4731
4731
  }
4732
4732
  return ie(t), null;
4733
4733
  case 13:
4734
- if (F(M), r = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
4735
- if (H && be !== null && t.mode & 1 && !(t.flags & 128))
4736
- kc(), Wn(), t.flags |= 98560, o = !1;
4734
+ if (H(M), r = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
4735
+ if (F && be !== null && t.mode & 1 && !(t.flags & 128))
4736
+ Sc(), Wn(), t.flags |= 98560, o = !1;
4737
4737
  else if (o = jr(t), r !== null && r.dehydrated !== null) {
4738
4738
  if (e === null) {
4739
4739
  if (!o)
@@ -4745,7 +4745,7 @@ function vp(e, t, n) {
4745
4745
  Wn(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
4746
4746
  ie(t), o = !1;
4747
4747
  } else
4748
- Fe !== null && (wl(Fe), Fe = null), o = !0;
4748
+ He !== null && (wl(He), He = null), o = !0;
4749
4749
  if (!o)
4750
4750
  return t.flags & 65536 ? t : null;
4751
4751
  }
@@ -4757,7 +4757,7 @@ function vp(e, t, n) {
4757
4757
  case 17:
4758
4758
  return he(t.type) && pi(), ie(t), null;
4759
4759
  case 19:
4760
- if (F(M), o = t.memoizedState, o === null)
4760
+ if (H(M), o = t.memoizedState, o === null)
4761
4761
  return ie(t), null;
4762
4762
  if (r = (t.flags & 128) !== 0, l = o.rendering, l === null)
4763
4763
  if (r)
@@ -4772,18 +4772,18 @@ function vp(e, t, n) {
4772
4772
  }
4773
4773
  e = e.sibling;
4774
4774
  }
4775
- o.tail !== null && T() > Yn && (t.flags |= 128, r = !0, jn(o, !1), t.lanes = 4194304);
4775
+ o.tail !== null && D() > Yn && (t.flags |= 128, r = !0, jn(o, !1), t.lanes = 4194304);
4776
4776
  }
4777
4777
  else {
4778
4778
  if (!r)
4779
4779
  if (e = bi(l), e !== null) {
4780
- if (t.flags |= 128, r = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), jn(o, !0), o.tail === null && o.tailMode === "hidden" && !l.alternate && !H)
4780
+ if (t.flags |= 128, r = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), jn(o, !0), o.tail === null && o.tailMode === "hidden" && !l.alternate && !F)
4781
4781
  return ie(t), null;
4782
4782
  } else
4783
- 2 * T() - o.renderingStartTime > Yn && n !== 1073741824 && (t.flags |= 128, r = !0, jn(o, !1), t.lanes = 4194304);
4783
+ 2 * D() - o.renderingStartTime > Yn && n !== 1073741824 && (t.flags |= 128, r = !0, jn(o, !1), t.lanes = 4194304);
4784
4784
  o.isBackwards ? (l.sibling = t.child, t.child = l) : (n = o.last, n !== null ? n.sibling = l : t.child = l, o.last = l);
4785
4785
  }
4786
- return o.tail !== null ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = T(), t.sibling = null, n = M.current, V(M, r ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4786
+ return o.tail !== null ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = D(), t.sibling = null, n = M.current, V(M, r ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4787
4787
  case 22:
4788
4788
  case 23:
4789
4789
  return ma(), r = t.memoizedState !== null, e !== null && e.memoizedState !== null !== r && (t.flags |= 8192), r && t.mode & 1 ? ye & 1073741824 && (ie(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : ie(t), null;
@@ -4799,18 +4799,18 @@ function yp(e, t) {
4799
4799
  case 1:
4800
4800
  return he(t.type) && pi(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
4801
4801
  case 3:
4802
- return Gn(), F(me), F(ae), ia(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
4802
+ return Gn(), H(me), H(ae), ia(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
4803
4803
  case 5:
4804
4804
  return ra(t), null;
4805
4805
  case 13:
4806
- if (F(M), e = t.memoizedState, e !== null && e.dehydrated !== null) {
4806
+ if (H(M), e = t.memoizedState, e !== null && e.dehydrated !== null) {
4807
4807
  if (t.alternate === null)
4808
4808
  throw Error(b(340));
4809
4809
  Wn();
4810
4810
  }
4811
4811
  return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
4812
4812
  case 19:
4813
- return F(M), null;
4813
+ return H(M), null;
4814
4814
  case 4:
4815
4815
  return Gn(), null;
4816
4816
  case 10:
@@ -4832,7 +4832,7 @@ function pn(e, t) {
4832
4832
  try {
4833
4833
  n(null);
4834
4834
  } catch (r) {
4835
- J(e, t, r);
4835
+ T(e, t, r);
4836
4836
  }
4837
4837
  else
4838
4838
  n.current = null;
@@ -4841,7 +4841,7 @@ function ml(e, t, n) {
4841
4841
  try {
4842
4842
  n();
4843
4843
  } catch (r) {
4844
- J(e, t, r);
4844
+ T(e, t, r);
4845
4845
  }
4846
4846
  }
4847
4847
  var Ru = !1;
@@ -4917,7 +4917,7 @@ function wp(e, t) {
4917
4917
  throw Error(b(163));
4918
4918
  }
4919
4919
  } catch (I) {
4920
- J(t, t.return, I);
4920
+ T(t, t.return, I);
4921
4921
  }
4922
4922
  if (e = t.sibling, e !== null) {
4923
4923
  e.return = t.return, X = e;
@@ -5048,7 +5048,7 @@ function Id(e, t, n) {
5048
5048
  try {
5049
5049
  r.props = n.memoizedProps, r.state = n.memoizedState, r.componentWillUnmount();
5050
5050
  } catch (a) {
5051
- J(n, t, a);
5051
+ T(n, t, a);
5052
5052
  }
5053
5053
  pt(e, t, n);
5054
5054
  break;
@@ -5068,7 +5068,7 @@ function Ou(e) {
5068
5068
  e.updateQueue = null;
5069
5069
  var n = e.stateNode;
5070
5070
  n === null && (n = e.stateNode = new bp()), t.forEach(function(r) {
5071
- var i = Sp.bind(null, e, r);
5071
+ var i = kp.bind(null, e, r);
5072
5072
  n.has(r) || (n.add(r), r.then(i, i));
5073
5073
  });
5074
5074
  }
@@ -5101,7 +5101,7 @@ function Oe(e, t) {
5101
5101
  var u = i.alternate;
5102
5102
  u !== null && (u.return = null), i.return = null;
5103
5103
  } catch (c) {
5104
- J(i, t, c);
5104
+ T(i, t, c);
5105
5105
  }
5106
5106
  }
5107
5107
  if (t.subtreeFlags & 12854)
@@ -5115,40 +5115,40 @@ function vd(e, t) {
5115
5115
  case 11:
5116
5116
  case 14:
5117
5117
  case 15:
5118
- if (Oe(t, e), Je(e), r & 4) {
5118
+ if (Oe(t, e), Te(e), r & 4) {
5119
5119
  try {
5120
5120
  qn(3, e, e.return), Mi(3, e);
5121
5121
  } catch (v) {
5122
- J(e, e.return, v);
5122
+ T(e, e.return, v);
5123
5123
  }
5124
5124
  try {
5125
5125
  qn(5, e, e.return);
5126
5126
  } catch (v) {
5127
- J(e, e.return, v);
5127
+ T(e, e.return, v);
5128
5128
  }
5129
5129
  }
5130
5130
  break;
5131
5131
  case 1:
5132
- Oe(t, e), Je(e), r & 512 && n !== null && pn(n, n.return);
5132
+ Oe(t, e), Te(e), r & 512 && n !== null && pn(n, n.return);
5133
5133
  break;
5134
5134
  case 5:
5135
- if (Oe(t, e), Je(e), r & 512 && n !== null && pn(n, n.return), e.flags & 32) {
5135
+ if (Oe(t, e), Te(e), r & 512 && n !== null && pn(n, n.return), e.flags & 32) {
5136
5136
  var i = e.stateNode;
5137
5137
  try {
5138
5138
  ir(i, "");
5139
5139
  } catch (v) {
5140
- J(e, e.return, v);
5140
+ T(e, e.return, v);
5141
5141
  }
5142
5142
  }
5143
5143
  if (r & 4 && (i = e.stateNode, i != null)) {
5144
5144
  var o = e.memoizedProps, l = n !== null ? n.memoizedProps : o, a = e.type, u = e.updateQueue;
5145
5145
  if (e.updateQueue = null, u !== null)
5146
5146
  try {
5147
- a === "input" && o.type === "radio" && o.name != null && Hs(i, o), zo(a, l);
5147
+ a === "input" && o.type === "radio" && o.name != null && Fs(i, o), zo(a, l);
5148
5148
  var c = zo(a, o);
5149
5149
  for (l = 0; l < u.length; l += 2) {
5150
5150
  var p = u[l], g = u[l + 1];
5151
- p === "style" ? Ts(i, g) : p === "dangerouslySetInnerHTML" ? xs(i, g) : p === "children" ? ir(i, g) : Bl(i, p, g, c);
5151
+ p === "style" ? Ds(i, g) : p === "dangerouslySetInnerHTML" ? xs(i, g) : p === "children" ? ir(i, g) : Bl(i, p, g, c);
5152
5152
  }
5153
5153
  switch (a) {
5154
5154
  case "input":
@@ -5170,38 +5170,38 @@ function vd(e, t) {
5170
5170
  }
5171
5171
  i[fr] = o;
5172
5172
  } catch (v) {
5173
- J(e, e.return, v);
5173
+ T(e, e.return, v);
5174
5174
  }
5175
5175
  }
5176
5176
  break;
5177
5177
  case 6:
5178
- if (Oe(t, e), Je(e), r & 4) {
5178
+ if (Oe(t, e), Te(e), r & 4) {
5179
5179
  if (e.stateNode === null)
5180
5180
  throw Error(b(162));
5181
5181
  i = e.stateNode, o = e.memoizedProps;
5182
5182
  try {
5183
5183
  i.nodeValue = o;
5184
5184
  } catch (v) {
5185
- J(e, e.return, v);
5185
+ T(e, e.return, v);
5186
5186
  }
5187
5187
  }
5188
5188
  break;
5189
5189
  case 3:
5190
- if (Oe(t, e), Je(e), r & 4 && n !== null && n.memoizedState.isDehydrated)
5190
+ if (Oe(t, e), Te(e), r & 4 && n !== null && n.memoizedState.isDehydrated)
5191
5191
  try {
5192
5192
  ur(t.containerInfo);
5193
5193
  } catch (v) {
5194
- J(e, e.return, v);
5194
+ T(e, e.return, v);
5195
5195
  }
5196
5196
  break;
5197
5197
  case 4:
5198
- Oe(t, e), Je(e);
5198
+ Oe(t, e), Te(e);
5199
5199
  break;
5200
5200
  case 13:
5201
- Oe(t, e), Je(e), i = e.child, i.flags & 8192 && (o = i.memoizedState !== null, i.stateNode.isHidden = o, !o || i.alternate !== null && i.alternate.memoizedState !== null || (fa = T())), r & 4 && Ou(e);
5201
+ Oe(t, e), Te(e), i = e.child, i.flags & 8192 && (o = i.memoizedState !== null, i.stateNode.isHidden = o, !o || i.alternate !== null && i.alternate.memoizedState !== null || (fa = D())), r & 4 && Ou(e);
5202
5202
  break;
5203
5203
  case 22:
5204
- if (p = n !== null && n.memoizedState !== null, e.mode & 1 ? (le = (c = le) || p, Oe(t, e), le = c) : Oe(t, e), Je(e), r & 8192) {
5204
+ if (p = n !== null && n.memoizedState !== null, e.mode & 1 ? (le = (c = le) || p, Oe(t, e), le = c) : Oe(t, e), Te(e), r & 8192) {
5205
5205
  if (c = e.memoizedState !== null, (e.stateNode.isHidden = c) && !p && e.mode & 1)
5206
5206
  for (X = e, p = e.child; p !== null; ) {
5207
5207
  for (g = X = p; X !== null; ) {
@@ -5220,7 +5220,7 @@ function vd(e, t) {
5220
5220
  try {
5221
5221
  t = r, C.props = t.memoizedProps, C.state = t.memoizedState, C.componentWillUnmount();
5222
5222
  } catch (v) {
5223
- J(r, n, v);
5223
+ T(r, n, v);
5224
5224
  }
5225
5225
  }
5226
5226
  break;
@@ -5243,9 +5243,9 @@ function vd(e, t) {
5243
5243
  if (p === null) {
5244
5244
  p = g;
5245
5245
  try {
5246
- i = g.stateNode, c ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = g.stateNode, u = g.memoizedProps.style, l = u != null && u.hasOwnProperty("display") ? u.display : null, a.style.display = Js("display", l));
5246
+ i = g.stateNode, c ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = g.stateNode, u = g.memoizedProps.style, l = u != null && u.hasOwnProperty("display") ? u.display : null, a.style.display = Ts("display", l));
5247
5247
  } catch (v) {
5248
- J(e, e.return, v);
5248
+ T(e, e.return, v);
5249
5249
  }
5250
5250
  }
5251
5251
  } else if (g.tag === 6) {
@@ -5253,7 +5253,7 @@ function vd(e, t) {
5253
5253
  try {
5254
5254
  g.stateNode.nodeValue = c ? "" : g.memoizedProps;
5255
5255
  } catch (v) {
5256
- J(e, e.return, v);
5256
+ T(e, e.return, v);
5257
5257
  }
5258
5258
  } else if ((g.tag !== 22 && g.tag !== 23 || g.memoizedState === null || g === e) && g.child !== null) {
5259
5259
  g.child.return = g, g = g.child;
@@ -5271,7 +5271,7 @@ function vd(e, t) {
5271
5271
  }
5272
5272
  break;
5273
5273
  case 19:
5274
- Oe(t, e), Je(e), r & 4 && Ou(e);
5274
+ Oe(t, e), Te(e), r & 4 && Ou(e);
5275
5275
  break;
5276
5276
  case 21:
5277
5277
  break;
@@ -5279,10 +5279,10 @@ function vd(e, t) {
5279
5279
  Oe(
5280
5280
  t,
5281
5281
  e
5282
- ), Je(e);
5282
+ ), Te(e);
5283
5283
  }
5284
5284
  }
5285
- function Je(e) {
5285
+ function Te(e) {
5286
5286
  var t = e.flags;
5287
5287
  if (t & 2) {
5288
5288
  try {
@@ -5312,7 +5312,7 @@ function Je(e) {
5312
5312
  throw Error(b(161));
5313
5313
  }
5314
5314
  } catch (u) {
5315
- J(e, e.return, u);
5315
+ T(e, e.return, u);
5316
5316
  }
5317
5317
  e.flags &= -3;
5318
5318
  }
@@ -5428,7 +5428,7 @@ function Ku(e) {
5428
5428
  }
5429
5429
  le || t.flags & 512 && hl(t);
5430
5430
  } catch (f) {
5431
- J(t, t.return, f);
5431
+ T(t, t.return, f);
5432
5432
  }
5433
5433
  }
5434
5434
  if (t === e) {
@@ -5469,7 +5469,7 @@ function ju(e) {
5469
5469
  try {
5470
5470
  Mi(4, t);
5471
5471
  } catch (u) {
5472
- J(t, n, u);
5472
+ T(t, n, u);
5473
5473
  }
5474
5474
  break;
5475
5475
  case 1:
@@ -5479,14 +5479,14 @@ function ju(e) {
5479
5479
  try {
5480
5480
  r.componentDidMount();
5481
5481
  } catch (u) {
5482
- J(t, i, u);
5482
+ T(t, i, u);
5483
5483
  }
5484
5484
  }
5485
5485
  var o = t.return;
5486
5486
  try {
5487
5487
  hl(t);
5488
5488
  } catch (u) {
5489
- J(t, o, u);
5489
+ T(t, o, u);
5490
5490
  }
5491
5491
  break;
5492
5492
  case 5:
@@ -5494,11 +5494,11 @@ function ju(e) {
5494
5494
  try {
5495
5495
  hl(t);
5496
5496
  } catch (u) {
5497
- J(t, l, u);
5497
+ T(t, l, u);
5498
5498
  }
5499
5499
  }
5500
5500
  } catch (u) {
5501
- J(t, t.return, u);
5501
+ T(t, t.return, u);
5502
5502
  }
5503
5503
  if (t === e) {
5504
5504
  X = null;
@@ -5514,7 +5514,7 @@ function ju(e) {
5514
5514
  }
5515
5515
  var Wp = Math.ceil, Wi = gt.ReactCurrentDispatcher, da = gt.ReactCurrentOwner, Ne = gt.ReactCurrentBatchConfig, B = 0, q = null, E = null, te = 0, ye = 0, mn = Bt(0), P = 0, vr = null, Qt = 0, zi = 0, ga = 0, er = null, fe = null, fa = 0, Yn = 1 / 0, rt = null, Li = !1, vl = null, Gt = null, zr = !1, yt = null, Gi = 0, tr = 0, yl = null, ti = -1, ni = 0;
5516
5516
  function ce() {
5517
- return B & 6 ? T() : ti !== -1 ? ti : ti = T();
5517
+ return B & 6 ? D() : ti !== -1 ? ti : ti = D();
5518
5518
  }
5519
5519
  function Xt(e) {
5520
5520
  return e.mode & 1 ? B & 2 && te !== 0 ? te & -te : ap.transition !== null ? (ni === 0 && (ni = rc()), ni) : (e = O, e !== 0 || (e = window.event, e = e === void 0 ? 16 : cc(e.type)), e) : 1;
@@ -5522,7 +5522,7 @@ function Xt(e) {
5522
5522
  function Me(e, t, n, r) {
5523
5523
  if (50 < tr)
5524
5524
  throw tr = 0, yl = null, Error(b(185));
5525
- br(e, n, r), (!(B & 2) || e !== q) && (e === q && (!(B & 2) && (zi |= n), P === 4 && It(e, te)), Ce(e, r), n === 1 && B === 0 && !(t.mode & 1) && (Yn = T() + 500, ji && Ot()));
5525
+ br(e, n, r), (!(B & 2) || e !== q) && (e === q && (!(B & 2) && (zi |= n), P === 4 && It(e, te)), Ce(e, r), n === 1 && B === 0 && !(t.mode & 1) && (Yn = D() + 500, ji && Ot()));
5526
5526
  }
5527
5527
  function Ce(e, t) {
5528
5528
  var n = e.callbackNode;
@@ -5532,13 +5532,13 @@ function Ce(e, t) {
5532
5532
  n !== null && Qa(n), e.callbackNode = null, e.callbackPriority = 0;
5533
5533
  else if (t = r & -r, e.callbackPriority !== t) {
5534
5534
  if (n != null && Qa(n), t === 1)
5535
- e.tag === 0 ? lp(Fu.bind(null, e)) : Ac(Fu.bind(null, e)), np(function() {
5535
+ e.tag === 0 ? lp(Hu.bind(null, e)) : Ac(Hu.bind(null, e)), np(function() {
5536
5536
  !(B & 6) && Ot();
5537
5537
  }), n = null;
5538
5538
  else {
5539
5539
  switch (ic(r)) {
5540
5540
  case 1:
5541
- n = Fl;
5541
+ n = Hl;
5542
5542
  break;
5543
5543
  case 4:
5544
5544
  n = tc;
@@ -5573,7 +5573,7 @@ function bd(e, t) {
5573
5573
  var i = B;
5574
5574
  B |= 2;
5575
5575
  var o = Zd();
5576
- (q !== e || te !== t) && (rt = null, Yn = T() + 500, zt(e, t));
5576
+ (q !== e || te !== t) && (rt = null, Yn = D() + 500, zt(e, t));
5577
5577
  do
5578
5578
  try {
5579
5579
  Xp();
@@ -5586,12 +5586,12 @@ function bd(e, t) {
5586
5586
  }
5587
5587
  if (t !== 0) {
5588
5588
  if (t === 2 && (i = Qo(e), i !== 0 && (r = i, t = bl(e, i))), t === 1)
5589
- throw n = vr, zt(e, 0), It(e, r), Ce(e, T()), n;
5589
+ throw n = vr, zt(e, 0), It(e, r), Ce(e, D()), n;
5590
5590
  if (t === 6)
5591
5591
  It(e, r);
5592
5592
  else {
5593
5593
  if (i = e.current.alternate, !(r & 30) && !Lp(i) && (t = Xi(e, r), t === 2 && (o = Qo(e), o !== 0 && (r = o, t = bl(e, o))), t === 1))
5594
- throw n = vr, zt(e, 0), It(e, r), Ce(e, T()), n;
5594
+ throw n = vr, zt(e, 0), It(e, r), Ce(e, D()), n;
5595
5595
  switch (e.finishedWork = i, e.finishedLanes = r, t) {
5596
5596
  case 0:
5597
5597
  case 1:
@@ -5600,7 +5600,7 @@ function bd(e, t) {
5600
5600
  jt(e, fe, rt);
5601
5601
  break;
5602
5602
  case 3:
5603
- if (It(e, r), (r & 130023424) === r && (t = fa + 500 - T(), 10 < t)) {
5603
+ if (It(e, r), (r & 130023424) === r && (t = fa + 500 - D(), 10 < t)) {
5604
5604
  if (si(e, 0) !== 0)
5605
5605
  break;
5606
5606
  if (i = e.suspendedLanes, (i & r) !== r) {
@@ -5616,10 +5616,10 @@ function bd(e, t) {
5616
5616
  if (It(e, r), (r & 4194240) === r)
5617
5617
  break;
5618
5618
  for (t = e.eventTimes, i = -1; 0 < r; ) {
5619
- var l = 31 - He(r);
5619
+ var l = 31 - Fe(r);
5620
5620
  o = 1 << l, l = t[l], l > i && (i = l), r &= ~o;
5621
5621
  }
5622
- if (r = i, r = T() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Wp(r / 1960)) - r, 10 < r) {
5622
+ if (r = i, r = D() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Wp(r / 1960)) - r, 10 < r) {
5623
5623
  e.timeoutHandle = tl(jt.bind(null, e, fe, rt), r);
5624
5624
  break;
5625
5625
  }
@@ -5633,7 +5633,7 @@ function bd(e, t) {
5633
5633
  }
5634
5634
  }
5635
5635
  }
5636
- return Ce(e, T()), e.callbackNode === n ? bd.bind(null, e) : null;
5636
+ return Ce(e, D()), e.callbackNode === n ? bd.bind(null, e) : null;
5637
5637
  }
5638
5638
  function bl(e, t) {
5639
5639
  var n = er;
@@ -5675,27 +5675,27 @@ function Lp(e) {
5675
5675
  }
5676
5676
  function It(e, t) {
5677
5677
  for (t &= ~ga, t &= ~zi, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) {
5678
- var n = 31 - He(t), r = 1 << n;
5678
+ var n = 31 - Fe(t), r = 1 << n;
5679
5679
  e[n] = -1, t &= ~r;
5680
5680
  }
5681
5681
  }
5682
- function Fu(e) {
5682
+ function Hu(e) {
5683
5683
  if (B & 6)
5684
5684
  throw Error(b(327));
5685
5685
  bn();
5686
5686
  var t = si(e, 0);
5687
5687
  if (!(t & 1))
5688
- return Ce(e, T()), null;
5688
+ return Ce(e, D()), null;
5689
5689
  var n = Xi(e, t);
5690
5690
  if (e.tag !== 0 && n === 2) {
5691
5691
  var r = Qo(e);
5692
5692
  r !== 0 && (t = r, n = bl(e, r));
5693
5693
  }
5694
5694
  if (n === 1)
5695
- throw n = vr, zt(e, 0), It(e, t), Ce(e, T()), n;
5695
+ throw n = vr, zt(e, 0), It(e, t), Ce(e, D()), n;
5696
5696
  if (n === 6)
5697
5697
  throw Error(b(345));
5698
- return e.finishedWork = e.current.alternate, e.finishedLanes = t, jt(e, fe, rt), Ce(e, T()), null;
5698
+ return e.finishedWork = e.current.alternate, e.finishedLanes = t, jt(e, fe, rt), Ce(e, D()), null;
5699
5699
  }
5700
5700
  function pa(e, t) {
5701
5701
  var n = B;
@@ -5703,7 +5703,7 @@ function pa(e, t) {
5703
5703
  try {
5704
5704
  return e(t);
5705
5705
  } finally {
5706
- B = n, B === 0 && (Yn = T() + 500, ji && Ot());
5706
+ B = n, B === 0 && (Yn = D() + 500, ji && Ot());
5707
5707
  }
5708
5708
  }
5709
5709
  function Et(e) {
@@ -5719,7 +5719,7 @@ function Et(e) {
5719
5719
  }
5720
5720
  }
5721
5721
  function ma() {
5722
- ye = mn.current, F(mn);
5722
+ ye = mn.current, H(mn);
5723
5723
  }
5724
5724
  function zt(e, t) {
5725
5725
  e.finishedWork = null, e.finishedLanes = 0;
@@ -5732,7 +5732,7 @@ function zt(e, t) {
5732
5732
  r = r.type.childContextTypes, r != null && pi();
5733
5733
  break;
5734
5734
  case 3:
5735
- Gn(), F(me), F(ae), ia();
5735
+ Gn(), H(me), H(ae), ia();
5736
5736
  break;
5737
5737
  case 5:
5738
5738
  ra(r);
@@ -5741,10 +5741,10 @@ function zt(e, t) {
5741
5741
  Gn();
5742
5742
  break;
5743
5743
  case 13:
5744
- F(M);
5744
+ H(M);
5745
5745
  break;
5746
5746
  case 19:
5747
- F(M);
5747
+ H(M);
5748
5748
  break;
5749
5749
  case 10:
5750
5750
  ql(r.type._context);
@@ -5755,9 +5755,9 @@ function zt(e, t) {
5755
5755
  }
5756
5756
  n = n.return;
5757
5757
  }
5758
- if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, vr = null, ga = zi = Qt = 0, fe = er = null, Ht !== null) {
5759
- for (t = 0; t < Ht.length; t++)
5760
- if (n = Ht[t], r = n.interleaved, r !== null) {
5758
+ if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, vr = null, ga = zi = Qt = 0, fe = er = null, Ft !== null) {
5759
+ for (t = 0; t < Ft.length; t++)
5760
+ if (n = Ft[t], r = n.interleaved, r !== null) {
5761
5761
  n.interleaved = null;
5762
5762
  var i = r.next, o = n.pending;
5763
5763
  if (o !== null) {
@@ -5766,7 +5766,7 @@ function zt(e, t) {
5766
5766
  }
5767
5767
  n.pending = r;
5768
5768
  }
5769
- Ht = null;
5769
+ Ft = null;
5770
5770
  }
5771
5771
  return e;
5772
5772
  }
@@ -5781,7 +5781,7 @@ function wd(e, t) {
5781
5781
  }
5782
5782
  wi = !1;
5783
5783
  }
5784
- if (Dt = 0, $ = U = z = null, $n = !1, hr = 0, da.current = null, n === null || n.return === null) {
5784
+ if (Jt = 0, $ = U = z = null, $n = !1, hr = 0, da.current = null, n === null || n.return === null) {
5785
5785
  P = 1, vr = t, E = null;
5786
5786
  break;
5787
5787
  }
@@ -5810,7 +5810,7 @@ function wd(e, t) {
5810
5810
  }
5811
5811
  u = Error(b(426));
5812
5812
  }
5813
- } else if (H && a.mode & 1) {
5813
+ } else if (F && a.mode & 1) {
5814
5814
  var w = Gu(l);
5815
5815
  if (w !== null) {
5816
5816
  !(w.flags & 65536) && (w.flags |= 256), Xu(w, l, a, o, t), Pl(Xn(u, a));
@@ -5942,7 +5942,7 @@ function Yp(e, t, n, r) {
5942
5942
  B |= 4, da.current = null, wp(e, n), vd(n, e), Ef(qo), ci = !!$o, qo = $o = null, e.current = n, Zp(n), $g(), B = a, O = l, Ne.transition = o;
5943
5943
  } else
5944
5944
  e.current = n;
5945
- if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Gt = null), tf(n.stateNode), Ce(e, T()), t !== null)
5945
+ if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Gt = null), tf(n.stateNode), Ce(e, D()), t !== null)
5946
5946
  for (r = e.onRecoverableError, n = 0; n < t.length; n++)
5947
5947
  i = t[n], r(i.value, { componentStack: i.stack, digest: i.digest });
5948
5948
  if (Li)
@@ -6045,7 +6045,7 @@ function bn() {
6045
6045
  Mi(9, a);
6046
6046
  }
6047
6047
  } catch (y) {
6048
- J(a, a.return, y);
6048
+ T(a, a.return, y);
6049
6049
  }
6050
6050
  if (a === l) {
6051
6051
  X = null;
@@ -6073,16 +6073,16 @@ function bn() {
6073
6073
  }
6074
6074
  return !1;
6075
6075
  }
6076
- function Hu(e, t, n) {
6076
+ function Fu(e, t, n) {
6077
6077
  t = Xn(n, t), t = od(e, t, 1), e = Lt(e, t, 1), t = ce(), e !== null && (br(e, 1, t), Ce(e, t));
6078
6078
  }
6079
- function J(e, t, n) {
6079
+ function T(e, t, n) {
6080
6080
  if (e.tag === 3)
6081
- Hu(e, e, n);
6081
+ Fu(e, e, n);
6082
6082
  else
6083
6083
  for (; t !== null; ) {
6084
6084
  if (t.tag === 3) {
6085
- Hu(t, e, n);
6085
+ Fu(t, e, n);
6086
6086
  break;
6087
6087
  } else if (t.tag === 1) {
6088
6088
  var r = t.stateNode;
@@ -6096,10 +6096,10 @@ function J(e, t, n) {
6096
6096
  }
6097
6097
  function Ap(e, t, n) {
6098
6098
  var r = e.pingCache;
6099
- r !== null && r.delete(t), t = ce(), e.pingedLanes |= e.suspendedLanes & n, q === e && (te & n) === n && (P === 4 || P === 3 && (te & 130023424) === te && 500 > T() - fa ? zt(e, 0) : ga |= n), Ce(e, t);
6099
+ r !== null && r.delete(t), t = ce(), e.pingedLanes |= e.suspendedLanes & n, q === e && (te & n) === n && (P === 4 || P === 3 && (te & 130023424) === te && 500 > D() - fa ? zt(e, 0) : ga |= n), Ce(e, t);
6100
6100
  }
6101
6101
  function Gd(e, t) {
6102
- t === 0 && (e.mode & 1 ? (t = kr, kr <<= 1, !(kr & 130023424) && (kr = 4194304)) : t = 1);
6102
+ t === 0 && (e.mode & 1 ? (t = Sr, Sr <<= 1, !(Sr & 130023424) && (Sr = 4194304)) : t = 1);
6103
6103
  var n = ce();
6104
6104
  e = ct(e, t), e !== null && (br(e, t, n), Ce(e, n));
6105
6105
  }
@@ -6107,7 +6107,7 @@ function Np(e) {
6107
6107
  var t = e.memoizedState, n = 0;
6108
6108
  t !== null && (n = t.retryLane), Gd(e, n);
6109
6109
  }
6110
- function Sp(e, t) {
6110
+ function kp(e, t) {
6111
6111
  var n = 0;
6112
6112
  switch (e.tag) {
6113
6113
  case 13:
@@ -6133,7 +6133,7 @@ Xd = function(e, t, n) {
6133
6133
  pe = !!(e.flags & 131072);
6134
6134
  }
6135
6135
  else
6136
- pe = !1, H && t.flags & 1048576 && Nc(t, Ci, t.index);
6136
+ pe = !1, F && t.flags & 1048576 && Nc(t, Ci, t.index);
6137
6137
  switch (t.lanes = 0, t.tag) {
6138
6138
  case 2:
6139
6139
  var r = t.type;
@@ -6141,7 +6141,7 @@ Xd = function(e, t, n) {
6141
6141
  var i = Zn(t, ae.current);
6142
6142
  yn(t, n), i = la(null, t, r, e, i, n);
6143
6143
  var o = aa();
6144
- return t.flags |= 1, typeof i == "object" && i !== null && typeof i.render == "function" && i.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, he(r) ? (o = !0, mi(t)) : o = !1, t.memoizedState = i.state !== null && i.state !== void 0 ? i.state : null, ta(t), i.updater = Fi, t.stateNode = i, i._reactInternals = t, ul(t, r, e, n), t = dl(null, t, r, !0, o, n)) : (t.tag = 0, H && o && El(t), se(null, t, i, n), t = t.child), t;
6144
+ return t.flags |= 1, typeof i == "object" && i !== null && typeof i.render == "function" && i.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, he(r) ? (o = !0, mi(t)) : o = !1, t.memoizedState = i.state !== null && i.state !== void 0 ? i.state : null, ta(t), i.updater = Hi, t.stateNode = i, i._reactInternals = t, ul(t, r, e, n), t = dl(null, t, r, !0, o, n)) : (t.tag = 0, F && o && El(t), se(null, t, i, n), t = t.child), t;
6145
6145
  case 16:
6146
6146
  r = t.elementType;
6147
6147
  e: {
@@ -6178,13 +6178,13 @@ Xd = function(e, t, n) {
6178
6178
  var l = t.memoizedState;
6179
6179
  if (r = l.element, o.isDehydrated)
6180
6180
  if (o = { element: r, isDehydrated: !1, cache: l.cache, pendingSuspenseBoundaries: l.pendingSuspenseBoundaries, transitions: l.transitions }, t.updateQueue.baseState = o, t.memoizedState = o, t.flags & 256) {
6181
- i = Xn(Error(b(423)), t), t = Su(e, t, r, n, i);
6181
+ i = Xn(Error(b(423)), t), t = ku(e, t, r, n, i);
6182
6182
  break e;
6183
6183
  } else if (r !== i) {
6184
- i = Xn(Error(b(424)), t), t = Su(e, t, r, n, i);
6184
+ i = Xn(Error(b(424)), t), t = ku(e, t, r, n, i);
6185
6185
  break e;
6186
6186
  } else
6187
- for (be = Wt(t.stateNode.containerInfo.firstChild), Ze = t, H = !0, Fe = null, n = jc(t, null, r, n), t.child = n; n; )
6187
+ for (be = Wt(t.stateNode.containerInfo.firstChild), Ze = t, F = !0, He = null, n = jc(t, null, r, n), t.child = n; n; )
6188
6188
  n.flags = n.flags & -3 | 4096, n = n.sibling;
6189
6189
  else {
6190
6190
  if (Wn(), r === i) {
@@ -6197,7 +6197,7 @@ Xd = function(e, t, n) {
6197
6197
  }
6198
6198
  return t;
6199
6199
  case 5:
6200
- return Fc(t), e === null && ol(t), r = t.type, i = t.pendingProps, o = e !== null ? e.memoizedProps : null, l = i.children, el(r, i) ? l = null : o !== null && el(r, o) && (t.flags |= 32), sd(e, t), se(e, t, l, n), t.child;
6200
+ return Hc(t), e === null && ol(t), r = t.type, i = t.pendingProps, o = e !== null ? e.memoizedProps : null, l = i.children, el(r, i) ? l = null : o !== null && el(r, o) && (t.flags |= 32), sd(e, t), se(e, t, l, n), t.child;
6201
6201
  case 6:
6202
6202
  return e === null && ol(t), null;
6203
6203
  case 13:
@@ -6273,7 +6273,7 @@ Xd = function(e, t, n) {
6273
6273
  }
6274
6274
  return t;
6275
6275
  case 9:
6276
- return i = t.type, r = t.pendingProps.children, yn(t, n), i = Se(i), r = r(i), t.flags |= 1, se(e, t, r, n), t.child;
6276
+ return i = t.type, r = t.pendingProps.children, yn(t, n), i = ke(i), r = r(i), t.flags |= 1, se(e, t, r, n), t.child;
6277
6277
  case 14:
6278
6278
  return r = t.type, i = Ve(r, t.pendingProps), i = Ve(r.type, i), Au(e, t, r, i, n);
6279
6279
  case 15:
@@ -6290,11 +6290,11 @@ Xd = function(e, t, n) {
6290
6290
  function Yd(e, t) {
6291
6291
  return ec(e, t);
6292
6292
  }
6293
- function kp(e, t, n, r) {
6293
+ function Sp(e, t, n, r) {
6294
6294
  this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
6295
6295
  }
6296
6296
  function Ae(e, t, n, r) {
6297
- return new kp(e, t, n, r);
6297
+ return new Sp(e, t, n, r);
6298
6298
  }
6299
6299
  function Ca(e) {
6300
6300
  return e = e.prototype, !(!e || !e.isReactComponent);
@@ -6328,8 +6328,8 @@ function ri(e, t, n, r, i, o) {
6328
6328
  case Ol:
6329
6329
  l = 8, i |= 8;
6330
6330
  break;
6331
- case ko:
6332
- return e = Ae(12, n, t, i | 2), e.elementType = ko, e.lanes = o, e;
6331
+ case So:
6332
+ return e = Ae(12, n, t, i | 2), e.elementType = So, e.lanes = o, e;
6333
6333
  case Ro:
6334
6334
  return e = Ae(13, n, t, i), e.elementType = Ro, e.lanes = o, e;
6335
6335
  case Bo:
@@ -6383,7 +6383,7 @@ function Op(e, t, n) {
6383
6383
  }
6384
6384
  function Ad(e) {
6385
6385
  if (!e)
6386
- return St;
6386
+ return kt;
6387
6387
  e = e._reactInternals;
6388
6388
  e: {
6389
6389
  if (Pt(e) !== e || e.tag !== 1)
@@ -6414,7 +6414,7 @@ function Ad(e) {
6414
6414
  function Nd(e, t, n, r, i, o, l, a, u) {
6415
6415
  return e = Ia(n, r, !0, e, i, o, l, a, u), e.context = Ad(null), n = e.current, r = ce(), i = Xt(n), o = at(r, i), o.callback = t ?? null, Lt(n, o, i), e.current.lanes = i, br(e, i, r), Ce(e, r), e;
6416
6416
  }
6417
- function Ji(e, t, n, r) {
6417
+ function Ti(e, t, n, r) {
6418
6418
  var i = t.current, o = ce(), l = Xt(i);
6419
6419
  return n = Ad(n), t.context === null ? t.context = n : t.pendingContext = n, t = at(o, l), t.payload = { element: e }, r = r === void 0 ? null : r, r !== null && (t.callback = r), e = Lt(i, t, l), e !== null && (Me(e, i, l, o), _r(e, i, l)), l;
6420
6420
  }
@@ -6440,32 +6440,32 @@ function va(e, t) {
6440
6440
  function Kp() {
6441
6441
  return null;
6442
6442
  }
6443
- var Sd = typeof reportError == "function" ? reportError : function(e) {
6443
+ var kd = typeof reportError == "function" ? reportError : function(e) {
6444
6444
  console.error(e);
6445
6445
  };
6446
6446
  function ya(e) {
6447
6447
  this._internalRoot = e;
6448
6448
  }
6449
- Ti.prototype.render = ya.prototype.render = function(e) {
6449
+ Di.prototype.render = ya.prototype.render = function(e) {
6450
6450
  var t = this._internalRoot;
6451
6451
  if (t === null)
6452
6452
  throw Error(b(409));
6453
- Ji(e, t, null, null);
6453
+ Ti(e, t, null, null);
6454
6454
  };
6455
- Ti.prototype.unmount = ya.prototype.unmount = function() {
6455
+ Di.prototype.unmount = ya.prototype.unmount = function() {
6456
6456
  var e = this._internalRoot;
6457
6457
  if (e !== null) {
6458
6458
  this._internalRoot = null;
6459
6459
  var t = e.containerInfo;
6460
6460
  Et(function() {
6461
- Ji(null, e, null, null);
6461
+ Ti(null, e, null, null);
6462
6462
  }), t[st] = null;
6463
6463
  }
6464
6464
  };
6465
- function Ti(e) {
6465
+ function Di(e) {
6466
6466
  this._internalRoot = e;
6467
6467
  }
6468
- Ti.prototype.unstable_scheduleHydration = function(e) {
6468
+ Di.prototype.unstable_scheduleHydration = function(e) {
6469
6469
  if (e) {
6470
6470
  var t = ac();
6471
6471
  e = { blockedOn: null, target: e, priority: t };
@@ -6477,7 +6477,7 @@ Ti.prototype.unstable_scheduleHydration = function(e) {
6477
6477
  function ba(e) {
6478
6478
  return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11);
6479
6479
  }
6480
- function Di(e) {
6480
+ function Ji(e) {
6481
6481
  return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11 && (e.nodeType !== 8 || e.nodeValue !== " react-mount-point-unstable "));
6482
6482
  }
6483
6483
  function zu() {
@@ -6505,7 +6505,7 @@ function Vp(e, t, n, r, i) {
6505
6505
  }
6506
6506
  var u = Ia(e, 0, !1, null, null, !1, !1, "", zu);
6507
6507
  return e._reactRootContainer = u, e[st] = u.current, dr(e.nodeType === 8 ? e.parentNode : e), Et(function() {
6508
- Ji(t, u, n, r);
6508
+ Ti(t, u, n, r);
6509
6509
  }), u;
6510
6510
  }
6511
6511
  function Qi(e, t, n, r, i) {
@@ -6519,7 +6519,7 @@ function Qi(e, t, n, r, i) {
6519
6519
  a.call(u);
6520
6520
  };
6521
6521
  }
6522
- Ji(t, l, e, i);
6522
+ Ti(t, l, e, i);
6523
6523
  } else
6524
6524
  l = Vp(n, t, e, i, r);
6525
6525
  return Yi(l);
@@ -6529,8 +6529,8 @@ oc = function(e) {
6529
6529
  case 3:
6530
6530
  var t = e.stateNode;
6531
6531
  if (t.current.memoizedState.isDehydrated) {
6532
- var n = Tn(t.pendingLanes);
6533
- n !== 0 && (Hl(t, n | 1), Ce(t, T()), !(B & 6) && (Yn = T() + 500, Ot()));
6532
+ var n = Dn(t.pendingLanes);
6533
+ n !== 0 && (Fl(t, n | 1), Ce(t, D()), !(B & 6) && (Yn = D() + 500, Ot()));
6534
6534
  }
6535
6535
  break;
6536
6536
  case 13:
@@ -6574,7 +6574,7 @@ uc = function(e, t) {
6574
6574
  O = n;
6575
6575
  }
6576
6576
  };
6577
- Jo = function(e, t, n) {
6577
+ To = function(e, t, n) {
6578
6578
  switch (t) {
6579
6579
  case "input":
6580
6580
  if (Vo(e, n), t = n.name, n.type === "radio" && t != null) {
@@ -6586,7 +6586,7 @@ Jo = function(e, t, n) {
6586
6586
  var i = Vi(r);
6587
6587
  if (!i)
6588
6588
  throw Error(b(90));
6589
- Fs(r), Vo(r, i);
6589
+ Hs(r), Vo(r, i);
6590
6590
  }
6591
6591
  }
6592
6592
  }
@@ -6600,14 +6600,14 @@ Jo = function(e, t, n) {
6600
6600
  };
6601
6601
  Es = pa;
6602
6602
  Us = Et;
6603
- var jp = { usingClientEntryPoint: !1, Events: [Zr, sn, Vi, Ds, Qs, pa] }, Fn = { findFiberByHostInstance: Ft, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, Fp = { bundleType: Fn.bundleType, version: Fn.version, rendererPackageName: Fn.rendererPackageName, rendererConfig: Fn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: gt.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6603
+ var jp = { usingClientEntryPoint: !1, Events: [Zr, sn, Vi, Js, Qs, pa] }, Hn = { findFiberByHostInstance: Ht, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, Hp = { bundleType: Hn.bundleType, version: Hn.version, rendererPackageName: Hn.rendererPackageName, rendererConfig: Hn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: gt.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6604
6604
  return e = $s(e), e === null ? null : e.stateNode;
6605
- }, findFiberByHostInstance: Fn.findFiberByHostInstance || Kp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6605
+ }, findFiberByHostInstance: Hn.findFiberByHostInstance || Kp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6606
6606
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
6607
6607
  var xr = __REACT_DEVTOOLS_GLOBAL_HOOK__;
6608
6608
  if (!xr.isDisabled && xr.supportsFiber)
6609
6609
  try {
6610
- Ri = xr.inject(Fp), Ue = xr;
6610
+ Ri = xr.inject(Hp), Ue = xr;
6611
6611
  } catch {
6612
6612
  }
6613
6613
  }
@@ -6621,7 +6621,7 @@ Le.createPortal = function(e, t) {
6621
6621
  Le.createRoot = function(e, t) {
6622
6622
  if (!ba(e))
6623
6623
  throw Error(b(299));
6624
- var n = !1, r = "", i = Sd;
6624
+ var n = !1, r = "", i = kd;
6625
6625
  return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = Ia(e, 1, !1, null, null, n, !1, r, i), e[st] = t.current, dr(e.nodeType === 8 ? e.parentNode : e), new ya(t);
6626
6626
  };
6627
6627
  Le.findDOMNode = function(e) {
@@ -6638,29 +6638,29 @@ Le.flushSync = function(e) {
6638
6638
  return Et(e);
6639
6639
  };
6640
6640
  Le.hydrate = function(e, t, n) {
6641
- if (!Di(t))
6641
+ if (!Ji(t))
6642
6642
  throw Error(b(200));
6643
6643
  return Qi(null, e, t, !0, n);
6644
6644
  };
6645
6645
  Le.hydrateRoot = function(e, t, n) {
6646
6646
  if (!ba(e))
6647
6647
  throw Error(b(405));
6648
- var r = n != null && n.hydratedSources || null, i = !1, o = "", l = Sd;
6648
+ var r = n != null && n.hydratedSources || null, i = !1, o = "", l = kd;
6649
6649
  if (n != null && (n.unstable_strictMode === !0 && (i = !0), n.identifierPrefix !== void 0 && (o = n.identifierPrefix), n.onRecoverableError !== void 0 && (l = n.onRecoverableError)), t = Nd(t, null, e, 1, n ?? null, i, !1, o, l), e[st] = t.current, dr(e), r)
6650
6650
  for (e = 0; e < r.length; e++)
6651
6651
  n = r[e], i = n._getVersion, i = i(n._source), t.mutableSourceEagerHydrationData == null ? t.mutableSourceEagerHydrationData = [n, i] : t.mutableSourceEagerHydrationData.push(
6652
6652
  n,
6653
6653
  i
6654
6654
  );
6655
- return new Ti(t);
6655
+ return new Di(t);
6656
6656
  };
6657
6657
  Le.render = function(e, t, n) {
6658
- if (!Di(t))
6658
+ if (!Ji(t))
6659
6659
  throw Error(b(200));
6660
6660
  return Qi(null, e, t, !1, n);
6661
6661
  };
6662
6662
  Le.unmountComponentAtNode = function(e) {
6663
- if (!Di(e))
6663
+ if (!Ji(e))
6664
6664
  throw Error(b(40));
6665
6665
  return e._reactRootContainer ? (Et(function() {
6666
6666
  Qi(null, null, e, !1, function() {
@@ -6670,25 +6670,25 @@ Le.unmountComponentAtNode = function(e) {
6670
6670
  };
6671
6671
  Le.unstable_batchedUpdates = pa;
6672
6672
  Le.unstable_renderSubtreeIntoContainer = function(e, t, n, r) {
6673
- if (!Di(n))
6673
+ if (!Ji(n))
6674
6674
  throw Error(b(200));
6675
6675
  if (e == null || e._reactInternals === void 0)
6676
6676
  throw Error(b(38));
6677
6677
  return Qi(e, t, n, !1, r);
6678
6678
  };
6679
6679
  Le.version = "18.2.0-next-9e3b772b8-20220608";
6680
- function kd() {
6680
+ function Sd() {
6681
6681
  if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function"))
6682
6682
  try {
6683
- __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kd);
6683
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Sd);
6684
6684
  } catch (e) {
6685
6685
  console.error(e);
6686
6686
  }
6687
6687
  }
6688
- kd(), Ns.exports = Le;
6689
- var Hp = Ns.exports, Rd, xu = Hp;
6688
+ Sd(), Ns.exports = Le;
6689
+ var Fp = Ns.exports, Rd, xu = Fp;
6690
6690
  Rd = xu.createRoot, xu.hydrateRoot;
6691
- const Mp = "data:text/css;base64,Omhvc3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", zp = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgZ2FwOiAwOwp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9faWNvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IG5vbmU7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7CiAgLm1lbnUtLXVuYXV0aGVudGljYXRlZCB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLXVuYXV0aGVudGljYXRlZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb246bm90KC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS1hdXRoZW50aWNhdGVkKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNik7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19sYWJlbCB7CiAgICBkaXNwbGF5OiBpbmxpbmU7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbjpub3QoLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQpID4gLmJ1dHRvbl9faWNvbi1yaWdodCB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7CiAgLnNwaW5uZXI6OmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxNnB4OwogICAgaGVpZ2h0OiAxNnB4OwogICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICAgIG1hcmdpbjogYXV0bzsKICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlIGluZmluaXRlOwogICAgY29udGVudDogJyc7CiAgICBpbnNldDogMDsKICB9CgogIEBrZXlmcmFtZXMgc3BpbiB7CiAgICBmcm9tIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQoKICAgIHRvIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOwogICAgfQogIH0KfQo=", xp = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7Cn0KCi5mb3JtLS10Y19fZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9CgouZm9ybS0tdGNfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKfQoKLmZvcm0tLXRjX19lcnJvciB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02KTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLmJ1dHRvbi0tdGVybXMtYW5kLWNvbmRpdGlvbnMgewogIHdpZHRoOiBhdXRvOwp9Cg==", Jp = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`;
6691
+ const Mp = "data:text/css;base64,Omhvc3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", zp = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBnYXA6IDA7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBub25lOwp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDI0cHg7CiAgaGVpZ2h0OiAyNHB4Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLXVuYXV0aGVudGljYXRlZCB7CiAgZGlzcGxheTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHsKICAubWVudS0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbiB7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbjpub3QoLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy02KTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgPiAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHsKICAuc3Bpbm5lcjo6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgbWFyZ2luOiBhdXRvOwogICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UgaW5maW5pdGU7CiAgICBjb250ZW50OiAnJzsKICAgIGluc2V0OiAwOwogIH0KCiAgQGtleWZyYW1lcyBzcGluIHsKICAgIGZyb20gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CgogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9Cg==", xp = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7Cn0KCi5mb3JtLS10Y19fZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9CgouZm9ybS0tdGNfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKfQoKLmZvcm0tLXRjX19lcnJvciB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02KTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLmJ1dHRvbi0tdGVybXMtYW5kLWNvbmRpdGlvbnMgewogIHdpZHRoOiBhdXRvOwp9Cg==", Tp = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`;
6692
6692
  function At(e) {
6693
6693
  if (e === void 0)
6694
6694
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -6724,14 +6724,14 @@ function _e(e) {
6724
6724
  return n.__proto__ || Object.getPrototypeOf(n);
6725
6725
  }, _e(e);
6726
6726
  }
6727
- function Tp(e) {
6727
+ function Dp(e) {
6728
6728
  if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null)
6729
6729
  return Array.from(e);
6730
6730
  }
6731
- function Dp(e) {
6732
- return Ls(e) || Tp(e) || Gs(e) || Xs();
6731
+ function Jp(e) {
6732
+ return Ls(e) || Dp(e) || Gs(e) || Xs();
6733
6733
  }
6734
- function Ju(e, t) {
6734
+ function Tu(e, t) {
6735
6735
  var n = Object.keys(e);
6736
6736
  if (Object.getOwnPropertySymbols) {
6737
6737
  var r = Object.getOwnPropertySymbols(e);
@@ -6741,12 +6741,12 @@ function Ju(e, t) {
6741
6741
  }
6742
6742
  return n;
6743
6743
  }
6744
- function Tu(e) {
6744
+ function Du(e) {
6745
6745
  for (var t = 1; t < arguments.length; t++) {
6746
6746
  var n = arguments[t] != null ? arguments[t] : {};
6747
- t % 2 ? Ju(Object(n), !0).forEach(function(r) {
6747
+ t % 2 ? Tu(Object(n), !0).forEach(function(r) {
6748
6748
  $e(e, r, n[r]);
6749
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ju(Object(n)).forEach(function(r) {
6749
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Tu(Object(n)).forEach(function(r) {
6750
6750
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
6751
6751
  });
6752
6752
  }
@@ -6818,7 +6818,7 @@ var Qp = {
6818
6818
  }, {
6819
6819
  key: "create",
6820
6820
  value: function(n) {
6821
- return new e(this.logger, Tu(Tu({}, {
6821
+ return new e(this.logger, Du(Du({}, {
6822
6822
  prefix: "".concat(this.prefix, ":").concat(n, ":")
6823
6823
  }), this.options));
6824
6824
  }
@@ -6828,7 +6828,7 @@ var Qp = {
6828
6828
  return n = n || this.options, n.prefix = n.prefix || this.prefix, new e(this.logger, n);
6829
6829
  }
6830
6830
  }]), e;
6831
- }(), Ee = new Ep(), kt = function() {
6831
+ }(), Ee = new Ep(), St = function() {
6832
6832
  function e() {
6833
6833
  Re(this, e), this.observers = {};
6834
6834
  }
@@ -6873,13 +6873,13 @@ var Qp = {
6873
6873
  }
6874
6874
  }]), e;
6875
6875
  }();
6876
- function Hn() {
6876
+ function Fn() {
6877
6877
  var e, t, n = new Promise(function(r, i) {
6878
6878
  e = r, t = i;
6879
6879
  });
6880
6880
  return n.resolve = e, n.reject = t, n;
6881
6881
  }
6882
- function Du(e) {
6882
+ function Ju(e) {
6883
6883
  return e == null ? "" : "" + e;
6884
6884
  }
6885
6885
  function Up(e, t, n) {
@@ -6999,7 +6999,7 @@ function Eu(e, t) {
6999
6999
  }
7000
7000
  return n;
7001
7001
  }
7002
- function Jr(e) {
7002
+ function Tr(e) {
7003
7003
  for (var t = 1; t < arguments.length; t++) {
7004
7004
  var n = arguments[t] != null ? arguments[t] : {};
7005
7005
  t % 2 ? Eu(Object(n), !0).forEach(function(r) {
@@ -7042,7 +7042,7 @@ var im = function(e) {
7042
7042
  ns: ["translation"],
7043
7043
  defaultNS: "translation"
7044
7044
  };
7045
- return Re(this, n), i = t.call(this), Ui && kt.call(At(i)), i.data = r || {}, i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.options.ignoreJSONStructure === void 0 && (i.options.ignoreJSONStructure = !0), i;
7045
+ return Re(this, n), i = t.call(this), Ui && St.call(At(i)), i.data = r || {}, i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.options.ignoreJSONStructure === void 0 && (i.options.ignoreJSONStructure = !0), i;
7046
7046
  }
7047
7047
  return Be(n, [{
7048
7048
  key: "addNamespaces",
@@ -7091,7 +7091,7 @@ var im = function(e) {
7091
7091
  }, p = [i, o];
7092
7092
  i.indexOf(".") > -1 && (p = i.split("."), a = l, l = o, o = p[1]), this.addNamespaces(o);
7093
7093
  var g = Ai(this.data, p) || {};
7094
- a ? Bd(g, l, u) : g = Jr(Jr({}, g), l), Qu(this.data, p, g), c.silent || this.emit("added", i, o, l);
7094
+ a ? Bd(g, l, u) : g = Tr(Tr({}, g), l), Qu(this.data, p, g), c.silent || this.emit("added", i, o, l);
7095
7095
  }
7096
7096
  }, {
7097
7097
  key: "removeResourceBundle",
@@ -7106,7 +7106,7 @@ var im = function(e) {
7106
7106
  }, {
7107
7107
  key: "getResourceBundle",
7108
7108
  value: function(i, o) {
7109
- return o || (o = this.options.defaultNS), this.options.compatibilityAPI === "v1" ? Jr(Jr({}, {}), this.getResource(i, o)) : this.getResource(i, o);
7109
+ return o || (o = this.options.defaultNS), this.options.compatibilityAPI === "v1" ? Tr(Tr({}, {}), this.getResource(i, o)) : this.getResource(i, o);
7110
7110
  }
7111
7111
  }, {
7112
7112
  key: "getDataByLanguage",
@@ -7127,7 +7127,7 @@ var im = function(e) {
7127
7127
  return this.data;
7128
7128
  }
7129
7129
  }]), n;
7130
- }(kt), Od = {
7130
+ }(St), Od = {
7131
7131
  processors: {},
7132
7132
  addPostProcessor: function(t) {
7133
7133
  this.processors[t.name] = t;
@@ -7189,7 +7189,7 @@ var Pu = {}, _u = function(e) {
7189
7189
  var t = om(n);
7190
7190
  function n(r) {
7191
7191
  var i, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7192
- return Re(this, n), i = t.call(this), Ui && kt.call(At(i)), Up(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7192
+ return Re(this, n), i = t.call(this), Ui && St.call(At(i)), Up(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7193
7193
  }
7194
7194
  return Be(n, [{
7195
7195
  key: "changeLanguage",
@@ -7255,8 +7255,8 @@ var Pu = {}, _u = function(e) {
7255
7255
  usedNS: h
7256
7256
  } : g;
7257
7257
  }
7258
- var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, I = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, S = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7259
- if (L && s && S && Z.indexOf(y) < 0 && !(typeof W == "string" && y === "[object Array]")) {
7258
+ var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, I = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, k = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7259
+ if (L && s && k && Z.indexOf(y) < 0 && !(typeof W == "string" && y === "[object Array]")) {
7260
7260
  if (!o.returnObjects && !this.options.returnObjects) {
7261
7261
  this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
7262
7262
  var Y = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(m, s, oe(oe({}, o), {}, {
@@ -7281,7 +7281,7 @@ var Pu = {}, _u = function(e) {
7281
7281
  else {
7282
7282
  var ft = !1, et = !1, G = o.count !== void 0 && typeof o.count != "string", A = n.hasDefaultValue(o), N = G ? this.pluralResolver.getSuffix(C, o.count, o) : "", K = o["defaultValue".concat(N)] || o.defaultValue;
7283
7283
  !this.isValidLookup(s) && A && (ft = !0, s = K), this.isValidLookup(s) || (et = !0, s = g);
7284
- var D = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = D && et ? void 0 : s, Ie = A && K !== s && this.options.updateMissing;
7284
+ var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, Ie = A && K !== s && this.options.updateMissing;
7285
7285
  if (et || ft || Ie) {
7286
7286
  if (this.logger.log(Ie ? "updateKey" : "missingKey", C, h, g, Ie ? K : s), c) {
7287
7287
  var $t = this.resolve(g, oe(oe({}, o), {}, {
@@ -7365,8 +7365,8 @@ var Pu = {}, _u = function(e) {
7365
7365
  w && (W = o.pluralResolver.getSuffix(y, l.count, l));
7366
7366
  var L = "".concat(o.options.pluralSeparator, "zero");
7367
7367
  if (w && (Z.push(C + W), d && Z.push(C + L)), s) {
7368
- var S = "".concat(C).concat(o.options.contextSeparator).concat(l.context);
7369
- Z.push(S), w && (Z.push(S + W), d && Z.push(S + L));
7368
+ var k = "".concat(C).concat(o.options.contextSeparator).concat(l.context);
7369
+ Z.push(k), w && (Z.push(k + W), d && Z.push(k + L));
7370
7370
  }
7371
7371
  }
7372
7372
  for (var Y; Y = Z.pop(); )
@@ -7404,7 +7404,7 @@ var Pu = {}, _u = function(e) {
7404
7404
  return !1;
7405
7405
  }
7406
7406
  }]), n;
7407
- }(kt);
7407
+ }(St);
7408
7408
  function Yo(e) {
7409
7409
  return e.charAt(0).toUpperCase() + e.slice(1);
7410
7410
  }
@@ -7847,7 +7847,7 @@ var gm = function() {
7847
7847
  } else
7848
7848
  l.logger.warn("missed to pass in variable ".concat(d, " for interpolating ").concat(n)), u = "";
7849
7849
  else
7850
- typeof u != "string" && !l.useRawValueToEscape && (u = Du(u));
7850
+ typeof u != "string" && !l.useRawValueToEscape && (u = Ju(u));
7851
7851
  var m = w.safeValue(u);
7852
7852
  if (n = n.replace(a[0], m), C ? (w.regex.lastIndex += u.length, w.regex.lastIndex -= a[0].length) : w.regex.lastIndex = 0, c++, c >= l.maxReplaces)
7853
7853
  break;
@@ -7885,7 +7885,7 @@ var gm = function() {
7885
7885
  }
7886
7886
  if (a = r(c.call(this, l[1].trim(), u), u), a && l[0] === n && typeof a != "string")
7887
7887
  return a;
7888
- typeof a != "string" && (a = Du(a)), a || (this.logger.warn("missed to resolve ".concat(l[1], " for nesting ").concat(n)), a = ""), g && (a = p.reduce(function(h, C) {
7888
+ typeof a != "string" && (a = Ju(a)), a || (this.logger.warn("missed to resolve ".concat(l[1], " for nesting ").concat(n)), a = ""), g && (a = p.reduce(function(h, C) {
7889
7889
  return i.format(h, C, o.lng, Ke(Ke({}, o), {}, {
7890
7890
  interpolationkey: l[1].trim()
7891
7891
  }));
@@ -7930,7 +7930,7 @@ function fm(e) {
7930
7930
  var o = i.split(";");
7931
7931
  o.forEach(function(l) {
7932
7932
  if (l) {
7933
- var a = l.split(":"), u = Dp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7933
+ var a = l.split(":"), u = Jp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7934
7934
  n[c.trim()] || (n[c.trim()] = g), g === "false" && (n[c.trim()] = !1), g === "true" && (n[c.trim()] = !0), isNaN(g) || (n[c.trim()] = parseInt(g, 10));
7935
7935
  }
7936
7936
  });
@@ -8079,7 +8079,7 @@ var Im = function(e) {
8079
8079
  var t = mm(n);
8080
8080
  function n(r, i, o) {
8081
8081
  var l, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
8082
- return Re(this, n), l = t.call(this), Ui && kt.call(At(l)), l.backend = r, l.store = i, l.services = o, l.languageUtils = o.languageUtils, l.options = a, l.logger = Ee.create("backendConnector"), l.waitingReads = [], l.maxParallelReads = a.maxParallelReads || 10, l.readingCalls = 0, l.maxRetries = a.maxRetries >= 0 ? a.maxRetries : 5, l.retryTimeout = a.retryTimeout >= 1 ? a.retryTimeout : 350, l.state = {}, l.queue = [], l.backend && l.backend.init && l.backend.init(o, a.backend, a), l;
8082
+ return Re(this, n), l = t.call(this), Ui && St.call(At(l)), l.backend = r, l.store = i, l.services = o, l.languageUtils = o.languageUtils, l.options = a, l.logger = Ee.create("backendConnector"), l.waitingReads = [], l.maxParallelReads = a.maxParallelReads || 10, l.readingCalls = 0, l.maxRetries = a.maxRetries >= 0 ? a.maxRetries : 5, l.retryTimeout = a.retryTimeout >= 1 ? a.retryTimeout : 350, l.state = {}, l.queue = [], l.backend && l.backend.init && l.backend.init(o, a.backend, a), l;
8083
8083
  }
8084
8084
  return Be(n, [{
8085
8085
  key: "queueLoad",
@@ -8230,7 +8230,7 @@ var Im = function(e) {
8230
8230
  }
8231
8231
  }
8232
8232
  }]), n;
8233
- }(kt);
8233
+ }(St);
8234
8234
  function os() {
8235
8235
  return {
8236
8236
  debug: !1,
@@ -8305,7 +8305,7 @@ function as(e, t) {
8305
8305
  }
8306
8306
  return n;
8307
8307
  }
8308
- function Te(e) {
8308
+ function De(e) {
8309
8309
  for (var t = 1; t < arguments.length; t++) {
8310
8310
  var n = arguments[t] != null ? arguments[t] : {};
8311
8311
  t % 2 ? as(Object(n), !0).forEach(function(r) {
@@ -8340,7 +8340,7 @@ function ym() {
8340
8340
  return !1;
8341
8341
  }
8342
8342
  }
8343
- function Tr() {
8343
+ function Dr() {
8344
8344
  }
8345
8345
  function bm(e) {
8346
8346
  var t = Object.getOwnPropertyNames(Object.getPrototypeOf(e));
@@ -8348,12 +8348,12 @@ function bm(e) {
8348
8348
  typeof e[n] == "function" && (e[n] = e[n].bind(e));
8349
8349
  });
8350
8350
  }
8351
- var Si = function(e) {
8351
+ var ki = function(e) {
8352
8352
  Ei(n, e);
8353
8353
  var t = vm(n);
8354
8354
  function n() {
8355
8355
  var r, i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, o = arguments.length > 1 ? arguments[1] : void 0;
8356
- if (Re(this, n), r = t.call(this), Ui && kt.call(At(r)), r.options = ls(i), r.services = {}, r.logger = Ee, r.modules = {
8356
+ if (Re(this, n), r = t.call(this), Ui && St.call(At(r)), r.options = ls(i), r.services = {}, r.logger = Ee, r.modules = {
8357
8357
  external: []
8358
8358
  }, bm(At(r)), o && !r.isInitialized && !i.isClone) {
8359
8359
  if (!r.options.initImmediate)
@@ -8370,7 +8370,7 @@ var Si = function(e) {
8370
8370
  var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 ? arguments[1] : void 0;
8371
8371
  typeof o == "function" && (l = o, o = {}), !o.defaultNS && o.defaultNS !== !1 && o.ns && (typeof o.ns == "string" ? o.defaultNS = o.ns : o.ns.indexOf("translation") < 0 && (o.defaultNS = o.ns[0]));
8372
8372
  var a = os();
8373
- this.options = Te(Te(Te({}, a), this.options), ls(o)), this.options.compatibilityAPI !== "v1" && (this.options.interpolation = Te(Te({}, a.interpolation), this.options.interpolation)), o.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = o.keySeparator), o.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = o.nsSeparator);
8373
+ this.options = De(De(De({}, a), this.options), ls(o)), this.options.compatibilityAPI !== "v1" && (this.options.interpolation = De(De({}, a.interpolation), this.options.interpolation)), o.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = o.keySeparator), o.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = o.nsSeparator);
8374
8374
  function u(d) {
8375
8375
  return d ? typeof d == "function" ? new d() : d : null;
8376
8376
  }
@@ -8399,7 +8399,7 @@ var Si = function(e) {
8399
8399
  d.init && d.init(i);
8400
8400
  });
8401
8401
  }
8402
- if (this.format = this.options.interpolation.format, l || (l = Tr), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
8402
+ if (this.format = this.options.interpolation.format, l || (l = Dr), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
8403
8403
  var f = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
8404
8404
  f.length > 0 && f[0] !== "dev" && (this.options.lng = f[0]);
8405
8405
  }
@@ -8418,7 +8418,7 @@ var Si = function(e) {
8418
8418
  return (s = i.store)[d].apply(s, arguments), i;
8419
8419
  };
8420
8420
  });
8421
- var v = Hn(), w = function() {
8421
+ var v = Fn(), w = function() {
8422
8422
  var s = function(I, y) {
8423
8423
  i.isInitialized && !i.initializedStoreOnce && i.logger.warn("init: i18next is already initialized. You should call init just once!"), i.isInitialized = !0, i.options.isClone || i.logger.log("initialized", i.options), i.emit("initialized", i.options), v.resolve(y), l(I, y);
8424
8424
  };
@@ -8431,7 +8431,7 @@ var Si = function(e) {
8431
8431
  }, {
8432
8432
  key: "loadResources",
8433
8433
  value: function(i) {
8434
- var o = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Tr, a = l, u = typeof i == "string" ? i : this.language;
8434
+ var o = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Dr, a = l, u = typeof i == "string" ? i : this.language;
8435
8435
  if (typeof i == "function" && (a = i), !this.options.resources || this.options.partialBundledLanguages) {
8436
8436
  if (u && u.toLowerCase() === "cimode")
8437
8437
  return a();
@@ -8462,8 +8462,8 @@ var Si = function(e) {
8462
8462
  }, {
8463
8463
  key: "reloadResources",
8464
8464
  value: function(i, o, l) {
8465
- var a = Hn();
8466
- return i || (i = this.languages), o || (o = this.options.ns), l || (l = Tr), this.services.backendConnector.reload(i, o, function(u) {
8465
+ var a = Fn();
8466
+ return i || (i = this.languages), o || (o = this.options.ns), l || (l = Dr), this.services.backendConnector.reload(i, o, function(u) {
8467
8467
  a.resolve(), l(u);
8468
8468
  }), a;
8469
8469
  }
@@ -8493,7 +8493,7 @@ var Si = function(e) {
8493
8493
  value: function(i, o) {
8494
8494
  var l = this;
8495
8495
  this.isLanguageChangingTo = i;
8496
- var a = Hn();
8496
+ var a = Fn();
8497
8497
  this.emit("languageChanging", i);
8498
8498
  var u = function(f) {
8499
8499
  l.language = f, l.languages = l.services.languageUtils.toResolveHierarchy(f), l.resolvedLanguage = void 0, l.setResolvedLanguage(f);
@@ -8522,7 +8522,7 @@ var Si = function(e) {
8522
8522
  C[v - 2] = arguments[v];
8523
8523
  f = a.options.overloadTranslationOptionHandler([p, g].concat(C));
8524
8524
  } else
8525
- f = Te({}, g);
8525
+ f = De({}, g);
8526
8526
  f.lng = f.lng || c.lng, f.lngs = f.lngs || c.lngs, f.ns = f.ns || c.ns, f.keyPrefix = f.keyPrefix || l || c.keyPrefix;
8527
8527
  var w = a.options.keySeparator || ".", d;
8528
8528
  return f.keyPrefix && Array.isArray(p) ? d = p.map(function(s) {
@@ -8573,7 +8573,7 @@ var Si = function(e) {
8573
8573
  }, {
8574
8574
  key: "loadNamespaces",
8575
8575
  value: function(i, o) {
8576
- var l = this, a = Hn();
8576
+ var l = this, a = Fn();
8577
8577
  return this.options.ns ? (typeof i == "string" && (i = [i]), i.forEach(function(u) {
8578
8578
  l.options.ns.indexOf(u) < 0 && l.options.ns.push(u);
8579
8579
  }), this.loadResources(function(u) {
@@ -8583,7 +8583,7 @@ var Si = function(e) {
8583
8583
  }, {
8584
8584
  key: "loadLanguages",
8585
8585
  value: function(i, o) {
8586
- var l = Hn();
8586
+ var l = Fn();
8587
8587
  typeof i == "string" && (i = [i]);
8588
8588
  var a = this.options.preload || [], u = i.filter(function(c) {
8589
8589
  return a.indexOf(c) < 0;
@@ -8603,14 +8603,14 @@ var Si = function(e) {
8603
8603
  }, {
8604
8604
  key: "cloneInstance",
8605
8605
  value: function() {
8606
- var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Tr, a = Te(Te(Te({}, this.options), o), {
8606
+ var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Dr, a = De(De(De({}, this.options), o), {
8607
8607
  isClone: !0
8608
8608
  }), u = new n(a);
8609
8609
  (o.debug !== void 0 || o.prefix !== void 0) && (u.logger = u.logger.clone(o));
8610
8610
  var c = ["store", "services", "language"];
8611
8611
  return c.forEach(function(p) {
8612
8612
  u[p] = i[p];
8613
- }), u.services = Te({}, this.services), u.services.utils = {
8613
+ }), u.services = De({}, this.services), u.services.utils = {
8614
8614
  hasLoadedNamespace: u.hasLoadedNamespace.bind(u)
8615
8615
  }, u.translator = new _u(u.services, u.options), u.translator.on("*", function(p) {
8616
8616
  for (var g = arguments.length, f = new Array(g > 1 ? g - 1 : 0), h = 1; h < g; h++)
@@ -8632,13 +8632,13 @@ var Si = function(e) {
8632
8632
  };
8633
8633
  }
8634
8634
  }]), n;
8635
- }(kt);
8636
- $e(Si, "createInstance", function() {
8635
+ }(St);
8636
+ $e(ki, "createInstance", function() {
8637
8637
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0;
8638
- return new Si(e, t);
8638
+ return new ki(e, t);
8639
8639
  });
8640
- var ue = Si.createInstance();
8641
- ue.createInstance = Si.createInstance;
8640
+ var ue = ki.createInstance();
8641
+ ue.createInstance = ki.createInstance;
8642
8642
  ue.createInstance;
8643
8643
  ue.dir;
8644
8644
  ue.init;
@@ -8816,13 +8816,13 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Lm = function(t, n, r) {
8816
8816
  }
8817
8817
  return n.length > 0 ? n : void 0;
8818
8818
  }
8819
- }, Sm = {
8819
+ }, km = {
8820
8820
  name: "htmlTag",
8821
8821
  lookup: function(t) {
8822
8822
  var n, r = t.htmlTag || (typeof document < "u" ? document.documentElement : null);
8823
8823
  return r && typeof r.getAttribute == "function" && (n = r.getAttribute("lang")), n;
8824
8824
  }
8825
- }, km = {
8825
+ }, Sm = {
8826
8826
  name: "path",
8827
8827
  lookup: function(t) {
8828
8828
  var n;
@@ -8876,7 +8876,7 @@ var Vd = /* @__PURE__ */ function() {
8876
8876
  languageUtils: {}
8877
8877
  }, this.options = Wm(r, this.options || {}, Bm()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(o) {
8878
8878
  return o.replace("-", "_");
8879
- }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = i, this.addDetector(Gm), this.addDetector(Xm), this.addDetector(Ym), this.addDetector(Am), this.addDetector(Nm), this.addDetector(Sm), this.addDetector(km), this.addDetector(Rm);
8879
+ }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = i, this.addDetector(Gm), this.addDetector(Xm), this.addDetector(Ym), this.addDetector(Am), this.addDetector(Nm), this.addDetector(km), this.addDetector(Sm), this.addDetector(Rm);
8880
8880
  }
8881
8881
  }, {
8882
8882
  key: "addDetector",
@@ -8909,7 +8909,7 @@ var Vd = /* @__PURE__ */ function() {
8909
8909
  }]), e;
8910
8910
  }();
8911
8911
  Vd.type = "languageDetector";
8912
- const Om = "Se connecter", Km = "Se déconnecter", Vm = "Gérer le profil", jm = "Charger un plein", Fm = "Xtra navigation", Hm = "S'inscrire", Mm = {
8912
+ const Om = "Se connecter", Km = "Se déconnecter", Vm = "Gérer le profil", jm = "Charger un plein", Hm = "Xtra navigation", Fm = "S'inscrire", Mm = {
8913
8913
  title: "Conditions générales",
8914
8914
  description: "J'ai pu prendre connaisance de la Déclaration de confidentialité Xtra et j'accepte les conditions générales suivantes",
8915
8915
  error: {
@@ -8921,19 +8921,19 @@ const Om = "Se connecter", Km = "Se déconnecter", Vm = "Gérer le profil", jm =
8921
8921
  genericError: "Pour continuer, veuillez compléter tous les champs correctement",
8922
8922
  detailedError: "Pour continuer, veuillez compléter ces champs : { invalidFormFieldLabels }}. Commencez par {{ firstInvalidFormFieldLabel }}"
8923
8923
  }
8924
- }, Jm = "Code Xtra QR", Tm = "Vie privée", Dm = "Payer avec Xtra", Qm = {
8924
+ }, Tm = "Code Xtra QR", Dm = "Vie privée", Jm = "Payer avec Xtra", Qm = {
8925
8925
  login: Om,
8926
8926
  logout: Km,
8927
8927
  manageProfile: Vm,
8928
8928
  loading: jm,
8929
- xtraMenuAriaLabel: Fm,
8930
- register: Hm,
8929
+ xtraMenuAriaLabel: Hm,
8930
+ register: Fm,
8931
8931
  termsAndConditions: Mm,
8932
8932
  confirm: zm,
8933
8933
  common: xm,
8934
- qrCode: Jm,
8935
- privacy: Tm,
8936
- payment: Dm
8934
+ qrCode: Tm,
8935
+ privacy: Dm,
8936
+ payment: Jm
8937
8937
  }, Em = "Aanmelden", Um = "Afmelden", Pm = "Profiel beheren", _m = "Laden", $m = "Xtra navigatie", qm = "Registreren", eh = {
8938
8938
  title: "Algemene voorwaarden",
8939
8939
  description: "Ik heb kennis kunnen nemen van de Privacyverklaring van Xtra, en ga akkoord met de volgende algemene voorwaarden",
@@ -8982,12 +8982,12 @@ const ah = (e) => {
8982
8982
  return e.prepend(n);
8983
8983
  });
8984
8984
  };
8985
- let Wl, Ll, Gl, jd, Fd;
8985
+ let Wl, Ll, Gl, jd, Hd;
8986
8986
  class sh extends HTMLElement {
8987
8987
  async connectedCallback() {
8988
8988
  const t = this.attachShadow({ mode: "open" });
8989
8989
  uh(t);
8990
- const n = Rd(t), r = (await import("./App-a49dc49e.mjs")).default;
8990
+ const n = Rd(t), r = (await import("./App-9bb5c8e4.mjs")).default;
8991
8991
  n.render(
8992
8992
  /* @__PURE__ */ nr.jsx(
8993
8993
  r,
@@ -8996,7 +8996,7 @@ class sh extends HTMLElement {
8996
8996
  redirectUrl: Ll,
8997
8997
  apiUrl: Gl,
8998
8998
  position: jd,
8999
- bouMenuItems: Fd
8999
+ bouMenuItems: Hd
9000
9000
  }
9001
9001
  )
9002
9002
  );
@@ -9007,10 +9007,10 @@ const fh = (e) => {
9007
9007
  return;
9008
9008
  if (!e.apiUrl)
9009
9009
  throw new Error("apiUrl must specified when registering the Xtra authentication component.");
9010
- if (!Object.values(Sl).includes(e.environment))
9010
+ if (!Object.values(kl).includes(e.environment))
9011
9011
  throw new Yg(Wl);
9012
- return Wl = e.environment, Gl = e.apiUrl, Ll = e.redirectUrl ?? window.location.href, jd = e.position ?? "right", Fd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", sh), { loginWithXtra: () => {
9013
- const r = Jp({ apiUrl: Gl, redirectUrl: Ll });
9012
+ return Wl = e.environment, Gl = e.apiUrl, Ll = e.redirectUrl ?? window.location.href, jd = e.position ?? "right", Hd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", sh), { loginWithXtra: () => {
9013
+ const r = Tp({ apiUrl: Gl, redirectUrl: Ll });
9014
9014
  window.location.replace(r);
9015
9015
  } };
9016
9016
  };
@@ -9019,7 +9019,7 @@ export {
9019
9019
  dh as a,
9020
9020
  gh as b,
9021
9021
  fh as c,
9022
- Jp as g,
9022
+ Tp as g,
9023
9023
  nr as j,
9024
9024
  Q as r,
9025
9025
  Ys as u