@myxtra/authentication-green 1.15.0 → 1.15.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.
|
@@ -15,7 +15,7 @@ var lt = (e, t, s, r) => ({
|
|
|
15
15
|
return n(e, t, r);
|
|
16
16
|
}
|
|
17
17
|
}), x = (e, t, s) => (bt(e, t, "access private method"), s);
|
|
18
|
-
import { r as d, j as i, u as Zs, a as zs, b as Ee, c as ps, P as qt, d as Ys, E as Js } from "./index-
|
|
18
|
+
import { r as d, j as i, u as Zs, a as zs, b as Ee, c as ps, P as qt, d as Ys, E as Js } from "./index-992b509d.mjs";
|
|
19
19
|
var Ge = class {
|
|
20
20
|
constructor() {
|
|
21
21
|
this.listeners = /* @__PURE__ */ new Set(), this.subscribe = this.subscribe.bind(this);
|
|
@@ -1117,7 +1117,7 @@ react-is/cjs/react-is.development.js:
|
|
|
1117
1117
|
* LICENSE file in the root directory of this source tree.
|
|
1118
1118
|
*)
|
|
1119
1119
|
*/
|
|
1120
|
-
const Wm = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTMwMDojZjI5Njk5OwogIC0tZXJyb3ItNDAwOiNmZjVjNWM7CiAgLS1lcnJvci01MDA6I2U2MmQzMjsKICAtLWVycm9yLTYwMDojY2YyODJkOwogIC0td2FybmluZy0yMDA6I2ZmZmFmMzsKICAtLXdhcm5pbmctNTAwOiNkYzg2MzM7CiAgLS1kaXNjb3VudC01MDojZmRmMmY0OwogIC0tcHJpbWFyeS1ncmFkaWVudDpsaW5lYXItZ3JhZGllbnQoMTMzLjUzZGVnLCMxNTlhOTUgMjUuNTclLCMxMGI4YjEgNzQuMjklKTsKICAtLXNoYWRvdy1jYXJkOjAgM3B4IDhweCByZ2JhKDQ2LDU5LDg2LC4xKTsKICAtLXNoYWRvdy1uYXY6MCAwIDEycHggcmdiYSg0Niw1OSw4NiwuMTIpOwogIC0tc2hhZG93LWJ1dHRvbjowIDhweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctZmFiOjAgNHB4IDhweCAtNXB4IHJnYmEoMSwxNDEsMTM2LC4yKTsKICAtLXNoYWRvdy1tb2RhbDowIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIC0tYm9yZGVyLXJhZGl1cy1zbTo0cHg7CiAgLS1ib3JkZXItcmFkaXVzLW1kOjhweDsKICAtLWJvcmRlci1yYWRpdXMtbGc6MTZweDsKICAtLXNwYWNpbmctMTo0cHg7CiAgLS1zcGFjaW5nLTI6OHB4OwogIC0tc3BhY2luZy0zOjEycHg7CiAgLS1zcGFjaW5nLTQ6MTZweDsKICAtLXNwYWNpbmctNToyMHB4OwogIC0tc3BhY2luZy02OjI0cHg7CiAgLS1zcGFjaW5nLTc6MjhweDsKICAtLXNwYWNpbmctODozMnB4OwogIC0tc3BhY2luZy05OjQwcHg7CiAgLS1zcGFjaW5nLTEwOjQ4cHg7CiAgLS1zcGFjaW5nLTExOjU2cHg7CiAgLS1zcGFjaW5nLTEyOjY0cHg7CiAgLS1mb250LXh0cmE6Ik5ldWUiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sYmxpbmttYWNzeXN0ZW1mb250LCJTZWdvZSBVSSIscm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsYXJpYWwsIk5vdG8gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiOwogIC0tZGlzcGxheS0xLW1lZGl1bTo1MDAgM3JlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWRpc3BsYXktMi1tZWRpdW06NTAwIDIuNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWRpc3BsYXktMy1tZWRpdW06NTAwIDJyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0xLXJlZ3VsYXI6NDAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtbWVkaXVtOjUwMCAxLjVyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0yLXJlZ3VsYXI6NDAwIDEuMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0yLW1lZGl1bTo1MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtcmVndWxhcjo0MDAgMS4xMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0zLW1lZGl1bTo1MDAgMS4xMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTEtcmVndWxhcjo0MDAgMS4xMjVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTEtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMi1yZWd1bGFyOjQwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLW1lZGl1bTo1MDAgMXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtcmVndWxhcjo0MDAgMC44NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1zdWJ0ZXh0LW1lZGl1bTo1MDAgMC44NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1sYWJlbC1yZWd1bGFyOjQwMCAwLjY4NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1sYWJlbC1tZWRpdW06NTAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07Cn0KLnNyLW9ubHkgewogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgYm9yZGVyLXdpZHRoOiAwOwogIGhlaWdodDogMXB4OwogIG1hcmdpbjogLTFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgd2lkdGg6IDFweDsKfQo6aG9zdCAqLAo6cm9vdCAqIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICA6aG9zdCwKICA6cm9vdCB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BbmNob3IvQW5jaG9yLmNzcyAqLwouYW5jaG9yIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQtc2l6ZTogMTBweDsKICBoZWlnaHQ6IDI0cHg7CiAgd2lkdGg6IDI0cHg7Cn0KLmF2YXRhci0tbWVkaXVtIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBmb250LXNpemU6IDE4cHg7CiAgaGVpZ2h0OiA0MHB4OwogIHdpZHRoOiA0MHB4Owp9Ci5hdmF0YXItLWxhcmdlIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBtaW4taGVpZ2h0OiA0OHB4OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKICB3aWR0aDogMTAwJTsKfQouYnV0dG9uLS1wcmltYXJ5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgfQp9Ci5idXR0b24tLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS02MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICBib3gtc2hhZG93OiBub25lOwp9Ci5idXR0b24tLWRpc2FibGVkLAouYnV0dG9uLS1wcmltYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgbWluLWhlaWdodDogdW5zZXQ7CiAgcGFkZGluZzogMDsKICB3aWR0aDogYXV0bzsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmJ1dHRvbi0td2l0aC1pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5idXR0b25fX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogc3ViOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLmlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLmlucHV0LS1zdWNjZXMgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFsZXJ0LXN1Y2Nlcy01MDApOwp9Ci5pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWVycm9yLTUwMCk7Cn0KLmlucHV0OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLmlucHV0OmlzKDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9CiAgLmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpLAogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dC0td2l0aC1wcmVmaXggewogIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXQtLXdpdGgtc3VmZml4IHsKICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmctNCkqMiArIDI0cHgpOwp9Ci5pbnB1dF9fcHJlZml4LAouaW5wdXRfX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGhlaWdodDogMTAwJTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDI0cHg7Cn0KLmlucHV0X19wcmVmaXggewogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmlucHV0X19zdWZmaXggewogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwp9CmlucHV0W3R5cGU9ZGF0ZV06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBoZWlnaHQ6IDI0cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAyNHB4OwogIHotaW5kZXg6IDE7Cn0KaW5wdXRbdHlwZT1kYXRlXSB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CmlucHV0Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUgewogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmlucHV0X19zdWZmaXggKyBpbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQouaW5wdXRfX3dyYXBwZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9TdGF0dXNDaGlwL1N0YXR1c0NoaXAuY3NzICovCi5zdGF0dXMtY2hpcCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWNvbG9yKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKSB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zdGF0dXMtY2hpcC0tc3VjY2VzcyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLXdhcm5pbmcgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1lcnJvciB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1kaXNhYmxlZCB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtNDAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3dpdGNoL1N3aXRjaC5jc3MgKi8KLnN3aXRjaF9fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKfQouc3dpdGNoX190aHVtYiB7CiAgLS1zd2l0Y2gtd2lkdGg6NTFweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnktNTAwKSA1MCUsIHZhcigtLW5ldXRyYWwtMjAwKSA1MCUpOwogIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7CiAgYmFja2dyb3VuZC1zaXplOiAyMDAlOwogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGhlaWdodDogMzFweDsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwp9Ci5zd2l0Y2hfX3RodW1iLApidXR0b24uc3dpdGNoX190aHVtYiB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICBib3JkZXI6IG5vbmU7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZCwKLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXSB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMDsKfQouc3dpdGNoX190aHVtYjphZnRlciB7CiAgLS1zd2l0Y2gtdGh1bWItd2lkdGg6MjdweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIC4xNSksIDAgM3B4IDFweCByZ2IoMCAwIDAvNiUpOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjdweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAycHg7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDMuNXB4IC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSkpOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQ6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpIC0gMnB4KSk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXTphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zLjVweCk7Cn0KLnN3aXRjaF9fbGFiZWwtLWRpc2FibGVkIHsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5zd2l0Y2hfX3RodW1iIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLXBvc2l0aW9uOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQogIC5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9UZXh0QXJlYS9UZXh0QXJlYS5jc3MgKi8KLnRleHQtYXJlYSB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBib3JkZXItcmFkaXVzOiAwOwogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgZmxleC1kaXJlY3Rpb246IHJvdzsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiwKLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3IpOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zKTsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMik7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIDppcyguY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlLCAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uKSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2VtcHR5LXN0YXRlIHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIGhlaWdodDogLW1vei1maXQtY29udGVudDsKICAgIGhlaWdodDogZml0LWNvbnRlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9CiAgdWwuY2FyZCAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogICAgYm94LXNoYWRvdzoKICAgICAgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwKICAgICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgICAgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICB9CiAgdWwuY2FyZCA6aXMoLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlLCAubGlzdC1pdGVtOmZpcnN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06bGFzdC1vZi10eXBlLCAubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSBhKSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJbWFnZVZhcmlhbnQuY3NzICovCi5jYXJkLS1pbWFnZSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlLAouY2FyZC0taW1hZ2UgLmNhcmRfX2lsbHVzdHJhdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9faGVhZGVyX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fYm9keSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNpbmctNik7CiAgbWF4LXdpZHRoOiA0MjBweDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkLS1pbWFnZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpIHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMSk7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIG1hcmdpbjogMDsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZExpc3QvQ2FyZExpc3QuY3NzICovCi5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC1saXN0IHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmQtbGlzdCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgewogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGVja2JveC9DaGVja2JveC5jc3MgKi8KLmNoZWNrYm94IHsKICAtLWNoZWNrYm94LXdpZHRoOjI0cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICA6aXMoLmNoZWNrYm94X19pbnB1dCwgLmNoZWNrYm94X19sYWJlbCk6aG92ZXIgewogICAgY3Vyc29yOiBwb2ludGVyOwogIH0KfQouY2hlY2tib3gtLW5ldXRyYWwsCi5jaGVja2JveC0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5jaGVja2JveF9fc3Bpbm5lciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5jaGVja2JveF9fY2hlY2ssCi5jaGVja2JveF9fc3Bpbm5lciB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQouY2hlY2tib3hfX2lucHV0OmZvY3VzLXdpdGhpbiB+IC5jaGVja2JveF9fY2hlY2sgewogIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZS1vZmZzZXQ6IDJweDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5jaGVja2JveF9faW5wdXQ6aG92ZXI6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZS1kYXNob2Zmc2V0OiAwOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pOmlzKDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7CiAgfQogIC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMzVzIGVhc2Utb3V0OwogIH0KICAuY2hlY2tib3hfX3NwaW5uZXIgY2lyY2xlOmxhc3Qtb2YtdHlwZSB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgfQogIEBrZXlmcmFtZXMgY2hlY2tib3gtc3Bpbm5lciB7CiAgICAwJSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KICAgIHRvIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOwogICAgfQogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbWJvYm94L0NvbWJvYm94LmNzcyAqLwouY29tYm9ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQp1bFtyb2xlPWxpc3Rib3hdLmNvbWJvYm94X19saXN0LS1vcGVuIHsKICBkaXNwbGF5OiBibG9jazsKfQp1bFtyb2xlPWxpc3Rib3hdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25QcmVmaXgvRGVzY3JpcHRpb25QcmVmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19wcmVmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZmxleDogMDsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0RpYWxvZy9EaWFsb2cuY3NzICovCi5kaWFsb2dbb3Blbl06OmJhY2tkcm9wIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgb3BhY2l0eTogLjI1Owp9CmJvZHk6aGFzKGRpYWxvZ1tvcGVuXSkgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KZGlhbG9nOm5vdChbb3Blbl0pIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KZGlhbG9nOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5kaWFsb2cgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogMDsKICB6LWluZGV4OiAxMDAwOwp9Ci5kaWFsb2dfX2hlYWRlcl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQouZGlhbG9nX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGU6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZ19fYm9keSwKLmRpYWxvZ19fZm9vdGVyLAouZGlhbG9nX19oZWFkZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fYm9keSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2Zvb3RlciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3R0b206IDA7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOwogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgcG9zaXRpb246IHN0aWNreTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRpYWxvZ19fYm9keSwKICAuZGlhbG9nX19mb290ZXIsCiAgLmRpYWxvZ19faGVhZGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5kaWFsb2dfX2JvZHkgewogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nIHsKICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7CiAgICBtYXgtd2lkdGg6IDYwMHB4OwogIH0KICAuZGlhbG9nX19mb290ZXIgewogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuZGlhbG9nW29wZW5dLmRpYWxvZy0tYW5pbWF0ZWQgewogICAgYW5pbWF0aW9uOiB6b29tLWluIC4xNXM7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1vdXQgLjE1czsKICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgLjE1czsKICB9CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtaW4gLjE1czsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtb3V0IC4xNXM7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogIH0KICAwLjAwMDAwMDAwMDElIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1vdXQgewogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KQGtleWZyYW1lcyBmYWRlLW91dCB7CiAgMCUgewogICAgb3BhY2l0eTogLjI1OwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtLmNzcyAqLwoubGlzdC1pdGVtLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KLmxpc3QtaXRlbSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpIHZhcigtLXNwYWNpbmctNCk7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGJvcmRlcjogbm9uZTsKICBjb2xvcjogaW5oZXJpdDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC14dHJhKTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgICBib3JkZXI6IG5vbmU7CiAgfQp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmZvY3VzLAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLWVycm9yLTIwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlLAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTIwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAogIC5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXI6bGFzdC1vZi10eXBlIHsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1Db250ZW50L0xpc3RJdGVtQ29udGVudC5jc3MgKi8KLmxpc3QtaXRlbV9fY29udGVudCB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbU1ldGEvTGlzdEl0ZW1NZXRhLmNzcyAqLwoubGlzdC1pdGVtX19tZXRhIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVByZWZpeC9MaXN0SXRlbVByZWZpeC5jc3MgKi8KLmxpc3QtaXRlbV9fcHJlZml4IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX19wcmVmaXgsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX19wcmVmaXggewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWJ0aXRsZS9MaXN0SXRlbVN1YnRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWZmaXgvTGlzdEl0ZW1TdWZmaXguY3NzICovCi5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UZXh0L0xpc3RJdGVtVGV4dC5jc3MgKi8KLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRpdGxlL0xpc3RJdGVtVGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3RpdGxlIHsKICBmb250LXdlaWdodDogNTAwOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9Db250ZW50L0NvbnRlbnQuY3NzICovCi5tZW51X19saXN0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnNlY3Rpb24tbWVzc2FnZSwKLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0taW5mbyB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouc2VjdGlvbi1tZXNzYWdlLS1wcmltYXJ5IHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1wcmltYXJ5LTcwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LTUwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1zdWNjZXNzIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0td2FybmluZyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWVycm9yIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC02MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDI0cHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0taW5mbyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uLAouc2VjdGlvbi1tZXNzYWdlX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlICsgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIDA7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIDppcyhhLCBwLCBidXR0b24pIHsKICBjb2xvcjogaW5oZXJpdDsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICBwYWRkaW5nOiAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmFjdGl2ZSwKLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKSwgMCAwIDAgMTBweCB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIDppcyhhLCBwLCBidXR0b24pIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc2VjdGlvbi1tZXNzYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTUpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGhvbmVOdW1iZXIvUGhvbmVOdW1iZXIuY3NzICovCi5waG9uZS1udW1iZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5waG9uZS1udW1iZXIgLmlucHV0X193cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7Cn0KLnBob25lLW51bWJlciAucGhvbmUtbnVtYmVyX19jb3VudHJ5LWNvZGUtc2VsZWN0IHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDk2cHg7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1NlbGVjdC9TZWxlY3QuY3NzICovCi5zZWxlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zZWxlY3Qtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjRweDsKICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICBtYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgbWFzay1wb3NpdGlvbjogY2VudGVyOwogIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjsKICBtYXNrLXNpemU6IGNvdmVyOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlbGVjdCB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5zZWxlY3QtLXdpdGgtcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWxlY3Q6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5zZWxlY3Q6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnNlbGVjdC13cmFwcGVyLS1mb2N1czphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VnbWVudGVkQ29udHJvbC9TZWdtZW50ZWRDb250cm9sLmNzcyAqLwouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2wgW3JvbGU9dGFicGFuZWxdW2RhdGEtc3RhdGU9aW5hY3RpdmVdIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fbGlzdF9fd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZmxleDogMTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdOmZvY3VzLXZpc2libGUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGFicy9UYWJzLmNzcyAqLwoudGFicyB7CiAgZGlzcGxheTogbm9uZTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMik7CiAgd2lkdGg6IHZhcigtLXNwYWNpbmctNik7Cn0KLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5zdGVwc19fbGluazpmaXJzdC1vZi10eXBlIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgZGlzcGxheTogbm9uZTsKfQouc3RlcHNfX2xpbmsuYWN0aXZlIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIsCi5zdGVwc19fbGluay5hY3RpdmUgYSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICAgIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RpbWVsaW5lL1RpbWVsaW5lLmNzcyAqLwoudGltZWxpbmUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGltZWxpbmU6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLnRpbWVsaW5lLS12ZXJ0aWNhbDphZnRlciB7CiAgaGVpZ2h0OiAxMDAlOwogIGluc2V0OiAwIDUwJSBhdXRvOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lLS1ob3Jpem9udGFsIHsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtLWhvcml6b250YWw6YWZ0ZXIgewogIGhlaWdodDogMXB4OwogIGluc2V0OiA1MCUgMCBhdXRvOwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZV9fbGFiZWwgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICBoZWlnaHQ6IDMycHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDMycHg7Cn0KLnRpbWVsaW5lX19sYWJlbDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMzJweDsKICB3aWR0aDogMzJweDsKICB6LWluZGV4OiAxMDsKfQoudGltZWxpbmVfX2xhYmVsID4gOmlzKHN2Zywgc3BhbikgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMjA7Cn0KLnRpbWVsaW5lLS12ZXJ0aWNhbCAudGltZWxpbmVfX2xhYmVsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNCkgYXV0byAwOwp9Ci50aW1lbGluZS0taG9yaXpvbnRhbCAudGltZWxpbmVfX2xhYmVsIHsKICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKfQoudGltZWxpbmVfX2xhYmVsLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDMzIDMyJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBBQjlFJyBkPSdNMTEuMTY5LjA1YzYuMDA2LjcwOSAxMi4zNjggMi40MTMgMTcuOTI0IDQuODAyIDEuMTkzLjUxMyAyLjEyOCAxLjI4IDIuNzIgMi4zMDcuNTkzIDEuMDI2Ljc5IDIuMjIuNjM4IDMuNTEtLjcxIDYuMDA1LTIuNDE0IDEyLjM2Ny00LjgwMyAxNy45MjMtLjUxMyAxLjE5NC0xLjI4IDIuMTMtMi4zMDYgMi43MjItMS4wMjYuNTkyLTIuMjIuNzg5LTMuNTEuNjM3LTYuMDA2LS43MS0xMi4zNjgtMi40MTQtMTcuOTI0LTQuODAzLTEuMTk0LS41MTMtMi4xMy0xLjI4LTIuNzIyLTIuMzA3LS41OTItMS4wMjYtLjc4OS0yLjIyLS42MzctMy41MS43MS02LjAwNiAyLjQxNC0xMi4zNjggNC44MDQtMTcuOTI0LjUxMy0xLjE5MyAxLjI4LTIuMTI4IDIuMzA2LTIuNzIgMS4wMjYtLjU5MyAyLjIyLS43OSAzLjUxLS42MzhaJy8lM0UlM0Mvc3ZnJTNFIik7Cn0KLnRpbWVsaW5lX19sYWJlbC0tc2Vjb25kYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci50aW1lbGluZV9fbGFiZWwtLXNlY29uZGFyeTpiZWZvcmUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMzMgMzInJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0nJTIzMDBBQjlFJyBkPSdNMTEuMTEuNTQ2YzUuOTU4LjcwMyAxMi4yNzQgMi4zOTYgMTcuNzg1IDQuNzY1IDEuMTEzLjQ3OSAxLjk1NiAxLjE4MSAyLjQ4NiAyLjA5OC41MjkuOTE2LjcxNSAxLjk5OC41NzMgMy4yLS43MDMgNS45NTktMi4zOTUgMTIuMjc0LTQuNzY1IDE3Ljc4Ni0uNDc4IDEuMTEzLTEuMTggMS45NTYtMi4wOTcgMi40ODYtLjkxNy41MjktMS45OTkuNzE1LTMuMjAxLjU3My01Ljk1OS0uNzAzLTEyLjI3NC0yLjM5Ni0xNy43ODYtNC43NjUtMS4xMTMtLjQ3OS0xLjk1Ni0xLjE4MS0yLjQ4Ni0yLjA5OC0uNTI5LS45MTYtLjcxNS0xLjk5OC0uNTczLTMuMjAxQzEuNzUgMTUuNDMgMy40NDIgOS4xMTYgNS44MTIgMy42MDVjLjQ3OC0xLjExMyAxLjE4LTEuOTU2IDIuMDk3LTIuNDg2QzguODI2LjU5IDkuOTA3LjQwNCAxMS4xMS41NDZaJy8lM0UlM0Mvc3ZnJTNFIik7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50aW1lbGluZV9fbGFiZWwgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQogIC50aW1lbGluZS0tdmVydGljYWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctNSkgYXV0byAwOwogIH0KICAudGltZWxpbmUtLWhvcml6b250YWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy01KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogZmxleDsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsLAogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCB7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0K";
|
|
1120
|
+
const Wm = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTMwMDojZjI5Njk5OwogIC0tZXJyb3ItNDAwOiNmZjVjNWM7CiAgLS1lcnJvci01MDA6I2U2MmQzMjsKICAtLWVycm9yLTYwMDojY2YyODJkOwogIC0td2FybmluZy0yMDA6I2ZmZmFmMzsKICAtLXdhcm5pbmctNTAwOiNkYzg2MzM7CiAgLS1kaXNjb3VudC01MDojZmRmMmY0OwogIC0tcHJpbWFyeS1ncmFkaWVudDpsaW5lYXItZ3JhZGllbnQoMTMzLjUzZGVnLCMxNTlhOTUgMjUuNTclLCMxMGI4YjEgNzQuMjklKTsKICAtLXNoYWRvdy1jYXJkOjAgM3B4IDhweCByZ2JhKDQ2LDU5LDg2LC4xKTsKICAtLXNoYWRvdy1uYXY6MCAwIDEycHggcmdiYSg0Niw1OSw4NiwuMTIpOwogIC0tc2hhZG93LWJ1dHRvbjowIDhweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctZmFiOjAgNHB4IDhweCAtNXB4IHJnYmEoMSwxNDEsMTM2LC4yKTsKICAtLXNoYWRvdy1tb2RhbDowIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIC0tYm9yZGVyLXJhZGl1cy1zbTo0cHg7CiAgLS1ib3JkZXItcmFkaXVzLW1kOjhweDsKICAtLWJvcmRlci1yYWRpdXMtbGc6MTZweDsKICAtLXNwYWNpbmctMTo0cHg7CiAgLS1zcGFjaW5nLTI6OHB4OwogIC0tc3BhY2luZy0zOjEycHg7CiAgLS1zcGFjaW5nLTQ6MTZweDsKICAtLXNwYWNpbmctNToyMHB4OwogIC0tc3BhY2luZy02OjI0cHg7CiAgLS1zcGFjaW5nLTc6MjhweDsKICAtLXNwYWNpbmctODozMnB4OwogIC0tc3BhY2luZy05OjQwcHg7CiAgLS1zcGFjaW5nLTEwOjQ4cHg7CiAgLS1zcGFjaW5nLTExOjU2cHg7CiAgLS1zcGFjaW5nLTEyOjY0cHg7CiAgLS1mb250LXh0cmE6Ik5ldWUiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sYmxpbmttYWNzeXN0ZW1mb250LCJTZWdvZSBVSSIscm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsYXJpYWwsIk5vdG8gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiOwogIC0tZGlzcGxheS0xLW1lZGl1bTo1MDAgM3JlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWRpc3BsYXktMi1tZWRpdW06NTAwIDIuNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWRpc3BsYXktMy1tZWRpdW06NTAwIDJyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0xLXJlZ3VsYXI6NDAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtbWVkaXVtOjUwMCAxLjVyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0yLXJlZ3VsYXI6NDAwIDEuMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0yLW1lZGl1bTo1MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtcmVndWxhcjo0MDAgMS4xMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0zLW1lZGl1bTo1MDAgMS4xMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTEtcmVndWxhcjo0MDAgMS4xMjVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTEtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMi1yZWd1bGFyOjQwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLW1lZGl1bTo1MDAgMXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtcmVndWxhcjo0MDAgMC44NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1zdWJ0ZXh0LW1lZGl1bTo1MDAgMC44NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1sYWJlbC1yZWd1bGFyOjQwMCAwLjY4NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1sYWJlbC1tZWRpdW06NTAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07Cn0KLnNyLW9ubHkgewogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgYm9yZGVyLXdpZHRoOiAwOwogIGhlaWdodDogMXB4OwogIG1hcmdpbjogLTFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgd2lkdGg6IDFweDsKfQo6aG9zdCAqLAo6cm9vdCAqIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICA6aG9zdCwKICA6cm9vdCB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BbmNob3IvQW5jaG9yLmNzcyAqLwouYW5jaG9yIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQtc2l6ZTogMTBweDsKICBoZWlnaHQ6IDI0cHg7CiAgd2lkdGg6IDI0cHg7Cn0KLmF2YXRhci0tbWVkaXVtIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBmb250LXNpemU6IDE4cHg7CiAgaGVpZ2h0OiA0MHB4OwogIHdpZHRoOiA0MHB4Owp9Ci5hdmF0YXItLWxhcmdlIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBtaW4taGVpZ2h0OiA0OHB4OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKICB3aWR0aDogMTAwJTsKfQouYnV0dG9uLS1wcmltYXJ5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgfQp9Ci5idXR0b24tLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS02MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICBib3gtc2hhZG93OiBub25lOwp9Ci5idXR0b24tLWRpc2FibGVkLAouYnV0dG9uLS1wcmltYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgbWluLWhlaWdodDogdW5zZXQ7CiAgcGFkZGluZzogMDsKICB3aWR0aDogYXV0bzsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmJ1dHRvbi0td2l0aC1pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5idXR0b25fX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogc3ViOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLmlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLmlucHV0LS1zdWNjZXMgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFsZXJ0LXN1Y2Nlcy01MDApOwp9Ci5pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWVycm9yLTUwMCk7Cn0KLmlucHV0OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLmlucHV0OmlzKDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9CiAgLmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpLAogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dC0td2l0aC1wcmVmaXggewogIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXQtLXdpdGgtc3VmZml4IHsKICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmctNCkqMiArIDI0cHgpOwp9Ci5pbnB1dF9fcHJlZml4LAouaW5wdXRfX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGhlaWdodDogMTAwJTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDI0cHg7Cn0KLmlucHV0X19wcmVmaXggewogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmlucHV0X19zdWZmaXggewogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwp9CmlucHV0W3R5cGU9ZGF0ZV06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBoZWlnaHQ6IDI0cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAyNHB4OwogIHotaW5kZXg6IDE7Cn0KaW5wdXRbdHlwZT1kYXRlXSB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CmlucHV0Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUgewogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmlucHV0X19zdWZmaXggKyBpbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQouaW5wdXRfX3dyYXBwZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9TdGF0dXNDaGlwL1N0YXR1c0NoaXAuY3NzICovCi5zdGF0dXMtY2hpcCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWNvbG9yKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKSB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zdGF0dXMtY2hpcC0tc3VjY2VzcyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLXdhcm5pbmcgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1lcnJvciB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1kaXNhYmxlZCB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtNDAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3dpdGNoL1N3aXRjaC5jc3MgKi8KLnN3aXRjaF9fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKfQouc3dpdGNoX190aHVtYiB7CiAgLS1zd2l0Y2gtd2lkdGg6NTFweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnktNTAwKSA1MCUsIHZhcigtLW5ldXRyYWwtMjAwKSA1MCUpOwogIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7CiAgYmFja2dyb3VuZC1zaXplOiAyMDAlOwogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGhlaWdodDogMzFweDsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwp9Ci5zd2l0Y2hfX3RodW1iLApidXR0b24uc3dpdGNoX190aHVtYiB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICBib3JkZXI6IG5vbmU7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZCwKLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXSB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMDsKfQouc3dpdGNoX190aHVtYjphZnRlciB7CiAgLS1zd2l0Y2gtdGh1bWItd2lkdGg6MjdweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIC4xNSksIDAgM3B4IDFweCByZ2IoMCAwIDAvNiUpOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjdweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAycHg7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDMuNXB4IC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSkpOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQ6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpIC0gMnB4KSk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXTphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zLjVweCk7Cn0KLnN3aXRjaF9fbGFiZWwtLWRpc2FibGVkIHsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5zd2l0Y2hfX3RodW1iIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLXBvc2l0aW9uOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQogIC5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9UZXh0QXJlYS9UZXh0QXJlYS5jc3MgKi8KLnRleHQtYXJlYSB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBib3JkZXItcmFkaXVzOiAwOwogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgZmxleC1kaXJlY3Rpb246IHJvdzsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiwKLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3IpOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zKTsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMik7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIDppcyguY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlLCAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uKSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2VtcHR5LXN0YXRlIHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIGhlaWdodDogLW1vei1maXQtY29udGVudDsKICAgIGhlaWdodDogZml0LWNvbnRlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9CiAgdWwuY2FyZCAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogICAgYm94LXNoYWRvdzoKICAgICAgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwKICAgICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgICAgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICB9CiAgdWwuY2FyZCA6aXMoLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlLCAubGlzdC1pdGVtOmZpcnN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06bGFzdC1vZi10eXBlLCAubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSBhKSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJbWFnZVZhcmlhbnQuY3NzICovCi5jYXJkLS1pbWFnZSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW46IGF1dG87CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlLAouY2FyZC0taW1hZ2UgLmNhcmRfX2lsbHVzdHJhdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9faGVhZGVyX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fYm9keSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNpbmctNik7CiAgbWF4LXdpZHRoOiA0MjBweDsKICBwYWRkaW5nOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkLS1pbWFnZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpIHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMSk7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQogIC5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIG1hcmdpbjogMDsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZExpc3QvQ2FyZExpc3QuY3NzICovCi5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC1saXN0IHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmQtbGlzdCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgewogICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGVja2JveC9DaGVja2JveC5jc3MgKi8KLmNoZWNrYm94IHsKICAtLWNoZWNrYm94LXdpZHRoOjI0cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICA6aXMoLmNoZWNrYm94X19pbnB1dCwgLmNoZWNrYm94X19sYWJlbCk6aG92ZXIgewogICAgY3Vyc29yOiBwb2ludGVyOwogIH0KfQouY2hlY2tib3gtLW5ldXRyYWwsCi5jaGVja2JveC0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5jaGVja2JveF9fc3Bpbm5lciB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5jaGVja2JveF9fY2hlY2ssCi5jaGVja2JveF9fc3Bpbm5lciB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQouY2hlY2tib3hfX2lucHV0OmZvY3VzLXdpdGhpbiB+IC5jaGVja2JveF9fY2hlY2sgewogIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZS1vZmZzZXQ6IDJweDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5jaGVja2JveF9faW5wdXQ6aG92ZXI6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZS1kYXNob2Zmc2V0OiAwOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pOmlzKDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7CiAgfQogIC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMzVzIGVhc2Utb3V0OwogIH0KICAuY2hlY2tib3hfX3NwaW5uZXIgY2lyY2xlOmxhc3Qtb2YtdHlwZSB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgfQogIEBrZXlmcmFtZXMgY2hlY2tib3gtc3Bpbm5lciB7CiAgICAwJSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KICAgIHRvIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOwogICAgfQogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NvbWJvYm94L0NvbWJvYm94LmNzcyAqLwouY29tYm9ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQp1bFtyb2xlPWxpc3Rib3hdLmNvbWJvYm94X19saXN0LS1vcGVuIHsKICBkaXNwbGF5OiBibG9jazsKfQp1bFtyb2xlPWxpc3Rib3hdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25QcmVmaXgvRGVzY3JpcHRpb25QcmVmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19wcmVmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZmxleDogMDsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0RpYWxvZy9EaWFsb2cuY3NzICovCi5kaWFsb2dbb3Blbl06OmJhY2tkcm9wIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgb3BhY2l0eTogLjI1Owp9CmJvZHk6aGFzKGRpYWxvZ1tvcGVuXSkgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KZGlhbG9nOm5vdChbb3Blbl0pIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KZGlhbG9nOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5kaWFsb2cgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogMDsKICB6LWluZGV4OiAxMDAwOwp9Ci5kaWFsb2dfX2hlYWRlcl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQouZGlhbG9nX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGU6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZ19fYm9keSwKLmRpYWxvZ19fZm9vdGVyLAouZGlhbG9nX19oZWFkZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fYm9keSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2Zvb3RlciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3R0b206IDA7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOwogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgcG9zaXRpb246IHN0aWNreTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRpYWxvZ19fYm9keSwKICAuZGlhbG9nX19mb290ZXIsCiAgLmRpYWxvZ19faGVhZGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5kaWFsb2dfX2JvZHkgewogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nIHsKICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7CiAgICBtYXgtd2lkdGg6IDYwMHB4OwogIH0KICAuZGlhbG9nX19mb290ZXIgewogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuZGlhbG9nW29wZW5dLmRpYWxvZy0tYW5pbWF0ZWQgewogICAgYW5pbWF0aW9uOiB6b29tLWluIC4xNXM7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1vdXQgLjE1czsKICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgLjE1czsKICB9CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtaW4gLjE1czsKICB9CiAgLmRpYWxvZzpub3QoW29wZW5dKS5kaWFsb2ctLWFuaW1hdGVkOjpiYWNrZHJvcCB7CiAgICBhbmltYXRpb246IGZhZGUtb3V0IC4xNXM7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogIH0KICAwLjAwMDAwMDAwMDElIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgem9vbS1vdXQgewogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KQGtleWZyYW1lcyBmYWRlLW91dCB7CiAgMCUgewogICAgb3BhY2l0eTogLjI1OwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtLmNzcyAqLwoubGlzdC1pdGVtLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KLmxpc3QtaXRlbSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpIHZhcigtLXNwYWNpbmctNCk7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGJvcmRlcjogbm9uZTsKICBjb2xvcjogaW5oZXJpdDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LWZhbWlseTogdmFyKC0tZm9udC14dHJhKTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgICBib3JkZXI6IG5vbmU7CiAgfQp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmZvY3VzLAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLWVycm9yLTIwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlLAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTIwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAogIC5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXI6bGFzdC1vZi10eXBlIHsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1Db250ZW50L0xpc3RJdGVtQ29udGVudC5jc3MgKi8KLmxpc3QtaXRlbV9fY29udGVudCB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbU1ldGEvTGlzdEl0ZW1NZXRhLmNzcyAqLwoubGlzdC1pdGVtX19tZXRhIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVByZWZpeC9MaXN0SXRlbVByZWZpeC5jc3MgKi8KLmxpc3QtaXRlbV9fcHJlZml4IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX19wcmVmaXgsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX19wcmVmaXggewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWJ0aXRsZS9MaXN0SXRlbVN1YnRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWZmaXgvTGlzdEl0ZW1TdWZmaXguY3NzICovCi5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UZXh0L0xpc3RJdGVtVGV4dC5jc3MgKi8KLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRpdGxlL0xpc3RJdGVtVGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3RpdGxlIHsKICBmb250LXdlaWdodDogNTAwOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9Db250ZW50L0NvbnRlbnQuY3NzICovCi5tZW51X19saXN0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnNlY3Rpb24tbWVzc2FnZSwKLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0taW5mbyB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouc2VjdGlvbi1tZXNzYWdlLS1wcmltYXJ5IHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1wcmltYXJ5LTcwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LTUwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1zdWNjZXNzIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0td2FybmluZyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWVycm9yIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC02MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDI0cHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0taW5mbyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uLAouc2VjdGlvbi1tZXNzYWdlX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlICsgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIDA7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIDppcyhhLCBwLCBidXR0b24pIHsKICBjb2xvcjogaW5oZXJpdDsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICBtaW4taGVpZ2h0OiB1bnNldDsKICBwYWRkaW5nOiAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmFjdGl2ZSwKLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKSwgMCAwIDAgMTBweCB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIDppcyhhLCBwLCBidXR0b24pIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc2VjdGlvbi1tZXNzYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTUpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGhvbmVOdW1iZXIvUGhvbmVOdW1iZXIuY3NzICovCi5waG9uZS1udW1iZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5waG9uZS1udW1iZXIgLmlucHV0X193cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7Cn0KLnBob25lLW51bWJlciAucGhvbmUtbnVtYmVyX19jb3VudHJ5LWNvZGUtc2VsZWN0IHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDk2cHg7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1NlbGVjdC9TZWxlY3QuY3NzICovCi5zZWxlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zZWxlY3Qtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjRweDsKICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICBtYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgbWFzay1wb3NpdGlvbjogY2VudGVyOwogIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjsKICBtYXNrLXNpemU6IGNvdmVyOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlbGVjdCB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5zZWxlY3QtLXdpdGgtcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWxlY3Q6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5zZWxlY3Q6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnNlbGVjdC13cmFwcGVyLS1mb2N1czphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VnbWVudGVkQ29udHJvbC9TZWdtZW50ZWRDb250cm9sLmNzcyAqLwouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2wgW3JvbGU9dGFicGFuZWxdW2RhdGEtc3RhdGU9aW5hY3RpdmVdIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fbGlzdF9fd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZmxleDogMTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdOmZvY3VzLXZpc2libGUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGFicy9UYWJzLmNzcyAqLwoudGFicyB7CiAgZGlzcGxheTogbm9uZTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMik7CiAgd2lkdGg6IHZhcigtLXNwYWNpbmctNik7Cn0KLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5zdGVwc19fbGluazpmaXJzdC1vZi10eXBlIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgZGlzcGxheTogbm9uZTsKfQouc3RlcHNfX2xpbmsuYWN0aXZlIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIsCi5zdGVwc19fbGluay5hY3RpdmUgYSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICAgIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RpbWVsaW5lL1RpbWVsaW5lLmNzcyAqLwoudGltZWxpbmUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGltZWxpbmU6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLnRpbWVsaW5lLS12ZXJ0aWNhbDphZnRlciB7CiAgaGVpZ2h0OiAxMDAlOwogIGluc2V0OiAwIDUwJSBhdXRvOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lLS1ob3Jpem9udGFsIHsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtLWhvcml6b250YWw6YWZ0ZXIgewogIGhlaWdodDogMXB4OwogIGluc2V0OiA1MCUgMCBhdXRvOwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZV9fbGFiZWwgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICBoZWlnaHQ6IDMycHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDMycHg7Cn0KLnRpbWVsaW5lX19sYWJlbDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMzJweDsKICB3aWR0aDogMzJweDsKICB6LWluZGV4OiAxMDsKfQoudGltZWxpbmVfX2xhYmVsID4gOmlzKHN2Zywgc3BhbikgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMjA7Cn0KLnRpbWVsaW5lLS12ZXJ0aWNhbCAudGltZWxpbmVfX2xhYmVsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNCkgYXV0byAwOwp9Ci50aW1lbGluZS0taG9yaXpvbnRhbCAudGltZWxpbmVfX2xhYmVsIHsKICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKfQoudGltZWxpbmVfX2xhYmVsLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDMzIDMyJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBBQjlFJyBkPSdNMTEuMTY5LjA1YzYuMDA2LjcwOSAxMi4zNjggMi40MTMgMTcuOTI0IDQuODAyIDEuMTkzLjUxMyAyLjEyOCAxLjI4IDIuNzIgMi4zMDcuNTkzIDEuMDI2Ljc5IDIuMjIuNjM4IDMuNTEtLjcxIDYuMDA1LTIuNDE0IDEyLjM2Ny00LjgwMyAxNy45MjMtLjUxMyAxLjE5NC0xLjI4IDIuMTMtMi4zMDYgMi43MjItMS4wMjYuNTkyLTIuMjIuNzg5LTMuNTEuNjM3LTYuMDA2LS43MS0xMi4zNjgtMi40MTQtMTcuOTI0LTQuODAzLTEuMTk0LS41MTMtMi4xMy0xLjI4LTIuNzIyLTIuMzA3LS41OTItMS4wMjYtLjc4OS0yLjIyLS42MzctMy41MS43MS02LjAwNiAyLjQxNC0xMi4zNjggNC44MDQtMTcuOTI0LjUxMy0xLjE5MyAxLjI4LTIuMTI4IDIuMzA2LTIuNzIgMS4wMjYtLjU5MyAyLjIyLS43OSAzLjUxLS42MzhaJy8lM0UlM0Mvc3ZnJTNFIik7Cn0KLnRpbWVsaW5lX19sYWJlbC0tc2Vjb25kYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci50aW1lbGluZV9fbGFiZWwtLXNlY29uZGFyeTpiZWZvcmUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMzMgMzInJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0nJTIzMDBBQjlFJyBkPSdNMTEuMTEuNTQ2YzUuOTU4LjcwMyAxMi4yNzQgMi4zOTYgMTcuNzg1IDQuNzY1IDEuMTEzLjQ3OSAxLjk1NiAxLjE4MSAyLjQ4NiAyLjA5OC41MjkuOTE2LjcxNSAxLjk5OC41NzMgMy4yLS43MDMgNS45NTktMi4zOTUgMTIuMjc0LTQuNzY1IDE3Ljc4Ni0uNDc4IDEuMTEzLTEuMTggMS45NTYtMi4wOTcgMi40ODYtLjkxNy41MjktMS45OTkuNzE1LTMuMjAxLjU3My01Ljk1OS0uNzAzLTEyLjI3NC0yLjM5Ni0xNy43ODYtNC43NjUtMS4xMTMtLjQ3OS0xLjk1Ni0xLjE4MS0yLjQ4Ni0yLjA5OC0uNTI5LS45MTYtLjcxNS0xLjk5OC0uNTczLTMuMjAxQzEuNzUgMTUuNDMgMy40NDIgOS4xMTYgNS44MTIgMy42MDVjLjQ3OC0xLjExMyAxLjE4LTEuOTU2IDIuMDk3LTIuNDg2QzguODI2LjU5IDkuOTA3LjQwNCAxMS4xMS41NDZaJy8lM0UlM0Mvc3ZnJTNFIik7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50aW1lbGluZV9fbGFiZWwgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQogIC50aW1lbGluZS0tdmVydGljYWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctNSkgYXV0byAwOwogIH0KICAudGltZWxpbmUtLWhvcml6b250YWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy01KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogZmxleDsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsLAogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCB7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0K";
|
|
1121
1121
|
var Du = { exports: {} }, ve = {}, Ju = { exports: {} }, Qu = {};
|
|
1122
1122
|
/**
|
|
1123
1123
|
* @license React
|
|
@@ -8954,7 +8954,7 @@ class TC extends HTMLElement {
|
|
|
8954
8954
|
async connectedCallback() {
|
|
8955
8955
|
const t = this.attachShadow({ mode: "open" });
|
|
8956
8956
|
xC(t);
|
|
8957
|
-
const n = Ed(t), r = (await import("./App-
|
|
8957
|
+
const n = Ed(t), r = (await import("./App-59279811.mjs")).default;
|
|
8958
8958
|
n.render(
|
|
8959
8959
|
/* @__PURE__ */ $n.jsx(
|
|
8960
8960
|
r,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myxtra/authentication-green",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"main": "./dist/xtra-authentication.mjs",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@myxtra/shared": "1.14.0",
|
|
24
|
-
"@myxtra/ui-react": "1.15.
|
|
24
|
+
"@myxtra/ui-react": "1.15.1",
|
|
25
25
|
"@tanstack/react-query": "^5.12.0",
|
|
26
26
|
"clsx": "^2.0.0",
|
|
27
27
|
"i18next": "^23.7.7",
|