@myxtra/authentication-green 1.7.6 → 1.7.7-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App-ad762d98.mjs +3336 -0
- package/dist/icons/bouMenuIcons.svg +1094 -0
- package/dist/{index-ca34452c.mjs → index-cff84219.mjs} +279 -279
- package/dist/xtra-authentication.mjs +1 -1
- package/package.json +3 -3
- package/dist/App-c1c21fe2.mjs +0 -3326
|
@@ -538,7 +538,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
538
538
|
function Zg(e, t) {
|
|
539
539
|
return Ls(e) || wg(e, t) || Gs(e, t) || Xs();
|
|
540
540
|
}
|
|
541
|
-
function
|
|
541
|
+
function Ka(e, t) {
|
|
542
542
|
var n = Object.keys(e);
|
|
543
543
|
if (Object.getOwnPropertySymbols) {
|
|
544
544
|
var r = Object.getOwnPropertySymbols(e);
|
|
@@ -551,9 +551,9 @@ function Va(e, t) {
|
|
|
551
551
|
function to(e) {
|
|
552
552
|
for (var t = 1; t < arguments.length; t++) {
|
|
553
553
|
var n = arguments[t] != null ? arguments[t] : {};
|
|
554
|
-
t % 2 ?
|
|
554
|
+
t % 2 ? Ka(Object(n), !0).forEach(function(r) {
|
|
555
555
|
$e(e, r, n[r]);
|
|
556
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) :
|
|
556
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ka(Object(n)).forEach(function(r) {
|
|
557
557
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
|
|
558
558
|
});
|
|
559
559
|
}
|
|
@@ -720,7 +720,7 @@ R();
|
|
|
720
720
|
R();
|
|
721
721
|
R();
|
|
722
722
|
R();
|
|
723
|
-
var
|
|
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
726
|
var kg = (e, t) => e.getAttribute("name") === t, Sg = (e, t) => {
|
|
@@ -749,8 +749,8 @@ var Rg = (e, t) => Object.keys(t).reduce((n, r, i) => {
|
|
|
749
749
|
c(h), g(e);
|
|
750
750
|
}, [a, e, t, i, n, p]), !o && !e && a ? {
|
|
751
751
|
formRef: r,
|
|
752
|
-
AccessibleFormMessage: /* @__PURE__ */ nr.jsx(
|
|
753
|
-
} : { formRef: r, AccessibleFormMessage: /* @__PURE__ */ nr.jsx(
|
|
752
|
+
AccessibleFormMessage: /* @__PURE__ */ nr.jsx(Va, { error: n("common.form.genericError") })
|
|
753
|
+
} : { formRef: r, AccessibleFormMessage: /* @__PURE__ */ nr.jsx(Va, { error: u }) };
|
|
754
754
|
};
|
|
755
755
|
R();
|
|
756
756
|
R();
|
|
@@ -769,7 +769,7 @@ 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+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uOmZvY3VzLXZpc2libGUgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9CiAgLmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwsCiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KfQo=";
|
|
772
|
+
const Og = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
|
|
773
773
|
var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
774
774
|
/**
|
|
775
775
|
* @license React
|
|
@@ -786,9 +786,9 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
786
786
|
G.push(A);
|
|
787
787
|
e:
|
|
788
788
|
for (; 0 < N; ) {
|
|
789
|
-
var
|
|
789
|
+
var K = N - 1 >>> 1, J = G[K];
|
|
790
790
|
if (0 < i(J, A))
|
|
791
|
-
G[
|
|
791
|
+
G[K] = A, G[N] = J, N = K;
|
|
792
792
|
else
|
|
793
793
|
break e;
|
|
794
794
|
}
|
|
@@ -803,12 +803,12 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
803
803
|
if (N !== A) {
|
|
804
804
|
G[0] = N;
|
|
805
805
|
e:
|
|
806
|
-
for (var
|
|
807
|
-
var Ie = 2 * (
|
|
806
|
+
for (var K = 0, J = G.length, _t = J >>> 1; K < _t; ) {
|
|
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 < J && 0 > i(tt, $t) ? (G[
|
|
809
|
+
ve < J && 0 > i(tt, $t) ? (G[K] = tt, G[ve] = N, K = ve) : (G[K] = $t, G[Ie] = N, K = Ie);
|
|
810
810
|
else if (ve < J && 0 > i(tt, N))
|
|
811
|
-
G[
|
|
811
|
+
G[K] = tt, G[ve] = N, K = ve;
|
|
812
812
|
else
|
|
813
813
|
break e;
|
|
814
814
|
}
|
|
@@ -857,10 +857,10 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
857
857
|
var N = f;
|
|
858
858
|
try {
|
|
859
859
|
for (m(A), g = n(u); g !== null && (!(g.expirationTime > A) || G && !_()); ) {
|
|
860
|
-
var
|
|
861
|
-
if (typeof
|
|
860
|
+
var K = g.callback;
|
|
861
|
+
if (typeof K == "function") {
|
|
862
862
|
g.callback = null, f = g.priorityLevel;
|
|
863
|
-
var J =
|
|
863
|
+
var J = K(g.expirationTime <= A);
|
|
864
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);
|
|
@@ -889,27 +889,27 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
889
889
|
try {
|
|
890
890
|
A = W(!0, G);
|
|
891
891
|
} finally {
|
|
892
|
-
A ?
|
|
892
|
+
A ? Kt() : (Z = !1, W = null);
|
|
893
893
|
}
|
|
894
894
|
} else
|
|
895
895
|
Z = !1;
|
|
896
896
|
}
|
|
897
|
-
var
|
|
897
|
+
var Kt;
|
|
898
898
|
if (typeof s == "function")
|
|
899
|
-
|
|
899
|
+
Kt = function() {
|
|
900
900
|
s(xe);
|
|
901
901
|
};
|
|
902
902
|
else if (typeof MessageChannel < "u") {
|
|
903
903
|
var qe = new MessageChannel(), Gr = qe.port2;
|
|
904
|
-
qe.port1.onmessage = xe,
|
|
904
|
+
qe.port1.onmessage = xe, Kt = function() {
|
|
905
905
|
Gr.postMessage(null);
|
|
906
906
|
};
|
|
907
907
|
} else
|
|
908
|
-
|
|
908
|
+
Kt = function() {
|
|
909
909
|
w(xe, 0);
|
|
910
910
|
};
|
|
911
911
|
function ft(G) {
|
|
912
|
-
W = G, Z || (Z = !0,
|
|
912
|
+
W = G, Z || (Z = !0, Kt());
|
|
913
913
|
}
|
|
914
914
|
function et(G, A) {
|
|
915
915
|
L = w(function() {
|
|
@@ -964,8 +964,8 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
964
964
|
f = N;
|
|
965
965
|
}
|
|
966
966
|
}, e.unstable_scheduleCallback = function(G, A, N) {
|
|
967
|
-
var
|
|
968
|
-
switch (typeof N == "object" && N !== null ? (N = N.delay, N = typeof N == "number" && 0 < N ?
|
|
967
|
+
var K = e.unstable_now();
|
|
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
970
|
var J = -1;
|
|
971
971
|
break;
|
|
@@ -981,7 +981,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
981
981
|
default:
|
|
982
982
|
J = 5e3;
|
|
983
983
|
}
|
|
984
|
-
return J = N + J, G = { id: p++, callback: A, priorityLevel: G, startTime: N, expirationTime: J, sortIndex: -1 }, N >
|
|
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() {
|
|
@@ -996,7 +996,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Ss = {};
|
|
|
996
996
|
};
|
|
997
997
|
})(Ss);
|
|
998
998
|
ks.exports = Ss;
|
|
999
|
-
var
|
|
999
|
+
var Kg = ks.exports;
|
|
1000
1000
|
/**
|
|
1001
1001
|
* @license React
|
|
1002
1002
|
* react-dom.production.min.js
|
|
@@ -1006,7 +1006,7 @@ var Vg = ks.exports;
|
|
|
1006
1006
|
* This source code is licensed under the MIT license found in the
|
|
1007
1007
|
* LICENSE file in the root directory of this source tree.
|
|
1008
1008
|
*/
|
|
1009
|
-
var Rs = Q, We =
|
|
1009
|
+
var Rs = Q, We = Kg;
|
|
1010
1010
|
function b(e) {
|
|
1011
1011
|
for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
|
|
1012
1012
|
t += "&args[]=" + encodeURIComponent(arguments[n]);
|
|
@@ -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"), ko = Object.prototype.hasOwnProperty,
|
|
1024
|
-
function
|
|
1025
|
-
return ko.call(
|
|
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
|
+
function jg(e) {
|
|
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
|
|
1027
|
+
function Hg(e, t, n, r) {
|
|
1028
1028
|
if (n !== null && n.type === 0)
|
|
1029
1029
|
return !1;
|
|
1030
1030
|
switch (typeof t) {
|
|
@@ -1038,7 +1038,7 @@ function jg(e, t, n, r) {
|
|
|
1038
1038
|
}
|
|
1039
1039
|
}
|
|
1040
1040
|
function Fg(e, t, n, r) {
|
|
1041
|
-
if (t === null || typeof t > "u" ||
|
|
1041
|
+
if (t === null || typeof t > "u" || Hg(e, t, n, r))
|
|
1042
1042
|
return !0;
|
|
1043
1043
|
if (r)
|
|
1044
1044
|
return !1;
|
|
@@ -1115,9 +1115,9 @@ 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") && (Fg(t, n, i, r) && (n = null), r || i === null ?
|
|
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"), So = Symbol.for("react.profiler"), Os = Symbol.for("react.provider"),
|
|
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
1121
|
function Sn(e) {
|
|
1122
1122
|
return e === null || typeof e != "object" ? null : (e = Fa && e[Fa] || e["@@iterator"], typeof e == "function" ? e : null);
|
|
1123
1123
|
}
|
|
@@ -1238,14 +1238,14 @@ function Oo(e) {
|
|
|
1238
1238
|
}
|
|
1239
1239
|
if (typeof e == "object")
|
|
1240
1240
|
switch (e.$$typeof) {
|
|
1241
|
-
case
|
|
1241
|
+
case Ks:
|
|
1242
1242
|
return (e.displayName || "Context") + ".Consumer";
|
|
1243
1243
|
case Os:
|
|
1244
1244
|
return (e._context.displayName || "Context") + ".Provider";
|
|
1245
|
-
case
|
|
1245
|
+
case Kl:
|
|
1246
1246
|
var t = e.render;
|
|
1247
1247
|
return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
1248
|
-
case
|
|
1248
|
+
case Vl:
|
|
1249
1249
|
return t = e.displayName || null, t !== null ? t : Oo(e.type) || "Memo";
|
|
1250
1250
|
case mt:
|
|
1251
1251
|
t = e._payload, e = e._init;
|
|
@@ -1321,12 +1321,12 @@ function Nt(e) {
|
|
|
1321
1321
|
return "";
|
|
1322
1322
|
}
|
|
1323
1323
|
}
|
|
1324
|
-
function
|
|
1324
|
+
function js(e) {
|
|
1325
1325
|
var t = e.type;
|
|
1326
1326
|
return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
|
|
1327
1327
|
}
|
|
1328
1328
|
function xg(e) {
|
|
1329
|
-
var t =
|
|
1329
|
+
var t = js(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), r = "" + e[t];
|
|
1330
1330
|
if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
|
|
1331
1331
|
var i = n.get, o = n.set;
|
|
1332
1332
|
return Object.defineProperty(e, t, { configurable: !0, get: function() {
|
|
@@ -1345,14 +1345,14 @@ function xg(e) {
|
|
|
1345
1345
|
function Ar(e) {
|
|
1346
1346
|
e._valueTracker || (e._valueTracker = xg(e));
|
|
1347
1347
|
}
|
|
1348
|
-
function
|
|
1348
|
+
function Hs(e) {
|
|
1349
1349
|
if (!e)
|
|
1350
1350
|
return !1;
|
|
1351
1351
|
var t = e._valueTracker;
|
|
1352
1352
|
if (!t)
|
|
1353
1353
|
return !0;
|
|
1354
1354
|
var n = t.getValue(), r = "";
|
|
1355
|
-
return e && (r =
|
|
1355
|
+
return e && (r = js(e) ? e.checked ? "true" : "false" : e.value), e = r, e !== n ? (t.setValue(e), !0) : !1;
|
|
1356
1356
|
}
|
|
1357
1357
|
function oi(e) {
|
|
1358
1358
|
if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u")
|
|
@@ -1363,7 +1363,7 @@ function oi(e) {
|
|
|
1363
1363
|
return e.body;
|
|
1364
1364
|
}
|
|
1365
1365
|
}
|
|
1366
|
-
function
|
|
1366
|
+
function Ko(e, t) {
|
|
1367
1367
|
var n = t.checked;
|
|
1368
1368
|
return x({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: n ?? e._wrapperState.initialChecked });
|
|
1369
1369
|
}
|
|
@@ -1374,7 +1374,7 @@ function Ma(e, t) {
|
|
|
1374
1374
|
function Fs(e, t) {
|
|
1375
1375
|
t = t.checked, t != null && Bl(e, "checked", t, !1);
|
|
1376
1376
|
}
|
|
1377
|
-
function
|
|
1377
|
+
function Vo(e, t) {
|
|
1378
1378
|
Fs(e, t);
|
|
1379
1379
|
var n = Nt(t.value), r = t.type;
|
|
1380
1380
|
if (n != null)
|
|
@@ -1383,7 +1383,7 @@ function Ko(e, t) {
|
|
|
1383
1383
|
e.removeAttribute("value");
|
|
1384
1384
|
return;
|
|
1385
1385
|
}
|
|
1386
|
-
t.hasOwnProperty("value") ?
|
|
1386
|
+
t.hasOwnProperty("value") ? jo(e, t.type, n) : t.hasOwnProperty("defaultValue") && jo(e, t.type, Nt(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
|
|
1387
1387
|
}
|
|
1388
1388
|
function za(e, t, n) {
|
|
1389
1389
|
if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
|
|
@@ -1394,7 +1394,7 @@ function za(e, t, n) {
|
|
|
1394
1394
|
}
|
|
1395
1395
|
n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
|
|
1396
1396
|
}
|
|
1397
|
-
function
|
|
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
1400
|
var Tn = Array.isArray;
|
|
@@ -1416,7 +1416,7 @@ function hn(e, t, n, r) {
|
|
|
1416
1416
|
t !== null && (t.selected = !0);
|
|
1417
1417
|
}
|
|
1418
1418
|
}
|
|
1419
|
-
function
|
|
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 });
|
|
@@ -1579,7 +1579,7 @@ function zo(e, t) {
|
|
|
1579
1579
|
}
|
|
1580
1580
|
}
|
|
1581
1581
|
var xo = null;
|
|
1582
|
-
function
|
|
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
1585
|
var To = null, Cn = null, In = null;
|
|
@@ -1588,7 +1588,7 @@ function Da(e) {
|
|
|
1588
1588
|
if (typeof To != "function")
|
|
1589
1589
|
throw Error(b(280));
|
|
1590
1590
|
var t = e.stateNode;
|
|
1591
|
-
t && (t =
|
|
1591
|
+
t && (t = Vi(t), To(e.stateNode, e.type, t));
|
|
1592
1592
|
}
|
|
1593
1593
|
}
|
|
1594
1594
|
function Js(e) {
|
|
@@ -1622,7 +1622,7 @@ function or(e, t) {
|
|
|
1622
1622
|
var n = e.stateNode;
|
|
1623
1623
|
if (n === null)
|
|
1624
1624
|
return null;
|
|
1625
|
-
var r =
|
|
1625
|
+
var r = Vi(n);
|
|
1626
1626
|
if (r === null)
|
|
1627
1627
|
return null;
|
|
1628
1628
|
n = r[t];
|
|
@@ -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, D = We.unstable_now, qg = We.unstable_getCurrentPriorityLevel,
|
|
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 {
|
|
@@ -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 =
|
|
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 =
|
|
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
|
|
2189
|
+
case Hl:
|
|
2190
2190
|
return 1;
|
|
2191
2191
|
case tc:
|
|
2192
2192
|
return 4;
|
|
@@ -2243,10 +2243,10 @@ 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 }, Tl = Ge(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), pf = Ge(wr), ao, uo,
|
|
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
|
-
return "movementX" in e ? e.movementX : (e !==
|
|
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);
|
|
2250
2250
|
}, movementY: function(e) {
|
|
2251
2251
|
return "movementY" in e ? e.movementY : uo;
|
|
2252
2252
|
} }), _a = Ge(Bi), mf = x({}, Bi, { dataTransfer: 0 }), hf = Ge(mf), Cf = x({}, wr, { relatedTarget: 0 }), so = Ge(Cf), If = x({}, Nn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), vf = Ge(If), yf = x({}, Nn, { clipboardData: function(e) {
|
|
@@ -2331,13 +2331,13 @@ var Xf = x({}, wr, { key: function(e) {
|
|
|
2331
2331
|
},
|
|
2332
2332
|
deltaZ: 0,
|
|
2333
2333
|
deltaMode: 0
|
|
2334
|
-
}), Of = Ge(Bf),
|
|
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
|
|
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":
|
|
2340
|
-
return
|
|
2340
|
+
return Kf.indexOf(t.keyCode) !== -1;
|
|
2341
2341
|
case "keydown":
|
|
2342
2342
|
return t.keyCode !== 229;
|
|
2343
2343
|
case "keypress":
|
|
@@ -2352,7 +2352,7 @@ function pc(e) {
|
|
|
2352
2352
|
return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
|
|
2353
2353
|
}
|
|
2354
2354
|
var ln = !1;
|
|
2355
|
-
function
|
|
2355
|
+
function jf(e, t) {
|
|
2356
2356
|
switch (e) {
|
|
2357
2357
|
case "compositionend":
|
|
2358
2358
|
return pc(t);
|
|
@@ -2364,7 +2364,7 @@ function Hf(e, t) {
|
|
|
2364
2364
|
return null;
|
|
2365
2365
|
}
|
|
2366
2366
|
}
|
|
2367
|
-
function
|
|
2367
|
+
function Hf(e, t) {
|
|
2368
2368
|
if (ln)
|
|
2369
2369
|
return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = vt = null, ln = !1, e) : null;
|
|
2370
2370
|
switch (e) {
|
|
@@ -2398,7 +2398,7 @@ function Mf(e) {
|
|
|
2398
2398
|
}
|
|
2399
2399
|
function Oi(e) {
|
|
2400
2400
|
var t = sn(e);
|
|
2401
|
-
if (
|
|
2401
|
+
if (Hs(t))
|
|
2402
2402
|
return e;
|
|
2403
2403
|
}
|
|
2404
2404
|
function zf(e, t) {
|
|
@@ -2425,7 +2425,7 @@ function iu() {
|
|
|
2425
2425
|
function Cc(e) {
|
|
2426
2426
|
if (e.propertyName === "value" && Oi(sr)) {
|
|
2427
2427
|
var t = [];
|
|
2428
|
-
mc(t, sr, e,
|
|
2428
|
+
mc(t, sr, e, jl(e)), Ps(Mf, t);
|
|
2429
2429
|
}
|
|
2430
2430
|
}
|
|
2431
2431
|
function xf(e, t, n) {
|
|
@@ -2545,7 +2545,7 @@ function Or(e, t) {
|
|
|
2545
2545
|
}
|
|
2546
2546
|
var un = { animationend: Or("Animation", "AnimationEnd"), animationiteration: Or("Animation", "AnimationIteration"), animationstart: Or("Animation", "AnimationStart"), transitionend: Or("Transition", "TransitionEnd") }, fo = {}, yc = {};
|
|
2547
2547
|
ut && (yc = document.createElement("div").style, "AnimationEvent" in window || (delete un.animationend.animation, delete un.animationiteration.animation, delete un.animationstart.animation), "TransitionEvent" in window || delete un.transitionend.transition);
|
|
2548
|
-
function
|
|
2548
|
+
function Ki(e) {
|
|
2549
2549
|
if (fo[e])
|
|
2550
2550
|
return fo[e];
|
|
2551
2551
|
if (!un[e])
|
|
@@ -2556,7 +2556,7 @@ function Vi(e) {
|
|
|
2556
2556
|
return fo[e] = t[n];
|
|
2557
2557
|
return e;
|
|
2558
2558
|
}
|
|
2559
|
-
var bc =
|
|
2559
|
+
var bc = Ki("animationend"), wc = Ki("animationiteration"), Zc = Ki("animationstart"), Wc = Ki("transitionend"), Lc = /* @__PURE__ */ new Map(), uu = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
|
|
2560
2560
|
function Rt(e, t) {
|
|
2561
2561
|
Lc.set(e, t), Ut(t, [e]);
|
|
2562
2562
|
}
|
|
@@ -2611,7 +2611,7 @@ function Gc(e, t) {
|
|
|
2611
2611
|
if (ai)
|
|
2612
2612
|
throw e = Jo, ai = !1, Jo = null, e;
|
|
2613
2613
|
}
|
|
2614
|
-
function
|
|
2614
|
+
function j(e, t) {
|
|
2615
2615
|
var n = t[nl];
|
|
2616
2616
|
n === void 0 && (n = t[nl] = /* @__PURE__ */ new Set());
|
|
2617
2617
|
var r = e + "__bubble";
|
|
@@ -2621,14 +2621,14 @@ function ho(e, t, n) {
|
|
|
2621
2621
|
var r = 0;
|
|
2622
2622
|
t && (r |= 4), Xc(n, e, r, t);
|
|
2623
2623
|
}
|
|
2624
|
-
var
|
|
2624
|
+
var Kr = "_reactListening" + Math.random().toString(36).slice(2);
|
|
2625
2625
|
function dr(e) {
|
|
2626
|
-
if (!e[
|
|
2627
|
-
e[
|
|
2626
|
+
if (!e[Kr]) {
|
|
2627
|
+
e[Kr] = !0, Bs.forEach(function(n) {
|
|
2628
2628
|
n !== "selectionchange" && ($f.has(n) || ho(n, !1, e), ho(n, !0, e));
|
|
2629
2629
|
});
|
|
2630
2630
|
var t = e.nodeType === 9 ? e : e.ownerDocument;
|
|
2631
|
-
t === null || t[
|
|
2631
|
+
t === null || t[Kr] || (t[Kr] = !0, ho("selectionchange", !1, t));
|
|
2632
2632
|
}
|
|
2633
2633
|
}
|
|
2634
2634
|
function Xc(e, t, n, 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 =
|
|
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;
|
|
@@ -2676,7 +2676,7 @@ function Co(e, t, n, r, i) {
|
|
|
2676
2676
|
r = r.return;
|
|
2677
2677
|
}
|
|
2678
2678
|
Ps(function() {
|
|
2679
|
-
var c = o, p =
|
|
2679
|
+
var c = o, p = jl(n), g = [];
|
|
2680
2680
|
e: {
|
|
2681
2681
|
var f = Lc.get(e);
|
|
2682
2682
|
if (f !== void 0) {
|
|
@@ -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) && (
|
|
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 ?
|
|
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,
|
|
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++;
|
|
@@ -2812,7 +2812,7 @@ function Co(e, t, n, r, i) {
|
|
|
2812
2812
|
mc(g, y, n, p);
|
|
2813
2813
|
break e;
|
|
2814
2814
|
}
|
|
2815
|
-
Z && Z(e, f, c), e === "focusout" && (Z = f._wrapperState) && Z.controlled && f.type === "number" &&
|
|
2815
|
+
Z && Z(e, f, c), e === "focusout" && (Z = f._wrapperState) && Z.controlled && f.type === "number" && jo(f, "number", f.value);
|
|
2816
2816
|
}
|
|
2817
2817
|
switch (Z = c ? sn(c) : window, e) {
|
|
2818
2818
|
case "focusin":
|
|
@@ -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 =
|
|
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
|
});
|
|
@@ -2891,7 +2891,7 @@ function du(e) {
|
|
|
2891
2891
|
return (typeof e == "string" ? e : "" + e).replace(qf, `
|
|
2892
2892
|
`).replace(ep, "");
|
|
2893
2893
|
}
|
|
2894
|
-
function
|
|
2894
|
+
function Vr(e, t, n) {
|
|
2895
2895
|
if (t = du(t), du(e) !== t && n)
|
|
2896
2896
|
throw Error(b(425));
|
|
2897
2897
|
}
|
|
@@ -2957,7 +2957,7 @@ function fu(e) {
|
|
|
2957
2957
|
return null;
|
|
2958
2958
|
}
|
|
2959
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
|
|
2960
|
+
function Ht(e) {
|
|
2961
2961
|
var t = e[Qe];
|
|
2962
2962
|
if (t)
|
|
2963
2963
|
return t;
|
|
@@ -2983,17 +2983,17 @@ function sn(e) {
|
|
|
2983
2983
|
return e.stateNode;
|
|
2984
2984
|
throw Error(b(33));
|
|
2985
2985
|
}
|
|
2986
|
-
function
|
|
2986
|
+
function Vi(e) {
|
|
2987
2987
|
return e[fr] || null;
|
|
2988
2988
|
}
|
|
2989
2989
|
var rl = [], cn = -1;
|
|
2990
2990
|
function Bt(e) {
|
|
2991
2991
|
return { current: e };
|
|
2992
2992
|
}
|
|
2993
|
-
function
|
|
2993
|
+
function H(e) {
|
|
2994
2994
|
0 > cn || (e.current = rl[cn], rl[cn] = null, cn--);
|
|
2995
2995
|
}
|
|
2996
|
-
function
|
|
2996
|
+
function V(e, t) {
|
|
2997
2997
|
cn++, rl[cn] = e.current, e.current = t;
|
|
2998
2998
|
}
|
|
2999
2999
|
var kt = {}, ae = Bt(kt), me = Bt(!1), Tt = kt;
|
|
@@ -3013,12 +3013,12 @@ function he(e) {
|
|
|
3013
3013
|
return e = e.childContextTypes, e != null;
|
|
3014
3014
|
}
|
|
3015
3015
|
function pi() {
|
|
3016
|
-
|
|
3016
|
+
H(me), H(ae);
|
|
3017
3017
|
}
|
|
3018
3018
|
function pu(e, t, n) {
|
|
3019
3019
|
if (ae.current !== kt)
|
|
3020
3020
|
throw Error(b(168));
|
|
3021
|
-
|
|
3021
|
+
V(ae, t), V(me, n);
|
|
3022
3022
|
}
|
|
3023
3023
|
function Yc(e, t, n) {
|
|
3024
3024
|
var r = e.stateNode;
|
|
@@ -3031,20 +3031,20 @@ 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 || kt, Tt = ae.current,
|
|
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, Tt), r.__reactInternalMemoizedMergedChildContext = e,
|
|
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
|
-
var it = null,
|
|
3042
|
+
var it = null, ji = !1, vo = !1;
|
|
3043
3043
|
function Ac(e) {
|
|
3044
3044
|
it === null ? it = [e] : it.push(e);
|
|
3045
3045
|
}
|
|
3046
3046
|
function lp(e) {
|
|
3047
|
-
|
|
3047
|
+
ji = !0, Ac(e);
|
|
3048
3048
|
}
|
|
3049
3049
|
function Ot() {
|
|
3050
3050
|
if (!vo && it !== null) {
|
|
@@ -3058,9 +3058,9 @@ function Ot() {
|
|
|
3058
3058
|
r = r(!0);
|
|
3059
3059
|
while (r !== null);
|
|
3060
3060
|
}
|
|
3061
|
-
it = null,
|
|
3061
|
+
it = null, ji = !1;
|
|
3062
3062
|
} catch (i) {
|
|
3063
|
-
throw it !== null && (it = it.slice(e + 1)), ec(
|
|
3063
|
+
throw it !== null && (it = it.slice(e + 1)), ec(Hl, Ot), i;
|
|
3064
3064
|
} finally {
|
|
3065
3065
|
O = t, vo = !1;
|
|
3066
3066
|
}
|
|
@@ -3068,7 +3068,7 @@ function Ot() {
|
|
|
3068
3068
|
return null;
|
|
3069
3069
|
}
|
|
3070
3070
|
var dn = [], gn = 0, hi = null, Ci = 0, Xe = [], Ye = 0, Dt = null, ot = 1, lt = "";
|
|
3071
|
-
function
|
|
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) {
|
|
@@ -3085,7 +3085,7 @@ function Nc(e, t, n) {
|
|
|
3085
3085
|
ot = 1 << o | n << i | r, lt = e;
|
|
3086
3086
|
}
|
|
3087
3087
|
function El(e) {
|
|
3088
|
-
e.return !== null && (
|
|
3088
|
+
e.return !== null && (Vt(e, 1), Nc(e, 1, 0));
|
|
3089
3089
|
}
|
|
3090
3090
|
function Ul(e) {
|
|
3091
3091
|
for (; e === hi; )
|
|
@@ -3093,7 +3093,7 @@ function Ul(e) {
|
|
|
3093
3093
|
for (; e === Dt; )
|
|
3094
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, F = !1,
|
|
3096
|
+
var Ze = null, be = null, F = !1, He = null;
|
|
3097
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);
|
|
@@ -3138,7 +3138,7 @@ function Cu(e) {
|
|
|
3138
3138
|
e = e.return;
|
|
3139
3139
|
Ze = e;
|
|
3140
3140
|
}
|
|
3141
|
-
function
|
|
3141
|
+
function jr(e) {
|
|
3142
3142
|
if (e !== Ze)
|
|
3143
3143
|
return !1;
|
|
3144
3144
|
if (!F)
|
|
@@ -3182,10 +3182,10 @@ function Wn() {
|
|
|
3182
3182
|
be = Ze = null, F = !1;
|
|
3183
3183
|
}
|
|
3184
3184
|
function Pl(e) {
|
|
3185
|
-
|
|
3185
|
+
He === null ? He = [e] : He.push(e);
|
|
3186
3186
|
}
|
|
3187
3187
|
var ap = gt.ReactCurrentBatchConfig;
|
|
3188
|
-
function
|
|
3188
|
+
function Ve(e, t) {
|
|
3189
3189
|
if (e && e.defaultProps) {
|
|
3190
3190
|
t = x({}, t), e = e.defaultProps;
|
|
3191
3191
|
for (var n in e)
|
|
@@ -3200,7 +3200,7 @@ function $l() {
|
|
|
3200
3200
|
}
|
|
3201
3201
|
function ql(e) {
|
|
3202
3202
|
var t = Ii.current;
|
|
3203
|
-
|
|
3203
|
+
H(Ii), e._currentValue = t;
|
|
3204
3204
|
}
|
|
3205
3205
|
function ll(e, t, n) {
|
|
3206
3206
|
for (; e !== null; ) {
|
|
@@ -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
|
|
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;
|
|
@@ -3380,20 +3380,20 @@ var ji = { isMounted: function(e) {
|
|
|
3380
3380
|
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
|
-
function
|
|
3383
|
+
function Kc(e, t, n) {
|
|
3384
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 =
|
|
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 &&
|
|
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 = 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 &&
|
|
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
|
-
function
|
|
3396
|
+
function Vn(e, t, n) {
|
|
3397
3397
|
if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
|
|
3398
3398
|
if (n._owner) {
|
|
3399
3399
|
if (n = n._owner, n) {
|
|
@@ -3416,14 +3416,14 @@ function Kn(e, t, n) {
|
|
|
3416
3416
|
}
|
|
3417
3417
|
return e;
|
|
3418
3418
|
}
|
|
3419
|
-
function
|
|
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) {
|
|
3423
3423
|
var t = e._init;
|
|
3424
3424
|
return t(e._payload);
|
|
3425
3425
|
}
|
|
3426
|
-
function
|
|
3426
|
+
function Vc(e) {
|
|
3427
3427
|
function t(d, s) {
|
|
3428
3428
|
if (e) {
|
|
3429
3429
|
var m = d.deletions;
|
|
@@ -3456,7 +3456,7 @@ function Kc(e) {
|
|
|
3456
3456
|
}
|
|
3457
3457
|
function u(d, s, m, I) {
|
|
3458
3458
|
var y = m.type;
|
|
3459
|
-
return y === on ? p(d, s, m.props.children, I, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (I = i(s, m.props), I.ref =
|
|
3459
|
+
return y === on ? p(d, s, m.props.children, I, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (I = i(s, m.props), I.ref = Vn(d, s, m), I.return = d, I) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = Vn(d, s, m), I.return = d, I);
|
|
3460
3460
|
}
|
|
3461
3461
|
function c(d, s, m, I) {
|
|
3462
3462
|
return s === null || s.tag !== 4 || s.stateNode.containerInfo !== m.containerInfo || s.stateNode.implementation !== m.implementation ? (s = Xo(m, d.mode, I), s.return = d, s) : (s = i(s, m.children || []), s.return = d, s);
|
|
@@ -3470,7 +3470,7 @@ function Kc(e) {
|
|
|
3470
3470
|
if (typeof s == "object" && s !== null) {
|
|
3471
3471
|
switch (s.$$typeof) {
|
|
3472
3472
|
case Yr:
|
|
3473
|
-
return m = ri(s.type, s.key, s.props, null, d.mode, m), m.ref =
|
|
3473
|
+
return m = ri(s.type, s.key, s.props, null, d.mode, m), m.ref = Vn(d, null, s), m.return = d, m;
|
|
3474
3474
|
case rn:
|
|
3475
3475
|
return s = Xo(s, d.mode, m), s.return = d, s;
|
|
3476
3476
|
case mt:
|
|
@@ -3479,7 +3479,7 @@ function Kc(e) {
|
|
|
3479
3479
|
}
|
|
3480
3480
|
if (Tn(s) || Sn(s))
|
|
3481
3481
|
return s = xt(s, d.mode, m, null), s.return = d, s;
|
|
3482
|
-
|
|
3482
|
+
Hr(d, s);
|
|
3483
3483
|
}
|
|
3484
3484
|
return null;
|
|
3485
3485
|
}
|
|
@@ -3503,7 +3503,7 @@ function Kc(e) {
|
|
|
3503
3503
|
}
|
|
3504
3504
|
if (Tn(m) || Sn(m))
|
|
3505
3505
|
return y !== null ? null : p(d, s, m, I, null);
|
|
3506
|
-
|
|
3506
|
+
Hr(d, m);
|
|
3507
3507
|
}
|
|
3508
3508
|
return null;
|
|
3509
3509
|
}
|
|
@@ -3522,7 +3522,7 @@ function Kc(e) {
|
|
|
3522
3522
|
}
|
|
3523
3523
|
if (Tn(I) || Sn(I))
|
|
3524
3524
|
return d = d.get(m) || null, p(s, d, I, y, null);
|
|
3525
|
-
|
|
3525
|
+
Hr(s, I);
|
|
3526
3526
|
}
|
|
3527
3527
|
return null;
|
|
3528
3528
|
}
|
|
@@ -3537,17 +3537,17 @@ function Kc(e) {
|
|
|
3537
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), F &&
|
|
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 F &&
|
|
3544
|
+
return F && Vt(d, L), y;
|
|
3545
3545
|
}
|
|
3546
3546
|
for (W = r(d, W); L < m.length; L++)
|
|
3547
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
|
-
}), F &&
|
|
3550
|
+
}), F && Vt(d, L), y;
|
|
3551
3551
|
}
|
|
3552
3552
|
function v(d, s, m, I) {
|
|
3553
3553
|
var y = Sn(m);
|
|
@@ -3568,17 +3568,17 @@ function Kc(e) {
|
|
|
3568
3568
|
return n(
|
|
3569
3569
|
d,
|
|
3570
3570
|
W
|
|
3571
|
-
), F &&
|
|
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 F &&
|
|
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
|
-
}), F &&
|
|
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) {
|
|
@@ -3593,7 +3593,7 @@ function Kc(e) {
|
|
|
3593
3593
|
break e;
|
|
3594
3594
|
}
|
|
3595
3595
|
} else if (Z.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === Z.type) {
|
|
3596
|
-
n(d, Z.sibling), s = i(Z, m.props), s.ref =
|
|
3596
|
+
n(d, Z.sibling), s = i(Z, m.props), s.ref = Vn(d, Z, m), s.return = d, d = s;
|
|
3597
3597
|
break e;
|
|
3598
3598
|
}
|
|
3599
3599
|
n(d, Z);
|
|
@@ -3602,7 +3602,7 @@ function Kc(e) {
|
|
|
3602
3602
|
t(d, Z);
|
|
3603
3603
|
Z = Z.sibling;
|
|
3604
3604
|
}
|
|
3605
|
-
m.type === on ? (s = xt(m.props.children, d.mode, I, m.key), s.return = d, d = s) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref =
|
|
3605
|
+
m.type === on ? (s = xt(m.props.children, d.mode, I, m.key), s.return = d, d = s) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = Vn(d, s, m), I.return = d, d = I);
|
|
3606
3606
|
}
|
|
3607
3607
|
return l(d);
|
|
3608
3608
|
case rn:
|
|
@@ -3630,20 +3630,20 @@ function Kc(e) {
|
|
|
3630
3630
|
return C(d, s, m, I);
|
|
3631
3631
|
if (Sn(m))
|
|
3632
3632
|
return v(d, s, m, I);
|
|
3633
|
-
|
|
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
|
}
|
|
3637
3637
|
return w;
|
|
3638
3638
|
}
|
|
3639
|
-
var Ln =
|
|
3639
|
+
var Ln = Vc(!0), jc = Vc(!1), Wr = {}, Pe = Bt(Wr), pr = Bt(Wr), mr = Bt(Wr);
|
|
3640
3640
|
function Mt(e) {
|
|
3641
3641
|
if (e === Wr)
|
|
3642
3642
|
throw Error(b(174));
|
|
3643
3643
|
return e;
|
|
3644
3644
|
}
|
|
3645
3645
|
function na(e, t) {
|
|
3646
|
-
switch (
|
|
3646
|
+
switch (V(mr, t), V(pr, e), V(Pe, Wr), e = t.nodeType, e) {
|
|
3647
3647
|
case 9:
|
|
3648
3648
|
case 11:
|
|
3649
3649
|
t = (t = t.documentElement) ? t.namespaceURI : Fo(null, "");
|
|
@@ -3651,18 +3651,18 @@ function na(e, t) {
|
|
|
3651
3651
|
default:
|
|
3652
3652
|
e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = Fo(t, e);
|
|
3653
3653
|
}
|
|
3654
|
-
|
|
3654
|
+
H(Pe), V(Pe, t);
|
|
3655
3655
|
}
|
|
3656
3656
|
function Gn() {
|
|
3657
|
-
|
|
3657
|
+
H(Pe), H(pr), H(mr);
|
|
3658
3658
|
}
|
|
3659
|
-
function
|
|
3659
|
+
function Hc(e) {
|
|
3660
3660
|
Mt(mr.current);
|
|
3661
3661
|
var t = Mt(Pe.current), n = Fo(t, e.type);
|
|
3662
|
-
t !== n && (
|
|
3662
|
+
t !== n && (V(pr, e), V(Pe, n));
|
|
3663
3663
|
}
|
|
3664
3664
|
function ra(e) {
|
|
3665
|
-
pr.current === e && (
|
|
3665
|
+
pr.current === e && (H(Pe), H(pr));
|
|
3666
3666
|
}
|
|
3667
3667
|
var M = Bt(0);
|
|
3668
3668
|
function bi(e) {
|
|
@@ -4136,7 +4136,7 @@ function Xu(e, t, n, r, i) {
|
|
|
4136
4136
|
}
|
|
4137
4137
|
var hp = gt.ReactCurrentOwner, pe = !1;
|
|
4138
4138
|
function se(e, t, n, r) {
|
|
4139
|
-
t.child = e === null ?
|
|
4139
|
+
t.child = e === null ? jc(t, null, n, r) : Ln(t, e.child, n, r);
|
|
4140
4140
|
}
|
|
4141
4141
|
function Yu(e, t, n, r, i) {
|
|
4142
4142
|
n = n.render;
|
|
@@ -4170,14 +4170,14 @@ function ud(e, t, n) {
|
|
|
4170
4170
|
var r = t.pendingProps, i = r.children, o = e !== null ? e.memoizedState : null;
|
|
4171
4171
|
if (r.mode === "hidden")
|
|
4172
4172
|
if (!(t.mode & 1))
|
|
4173
|
-
t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null },
|
|
4173
|
+
t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, V(mn, ye), ye |= n;
|
|
4174
4174
|
else {
|
|
4175
4175
|
if (!(n & 1073741824))
|
|
4176
|
-
return e = o !== null ? o.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = { baseLanes: e, cachePool: null, transitions: null }, t.updateQueue = null,
|
|
4177
|
-
t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, r = o !== null ? o.baseLanes : n,
|
|
4176
|
+
return e = o !== null ? o.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = { baseLanes: e, cachePool: null, transitions: null }, t.updateQueue = null, V(mn, ye), ye |= e, null;
|
|
4177
|
+
t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, r = o !== null ? o.baseLanes : n, V(mn, ye), ye |= r;
|
|
4178
4178
|
}
|
|
4179
4179
|
else
|
|
4180
|
-
o !== null ? (r = o.baseLanes | n, t.memoizedState = null) : r = n,
|
|
4180
|
+
o !== null ? (r = o.baseLanes | n, t.memoizedState = null) : r = n, V(mn, ye), ye |= r;
|
|
4181
4181
|
return se(e, t, i, n), t.child;
|
|
4182
4182
|
}
|
|
4183
4183
|
function sd(e, t) {
|
|
@@ -4195,7 +4195,7 @@ function Nu(e, t, n, r, i) {
|
|
|
4195
4195
|
} else
|
|
4196
4196
|
o = !1;
|
|
4197
4197
|
if (yn(t, i), t.stateNode === null)
|
|
4198
|
-
ei(e, t),
|
|
4198
|
+
ei(e, t), Kc(t, n, r), ul(t, n, r, i), r = !0;
|
|
4199
4199
|
else if (e === null) {
|
|
4200
4200
|
var l = t.stateNode, a = t.memoizedProps;
|
|
4201
4201
|
l.props = a;
|
|
@@ -4206,7 +4206,7 @@ function Nu(e, t, n, r, i) {
|
|
|
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 :
|
|
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;
|
|
@@ -4236,7 +4236,7 @@ function fl(e) {
|
|
|
4236
4236
|
}
|
|
4237
4237
|
function dd(e, t, n) {
|
|
4238
4238
|
var r = t.pendingProps, i = M.current, o = !1, l = (t.flags & 128) !== 0, a;
|
|
4239
|
-
if ((a = l) || (a = e !== null && e.memoizedState === null ? !1 : (i & 2) !== 0), a ? (o = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (i |= 1),
|
|
4239
|
+
if ((a = l) || (a = e !== null && e.memoizedState === null ? !1 : (i & 2) !== 0), a ? (o = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (i |= 1), V(M, i & 1), e === null)
|
|
4240
4240
|
return ol(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (l = r.children, e = r.fallback, o ? (r = t.mode, o = t.child, l = { mode: "hidden", children: l }, !(r & 1) && o !== null ? (o.childLanes = 0, o.pendingProps = l) : o = xi(l, r, 0, null), e = xt(e, r, n, null), o.return = t, e.return = t, o.sibling = e, t.child = o, t.child.memoizedState = fl(n), t.memoizedState = gl, e) : ca(t, l));
|
|
4241
4241
|
if (i = e.memoizedState, i !== null && (a = i.dehydrated, a !== null))
|
|
4242
4242
|
return Cp(e, t, l, r, a, i, n);
|
|
@@ -4305,7 +4305,7 @@ function Cp(e, t, n, r, i, o, l) {
|
|
|
4305
4305
|
}
|
|
4306
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, F = !0,
|
|
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
4310
|
function Su(e, t, n) {
|
|
4311
4311
|
e.lanes |= t;
|
|
@@ -4343,7 +4343,7 @@ function gd(e, t, n) {
|
|
|
4343
4343
|
}
|
|
4344
4344
|
r &= 1;
|
|
4345
4345
|
}
|
|
4346
|
-
if (
|
|
4346
|
+
if (V(M, r), !(t.mode & 1))
|
|
4347
4347
|
t.memoizedState = null;
|
|
4348
4348
|
else
|
|
4349
4349
|
switch (i) {
|
|
@@ -4391,7 +4391,7 @@ function Ip(e, t, n) {
|
|
|
4391
4391
|
cd(t), Wn();
|
|
4392
4392
|
break;
|
|
4393
4393
|
case 5:
|
|
4394
|
-
|
|
4394
|
+
Hc(t);
|
|
4395
4395
|
break;
|
|
4396
4396
|
case 1:
|
|
4397
4397
|
he(t.type) && mi(t);
|
|
@@ -4401,12 +4401,12 @@ function Ip(e, t, n) {
|
|
|
4401
4401
|
break;
|
|
4402
4402
|
case 10:
|
|
4403
4403
|
var r = t.type._context, i = t.memoizedProps.value;
|
|
4404
|
-
|
|
4404
|
+
V(Ii, r._currentValue), r._currentValue = i;
|
|
4405
4405
|
break;
|
|
4406
4406
|
case 13:
|
|
4407
4407
|
if (r = t.memoizedState, r !== null)
|
|
4408
|
-
return r.dehydrated !== null ? (
|
|
4409
|
-
|
|
4408
|
+
return r.dehydrated !== null ? (V(M, M.current & 1), t.flags |= 128, null) : n & t.child.childLanes ? dd(e, t, n) : (V(M, M.current & 1), e = dt(e, t, n), e !== null ? e.sibling : null);
|
|
4409
|
+
V(M, M.current & 1);
|
|
4410
4410
|
break;
|
|
4411
4411
|
case 19:
|
|
4412
4412
|
if (r = (n & t.childLanes) !== 0, e.flags & 128) {
|
|
@@ -4414,7 +4414,7 @@ function Ip(e, t, n) {
|
|
|
4414
4414
|
return gd(e, t, n);
|
|
4415
4415
|
t.flags |= 128;
|
|
4416
4416
|
}
|
|
4417
|
-
if (i = t.memoizedState, i !== null && (i.rendering = null, i.tail = null, i.lastEffect = null),
|
|
4417
|
+
if (i = t.memoizedState, i !== null && (i.rendering = null, i.tail = null, i.lastEffect = null), V(M, M.current), r)
|
|
4418
4418
|
break;
|
|
4419
4419
|
return null;
|
|
4420
4420
|
case 22:
|
|
@@ -4451,13 +4451,13 @@ pd = function(e, t, n, r) {
|
|
|
4451
4451
|
var o = null;
|
|
4452
4452
|
switch (n) {
|
|
4453
4453
|
case "input":
|
|
4454
|
-
i =
|
|
4454
|
+
i = Ko(e, i), r = Ko(e, r), o = [];
|
|
4455
4455
|
break;
|
|
4456
4456
|
case "select":
|
|
4457
4457
|
i = x({}, i, { value: void 0 }), r = x({}, r, { value: void 0 }), o = [];
|
|
4458
4458
|
break;
|
|
4459
4459
|
case "textarea":
|
|
4460
|
-
i =
|
|
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);
|
|
@@ -4488,7 +4488,7 @@ pd = function(e, t, n, r) {
|
|
|
4488
4488
|
n
|
|
4489
4489
|
)), n = u;
|
|
4490
4490
|
else
|
|
4491
|
-
c === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, a = a ? a.__html : void 0, u != null && a !== u && (o = o || []).push(c, u)) : c === "children" ? typeof u != "string" && typeof u != "number" || (o = o || []).push(c, "" + u) : c !== "suppressContentEditableWarning" && c !== "suppressHydrationWarning" && (rr.hasOwnProperty(c) ? (u != null && c === "onScroll" &&
|
|
4491
|
+
c === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, a = a ? a.__html : void 0, u != null && a !== u && (o = o || []).push(c, u)) : c === "children" ? typeof u != "string" && typeof u != "number" || (o = o || []).push(c, "" + u) : c !== "suppressContentEditableWarning" && c !== "suppressHydrationWarning" && (rr.hasOwnProperty(c) ? (u != null && c === "onScroll" && j("scroll", e), o || a === u || (o = [])) : (o = o || []).push(c, u));
|
|
4492
4492
|
}
|
|
4493
4493
|
n && (o = o || []).push("style", n);
|
|
4494
4494
|
var c = o;
|
|
@@ -4498,7 +4498,7 @@ pd = function(e, t, n, r) {
|
|
|
4498
4498
|
md = function(e, t, n, r) {
|
|
4499
4499
|
n !== r && (t.flags |= 4);
|
|
4500
4500
|
};
|
|
4501
|
-
function
|
|
4501
|
+
function jn(e, t) {
|
|
4502
4502
|
if (!F)
|
|
4503
4503
|
switch (e.tailMode) {
|
|
4504
4504
|
case "hidden":
|
|
@@ -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(),
|
|
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);
|
|
@@ -4553,55 +4553,55 @@ function vp(e, t, n) {
|
|
|
4553
4553
|
throw Error(b(166));
|
|
4554
4554
|
return ie(t), null;
|
|
4555
4555
|
}
|
|
4556
|
-
if (e = Mt(Pe.current),
|
|
4556
|
+
if (e = Mt(Pe.current), jr(t)) {
|
|
4557
4557
|
r = t.stateNode, n = t.type;
|
|
4558
4558
|
var o = t.memoizedProps;
|
|
4559
4559
|
switch (r[Qe] = t, r[fr] = o, e = (t.mode & 1) !== 0, n) {
|
|
4560
4560
|
case "dialog":
|
|
4561
|
-
|
|
4561
|
+
j("cancel", r), j("close", r);
|
|
4562
4562
|
break;
|
|
4563
4563
|
case "iframe":
|
|
4564
4564
|
case "object":
|
|
4565
4565
|
case "embed":
|
|
4566
|
-
|
|
4566
|
+
j("load", r);
|
|
4567
4567
|
break;
|
|
4568
4568
|
case "video":
|
|
4569
4569
|
case "audio":
|
|
4570
4570
|
for (i = 0; i < Jn.length; i++)
|
|
4571
|
-
|
|
4571
|
+
j(Jn[i], r);
|
|
4572
4572
|
break;
|
|
4573
4573
|
case "source":
|
|
4574
|
-
|
|
4574
|
+
j("error", r);
|
|
4575
4575
|
break;
|
|
4576
4576
|
case "img":
|
|
4577
4577
|
case "image":
|
|
4578
4578
|
case "link":
|
|
4579
|
-
|
|
4579
|
+
j(
|
|
4580
4580
|
"error",
|
|
4581
4581
|
r
|
|
4582
|
-
),
|
|
4582
|
+
), j("load", r);
|
|
4583
4583
|
break;
|
|
4584
4584
|
case "details":
|
|
4585
|
-
|
|
4585
|
+
j("toggle", r);
|
|
4586
4586
|
break;
|
|
4587
4587
|
case "input":
|
|
4588
|
-
Ma(r, o),
|
|
4588
|
+
Ma(r, o), j("invalid", r);
|
|
4589
4589
|
break;
|
|
4590
4590
|
case "select":
|
|
4591
|
-
r._wrapperState = { wasMultiple: !!o.multiple },
|
|
4591
|
+
r._wrapperState = { wasMultiple: !!o.multiple }, j("invalid", r);
|
|
4592
4592
|
break;
|
|
4593
4593
|
case "textarea":
|
|
4594
|
-
xa(r, o),
|
|
4594
|
+
xa(r, o), j("invalid", r);
|
|
4595
4595
|
}
|
|
4596
4596
|
Mo(n, o), i = null;
|
|
4597
4597
|
for (var l in o)
|
|
4598
4598
|
if (o.hasOwnProperty(l)) {
|
|
4599
4599
|
var a = o[l];
|
|
4600
|
-
l === "children" ? typeof a == "string" ? r.textContent !== a && (o.suppressHydrationWarning !== !0 &&
|
|
4600
|
+
l === "children" ? typeof a == "string" ? r.textContent !== a && (o.suppressHydrationWarning !== !0 && Vr(r.textContent, a, e), i = ["children", a]) : typeof a == "number" && r.textContent !== "" + a && (o.suppressHydrationWarning !== !0 && Vr(
|
|
4601
4601
|
r.textContent,
|
|
4602
4602
|
a,
|
|
4603
4603
|
e
|
|
4604
|
-
), i = ["children", "" + a]) : rr.hasOwnProperty(l) && a != null && l === "onScroll" &&
|
|
4604
|
+
), i = ["children", "" + a]) : rr.hasOwnProperty(l) && a != null && l === "onScroll" && j("scroll", r);
|
|
4605
4605
|
}
|
|
4606
4606
|
switch (n) {
|
|
4607
4607
|
case "input":
|
|
@@ -4622,44 +4622,44 @@ function vp(e, t, n) {
|
|
|
4622
4622
|
e: {
|
|
4623
4623
|
switch (l = zo(n, r), n) {
|
|
4624
4624
|
case "dialog":
|
|
4625
|
-
|
|
4625
|
+
j("cancel", e), j("close", e), i = r;
|
|
4626
4626
|
break;
|
|
4627
4627
|
case "iframe":
|
|
4628
4628
|
case "object":
|
|
4629
4629
|
case "embed":
|
|
4630
|
-
|
|
4630
|
+
j("load", e), i = r;
|
|
4631
4631
|
break;
|
|
4632
4632
|
case "video":
|
|
4633
4633
|
case "audio":
|
|
4634
4634
|
for (i = 0; i < Jn.length; i++)
|
|
4635
|
-
|
|
4635
|
+
j(Jn[i], e);
|
|
4636
4636
|
i = r;
|
|
4637
4637
|
break;
|
|
4638
4638
|
case "source":
|
|
4639
|
-
|
|
4639
|
+
j("error", e), i = r;
|
|
4640
4640
|
break;
|
|
4641
4641
|
case "img":
|
|
4642
4642
|
case "image":
|
|
4643
4643
|
case "link":
|
|
4644
|
-
|
|
4644
|
+
j(
|
|
4645
4645
|
"error",
|
|
4646
4646
|
e
|
|
4647
|
-
),
|
|
4647
|
+
), j("load", e), i = r;
|
|
4648
4648
|
break;
|
|
4649
4649
|
case "details":
|
|
4650
|
-
|
|
4650
|
+
j("toggle", e), i = r;
|
|
4651
4651
|
break;
|
|
4652
4652
|
case "input":
|
|
4653
|
-
Ma(e, r), i =
|
|
4653
|
+
Ma(e, r), i = Ko(e, r), j("invalid", e);
|
|
4654
4654
|
break;
|
|
4655
4655
|
case "option":
|
|
4656
4656
|
i = r;
|
|
4657
4657
|
break;
|
|
4658
4658
|
case "select":
|
|
4659
|
-
e._wrapperState = { wasMultiple: !!r.multiple }, i = x({}, r, { value: void 0 }),
|
|
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 =
|
|
4662
|
+
xa(e, r), i = Ho(e, r), j("invalid", e);
|
|
4663
4663
|
break;
|
|
4664
4664
|
default:
|
|
4665
4665
|
i = r;
|
|
@@ -4668,7 +4668,7 @@ 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" ? 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" &&
|
|
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":
|
|
@@ -4716,14 +4716,14 @@ function vp(e, t, n) {
|
|
|
4716
4716
|
else {
|
|
4717
4717
|
if (typeof r != "string" && t.stateNode === null)
|
|
4718
4718
|
throw Error(b(166));
|
|
4719
|
-
if (n = Mt(mr.current), Mt(Pe.current),
|
|
4719
|
+
if (n = Mt(mr.current), Mt(Pe.current), jr(t)) {
|
|
4720
4720
|
if (r = t.stateNode, n = t.memoizedProps, r[Qe] = t, (o = r.nodeValue !== n) && (e = Ze, e !== null))
|
|
4721
4721
|
switch (e.tag) {
|
|
4722
4722
|
case 3:
|
|
4723
|
-
|
|
4723
|
+
Vr(r.nodeValue, n, (e.mode & 1) !== 0);
|
|
4724
4724
|
break;
|
|
4725
4725
|
case 5:
|
|
4726
|
-
e.memoizedProps.suppressHydrationWarning !== !0 &&
|
|
4726
|
+
e.memoizedProps.suppressHydrationWarning !== !0 && Vr(r.nodeValue, n, (e.mode & 1) !== 0);
|
|
4727
4727
|
}
|
|
4728
4728
|
o && (t.flags |= 4);
|
|
4729
4729
|
} else
|
|
@@ -4731,10 +4731,10 @@ function vp(e, t, n) {
|
|
|
4731
4731
|
}
|
|
4732
4732
|
return ie(t), null;
|
|
4733
4733
|
case 13:
|
|
4734
|
-
if (
|
|
4734
|
+
if (H(M), r = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
|
|
4735
4735
|
if (F && be !== null && t.mode & 1 && !(t.flags & 128))
|
|
4736
4736
|
Sc(), Wn(), t.flags |= 98560, o = !1;
|
|
4737
|
-
else if (o =
|
|
4737
|
+
else if (o = jr(t), r !== null && r.dehydrated !== null) {
|
|
4738
4738
|
if (e === null) {
|
|
4739
4739
|
if (!o)
|
|
4740
4740
|
throw Error(b(318));
|
|
@@ -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
|
-
|
|
4748
|
+
He !== null && (wl(He), He = null), o = !0;
|
|
4749
4749
|
if (!o)
|
|
4750
4750
|
return t.flags & 65536 ? t : null;
|
|
4751
4751
|
}
|
|
@@ -4757,33 +4757,33 @@ 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 (
|
|
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)
|
|
4764
|
-
|
|
4764
|
+
jn(o, !1);
|
|
4765
4765
|
else {
|
|
4766
4766
|
if (P !== 0 || e !== null && e.flags & 128)
|
|
4767
4767
|
for (e = t.child; e !== null; ) {
|
|
4768
4768
|
if (l = bi(e), l !== null) {
|
|
4769
|
-
for (t.flags |= 128,
|
|
4769
|
+
for (t.flags |= 128, jn(o, !1), r = l.updateQueue, r !== null && (t.updateQueue = r, t.flags |= 4), t.subtreeFlags = 0, r = n, n = t.child; n !== null; )
|
|
4770
4770
|
o = n, e = r, o.flags &= 14680066, l = o.alternate, l === null ? (o.childLanes = 0, o.lanes = e, o.child = null, o.subtreeFlags = 0, o.memoizedProps = null, o.memoizedState = null, o.updateQueue = null, o.dependencies = null, o.stateNode = null) : (o.childLanes = l.childLanes, o.lanes = l.lanes, o.child = l.child, o.subtreeFlags = 0, o.deletions = null, o.memoizedProps = l.memoizedProps, o.memoizedState = l.memoizedState, o.updateQueue = l.updateQueue, o.type = l.type, e = l.dependencies, o.dependencies = e === null ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling;
|
|
4771
|
-
return
|
|
4771
|
+
return V(M, M.current & 1 | 2), t.child;
|
|
4772
4772
|
}
|
|
4773
4773
|
e = e.sibling;
|
|
4774
4774
|
}
|
|
4775
|
-
o.tail !== null && D() > Yn && (t.flags |= 128, r = !0,
|
|
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),
|
|
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 * D() - o.renderingStartTime > Yn && n !== 1073741824 && (t.flags |= 128, r = !0,
|
|
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 = D(), t.sibling = null, n = M.current,
|
|
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(),
|
|
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 (
|
|
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
|
|
4813
|
+
return H(M), null;
|
|
4814
4814
|
case 4:
|
|
4815
4815
|
return Gn(), null;
|
|
4816
4816
|
case 10:
|
|
@@ -4900,7 +4900,7 @@ function wp(e, t) {
|
|
|
4900
4900
|
break;
|
|
4901
4901
|
case 1:
|
|
4902
4902
|
if (C !== null) {
|
|
4903
|
-
var v = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? v :
|
|
4903
|
+
var v = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? v : Ve(t.type, v), w);
|
|
4904
4904
|
d.__reactInternalSnapshotBeforeUpdate = s;
|
|
4905
4905
|
}
|
|
4906
4906
|
break;
|
|
@@ -5006,7 +5006,7 @@ function Il(e, t, n) {
|
|
|
5006
5006
|
for (Il(e, t, n), e = e.sibling; e !== null; )
|
|
5007
5007
|
Il(e, t, n), e = e.sibling;
|
|
5008
5008
|
}
|
|
5009
|
-
var ee = null,
|
|
5009
|
+
var ee = null, je = !1;
|
|
5010
5010
|
function pt(e, t, n) {
|
|
5011
5011
|
for (n = n.child; n !== null; )
|
|
5012
5012
|
Id(e, t, n), n = n.sibling;
|
|
@@ -5021,14 +5021,14 @@ function Id(e, t, n) {
|
|
|
5021
5021
|
case 5:
|
|
5022
5022
|
le || pn(n, t);
|
|
5023
5023
|
case 6:
|
|
5024
|
-
var r = ee, i =
|
|
5025
|
-
ee = null, pt(e, t, n), ee = r,
|
|
5024
|
+
var r = ee, i = je;
|
|
5025
|
+
ee = null, pt(e, t, n), ee = r, je = i, ee !== null && (je ? (e = ee, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : ee.removeChild(n.stateNode));
|
|
5026
5026
|
break;
|
|
5027
5027
|
case 18:
|
|
5028
|
-
ee !== null && (
|
|
5028
|
+
ee !== null && (je ? (e = ee, n = n.stateNode, e.nodeType === 8 ? Io(e.parentNode, n) : e.nodeType === 1 && Io(e, n), ur(e)) : Io(ee, n.stateNode));
|
|
5029
5029
|
break;
|
|
5030
5030
|
case 4:
|
|
5031
|
-
r = ee, i =
|
|
5031
|
+
r = ee, i = je, ee = n.stateNode.containerInfo, je = !0, pt(e, t, n), ee = r, je = i;
|
|
5032
5032
|
break;
|
|
5033
5033
|
case 0:
|
|
5034
5034
|
case 11:
|
|
@@ -5084,20 +5084,20 @@ function Oe(e, t) {
|
|
|
5084
5084
|
for (; a !== null; ) {
|
|
5085
5085
|
switch (a.tag) {
|
|
5086
5086
|
case 5:
|
|
5087
|
-
ee = a.stateNode,
|
|
5087
|
+
ee = a.stateNode, je = !1;
|
|
5088
5088
|
break e;
|
|
5089
5089
|
case 3:
|
|
5090
|
-
ee = a.stateNode.containerInfo,
|
|
5090
|
+
ee = a.stateNode.containerInfo, je = !0;
|
|
5091
5091
|
break e;
|
|
5092
5092
|
case 4:
|
|
5093
|
-
ee = a.stateNode.containerInfo,
|
|
5093
|
+
ee = a.stateNode.containerInfo, je = !0;
|
|
5094
5094
|
break e;
|
|
5095
5095
|
}
|
|
5096
5096
|
a = a.return;
|
|
5097
5097
|
}
|
|
5098
5098
|
if (ee === null)
|
|
5099
5099
|
throw Error(b(160));
|
|
5100
|
-
Id(o, l, i), ee = null,
|
|
5100
|
+
Id(o, l, i), ee = null, je = !1;
|
|
5101
5101
|
var u = i.alternate;
|
|
5102
5102
|
u !== null && (u.return = null), i.return = null;
|
|
5103
5103
|
} catch (c) {
|
|
@@ -5152,7 +5152,7 @@ function vd(e, t) {
|
|
|
5152
5152
|
}
|
|
5153
5153
|
switch (a) {
|
|
5154
5154
|
case "input":
|
|
5155
|
-
|
|
5155
|
+
Vo(i, o);
|
|
5156
5156
|
break;
|
|
5157
5157
|
case "textarea":
|
|
5158
5158
|
Ms(i, o);
|
|
@@ -5229,11 +5229,11 @@ function vd(e, t) {
|
|
|
5229
5229
|
break;
|
|
5230
5230
|
case 22:
|
|
5231
5231
|
if (f.memoizedState !== null) {
|
|
5232
|
-
|
|
5232
|
+
Vu(g);
|
|
5233
5233
|
continue;
|
|
5234
5234
|
}
|
|
5235
5235
|
}
|
|
5236
|
-
h !== null ? (h.return = f, X = h) :
|
|
5236
|
+
h !== null ? (h.return = f, X = h) : Vu(g);
|
|
5237
5237
|
}
|
|
5238
5238
|
p = p.sibling;
|
|
5239
5239
|
}
|
|
@@ -5332,17 +5332,17 @@ function yd(e, t, n) {
|
|
|
5332
5332
|
var c = le;
|
|
5333
5333
|
if (Mr = l, (le = u) && !c)
|
|
5334
5334
|
for (X = i; X !== null; )
|
|
5335
|
-
l = X, u = l.child, l.tag === 22 && l.memoizedState !== null ?
|
|
5335
|
+
l = X, u = l.child, l.tag === 22 && l.memoizedState !== null ? ju(i) : u !== null ? (u.return = l, X = u) : ju(i);
|
|
5336
5336
|
for (; o !== null; )
|
|
5337
5337
|
X = o, yd(o), o = o.sibling;
|
|
5338
5338
|
X = i, Mr = a, le = c;
|
|
5339
5339
|
}
|
|
5340
|
-
|
|
5340
|
+
Ku(e);
|
|
5341
5341
|
} else
|
|
5342
|
-
i.subtreeFlags & 8772 && o !== null ? (o.return = i, X = o) :
|
|
5342
|
+
i.subtreeFlags & 8772 && o !== null ? (o.return = i, X = o) : Ku(e);
|
|
5343
5343
|
}
|
|
5344
5344
|
}
|
|
5345
|
-
function
|
|
5345
|
+
function Ku(e) {
|
|
5346
5346
|
for (; X !== null; ) {
|
|
5347
5347
|
var t = X;
|
|
5348
5348
|
if (t.flags & 8772) {
|
|
@@ -5361,7 +5361,7 @@ function Vu(e) {
|
|
|
5361
5361
|
if (n === null)
|
|
5362
5362
|
r.componentDidMount();
|
|
5363
5363
|
else {
|
|
5364
|
-
var i = t.elementType === t.type ? n.memoizedProps :
|
|
5364
|
+
var i = t.elementType === t.type ? n.memoizedProps : Ve(t.type, n.memoizedProps);
|
|
5365
5365
|
r.componentDidUpdate(i, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate);
|
|
5366
5366
|
}
|
|
5367
5367
|
var o = t.updateQueue;
|
|
@@ -5442,7 +5442,7 @@ function Vu(e) {
|
|
|
5442
5442
|
X = t.return;
|
|
5443
5443
|
}
|
|
5444
5444
|
}
|
|
5445
|
-
function
|
|
5445
|
+
function Vu(e) {
|
|
5446
5446
|
for (; X !== null; ) {
|
|
5447
5447
|
var t = X;
|
|
5448
5448
|
if (t === e) {
|
|
@@ -5457,7 +5457,7 @@ function Ku(e) {
|
|
|
5457
5457
|
X = t.return;
|
|
5458
5458
|
}
|
|
5459
5459
|
}
|
|
5460
|
-
function
|
|
5460
|
+
function ju(e) {
|
|
5461
5461
|
for (; X !== null; ) {
|
|
5462
5462
|
var t = X;
|
|
5463
5463
|
try {
|
|
@@ -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 = D() + 500,
|
|
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(
|
|
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 =
|
|
5541
|
+
n = Hl;
|
|
5542
5542
|
break;
|
|
5543
5543
|
case 4:
|
|
5544
5544
|
n = tc;
|
|
@@ -5597,7 +5597,7 @@ function bd(e, t) {
|
|
|
5597
5597
|
case 1:
|
|
5598
5598
|
throw Error(b(345));
|
|
5599
5599
|
case 2:
|
|
5600
|
-
|
|
5600
|
+
jt(e, fe, rt);
|
|
5601
5601
|
break;
|
|
5602
5602
|
case 3:
|
|
5603
5603
|
if (It(e, r), (r & 130023424) === r && (t = fa + 500 - D(), 10 < t)) {
|
|
@@ -5607,10 +5607,10 @@ function bd(e, t) {
|
|
|
5607
5607
|
ce(), e.pingedLanes |= e.suspendedLanes & i;
|
|
5608
5608
|
break;
|
|
5609
5609
|
}
|
|
5610
|
-
e.timeoutHandle = tl(
|
|
5610
|
+
e.timeoutHandle = tl(jt.bind(null, e, fe, rt), t);
|
|
5611
5611
|
break;
|
|
5612
5612
|
}
|
|
5613
|
-
|
|
5613
|
+
jt(e, fe, rt);
|
|
5614
5614
|
break;
|
|
5615
5615
|
case 4:
|
|
5616
5616
|
if (It(e, r), (r & 4194240) === r)
|
|
@@ -5620,13 +5620,13 @@ function bd(e, t) {
|
|
|
5620
5620
|
o = 1 << l, l = t[l], l > i && (i = l), r &= ~o;
|
|
5621
5621
|
}
|
|
5622
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
|
-
e.timeoutHandle = tl(
|
|
5623
|
+
e.timeoutHandle = tl(jt.bind(null, e, fe, rt), r);
|
|
5624
5624
|
break;
|
|
5625
5625
|
}
|
|
5626
|
-
|
|
5626
|
+
jt(e, fe, rt);
|
|
5627
5627
|
break;
|
|
5628
5628
|
case 5:
|
|
5629
|
-
|
|
5629
|
+
jt(e, fe, rt);
|
|
5630
5630
|
break;
|
|
5631
5631
|
default:
|
|
5632
5632
|
throw Error(b(329));
|
|
@@ -5679,7 +5679,7 @@ function It(e, t) {
|
|
|
5679
5679
|
e[n] = -1, t &= ~r;
|
|
5680
5680
|
}
|
|
5681
5681
|
}
|
|
5682
|
-
function
|
|
5682
|
+
function Hu(e) {
|
|
5683
5683
|
if (B & 6)
|
|
5684
5684
|
throw Error(b(327));
|
|
5685
5685
|
bn();
|
|
@@ -5695,7 +5695,7 @@ function ju(e) {
|
|
|
5695
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,
|
|
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 = D() + 500,
|
|
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,
|
|
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(),
|
|
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
|
-
|
|
5744
|
+
H(M);
|
|
5745
5745
|
break;
|
|
5746
5746
|
case 19:
|
|
5747
|
-
|
|
5747
|
+
H(M);
|
|
5748
5748
|
break;
|
|
5749
5749
|
case 10:
|
|
5750
5750
|
ql(r.type._context);
|
|
@@ -5909,7 +5909,7 @@ function Ld(e) {
|
|
|
5909
5909
|
} while (t !== null);
|
|
5910
5910
|
P === 0 && (P = 5);
|
|
5911
5911
|
}
|
|
5912
|
-
function
|
|
5912
|
+
function jt(e, t, n) {
|
|
5913
5913
|
var r = O, i = Ne.transition;
|
|
5914
5914
|
try {
|
|
5915
5915
|
Ne.transition = null, O = 1, Yp(e, t, n, r);
|
|
@@ -6141,11 +6141,11 @@ 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 =
|
|
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: {
|
|
6148
|
-
switch (ei(e, t), e = t.pendingProps, i = r._init, r = i(r._payload), t.type = r, i = t.tag = Rp(r), e =
|
|
6148
|
+
switch (ei(e, t), e = t.pendingProps, i = r._init, r = i(r._payload), t.type = r, i = t.tag = Rp(r), e = Ve(r, e), i) {
|
|
6149
6149
|
case 0:
|
|
6150
6150
|
t = cl(null, t, r, e, n);
|
|
6151
6151
|
break e;
|
|
@@ -6156,7 +6156,7 @@ Xd = function(e, t, n) {
|
|
|
6156
6156
|
t = Yu(null, t, r, e, n);
|
|
6157
6157
|
break e;
|
|
6158
6158
|
case 14:
|
|
6159
|
-
t = Au(null, t, r,
|
|
6159
|
+
t = Au(null, t, r, Ve(r.type, e), n);
|
|
6160
6160
|
break e;
|
|
6161
6161
|
}
|
|
6162
6162
|
throw Error(b(
|
|
@@ -6167,9 +6167,9 @@ Xd = function(e, t, n) {
|
|
|
6167
6167
|
}
|
|
6168
6168
|
return t;
|
|
6169
6169
|
case 0:
|
|
6170
|
-
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i :
|
|
6170
|
+
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ve(r, i), cl(e, t, r, i, n);
|
|
6171
6171
|
case 1:
|
|
6172
|
-
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i :
|
|
6172
|
+
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ve(r, i), Nu(e, t, r, i, n);
|
|
6173
6173
|
case 3:
|
|
6174
6174
|
e: {
|
|
6175
6175
|
if (cd(t), e === null)
|
|
@@ -6184,7 +6184,7 @@ Xd = function(e, t, n) {
|
|
|
6184
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, F = !0,
|
|
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
|
|
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:
|
|
@@ -6205,7 +6205,7 @@ Xd = function(e, t, n) {
|
|
|
6205
6205
|
case 4:
|
|
6206
6206
|
return na(t, t.stateNode.containerInfo), r = t.pendingProps, e === null ? t.child = Ln(t, null, r, n) : se(e, t, r, n), t.child;
|
|
6207
6207
|
case 11:
|
|
6208
|
-
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i :
|
|
6208
|
+
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ve(r, i), Yu(e, t, r, i, n);
|
|
6209
6209
|
case 7:
|
|
6210
6210
|
return se(e, t, t.pendingProps, n), t.child;
|
|
6211
6211
|
case 8:
|
|
@@ -6214,7 +6214,7 @@ Xd = function(e, t, n) {
|
|
|
6214
6214
|
return se(e, t, t.pendingProps.children, n), t.child;
|
|
6215
6215
|
case 10:
|
|
6216
6216
|
e: {
|
|
6217
|
-
if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value,
|
|
6217
|
+
if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value, V(Ii, r._currentValue), r._currentValue = l, o !== null)
|
|
6218
6218
|
if (ze(o.value, l)) {
|
|
6219
6219
|
if (o.children === i.children && !me.current) {
|
|
6220
6220
|
t = dt(e, t, n);
|
|
@@ -6275,11 +6275,11 @@ Xd = function(e, t, n) {
|
|
|
6275
6275
|
case 9:
|
|
6276
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
|
-
return r = t.type, i =
|
|
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:
|
|
6280
6280
|
return ad(e, t, t.type, t.pendingProps, n);
|
|
6281
6281
|
case 17:
|
|
6282
|
-
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i :
|
|
6282
|
+
return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ve(r, i), ei(e, t), t.tag = 1, he(r) ? (e = !0, mi(t)) : e = !1, yn(t, n), Kc(t, r, i), ul(t, r, i, n), dl(null, t, r, !0, e, n);
|
|
6283
6283
|
case 19:
|
|
6284
6284
|
return gd(e, t, n);
|
|
6285
6285
|
case 22:
|
|
@@ -6303,9 +6303,9 @@ function Rp(e) {
|
|
|
6303
6303
|
if (typeof e == "function")
|
|
6304
6304
|
return Ca(e) ? 1 : 0;
|
|
6305
6305
|
if (e != null) {
|
|
6306
|
-
if (e = e.$$typeof, e ===
|
|
6306
|
+
if (e = e.$$typeof, e === Kl)
|
|
6307
6307
|
return 11;
|
|
6308
|
-
if (e ===
|
|
6308
|
+
if (e === Vl)
|
|
6309
6309
|
return 14;
|
|
6310
6310
|
}
|
|
6311
6311
|
return 2;
|
|
@@ -6334,7 +6334,7 @@ function ri(e, t, n, r, i, o) {
|
|
|
6334
6334
|
return e = Ae(13, n, t, i), e.elementType = Ro, e.lanes = o, e;
|
|
6335
6335
|
case Bo:
|
|
6336
6336
|
return e = Ae(19, n, t, i), e.elementType = Bo, e.lanes = o, e;
|
|
6337
|
-
case
|
|
6337
|
+
case Vs:
|
|
6338
6338
|
return xi(n, i, o, t);
|
|
6339
6339
|
default:
|
|
6340
6340
|
if (typeof e == "object" && e !== null)
|
|
@@ -6342,13 +6342,13 @@ function ri(e, t, n, r, i, o) {
|
|
|
6342
6342
|
case Os:
|
|
6343
6343
|
l = 10;
|
|
6344
6344
|
break e;
|
|
6345
|
-
case
|
|
6345
|
+
case Ks:
|
|
6346
6346
|
l = 9;
|
|
6347
6347
|
break e;
|
|
6348
|
-
case
|
|
6348
|
+
case Kl:
|
|
6349
6349
|
l = 11;
|
|
6350
6350
|
break e;
|
|
6351
|
-
case
|
|
6351
|
+
case Vl:
|
|
6352
6352
|
l = 14;
|
|
6353
6353
|
break e;
|
|
6354
6354
|
case mt:
|
|
@@ -6363,7 +6363,7 @@ function xt(e, t, n, r) {
|
|
|
6363
6363
|
return e = Ae(7, e, r, t), e.lanes = n, e;
|
|
6364
6364
|
}
|
|
6365
6365
|
function xi(e, t, n, r) {
|
|
6366
|
-
return e = Ae(22, e, r, t), e.elementType =
|
|
6366
|
+
return e = Ae(22, e, r, t), e.elementType = Vs, e.lanes = n, e.stateNode = { isHidden: !1 }, e;
|
|
6367
6367
|
}
|
|
6368
6368
|
function Go(e, t, n) {
|
|
6369
6369
|
return e = Ae(6, e, null, t), e.lanes = n, e;
|
|
@@ -6437,7 +6437,7 @@ function Mu(e, t) {
|
|
|
6437
6437
|
function va(e, t) {
|
|
6438
6438
|
Mu(e, t), (e = e.alternate) && Mu(e, t);
|
|
6439
6439
|
}
|
|
6440
|
-
function
|
|
6440
|
+
function Kp() {
|
|
6441
6441
|
return null;
|
|
6442
6442
|
}
|
|
6443
6443
|
var kd = typeof reportError == "function" ? reportError : function(e) {
|
|
@@ -6482,7 +6482,7 @@ function Ji(e) {
|
|
|
6482
6482
|
}
|
|
6483
6483
|
function zu() {
|
|
6484
6484
|
}
|
|
6485
|
-
function
|
|
6485
|
+
function Vp(e, t, n, r, i) {
|
|
6486
6486
|
if (i) {
|
|
6487
6487
|
if (typeof r == "function") {
|
|
6488
6488
|
var o = r;
|
|
@@ -6521,7 +6521,7 @@ function Qi(e, t, n, r, i) {
|
|
|
6521
6521
|
}
|
|
6522
6522
|
Ti(t, l, e, i);
|
|
6523
6523
|
} else
|
|
6524
|
-
l =
|
|
6524
|
+
l = Vp(n, t, e, i, r);
|
|
6525
6525
|
return Yi(l);
|
|
6526
6526
|
}
|
|
6527
6527
|
oc = function(e) {
|
|
@@ -6577,16 +6577,16 @@ uc = function(e, t) {
|
|
|
6577
6577
|
To = function(e, t, n) {
|
|
6578
6578
|
switch (t) {
|
|
6579
6579
|
case "input":
|
|
6580
|
-
if (
|
|
6580
|
+
if (Vo(e, n), t = n.name, n.type === "radio" && t != null) {
|
|
6581
6581
|
for (n = e; n.parentNode; )
|
|
6582
6582
|
n = n.parentNode;
|
|
6583
6583
|
for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {
|
|
6584
6584
|
var r = n[t];
|
|
6585
6585
|
if (r !== e && r.form === e.form) {
|
|
6586
|
-
var i =
|
|
6586
|
+
var i = Vi(r);
|
|
6587
6587
|
if (!i)
|
|
6588
6588
|
throw Error(b(90));
|
|
6589
|
-
|
|
6589
|
+
Hs(r), Vo(r, i);
|
|
6590
6590
|
}
|
|
6591
6591
|
}
|
|
6592
6592
|
}
|
|
@@ -6600,18 +6600,18 @@ To = function(e, t, n) {
|
|
|
6600
6600
|
};
|
|
6601
6601
|
Es = pa;
|
|
6602
6602
|
Us = Et;
|
|
6603
|
-
var
|
|
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:
|
|
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(
|
|
6610
|
+
Ri = xr.inject(Hp), Ue = xr;
|
|
6611
6611
|
} catch {
|
|
6612
6612
|
}
|
|
6613
6613
|
}
|
|
6614
|
-
Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED =
|
|
6614
|
+
Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = jp;
|
|
6615
6615
|
Le.createPortal = function(e, t) {
|
|
6616
6616
|
var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
|
|
6617
6617
|
if (!ba(t))
|
|
@@ -7265,10 +7265,10 @@ var Pu = {}, _u = function(e) {
|
|
|
7265
7265
|
return u ? (d.res = Y, d) : Y;
|
|
7266
7266
|
}
|
|
7267
7267
|
if (c) {
|
|
7268
|
-
var _ = y === "[object Array]", xe = _ ? [] : {},
|
|
7268
|
+
var _ = y === "[object Array]", xe = _ ? [] : {}, Kt = _ ? I : m;
|
|
7269
7269
|
for (var qe in s)
|
|
7270
7270
|
if (Object.prototype.hasOwnProperty.call(s, qe)) {
|
|
7271
|
-
var Gr = "".concat(
|
|
7271
|
+
var Gr = "".concat(Kt).concat(c).concat(qe);
|
|
7272
7272
|
xe[qe] = this.translate(Gr, oe(oe({}, o), {
|
|
7273
7273
|
joinArrays: !1,
|
|
7274
7274
|
ns: f
|
|
@@ -7279,11 +7279,11 @@ var Pu = {}, _u = function(e) {
|
|
|
7279
7279
|
} else if (L && typeof W == "string" && y === "[object Array]")
|
|
7280
7280
|
s = s.join(W), s && (s = this.extendTranslation(s, i, o, l));
|
|
7281
7281
|
else {
|
|
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) : "",
|
|
7283
|
-
!this.isValidLookup(s) && A && (ft = !0, s =
|
|
7284
|
-
var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, Ie = A &&
|
|
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
|
+
!this.isValidLookup(s) && A && (ft = !0, s = K), this.isValidLookup(s) || (et = !0, s = g);
|
|
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
|
-
if (this.logger.log(Ie ? "updateKey" : "missingKey", C, h, g, Ie ?
|
|
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), {}, {
|
|
7288
7288
|
keySeparator: !1
|
|
7289
7289
|
}));
|
|
@@ -7301,9 +7301,9 @@ var Pu = {}, _u = function(e) {
|
|
|
7301
7301
|
};
|
|
7302
7302
|
this.options.saveMissing && (this.options.saveMissingPlurals && G ? ve.forEach(function(_i) {
|
|
7303
7303
|
a.pluralResolver.getSuffixes(_i, o).forEach(function(qt) {
|
|
7304
|
-
Za([_i], g + qt, o["defaultValue".concat(qt)] ||
|
|
7304
|
+
Za([_i], g + qt, o["defaultValue".concat(qt)] || K);
|
|
7305
7305
|
});
|
|
7306
|
-
}) : Za(ve, g,
|
|
7306
|
+
}) : Za(ve, g, K));
|
|
7307
7307
|
}
|
|
7308
7308
|
s = this.extendTranslation(s, i, o, d, l), et && s === g && this.options.appendNamespaceToMissingKey && (s = "".concat(h, ":").concat(g)), (et || ft) && this.options.parseMissingKeyHandler && (this.options.compatibilityAPI !== "v1" ? s = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(h, ":").concat(g) : g, ft ? s : void 0) : s = this.options.parseMissingKeyHandler(s));
|
|
7309
7309
|
}
|
|
@@ -7754,7 +7754,7 @@ function es(e, t) {
|
|
|
7754
7754
|
}
|
|
7755
7755
|
return n;
|
|
7756
7756
|
}
|
|
7757
|
-
function
|
|
7757
|
+
function Ke(e) {
|
|
7758
7758
|
for (var t = 1; t < arguments.length; t++) {
|
|
7759
7759
|
var n = arguments[t] != null ? arguments[t] : {};
|
|
7760
7760
|
t % 2 ? es(Object(n), !0).forEach(function(r) {
|
|
@@ -7811,12 +7811,12 @@ var gm = function() {
|
|
|
7811
7811
|
var f = function(d) {
|
|
7812
7812
|
if (d.indexOf(l.formatSeparator) < 0) {
|
|
7813
7813
|
var s = ts(r, p, d, l.options.keySeparator, l.options.ignoreJSONStructure);
|
|
7814
|
-
return l.alwaysFormat ? l.format(s, void 0, i,
|
|
7814
|
+
return l.alwaysFormat ? l.format(s, void 0, i, Ke(Ke(Ke({}, o), r), {}, {
|
|
7815
7815
|
interpolationkey: d
|
|
7816
7816
|
})) : s;
|
|
7817
7817
|
}
|
|
7818
7818
|
var m = d.split(l.formatSeparator), I = m.shift().trim(), y = m.join(l.formatSeparator).trim();
|
|
7819
|
-
return l.format(ts(r, p, I, l.options.keySeparator, l.options.ignoreJSONStructure), y, i,
|
|
7819
|
+
return l.format(ts(r, p, I, l.options.keySeparator, l.options.ignoreJSONStructure), y, i, Ke(Ke(Ke({}, o), r), {}, {
|
|
7820
7820
|
interpolationkey: I
|
|
7821
7821
|
}));
|
|
7822
7822
|
};
|
|
@@ -7867,7 +7867,7 @@ var gm = function() {
|
|
|
7867
7867
|
var s = d.match(/'/g), m = d.match(/"/g);
|
|
7868
7868
|
(s && s.length % 2 === 0 && !m || m.length % 2 !== 0) && (d = d.replace(/'/g, '"'));
|
|
7869
7869
|
try {
|
|
7870
|
-
u = JSON.parse(d), C && (u =
|
|
7870
|
+
u = JSON.parse(d), C && (u = Ke(Ke({}, C), u));
|
|
7871
7871
|
} catch (I) {
|
|
7872
7872
|
return this.logger.warn("failed parsing options string in nesting for key ".concat(h), I), "".concat(h).concat(v).concat(d);
|
|
7873
7873
|
}
|
|
@@ -7875,7 +7875,7 @@ var gm = function() {
|
|
|
7875
7875
|
}
|
|
7876
7876
|
for (; l = this.nestingRegexp.exec(n); ) {
|
|
7877
7877
|
var p = [];
|
|
7878
|
-
u =
|
|
7878
|
+
u = Ke({}, o), u = u.replace && typeof u.replace != "string" ? u.replace : u, u.applyPostProcessor = !1, delete u.defaultValue;
|
|
7879
7879
|
var g = !1;
|
|
7880
7880
|
if (l[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(l[1])) {
|
|
7881
7881
|
var f = l[1].split(this.formatSeparator).map(function(h) {
|
|
@@ -7886,7 +7886,7 @@ var gm = function() {
|
|
|
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
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
|
-
return i.format(h, C, o.lng,
|
|
7889
|
+
return i.format(h, C, o.lng, Ke(Ke({}, o), {}, {
|
|
7890
7890
|
interpolationkey: l[1].trim()
|
|
7891
7891
|
}));
|
|
7892
7892
|
}, a.trim())), n = n.replace(l[0], a), this.regexp.lastIndex = 0;
|
|
@@ -8653,7 +8653,7 @@ ue.setDefaultNamespace;
|
|
|
8653
8653
|
ue.hasLoadedNamespace;
|
|
8654
8654
|
ue.loadNamespaces;
|
|
8655
8655
|
ue.loadLanguages;
|
|
8656
|
-
var
|
|
8656
|
+
var Kd = [], wm = Kd.forEach, Zm = Kd.slice;
|
|
8657
8657
|
function Wm(e) {
|
|
8658
8658
|
return wm.call(Zm.call(arguments, 1), function(t) {
|
|
8659
8659
|
if (t)
|
|
@@ -8863,7 +8863,7 @@ function Bm() {
|
|
|
8863
8863
|
}
|
|
8864
8864
|
};
|
|
8865
8865
|
}
|
|
8866
|
-
var
|
|
8866
|
+
var Vd = /* @__PURE__ */ function() {
|
|
8867
8867
|
function e(t) {
|
|
8868
8868
|
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
8869
8869
|
Re(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
|
|
@@ -8908,8 +8908,8 @@ var Kd = /* @__PURE__ */ function() {
|
|
|
8908
8908
|
}
|
|
8909
8909
|
}]), e;
|
|
8910
8910
|
}();
|
|
8911
|
-
|
|
8912
|
-
const Om = "Se connecter",
|
|
8911
|
+
Vd.type = "languageDetector";
|
|
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: {
|
|
@@ -8923,10 +8923,10 @@ const Om = "Se connecter", Vm = "Se déconnecter", Km = "Gérer le profil", Hm =
|
|
|
8923
8923
|
}
|
|
8924
8924
|
}, Tm = "Code Xtra QR", Dm = "Vie privée", Jm = "Payer avec Xtra", Qm = {
|
|
8925
8925
|
login: Om,
|
|
8926
|
-
logout:
|
|
8927
|
-
manageProfile:
|
|
8928
|
-
loading:
|
|
8929
|
-
xtraMenuAriaLabel:
|
|
8926
|
+
logout: Km,
|
|
8927
|
+
manageProfile: Vm,
|
|
8928
|
+
loading: jm,
|
|
8929
|
+
xtraMenuAriaLabel: Hm,
|
|
8930
8930
|
register: Fm,
|
|
8931
8931
|
termsAndConditions: Mm,
|
|
8932
8932
|
confirm: zm,
|
|
@@ -8960,7 +8960,7 @@ const Om = "Se connecter", Vm = "Se déconnecter", Km = "Gérer le profil", Hm =
|
|
|
8960
8960
|
privacy: ih,
|
|
8961
8961
|
payment: oh
|
|
8962
8962
|
};
|
|
8963
|
-
ue.use(
|
|
8963
|
+
ue.use(Vd).use(vg).init({
|
|
8964
8964
|
detection: { order: ["htmlTag", "navigator"] },
|
|
8965
8965
|
debug: !1,
|
|
8966
8966
|
supportedLngs: ["nl", "fr"],
|
|
@@ -8982,12 +8982,12 @@ const ah = (e) => {
|
|
|
8982
8982
|
return e.prepend(n);
|
|
8983
8983
|
});
|
|
8984
8984
|
};
|
|
8985
|
-
let Wl, Ll, Gl,
|
|
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-
|
|
8990
|
+
const n = Rd(t), r = (await import("./App-ad762d98.mjs")).default;
|
|
8991
8991
|
n.render(
|
|
8992
8992
|
/* @__PURE__ */ nr.jsx(
|
|
8993
8993
|
r,
|
|
@@ -8995,8 +8995,8 @@ class sh extends HTMLElement {
|
|
|
8995
8995
|
environment: Wl,
|
|
8996
8996
|
redirectUrl: Ll,
|
|
8997
8997
|
apiUrl: Gl,
|
|
8998
|
-
position:
|
|
8999
|
-
bouMenuItems:
|
|
8998
|
+
position: jd,
|
|
8999
|
+
bouMenuItems: Hd
|
|
9000
9000
|
}
|
|
9001
9001
|
)
|
|
9002
9002
|
);
|
|
@@ -9009,7 +9009,7 @@ const fh = (e) => {
|
|
|
9009
9009
|
throw new Error("apiUrl must specified when registering the Xtra authentication component.");
|
|
9010
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,
|
|
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
9013
|
const r = Tp({ apiUrl: Gl, redirectUrl: Ll });
|
|
9014
9014
|
window.location.replace(r);
|
|
9015
9015
|
} };
|