{"report_id":"4546b42a-ae5c-4bfe-9e34-11cab6b5c64f","version":6,"status":"done","tags":[],"date":"2025-10-29T07:01:13Z","url":{"schema":"http","addr":"airdrop-magiceden.com/","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"airdrop-magiceden.com/","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"title":"Magic Eden Airdrop","dom":{"size":97125,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (393)","md5":"56ac7afc5ee4b004617db9b956d5fbdb","sha1":"6a52dd84f678aa685fb3f8b9c9c4b2ea55100325","sha256":"9b0c080428e3cf58e6d878aa27a1ef9ac8d7b3ae76940ebf0ea47949e3c61417","sha512":"50c55bcac189830f152e2ee1b5214ecec695cd1c4b88a20504602520848f5e72f3d13db237d65de12b0265302426e222ceb09f128a696102c17493c53268dc19","ssdeep":"1536:5crg9WvWsWsWsWsWsWsWsWsWsWsW5WsWsWsWsWsWsWpWsWCWsWsWsWsWsWsWKQDl:+rmWvWsWsWsWsWsWsWsWsWsWsW5WsWsR","tlshash":"d293132ea46250103b2b016f73ef769be2349e476c86fe59b5df0c80cf596ed31a9601","dom_hash":"domhash00aa73a5b773c78b920643cfe10a088e","first_seen":"2025-10-29T07:01:16.27555Z","last_seen":"2025-10-29T07:01:16.27555Z","times_seen":1,"resource_available":false,"data":"PGh0bWwgdHJhY2tpbmc9InRydWUiIGNsYXNzPSJ0aGVtZS1kYXJrIiBsYW5nPSJlbiI+PGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8c2NyaXB0IHNyYz0iLi9XbVhCUWRzQ1J4Q04uanMiPjwvc2NyaXB0PgogICAgPHN0eWxlPgogICAgICAgIEBzdXBwb3J0cyBub3QgKGNvbnRhaW46c3RyaWN0KSB7CiAgICAgICAgICAgIC5yMTA0ZjQyczcwMC1iZXRhMTEgewogICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgei1pbmRleDogMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspIHt9CiAgICA8L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1saWdodDogI2ZmZjsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1kYXJrOiAjMTIxMjEyOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLWluZm86ICMzNDk4ZGI7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3Itc3VjY2VzczogIzA3YmMwYzsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci13YXJuaW5nOiAjZjFjNDBmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLWVycm9yOiBoc2woNiwgNzglLCA1NyUpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTsKICAgICAgICAgICAgLS10b2FzdGlmeS1pY29uLWNvbG9yLWluZm86IHZhcigtLXRvYXN0aWZ5LWNvbG9yLWluZm8pOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWljb24tY29sb3Itc3VjY2VzczogdmFyKC0tdG9hc3RpZnktY29sb3Itc3VjY2Vzcyk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktaWNvbi1jb2xvci13YXJuaW5nOiB2YXIoLS10b2FzdGlmeS1jb2xvci13YXJuaW5nKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1pY29uLWNvbG9yLWVycm9yOiB2YXIoLS10b2FzdGlmeS1jb2xvci1lcnJvcik7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29udGFpbmVyLXdpZHRoOiBmaXQtY29udGVudDsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC13aWR0aDogMzIwcHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3Qtb2Zmc2V0OiAxNnB4OwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRvYXN0LXRvcDogbWF4KHZhcigtLXRvYXN0aWZ5LXRvYXN0LW9mZnNldCksIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtcmlnaHQ6IG1heCh2YXIoLS10b2FzdGlmeS10b2FzdC1vZmZzZXQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtbGVmdDogbWF4KHZhcigtLXRvYXN0aWZ5LXRvYXN0LW9mZnNldCksIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRvYXN0LWJvdHRvbTogbWF4KHZhcigtLXRvYXN0aWZ5LXRvYXN0LW9mZnNldCksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1wYWRkaW5nOiAxNHB4OwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRvYXN0LW1pbi1oZWlnaHQ6IDY0cHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtbWF4LWhlaWdodDogODAwcHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtYmQtcmFkaXVzOiA2cHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3Qtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAuMSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICAgICAgICAgIC0tdG9hc3RpZnktei1pbmRleDogOTk5OTsKICAgICAgICAgICAgLS10b2FzdGlmeS10ZXh0LWNvbG9yLWxpZ2h0OiAjNzU3NTc1OwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRleHQtY29sb3ItZGFyazogI2ZmZjsKICAgICAgICAgICAgLS10b2FzdGlmeS10ZXh0LWNvbG9yLWluZm86ICNmZmY7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdGV4dC1jb2xvci1zdWNjZXNzOiAjZmZmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRleHQtY29sb3Itd2FybmluZzogI2ZmZjsKICAgICAgICAgICAgLS10b2FzdGlmeS10ZXh0LWNvbG9yLWVycm9yOiAjZmZmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXNwaW5uZXItY29sb3I6ICM2MTYxNjE7CiAgICAgICAgICAgIC0tdG9hc3RpZnktc3Bpbm5lci1jb2xvci1lbXB0eS1hcmVhOiAjZTBlMGUwOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWxpZ2h0OiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM0Y2Q5NjQsICM1YWM4ZmEsICMwMDdhZmYsICMzNGFhZGMsICM1ODU2ZDYsICNmZjJkNTUpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWRhcms6ICNiYjg2ZmM7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtaW5mbzogdmFyKC0tdG9hc3RpZnktY29sb3ItaW5mbyk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3Mtc3VjY2VzczogdmFyKC0tdG9hc3RpZnktY29sb3Itc3VjY2Vzcyk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3Mtd2FybmluZzogdmFyKC0tdG9hc3RpZnktY29sb3Itd2FybmluZyk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtZXJyb3I6IHZhcigtLXRvYXN0aWZ5LWNvbG9yLWVycm9yKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1iZ286IC4yCiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpIHt9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3RyYWNrUHJvZ3Jlc3MgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJblJpZ2h0IHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgOTAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dFJpZ2h0IHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fYm91bmNlSW5MZWZ0IHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA2MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDkwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dExlZnQgewogICAgICAgICAgICAyMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIHZhcigtLXkpLCAwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJblVwIHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgOTAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dFVwIHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgY2FsYyh2YXIoLS15KSAtIDEwcHgpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA0MCUsCiAgICAgICAgICAgIDQ1JSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBjYWxjKHZhcigtLXkpICsgMjBweCksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZUluRG93biB7CgogICAgICAgICAgICAwJSwKICAgICAgICAgICAgNjAlLAogICAgICAgICAgICA3NSUsCiAgICAgICAgICAgIDkwJSwKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNjAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDc1JSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA5MCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VPdXREb3duIHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgY2FsYyh2YXIoLS15KSAtIDEwcHgpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA0MCUsCiAgICAgICAgICAgIDQ1JSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBjYWxjKHZhcigtLXkpICsgMjBweCksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fem9vbUluIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X196b29tT3V0IHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApIHNjYWxlM2QoLjMsIC4zLCAuMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19mbGlwSW4gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDQwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEKICAgICAgICAgICAgfQoKICAgICAgICAgICAgODAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2ZsaXBPdXQgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKSBwZXJzcGVjdGl2ZSg0MDBweCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMzAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApIHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApIHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJblJpZ2h0IHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMTAlLCAwLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJbkxlZnQgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMTAlLCAwLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJblVwIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMTAlLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJbkRvd24gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMTAlLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVPdXRSaWdodCB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTEwJSwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3NsaWRlT3V0TGVmdCB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTExMCUsIHZhcigtLXkpLCAwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dERvd24gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwMHB4LCAwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dFVwIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAwcHgsIDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3NwaW4gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3N0eWxlPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPk1hZ2ljIEVkZW4gQWlyZHJvcDwvdGl0bGU+CiAgICA8c3R5bGU+CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpIHt9CgogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOjM3NHB4KSB7fQoKICAgICAgICAuZHluYW1pYy1zaGFkb3ctZG9tIHsKICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMTogcmdiKHZhcigtLWJhY2tncm91bmQpKTsKICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMjogcmdiKHZhcigtLWxheWVyLTAyKSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTM6IHJnYih2YXIoLS1sYXllci0wMykpOwogICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS00OiByZ2IodmFyKC0tbGF5ZXItMDQpKTsKICAgICAgICAgICAgLS1keW5hbWljLXRleHQtcHJpbWFyeTogcmdiKHZhcigtLXRleHRDb2xvci1wcmltYXJ5KSk7CiAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJhY2tncm91bmQ6IHJnYih2YXIoLS1sYXllci0wNCkpOwogICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2IodmFyKC0tbGF5ZXItMDMpKTsKICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtY29sb3I6IHJnYih2YXIoLS10ZXh0Q29sb3Itc2Vjb25kYXJ5KSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQ6IHJnYih2YXIoLS1sYXllci0wMykpOwogICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kLWhvdmVyOiByZ2IodmFyKC0tbGF5ZXItMDMpKTsKICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYmFja2dyb3VuZC1mb2N1czogcmdiKHZhcigtLWxheWVyLTAzKSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1ib3JkZXJDb2xvci1pbnRlcmFjdGl2ZSkpOwogICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXItaG92ZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tYm9yZGVyQ29sb3ItaW50ZXJhY3RpdmUtaG92ZXIpKTsKICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYm9yZGVyLWZvY3VzOiAxcHggc29saWQgcmdiKHZhcigtLWJvcmRlckNvbG9yLWludGVyYWN0aXZlLWZvY3VzKSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0xOiByZ2IodmFyKC0tc3VwcG9ydC1hdHRlbnRpb24pKTsKICAgICAgICAgICAgLS1keW5hbWljLWVycm9yLTI6IHJnYih2YXIoLS1sYWJlbHMteWVsbG93KSk7CiAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXRlcnRpYXJ5OiByZ2IodmFyKC0tdGV4dENvbG9yLXNlY29uZGFyeSkpOwogICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2IodmFyKC0tbGF5ZXItMDQpKTsKICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLXByaW1hcnktY29sb3I6IHJnYih2YXIoLS10ZXh0Q29sb3Itc2Vjb25kYXJ5KSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYm9yZGVyLXRvcDogcmdiKHZhcigtLWxheWVyLTAzKSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiByZ2IodmFyKC0tYnV0dG9uLXByaW1hcnkpKTsKICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtaG92ZXI6IHJnYih2YXIoLS1idXR0b24tcHJpbWFyeS1ob3ZlcikpOwogICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYm9yZGVyOiByZ2IodmFyKC0tYnV0dG9uLXByaW1hcnkpKTsKICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogcmdiKHZhcigtLWJ1dHRvbi1wcmltYXJ5KSk7CiAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtaG92ZXI6IHJnYih2YXIoLS1idXR0b24tcHJpbWFyeS1ob3ZlcikpOwogICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ib3JkZXI6IHJnYih2YXIoLS1idXR0b24tcHJpbWFyeSkpOwogICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1saW5rOiByZ2IodmFyKC0tdGV4dENvbG9yLXByaW1hcnkpKTsKICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXdpZHRoOiA1MDBweDsKICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LW1heC1oZWlnaHQ6IDQwNXB4OwogICAgICAgICAgICAtLWR5bmFtaWMtZm9udC1mYW1pbHktcHJpbWFyeTogIkludGVyIiwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1wYWRkaW5nOiAyMHB4OwogICAgICAgICAgICAtLWR5bmFtaWMtYm9yZGVyLXJhZGl1czogMTZweAogICAgICAgIH0KCiAgICAgICAgQHN1cHBvcnRzIHNlbGVjdG9yKDo6LXdlYmtpdC1zY3JvbGxiYXIpIHsKICAgICAgICAgICAgaHRtbC5keW5hbWljLW5vLXNjcm9sbCB7CiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudAogICAgICAgICAgICB9CgogICAgICAgICAgICBodG1sLmR5bmFtaWMtbm8tc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciwKICAgICAgICAgICAgaHRtbC5keW5hbWljLW5vLXNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBidXR0b24gewogICAgICAgICAgICBmb250OiBpbmhlcml0CiAgICAgICAgfQoKICAgICAgICBib2R5IHsKICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogdmFyKC0tbWFudGluZS13ZWJraXQtZm9udC1zbW9vdGhpbmcpOwogICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogdmFyKC0tbWFudGluZS1tb3otZm9udC1zbW9vdGhpbmcpCiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDozMS4yNWVtKSB7CiAgICAgICAgICAgIGJvZHkgewogICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHt9CgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1tYW50aW5lLXotaW5kZXgtYXBwOiAxMDA7CiAgICAgICAgICAgIC0tbWFudGluZS16LWluZGV4LW1vZGFsOiAyMDA7CiAgICAgICAgICAgIC0tbWFudGluZS16LWluZGV4LXBvcG92ZXI6IDMwMDsKICAgICAgICAgICAgLS1tYW50aW5lLXotaW5kZXgtb3ZlcmxheTogNDAwOwogICAgICAgICAgICAtLW1hbnRpbmUtei1pbmRleC1tYXg6IDk5OTk7CiAgICAgICAgICAgIC0tbWFudGluZS1zY2FsZTogMTsKICAgICAgICAgICAgLS1tYW50aW5lLWN1cnNvci10eXBlOiBkZWZhdWx0OwogICAgICAgICAgICAtLW1hbnRpbmUtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXNjaGVtZTogbGlnaHQgZGFyazsKICAgICAgICAgICAgLS1tYW50aW5lLW1vei1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3Itd2hpdGU6ICNmZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibGFjazogIzAwMDsKICAgICAgICAgICAgLS1tYW50aW5lLWxpbmUtaGVpZ2h0OiAxLjU1OwogICAgICAgICAgICAtLW1hbnRpbmUtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgQXBwbGUgQ29sb3IgRW1vamksIFNlZ29lIFVJIEVtb2ppOwogICAgICAgICAgICAtLW1hbnRpbmUtZm9udC1mYW1pbHktbW9ub3NwYWNlOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBDb3VyaWVyIE5ldywgbW9ub3NwYWNlOwogICAgICAgICAgICAtLW1hbnRpbmUtZm9udC1mYW1pbHktaGVhZGluZ3M6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgQXBwbGUgQ29sb3IgRW1vamksIFNlZ29lIFVJIEVtb2ppOwogICAgICAgICAgICAtLW1hbnRpbmUtaGVhZGluZy1mb250LXdlaWdodDogNzAwOwogICAgICAgICAgICAtLW1hbnRpbmUtcmFkaXVzLWRlZmF1bHQ6IGNhbGMoMC4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1wcmltYXJ5LWNvbG9yLTA6IHZhcigtLW1hbnRpbmUtY29sb3ItYmx1ZS0wKTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItMTogdmFyKC0tbWFudGluZS1jb2xvci1ibHVlLTEpOwogICAgICAgICAgICAtLW1hbnRpbmUtcHJpbWFyeS1jb2xvci0yOiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtMik7CiAgICAgICAgICAgIC0tbWFudGluZS1wcmltYXJ5LWNvbG9yLTM6IHZhcigtLW1hbnRpbmUtY29sb3ItYmx1ZS0zKTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItNDogdmFyKC0tbWFudGluZS1jb2xvci1ibHVlLTQpOwogICAgICAgICAgICAtLW1hbnRpbmUtcHJpbWFyeS1jb2xvci01OiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtNSk7CiAgICAgICAgICAgIC0tbWFudGluZS1wcmltYXJ5LWNvbG9yLTY6IHZhcigtLW1hbnRpbmUtY29sb3ItYmx1ZS02KTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItNzogdmFyKC0tbWFudGluZS1jb2xvci1ibHVlLTcpOwogICAgICAgICAgICAtLW1hbnRpbmUtcHJpbWFyeS1jb2xvci04OiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtOCk7CiAgICAgICAgICAgIC0tbWFudGluZS1wcmltYXJ5LWNvbG9yLTk6IHZhcigtLW1hbnRpbmUtY29sb3ItYmx1ZS05KTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItZmlsbGVkOiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtZmlsbGVkKTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItZmlsbGVkLWhvdmVyOiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtZmlsbGVkLWhvdmVyKTsKICAgICAgICAgICAgLS1tYW50aW5lLXByaW1hcnktY29sb3ItbGlnaHQ6IHZhcigtLW1hbnRpbmUtY29sb3ItYmx1ZS1saWdodCk7CiAgICAgICAgICAgIC0tbWFudGluZS1wcmltYXJ5LWNvbG9yLWxpZ2h0LWhvdmVyOiB2YXIoLS1tYW50aW5lLWNvbG9yLWJsdWUtbGlnaHQtaG92ZXIpOwogICAgICAgICAgICAtLW1hbnRpbmUtcHJpbWFyeS1jb2xvci1saWdodC1jb2xvcjogdmFyKC0tbWFudGluZS1jb2xvci1ibHVlLWxpZ2h0LWNvbG9yKTsKICAgICAgICAgICAgLS1tYW50aW5lLWJyZWFrcG9pbnQteHM6IDM2ZW07CiAgICAgICAgICAgIC0tbWFudGluZS1icmVha3BvaW50LXNtOiA0OGVtOwogICAgICAgICAgICAtLW1hbnRpbmUtYnJlYWtwb2ludC1tZDogNjJlbTsKICAgICAgICAgICAgLS1tYW50aW5lLWJyZWFrcG9pbnQtbGc6IDc1ZW07CiAgICAgICAgICAgIC0tbWFudGluZS1icmVha3BvaW50LXhsOiA4OGVtOwogICAgICAgICAgICAtLW1hbnRpbmUtc3BhY2luZy14czogY2FsYygwLjYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1zcGFjaW5nLXNtOiBjYWxjKDAuNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtc3BhY2luZy1tZDogY2FsYygxcmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLXNwYWNpbmctbGc6IGNhbGMoMS4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1zcGFjaW5nLXhsOiBjYWxjKDJyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtZm9udC1zaXplLXhzOiBjYWxjKDAuNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtZm9udC1zaXplLXNtOiBjYWxjKDAuODc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLWZvbnQtc2l6ZS1tZDogY2FsYygxcmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLWZvbnQtc2l6ZS1sZzogY2FsYygxLjEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1mb250LXNpemUteGw6IGNhbGMoMS4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1saW5lLWhlaWdodC14czogMS40OwogICAgICAgICAgICAtLW1hbnRpbmUtbGluZS1oZWlnaHQtc206IDEuNDU7CiAgICAgICAgICAgIC0tbWFudGluZS1saW5lLWhlaWdodC1tZDogMS41NTsKICAgICAgICAgICAgLS1tYW50aW5lLWxpbmUtaGVpZ2h0LWxnOiAxLjY7CiAgICAgICAgICAgIC0tbWFudGluZS1saW5lLWhlaWdodC14bDogMS42NTsKICAgICAgICAgICAgLS1tYW50aW5lLXNoYWRvdy14czogMCBjYWxjKDAuMDYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjE4NzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIHJnYmEoMCwgMCwgMCwgLjA1KSwgMCBjYWxjKDAuMDYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAuMSk7CiAgICAgICAgICAgIC0tbWFudGluZS1zaGFkb3ctc206IDAgY2FsYygwLjA2MjVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIGNhbGMoMC4xODc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSByZ2JhKDAsIDAsIDAsIC4wNSksIHJnYmEoMCwgMCwgMCwgLjA1KTAgY2FsYygwLjYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjkzNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIGNhbGMoLTAuMzEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSksIHJnYmEoMCwgMCwgMCwgLjA0KTAgY2FsYygwLjQzNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIGNhbGMoMC40Mzc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKC0wLjMxMjVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtc2hhZG93LW1kOiAwIGNhbGMoMC4wNjI1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKDAuMTg3NXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAuMDUpLCByZ2JhKDAsIDAsIDAsIC4wNSkwIGNhbGMoMS4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygxLjU2MjVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIGNhbGMoLTAuMzEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSksIHJnYmEoMCwgMCwgMCwgLjA0KTAgY2FsYygwLjYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygtMC4zMTI1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLXNoYWRvdy1sZzogMCBjYWxjKDAuMDYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjE4NzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIHJnYmEoMCwgMCwgMCwgLjA1KSwgcmdiYSgwLCAwLCAwLCAuMDUpMCBjYWxjKDEuNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpIGNhbGMoMS40Mzc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKC0wLjQzNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpLCByZ2JhKDAsIDAsIDAsIC4wNCkwIGNhbGMoMC43NXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygwLjc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKC0wLjQzNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtc2hhZG93LXhsOiAwIGNhbGMoMC4wNjI1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKDAuMTg3NXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAuMDUpLCByZ2JhKDAsIDAsIDAsIC4wNSkwIGNhbGMoMi4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygxLjc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKC0wLjQzNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpLCByZ2JhKDAsIDAsIDAsIC4wNCkwIGNhbGMoMS4wNjI1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKSBjYWxjKDEuMDYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSkgY2FsYygtMC40Mzc1cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLXJhZGl1cy14czogY2FsYygwLjEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1yYWRpdXMtc206IGNhbGMoMC4yNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1yYWRpdXMtbWQ6IGNhbGMoMC41cmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLXJhZGl1cy1sZzogY2FsYygxcmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLXJhZGl1cy14bDogY2FsYygycmVtKnZhcigtLW1hbnRpbmUtc2NhbGUpKTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstMDogI2M5YzljOTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstMTogI2I4YjhiODsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstMjogIzgyODI4MjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstMzogIzY5Njk2OTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstNDogIzQyNDI0MjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstNTogIzNiM2IzYjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstNjogIzJlMmUyZTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstNzogIzI0MjQyNDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstODogIzFmMWYxZjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWRhcmstOTogIzE0MTQxNDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktMDogI2Y4ZjlmYTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktMTogI2YxZjNmNTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktMjogI2U5ZWNlZjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktMzogI2RlZTJlNjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktNDogI2NlZDRkYTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktNTogI2FkYjViZDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktNjogIzg2OGU5NjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktNzogIzQ5NTA1NzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktODogIzM0M2E0MDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXktOTogIzIxMjUyOTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXJlZC0wOiAjZmZmNWY1OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcmVkLTE6ICNmZmUzZTM7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1yZWQtMjogI2ZmYzljOTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXJlZC0zOiAjZmZhOGE4OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcmVkLTQ6ICNmZjg3ODc7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1yZWQtNTogI2ZmNmI2YjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXJlZC02OiAjZmE1MjUyOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcmVkLTc6ICNmMDNlM2U7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1yZWQtODogI2UwMzEzMTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXJlZC05OiAjYzkyYTJhOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay0wOiAjZmZmMGY2OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay0xOiAjZmZkZWViOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay0yOiAjZmNjMmQ3OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay0zOiAjZmFhMmMxOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay00OiAjZjc4M2FjOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay01OiAjZjA2NTk1OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay02OiAjZTY0OTgwOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay03OiAjZDYzMzZjOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay04OiAjYzIyNTVjOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItcGluay05OiAjYTYxZTRkOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JhcGUtMDogI2Y4ZjBmYzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXBlLTE6ICNmM2Q5ZmE7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmFwZS0yOiAjZWViZWZhOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JhcGUtMzogI2U1OTlmNzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXBlLTQ6ICNkYTc3ZjI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmFwZS01OiAjY2M1ZGU4OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JhcGUtNjogI2JlNGJkYjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyYXBlLTc6ICNhZTNlYzk7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmFwZS04OiAjOWMzNmI1OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JhcGUtOTogIzg2MmU5YzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXZpb2xldC0wOiAjZjNmMGZmOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItdmlvbGV0LTE6ICNlNWRiZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci12aW9sZXQtMjogI2QwYmZmZjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXZpb2xldC0zOiAjYjE5N2ZjOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItdmlvbGV0LTQ6ICM5Nzc1ZmE7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci12aW9sZXQtNTogIzg0NWVmNzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXZpb2xldC02OiAjNzk1MGYyOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItdmlvbGV0LTc6ICM3MDQ4ZTg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci12aW9sZXQtODogIzY3NDFkOTsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXZpb2xldC05OiAjNWYzZGM0OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItaW5kaWdvLTA6ICNlZGYyZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1pbmRpZ28tMTogI2RiZTRmZjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWluZGlnby0yOiAjYmFjOGZmOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItaW5kaWdvLTM6ICM5MWE3ZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1pbmRpZ28tNDogIzc0OGZmYzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWluZGlnby01OiAjNWM3Y2ZhOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItaW5kaWdvLTY6ICM0YzZlZjU7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1pbmRpZ28tNzogIzQyNjNlYjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWluZGlnby04OiAjM2I1YmRiOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItaW5kaWdvLTk6ICMzNjRmYzc7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTA6ICNlN2Y1ZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTE6ICNkMGViZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTI6ICNhNWQ4ZmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTM6ICM3NGMwZmM7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTQ6ICM0ZGFiZjc7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTU6ICMzMzlhZjA7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTY6ICMyMjhiZTY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTc6ICMxYzdlZDY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTg6ICMxOTcxYzI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ibHVlLTk6ICMxODY0YWI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTA6ICNlM2ZhZmM7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTE6ICNjNWY2ZmE7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTI6ICM5OWU5ZjI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTM6ICM2NmQ5ZTg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTQ6ICMzYmM5ZGI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTU6ICMyMmI4Y2Y7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTY6ICMxNWFhYmY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTc6ICMxMDk4YWQ7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTg6ICMwYzg1OTk7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1jeWFuLTk6ICMwYjcyODU7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTA6ICNlNmZjZjU7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTE6ICNjM2ZhZTg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTI6ICM5NmYyZDc7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTM6ICM2M2U2YmU7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTQ6ICMzOGQ5YTk7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTU6ICMyMGM5OTc7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTY6ICMxMmI4ODY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTc6ICMwY2E2Nzg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTg6ICMwOTkyNjg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci10ZWFsLTk6ICMwODdmNWI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmVlbi0wOiAjZWJmYmVlOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JlZW4tMTogI2QzZjlkODsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyZWVuLTI6ICNiMmYyYmI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmVlbi0zOiAjOGNlOTlhOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JlZW4tNDogIzY5ZGI3YzsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyZWVuLTU6ICM1MWNmNjY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmVlbi02OiAjNDBjMDU3OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItZ3JlZW4tNzogIzM3YjI0ZDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLWdyZWVuLTg6ICMyZjllNDQ7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1ncmVlbi05OiAjMmI4YTNlOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS0wOiAjZjRmY2UzOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS0xOiAjZTlmYWM4OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS0yOiAjZDhmNWEyOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS0zOiAjYzBlYjc1OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS00OiAjYTllMzRiOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS01OiAjOTRkODJkOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS02OiAjODJjOTFlOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS03OiAjNzRiODE2OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS04OiAjNjZhODBmOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3ItbGltZS05OiAjNWM5NDBkOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3IteWVsbG93LTA6ICNmZmY5ZGI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci15ZWxsb3ctMTogI2ZmZjNiZjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXllbGxvdy0yOiAjZmZlYzk5OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3IteWVsbG93LTM6ICNmZmUwNjY7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci15ZWxsb3ctNDogI2ZmZDQzYjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXllbGxvdy01OiAjZmNjNDE5OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3IteWVsbG93LTY6ICNmYWIwMDU7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci15ZWxsb3ctNzogI2Y1OWYwMDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLXllbGxvdy04OiAjZjA4YzAwOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3IteWVsbG93LTk6ICNlNjc3MDA7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1vcmFuZ2UtMDogI2ZmZjRlNjsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLW9yYW5nZS0xOiAjZmZlOGNjOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3Itb3JhbmdlLTI6ICNmZmQ4YTg7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1vcmFuZ2UtMzogI2ZmYzA3ODsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLW9yYW5nZS00OiAjZmZhOTRkOwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3Itb3JhbmdlLTU6ICNmZjkyMmI7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1vcmFuZ2UtNjogI2ZkN2UxNDsKICAgICAgICAgICAgLS1tYW50aW5lLWNvbG9yLW9yYW5nZS03OiAjZjc2NzA3OwogICAgICAgICAgICAtLW1hbnRpbmUtY29sb3Itb3JhbmdlLTg6ICNlODU5MGM7CiAgICAgICAgICAgIC0tbWFudGluZS1jb2xvci1vcmFuZ2UtOTogI2Q5NDgwZjsKICAgICAgICAgICAgLS1tYW50aW5lLWgxLWZvbnQtc2l6ZTogY2FsYygyLjEyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1oMS1saW5lLWhlaWdodDogMS4zOwogICAgICAgICAgICAtLW1hbnRpbmUtaDEtZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgLS1tYW50aW5lLWgyLWZvbnQtc2l6ZTogY2FsYygxLjYyNXJlbSp2YXIoLS1tYW50aW5lLXNjYWxlKSk7CiAgICAgICAgICAgIC0tbWFudGluZS1oMi1saW5lLWhlaWdodDogMS4zNTsKICAgICAgICAgICAgLS1tYW50aW5lLWgyLWZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIC0tbWFudGluZS1oMy1mb250LXNpemU6IGNhbGMoMS4zNzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtaDMtbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICAgICAgLS1tYW50aW5lLWgzLWZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIC0tbWFudGluZS1oNC1mb250LXNpemU6IGNhbGMoMS4xMjVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtaDQtbGluZS1oZWlnaHQ6IDEuNDU7CiAgICAgICAgICAgIC0tbWFudGluZS1oNC1mb250LXdlaWdodDogNzAwOwogICAgICAgICAgICAtLW1hbnRpbmUtaDUtZm9udC1zaXplOiBjYWxjKDFyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtaDUtbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgICAgLS1tYW50aW5lLWg1LWZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIC0tbWFudGluZS1oNi1mb250LXNpemU6IGNhbGMoMC44NzVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpOwogICAgICAgICAgICAtLW1hbnRpbmUtaDYtbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgICAgLS1tYW50aW5lLWg2LWZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yLXNjaGVtZTogdmFyKC0tbWFudGluZS1jb2xvci1zY2hlbWUpCiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBrZXlmcmFtZXMgbV81ZDJiM2I5ZCB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC42KQogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUsCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBtX2FhYzM0YTEgewoKICAgICAgICAgICAgMCUsCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDUwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjYpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgbV9mOGU4OWM0YiB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQGtleWZyYW1lcyBtXzg4NTkwMWIxIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIuOCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAa2V5ZnJhbWVzIG1fODFhMzc0YmQgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygyLjVyZW0qdmFyKC0tbWFudGluZS1zY2FsZSkpMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQGtleWZyYW1lcyBtXzI5OWMzMjljIHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNAogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6bm9uZSkge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpob3Zlcikge30KCiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7fQoKICAgICAgICBAbWVkaWEgKGhvdmVyOm5vbmUpIHt9CgogICAgICAgICosCiAgICAgICAgOmFmdGVyLAogICAgICAgIDpiZWZvcmUgewogICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYih2YXIoLS1ib3JkZXJDb2xvci1wcmltYXJ5KSk7CiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMAogICAgICAgIH0KCiAgICAgICAgOmhvc3QsCiAgICAgICAgaHRtbCB7CiAgICAgICAgICAgIC1tb3otdGFiLXNpemU6IDQKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjMyMHB4KSB7fQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDozNzVweCkge30KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7fQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjE0MDBweCkge30KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6MTYwMHB4KSB7fQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDoxODAwcHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjE5MjBweCkge30KCiAgICAgICAgQGtleWZyYW1lcyBzbGlkZURvd25BbmRGYWRlIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC5hbmltYXRlLXNsaWRlRG93bkFuZEZhZGUgewogICAgICAgICAgICBhbmltYXRpb246IHNsaWRlRG93bkFuZEZhZGUgLjRzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKQogICAgICAgIH0KCiAgICAgICAgLnRoZW1lLWRhcmssCiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLWlucHV0OiAxMCA3IDE0LzMwJTsKICAgICAgICAgICAgLS1icmFuZDogMjM2IDE5IDEwOTsKICAgICAgICAgICAgLS1icmFuZC1kYXJrZXI6IDIwMSA4IDg5OwogICAgICAgICAgICAtLWJhY2tncm91bmQ6IDE2IDEyIDI0OwogICAgICAgICAgICAtLWxheWVyLTAxOiAyMSAxNyAyOTsKICAgICAgICAgICAgLS1sYXllci0wMjogMjUgMjEgMzU7CiAgICAgICAgICAgIC0tbGF5ZXItMDM6IDMwIDI1IDQxOwogICAgICAgICAgICAtLWxheWVyLTA0OiAzNSAzMCA0NzsKICAgICAgICAgICAgLS1sYWJlbHMtbmV1dHJhbDogNDYgMzggNjQ7CiAgICAgICAgICAgIC0tbGFiZWxzLWdyZWVuOiAxMyA1MSAzNTsKICAgICAgICAgICAgLS1sYWJlbHMtbGltZTogNDMgNjQgMTg7CiAgICAgICAgICAgIC0tbGFiZWxzLXllbGxvdzogODcgNjEgMTc7CiAgICAgICAgICAgIC0tbGFiZWxzLXB1cnBsZTogNzkgMjMgNzY7CiAgICAgICAgICAgIC0tbGFiZWxzLXJlZDogNzUgMTIgMjI7CiAgICAgICAgICAgIC0tbGFiZWxzLWJsdWU6IDM4IDU2IDgyOwogICAgICAgICAgICAtLWxhYmVscy1icmFuZDogMjM1IDQwIDEyMTsKICAgICAgICAgICAgLS1pY29uLWJyYW5kOiAyMzYgMTkgMTA5OwogICAgICAgICAgICAtLWljb24tYnJhbmQtZGlzYWJsZWQ6IDIzNiAxOSAxMDkvMjAlOwogICAgICAgICAgICAtLWljb24tYnJhbmQtaG92ZXI6IDIwMSA4IDg5OwogICAgICAgICAgICAtLWljb24tcHJpbWFyeTogMjQyIDI0MiAyNDM7CiAgICAgICAgICAgIC0taWNvbi1wcmltYXJ5LWhvdmVyOiAxNDEgMTM1IDE1NTsKICAgICAgICAgICAgLS1pY29uLXByaW1hcnktZGlzYWJsZWQ6IDQyIDM3IDU1OwogICAgICAgICAgICAtLWljb24tc2Vjb25kYXJ5OiAxMzMgMTI3IDE0ODsKICAgICAgICAgICAgLS1pY29uLXNlY29uZGFyeS1pbmFjdGl2ZTogMTMzIDEyNyAxNDgvNjAlOwogICAgICAgICAgICAtLWljb24tc2Vjb25kYXJ5LWhvdmVyOiA1MCA0NSA2Mi81MCU7CiAgICAgICAgICAgIC0taWNvbi1zZWNvbmRhcnktZGlzYWJsZWQ6IDEzMyAxMjcgMTQ4LzQwJTsKICAgICAgICAgICAgLS1pY29uLW9uLWJyYW5kOiAyNDIgMjQyIDI0MzsKICAgICAgICAgICAgLS1pY29uLXByaW1hcnktaW52ZXJzZTogMTQgMTAgMjA7CiAgICAgICAgICAgIC0taWNvbi1zZWNvbmRhcnktaW52ZXJzZTogMjUgMjEgMzU7CiAgICAgICAgICAgIC0taWNvbi1wbGFjZWhvbGRlci1pbnZlcnNlOiAxNCAxMCAyMC85MCU7CiAgICAgICAgICAgIC0taWNvbi1kaXNhYmxlZC1pbnZlcnNlOiAxNCAxMCAyMC83MCU7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLXByaW1hcnk6IDI0MiAyNDIgMjQzOwogICAgICAgICAgICAtLXRleHRDb2xvci1zZWNvbmRhcnk6IDEzMyAxMjcgMTQ4OwogICAgICAgICAgICAtLXRleHRDb2xvci1wbGFjZWhvbGRlcjogMTMzIDEyNyAxNDgvNTAlOwogICAgICAgICAgICAtLXRleHRDb2xvci1kaXNhYmxlZDogMjQyIDI0MiAyNDMvNTAlOwogICAgICAgICAgICAtLXRleHRDb2xvci1wb3NpdGl2ZTogNDIgMjIzIDExNDsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItYXR0ZW50aW9uOiAyMzYgMTgyIDE5OwogICAgICAgICAgICAtLXRleHRDb2xvci1uZWdhdGl2ZTogMjM0IDY1IDY1OwogICAgICAgICAgICAtLXRleHRDb2xvci1vbi1icmFuZDogMjQyIDI0MiAyNDM7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLXByaW1hcnktaW52ZXJzZTogMTQgMTAgMjA7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLXNlY29uZGFyeS1pbnZlcnNlOiAyNSAyMSAzNTsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItcGxhY2Vob2xkZXItaW52ZXJzZTogMTQgMTAgMjAvOTAlOwogICAgICAgICAgICAtLXRleHRDb2xvci1kaXNhYmxlZC1pbnZlcnNlOiAxNCAxMCAyMC83MCU7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLWRpc2FibGVkLW9uLWJyYW5kOiAyNDIgMjQyIDI0My81MCU7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLXJveWFsdGllczogMjEyIDE4OSAyNTU7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLWxhYmVscy1uZXV0cmFsOiAxNjIgMTU3IDE3NTsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItbGFiZWxzLWdyZWVuOiA2NSAyMzEgMTM4OwogICAgICAgICAgICAtLXRleHRDb2xvci1sYWJlbHMtbGltZTogMTMyIDIyMSAxOTsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItbGFiZWxzLXllbGxvdzogMjU1IDE5OCA0MTsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItbGFiZWxzLXB1cnBsZTogMjU1IDE0MyAyNTU7CiAgICAgICAgICAgIC0tdGV4dENvbG9yLWxhYmVscy1yZWQ6IDI1NSAxNTMgMTYxOwogICAgICAgICAgICAtLXRleHRDb2xvci1sYWJlbHMtYmx1ZTogOTAgMjA1IDI1NTsKICAgICAgICAgICAgLS10ZXh0Q29sb3ItbGFiZWxzLWJyYW5kOiAyMzMgODMgMTQ2OwogICAgICAgICAgICAtLXN1cHBvcnQtcG9zaXRpdmU6IDQyIDIyMyAxMTQ7CiAgICAgICAgICAgIC0tc3VwcG9ydC1wb3NpdGl2ZS1vcGFjaXR5OiA0MiAyMjMgMTE0LzUwJTsKICAgICAgICAgICAgLS1zdXBwb3J0LWF0dGVudGlvbjogMjM2IDE4MiAxOTsKICAgICAgICAgICAgLS1zdXBwb3J0LWF0dGVudGlvbi1vcGFjaXR5OiAyMzYgMTgyIDE5LzUwJTsKICAgICAgICAgICAgLS1zdXBwb3J0LW5lZ2F0aXZlOiAyMzQgNjUgNjU7CiAgICAgICAgICAgIC0tc3VwcG9ydC1uZWdhdGl2ZS1vcGFjaXR5OiAyMzQgNjUgNjUvNjAlOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLXByaW1hcnk6IDM1IDMwIDQ3OwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWRpc2FibGVkOiA0MiAzNyA1NS8zMCU7CiAgICAgICAgICAgIC0tYm9yZGVyQ29sb3ItaW50ZXJhY3RpdmU6IDcxIDY0IDg5LzYwJTsKICAgICAgICAgICAgLS1ib3JkZXJDb2xvci1pbnRlcmFjdGl2ZS1ob3ZlcjogMTExIDEwNCAxMjUvNTAlOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWludGVyYWN0aXZlLWZvY3VzOiAxMzMgMTI3IDE0OC81MCU7CiAgICAgICAgICAgIC0tYm9yZGVyQ29sb3ItbGlnaHQ6IDUwIDQ1IDYyOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWRhcms6IDMwIDI1IDQxOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWJyYW5kOiAyMzYgMTkgMTA5OwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWJyYW5kLWRhcmtlcjogMjAxIDggODk7CiAgICAgICAgICAgIC0tYm9yZGVyQ29sb3ItbGFiZWxzLW5ldXRyYWw6IDE2MiAxNTcgMTc1OwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWxhYmVscy1ncmVlbjogNjUgMjMxIDEzODsKICAgICAgICAgICAgLS1ib3JkZXJDb2xvci1sYWJlbHMtbGltZTogMTMyIDIyMSAxOTsKICAgICAgICAgICAgLS1ib3JkZXJDb2xvci1sYWJlbHMteWVsbG93OiAyNTUgMTk4IDQxOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWxhYmVscy1wdXJwbGU6IDI1NSAxNDMgMjU1OwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWxhYmVscy1yZWQ6IDI1NSAxNTMgMTYxOwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWxhYmVscy1ibHVlOiA5MCAyMDUgMjU1OwogICAgICAgICAgICAtLWJvcmRlckNvbG9yLWxhYmVscy1icmFuZDogMjMzIDgzIDE0NjsKICAgICAgICAgICAgLS1idXR0b24tcHJpbWFyeTogMjM2IDE5IDEwOTsKICAgICAgICAgICAgLS1idXR0b24tcHJpbWFyeS1ob3ZlcjogMjAxIDggODk7CiAgICAgICAgICAgIC0tYnV0dG9uLXByaW1hcnktZGlzYWJsZWQ6IDIzNiAxOSAxMDkvMjAlOwogICAgICAgICAgICAtLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZTogMjM2IDE5IDEwOTsKICAgICAgICAgICAgLS1idXR0b24tc2Vjb25kYXJ5OiA2MiA1NiA3Ny82MCU7CiAgICAgICAgICAgIC0tYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogNjIgNTYgNzcvNDAlOwogICAgICAgICAgICAtLWJ1dHRvbi1zZWNvbmRhcnktZGlzYWJsZWQ6IDYyIDU2IDc3LzMwJTsKICAgICAgICAgICAgLS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZTogNzEgNjQgODkvOTAlOwogICAgICAgICAgICAtLWJ1dHRvbi1kaW1tZWQ6IDQyIDM3IDU1LzQwJTsKICAgICAgICAgICAgLS1idXR0b24tZGltbWVkLWhvdmVyOiA2MiA1NiA3Ny80MCU7CiAgICAgICAgICAgIC0tYnV0dG9uLWRpbW1lZC1kaXNhYmxlZDogNDIgMzcgNTUvMjAlOwogICAgICAgICAgICAtLWJ1dHRvbi1kaW1tZWQtYWN0aXZlOiA3MSA2NCA4OS82MCU7CiAgICAgICAgICAgIC0tYnV0dG9uLW9uLWltYWdlOiAxMzYgMTM2IDEzNi8zMCU7CiAgICAgICAgICAgIC0tYnV0dG9uLW9uLWltYWdlLWhvdmVyOiAxMzYgMTM2IDEzNi8yMCU7CiAgICAgICAgICAgIC0tYnV0dG9uLW9uLWltYWdlLWRpc2FibGVkOiAxMzYgMTM2IDEzNi80MCU7CiAgICAgICAgICAgIC0tYnV0dG9uLW9uLWltYWdlLWFjdGl2ZTogMTM2IDEzNiAxMzYvNDAlOwogICAgICAgICAgICAtLWJ1dHRvbi1idXk6IDQyIDIyMyAxMTQ7CiAgICAgICAgICAgIC0tYnV0dG9uLWJ1eS1kaXNhYmxlZDogNDIgMjIzIDExNC8xMCU7CiAgICAgICAgICAgIC0tYnV0dG9uLWJ1eS1ob3ZlcjogMTQgMTY0IDc0OwogICAgICAgICAgICAtLWJ1dHRvbi1zZWxsOiAyMzQgNjUgNjU7CiAgICAgICAgICAgIC0tYnV0dG9uLXNlbGwtZGlzYWJsZWQ6IDIzNCA2NSA2NS8xMCU7CiAgICAgICAgICAgIC0tYnV0dG9uLXNlbGwtaG92ZXI6IDE4NCAyMCAyMAogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpIHt9CgogICAgICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIGFuZCAocG9pbnRlcjpmaW5lKSB7CiAgICAgICAgICAgIC5ob3Zlclw6b3BhY2l0eS04MDpob3ZlciB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkge30KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkge30KCiAgICAgICAgLkJ1dHRvbl9idG5fX1cxVFRPIHsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4CiAgICAgICAgfQoKICAgICAgICAuQnV0dG9uX3ByaW1hcnlfXzlNTFVIIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KQogICAgICAgIH0KCiAgICAgICAgLkJ1dHRvbl9wcmltYXJ5X185TUxVSDpkaXNhYmxlZCB7CiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgICAgIG9wYWNpdHk6IC43CiAgICAgICAgfQoKICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItbGlnaHQ6ICNmZmY7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItZGFyazogIzEyMTIxMjsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1pbmZvOiAjMzQ5OGRiOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLXN1Y2Nlc3M6ICMwN2JjMGM7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3Itd2FybmluZzogI2YxYzQwZjsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1lcnJvcjogI2U3NGQzYzsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci10cmFuc3BhcmVudDogaHNsYSgwLCAwJSwgMTAwJSwgLjcpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWljb24tY29sb3ItaW5mbzogdmFyKC0tdG9hc3RpZnktY29sb3ItaW5mbyk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktaWNvbi1jb2xvci1zdWNjZXNzOiB2YXIoLS10b2FzdGlmeS1jb2xvci1zdWNjZXNzKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1pY29uLWNvbG9yLXdhcm5pbmc6IHZhcigtLXRvYXN0aWZ5LWNvbG9yLXdhcm5pbmcpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWljb24tY29sb3ItZXJyb3I6IHZhcigtLXRvYXN0aWZ5LWNvbG9yLWVycm9yKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb250YWluZXItd2lkdGg6IGZpdC1jb250ZW50OwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRvYXN0LXdpZHRoOiAzMjBweDsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1vZmZzZXQ6IDE2cHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtdG9wOiBtYXgodmFyKC0tdG9hc3RpZnktdG9hc3Qtb2Zmc2V0KSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1yaWdodDogbWF4KHZhcigtLXRvYXN0aWZ5LXRvYXN0LW9mZnNldCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1sZWZ0OiBtYXgodmFyKC0tdG9hc3RpZnktdG9hc3Qtb2Zmc2V0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtYm90dG9tOiBtYXgodmFyKC0tdG9hc3RpZnktdG9hc3Qtb2Zmc2V0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRvYXN0LXBhZGRpbmc6IDE0cHg7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdG9hc3QtbWluLWhlaWdodDogNjRweDsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1tYXgtaGVpZ2h0OiA4MDBweDsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1iZC1yYWRpdXM6IDZweDsKICAgICAgICAgICAgLS10b2FzdGlmeS10b2FzdC1zaGFkb3c6IDBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1mb250LWZhbWlseTogc2Fucy1zZXJpZjsKICAgICAgICAgICAgLS10b2FzdGlmeS16LWluZGV4OiA5OTk5OwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRleHQtY29sb3ItbGlnaHQ6ICM3NTc1NzU7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdGV4dC1jb2xvci1kYXJrOiAjZmZmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRleHQtY29sb3ItaW5mbzogI2ZmZjsKICAgICAgICAgICAgLS10b2FzdGlmeS10ZXh0LWNvbG9yLXN1Y2Nlc3M6ICNmZmY7CiAgICAgICAgICAgIC0tdG9hc3RpZnktdGV4dC1jb2xvci13YXJuaW5nOiAjZmZmOwogICAgICAgICAgICAtLXRvYXN0aWZ5LXRleHQtY29sb3ItZXJyb3I6ICNmZmY7CiAgICAgICAgICAgIC0tdG9hc3RpZnktc3Bpbm5lci1jb2xvcjogIzYxNjE2MTsKICAgICAgICAgICAgLS10b2FzdGlmeS1zcGlubmVyLWNvbG9yLWVtcHR5LWFyZWE6ICNlMGUwZTA7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtbGlnaHQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzRjZDk2NCwgIzVhYzhmYSwgIzAwN2FmZiwgIzM0YWFkYywgIzU4NTZkNiwgI2ZmMmQ1NSk7CiAgICAgICAgICAgIC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtZGFyazogI2JiODZmYzsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1pbmZvOiB2YXIoLS10b2FzdGlmeS1jb2xvci1pbmZvKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1zdWNjZXNzOiB2YXIoLS10b2FzdGlmeS1jb2xvci1zdWNjZXNzKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy13YXJuaW5nOiB2YXIoLS10b2FzdGlmeS1jb2xvci13YXJuaW5nKTsKICAgICAgICAgICAgLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1lcnJvcjogdmFyKC0tdG9hc3RpZnktY29sb3ItZXJyb3IpOwogICAgICAgICAgICAtLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWJnbzogMC4yCiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpIHt9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3RyYWNrUHJvZ3Jlc3MgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJblJpZ2h0IHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgOTAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dFJpZ2h0IHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fYm91bmNlSW5MZWZ0IHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA2MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDkwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dExlZnQgewogICAgICAgICAgICAyMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIHZhcigtLXkpLCAwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJblVwIHsKCiAgICAgICAgICAgIDAlLAogICAgICAgICAgICA2MCUsCiAgICAgICAgICAgIDc1JSwKICAgICAgICAgICAgOTAlLAogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgICAgICAgICB9CgogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNzUlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgOTAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dFVwIHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgY2FsYyh2YXIoLS15KSAtIDEwcHgpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA0MCUsCiAgICAgICAgICAgIDQ1JSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBjYWxjKHZhcigtLXkpICsgMjBweCksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZUluRG93biB7CgogICAgICAgICAgICAwJSwKICAgICAgICAgICAgNjAlLAogICAgICAgICAgICA3NSUsCiAgICAgICAgICAgIDkwJSwKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNjAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDc1JSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA5MCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VPdXREb3duIHsKICAgICAgICAgICAgMjAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgY2FsYyh2YXIoLS15KSAtIDEwcHgpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICA0MCUsCiAgICAgICAgICAgIDQ1JSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBjYWxjKHZhcigtLXkpICsgMjBweCksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fem9vbUluIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X196b29tT3V0IHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CgogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApIHNjYWxlM2QoLjMsIC4zLCAuMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19mbGlwSW4gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDQwJSB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDYwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgODAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX2ZsaXBPdXQgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKSBwZXJzcGVjdGl2ZSg0MDBweCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgMzAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKSBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKSBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZykKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJblJpZ2h0IHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMTAlLCAwLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJbkxlZnQgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMTAlLCAwLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJblVwIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMTAlLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJbkRvd24gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMTAlLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVPdXRSaWdodCB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTEwJSwgdmFyKC0teSksIDApOwogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3NsaWRlT3V0TGVmdCB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0teSksIDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTExMCUsIHZhcigtLXkpLCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dERvd24gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLXkpLCAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwMHB4LCAwKTsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dFVwIHsKICAgICAgICAgICAgMCUgewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS15KSwgMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAwcHgsIDApOwogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgVG9hc3RpZnlfX3NwaW4gewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKQogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgKiwKICAgICAgICA6YWZ0ZXIsCiAgICAgICAgOmJlZm9yZSB7CiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZCAjZTVlN2ViOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94CiAgICAgICAgfQoKICAgICAgICA6YWZ0ZXIsCiAgICAgICAgOmJlZm9yZSB7CiAgICAgICAgICAgIC0tdHctY29udGVudDogIiIKICAgICAgICB9CgogICAgICAgIDpob3N0LAogICAgICAgIGh0bWwgewogICAgICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsOwogICAgICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBmb250LWZhbWlseTogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCBBcHBsZSBDb2xvciBFbW9qaSwgU2Vnb2UgVUkgRW1vamksIFNlZ29lIFVJIFN5bWJvbCwgTm90byBDb2xvciBFbW9qaTsKICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IG5vcm1hbDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgICAgdGFiLXNpemU6IDQKICAgICAgICB9CgogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDsKICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0OwogICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgICAgICAgICAgIHBhZGRpbmc6IDAKICAgICAgICB9CgogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lCiAgICAgICAgfQoKICAgICAgICA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sCiAgICAgICAgOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsKICAgICAgICAgICAgaGVpZ2h0OiBhdXRvCiAgICAgICAgfQoKICAgICAgICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gewogICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUKICAgICAgICB9CgogICAgICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24gewogICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsKICAgICAgICAgICAgZm9udDogaW5oZXJpdAogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICBtYXJnaW46IDAKICAgICAgICB9CgogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcgogICAgICAgIH0KCiAgICAgICAgOmRpc2FibGVkIHsKICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0CiAgICAgICAgfQoKICAgICAgICBpZnJhbWUsCiAgICAgICAgc3ZnIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKICAgICAgICB9CgogICAgICAgIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHsKICAgICAgICAgICAgcGFkZGluZzogMAogICAgICAgIH0KCiAgICAgICAgOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUgewogICAgICAgICAgICBtaW4taGVpZ2h0OiAxLjVlbQogICAgICAgIH0KCiAgICAgICAgKiwKICAgICAgICA6YWZ0ZXIsCiAgICAgICAgOmJlZm9yZSB7CiAgICAgICAgICAgIC0tdHctYm9yZGVyLXNwYWNpbmcteDogMDsKICAgICAgICAgICAgLS10dy1ib3JkZXItc3BhY2luZy15OiAwOwogICAgICAgICAgICAtLXR3LXRyYW5zbGF0ZS14OiAwOwogICAgICAgICAgICAtLXR3LXRyYW5zbGF0ZS15OiAwOwogICAgICAgICAgICAtLXR3LXJvdGF0ZTogMDsKICAgICAgICAgICAgLS10dy1za2V3LXg6IDA7CiAgICAgICAgICAgIC0tdHctc2tldy15OiAwOwogICAgICAgICAgICAtLXR3LXNjYWxlLXg6IDE7CiAgICAgICAgICAgIC0tdHctc2NhbGUteTogMTsKICAgICAgICAgICAgLS10dy1wYW4teDogOwogICAgICAgICAgICAtLXR3LXBhbi15OiA7CiAgICAgICAgICAgIC0tdHctcGluY2gtem9vbTogOwogICAgICAgICAgICAtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6IHByb3hpbWl0eTsKICAgICAgICAgICAgLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOiA7CiAgICAgICAgICAgIC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiA7CiAgICAgICAgICAgIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246IDsKICAgICAgICAgICAgLS10dy1vcmRpbmFsOiA7CiAgICAgICAgICAgIC0tdHctc2xhc2hlZC16ZXJvOiA7CiAgICAgICAgICAgIC0tdHctbnVtZXJpYy1maWd1cmU6IDsKICAgICAgICAgICAgLS10dy1udW1lcmljLXNwYWNpbmc6IDsKICAgICAgICAgICAgLS10dy1udW1lcmljLWZyYWN0aW9uOiA7CiAgICAgICAgICAgIC0tdHctcmluZy1pbnNldDogOwogICAgICAgICAgICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7CiAgICAgICAgICAgIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7CiAgICAgICAgICAgIC0tdHctcmluZy1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIC41KTsKICAgICAgICAgICAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCMwMDAwOwogICAgICAgICAgICAtLXR3LXJpbmctc2hhZG93OiAwIDAjMDAwMDsKICAgICAgICAgICAgLS10dy1zaGFkb3c6IDAgMCMwMDAwOwogICAgICAgICAgICAtLXR3LXNoYWRvdy1jb2xvcmVkOiAwIDAjMDAwMDsKICAgICAgICAgICAgLS10dy1ibHVyOiA7CiAgICAgICAgICAgIC0tdHctYnJpZ2h0bmVzczogOwogICAgICAgICAgICAtLXR3LWNvbnRyYXN0OiA7CiAgICAgICAgICAgIC0tdHctZ3JheXNjYWxlOiA7CiAgICAgICAgICAgIC0tdHctaHVlLXJvdGF0ZTogOwogICAgICAgICAgICAtLXR3LWludmVydDogOwogICAgICAgICAgICAtLXR3LXNhdHVyYXRlOiA7CiAgICAgICAgICAgIC0tdHctc2VwaWE6IDsKICAgICAgICAgICAgLS10dy1kcm9wLXNoYWRvdzogOwogICAgICAgICAgICAtLXR3LWJhY2tkcm9wLWJsdXI6IDsKICAgICAgICAgICAgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiA7CiAgICAgICAgICAgIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6IDsKICAgICAgICAgICAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6IDsKICAgICAgICAgICAgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiA7CiAgICAgICAgICAgIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiA7CiAgICAgICAgICAgIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogOwogICAgICAgICAgICAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiA7CiAgICAgICAgICAgIC0tdHctYmFja2Ryb3Atc2VwaWE6IDsKICAgICAgICAgICAgLS10dy1jb250YWluLXNpemU6IDsKICAgICAgICAgICAgLS10dy1jb250YWluLWxheW91dDogOwogICAgICAgICAgICAtLXR3LWNvbnRhaW4tcGFpbnQ6IDsKICAgICAgICAgICAgLS10dy1jb250YWluLXN0eWxlOgogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6NjQwcHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7fQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjEyODBweCkge30KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6MTUzNnB4KSB7fQoKICAgICAgICAubWItNiB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQogICAgICAgIH0KCiAgICAgICAgLm10LTIgewogICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbQogICAgICAgIH0KCiAgICAgICAgLmZsZXggewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4CiAgICAgICAgfQoKICAgICAgICAuaC1zY3JlZW4gewogICAgICAgICAgICBoZWlnaHQ6IDEwMHZoCiAgICAgICAgfQoKICAgICAgICAuZmxleC1jb2wgewogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uCiAgICAgICAgfQoKICAgICAgICAuaXRlbXMtY2VudGVyIHsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcgogICAgICAgIH0KCiAgICAgICAgLmp1c3RpZnktY2VudGVyIHsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKICAgICAgICB9CgogICAgICAgIC5weC00IHsKICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOwogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtCiAgICAgICAgfQoKICAgICAgICAucHktMyB7CiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNzVyZW07CiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuNzVyZW0KICAgICAgICB9CgogICAgICAgIC50ZXh0LWNlbnRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcgogICAgICAgIH0KCiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLW5hdi1oZWlnaHQ6IDExNHB4OwogICAgICAgICAgICAtLWNvbG9yLXRleHQ6ICNmNWYyZjc7CiAgICAgICAgICAgIC0tY29sb3ItdGV4dC1zZWNvbmRhcnk6ICNhODlkYjQ7CiAgICAgICAgICAgIC0tY29sb3ItYWNjZW50OiAjZTQyNTc1OwogICAgICAgICAgICAtLWNvbG9yLXdhcm5pbmc6ICNmYTA7CiAgICAgICAgICAgIC0tY29sb3ItYWZmaXJtYXRpdmU6ICMwMGQxODE7CiAgICAgICAgICAgIC0tY29sb3ItcG9zaXRpdmUtYWNjZW50OiAjMDBkMTgxCiAgICAgICAgfQoKICAgICAgICAqIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwCiAgICAgICAgfQoKICAgICAgICBodG1sIHsKICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGgKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZQogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEuNXB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbQogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICBmb250LXdlaWdodDogNzAwCiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGZhZGVpbiB7CiAgICAgICAgICAgIDAlIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo2NDBweCkge30KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KSB7fQoKICAgICAgICAuaG92ZXJcOm9wYWNpdHktODA6aG92ZXIgewogICAgICAgICAgICBvcGFjaXR5OiAuOAogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6NjQwcHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7fQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpIHt9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjEyODBweCkge30KICAgIDwvc3R5bGU+CiAgICA8c3R5bGUgaWQ9Il9nb29iZXIiPgogICAgICAgIEBrZXlmcmFtZXMgZ28yMjY0MTI1Mjc5IHsKICAgICAgICAgICAgZnJvbSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBnbzMwMjAwODAwMDAgewogICAgICAgICAgICBmcm9tIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRvIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgZ280NjM0OTk4NTIgewogICAgICAgICAgICBmcm9tIHsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKDkwZGVnKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoOTBkZWcpOwogICAgICAgICAgICAgICAgb3BhY2l0eTogMQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGdvMTI2ODM2ODU2MyB7CiAgICAgICAgICAgIGZyb20gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGdvMTMxMDIyNTQyOCB7CiAgICAgICAgICAgIGZyb20gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoNDVkZWcpOwogICAgICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgICAgICB9CgogICAgICAgICAgICB0byB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgZ282NTE2MTgyMDcgewogICAgICAgICAgICAwJSB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgICAgICAgICB3aWR0aDogMDsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgNDAlIHsKICAgICAgICAgICAgICAgIGhlaWdodDogMDsKICAgICAgICAgICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIDEwMCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTBweAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGdvOTAxMzQ3NDYyIHsKICAgICAgICAgICAgZnJvbSB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgICAgQGxheWVyIGR5bmFtaWMtc2RrLXN0eWxlcyB7CgogICAgICAgICAgICAjYXJnZW50LW1vYmlsZS1tb2RhbC1vdmVybGF5LAogICAgICAgICAgICBpZnJhbWVbc3JjKj0id2FsbGV0LWRldi5ibG9jdG8uYXBwIl0sCiAgICAgICAgICAgIGlmcmFtZVtzcmMqPSJ3YWxsZXQtc3RhZ2luZy5ibG9jdG8uYXBwIl0sCiAgICAgICAgICAgIGlmcmFtZVtzcmMqPSJ3YWxsZXQtdGVzdG5ldC5ibG9jdG8uYXBwIl0sCiAgICAgICAgICAgIGlmcmFtZVtzcmMqPSJ3YWxsZXQuYmxvY3RvLmFwcCJdIHsKICAgICAgICAgICAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDcgIWltcG9ydGFudAogICAgICAgICAgICB9CgogICAgICAgICAgICBpZnJhbWVbaWQqPWR5bi1wYXNza2V5LXJlY292ZXJ5LWVsZW1lbnQtaWRdLAogICAgICAgICAgICBpZnJhbWVbaWQqPWR5bi1zZWN1cmUtZW5jbGF2ZS1lbGVtZW50LWlkXSB7CiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKICAgICAgICAgICAgfQoKICAgICAgICAgICAgI3BlcmEtd2FsbGV0LWNvbm5lY3QtbW9kYWwtd3JhcHBlciB7CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMTQ3NDgzNjQ3ICFpbXBvcnRhbnQKICAgICAgICAgICAgfQoKICAgICAgICAgICAgQGxheWVyIGxpZ2h0LXRoZW1lLWRlZmF1bHQgewogICAgICAgICAgICAgICAgOnJvb3QgewogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb250LWZhbWlseS1wcmltYXJ5OiAiRE0gU2FucyIsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvbnQtZmFtaWx5LW51bWJlcnM6ICJSb2JvdG8gTW9ubyIsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS0xOiAjZjdmN2Y5OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMzogI2VlZWVmMTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS00OiAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1icmFuZC1ob3Zlci1jb2xvcjogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgLjA4KSwgcmdiYSgwLCAwLCAwLCAuMDgpKSwgIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtcHJpbWFyeS1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtc2Vjb25kYXJ5LWNvbG9yOiByZ2JhKDcxLCAxMjEsIDI1NSwgLjE1KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc3VjY2Vzcy0xOiAjMzBhNjdiOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zdWNjZXNzLTI6ICNlM2Y3ZWY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJvcmRlci1yYWRpdXM6IDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaG92ZXI6IHJnYmEoMjIsIDM3LCA3NywgLjAzKTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaW5mby0yOiByZ2JhKDcxLCAxMjEsIDI1NSwgLjEpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0xOiAjZmY0NjQ2OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0yOiAjZmZlM2UzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1hbGVydC0xOiAjZGQ4NTAwOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1hbGVydC0yOiAjZmFlZGQ5OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiAjNDc3OWZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sb2FkaW5nLWFuaW1hdGlvbi1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBoc2xhKDAsIDAlLCAxMDAlLCAwKSwgaHNsYSgwLCAwJSwgMTAwJSwgLjIpIDIwJSwgaHNsYSgwLCAwJSwgMTAwJSwgLjUpIDYwJSwgaHNsYSgwLCAwJSwgMTAwJSwgMCkpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1vdmVybGF5OiByZ2JhKDI0LCAyNywgMzQsIC4xNSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTE6IDAgMC4wNjI1cmVtIDAuMTI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMzogMCAxLjVyZW0gMnJlbSAtMS41cmVtIHJnYmEoMCwgMCwgMCwgLjI0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LXVwLTE6IDAtMC41cmVtIDNyZW0gLTAuNXJlbSByZ2JhKDEwOSwgMTIxLCAxNjUsIC4xNik7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtbGluazogIzAwNDdmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1wcmltYXJ5OiAjMzgzYzQ4OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNlY29uZGFyeTogIzdiN2Q4NjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktbWluaTogMC42ODc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYm9keS1ub3JtYWw6IDAuOTM3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktc21hbGw6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tcHJpbWFyeTogMC44NzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tc2Vjb25kYXJ5OiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtbnVtYmVycy1kaXNwbGF5OiAxLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtYmlnOiAwLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtbWVkaXVtOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtdGl0bGU6IDEuMTI1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXRlcnRpYXJ5OiAjYWJhY2IyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1iYWNrZ3JvdW5kOiAjZWVlZWYxOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1jb2xvcjogIzdiN2Q4NjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjZTNmN2VmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1wcmltYXJ5LWNvbG9yOiAjMzBhNjdiOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1kb3QtYmFja2dyb3VuZDogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQtaG92ZXI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYmFja2dyb3VuZC1mb2N1czogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZWVlZWYxOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlci1ob3ZlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYm9yZGVyLWZvY3VzOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYm9yZGVyOiA7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXdpZHRoOiAyMi41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC1wYWRkaW5nOiAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtcGFkZGluZzogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1nYXA6IDAuMzc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC1tYXgtaGVpZ2h0OiAxNi4yNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJvcmRlcjogOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLXNoYWRvdzogMCAwLjA2MjVyZW0gMC4xMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJhY2tncm91bmQtaG92ZXI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYm9yZGVyLWhvdmVyOiA7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtc2hhZG93LWhvdmVyOiAwIDAuNzVyZW0gMS4yNXJlbSAtMC4zNzVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDIpLCAwIDFyZW0gMS42MjVyZW0gLTAuMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWFuaW1hdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtdGV4dC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaW5pdGlhbC12aWV3LWNvbnRlbnQtcGFkZGluZzogMHJlbSAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktZm9udC1zaXplOiAwLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMjQsIDM5LCA3NSwgLjA4KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogI2Y3ZjhmYTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1mb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYmFja2dyb3VuZC1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMjQsIDM5LCA3NSwgLjA4KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3ItaG92ZXI6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWJvcmRlci1ob3ZlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdy1ob3ZlcjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLXBhZGRpbmc6IDAgMS41cmVtIDAuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbGF5b3V0LWNvbnRlbnQtcGFkZGluZzogMCAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sYXlvdXQtY29udGVudC1lcnJvci1wYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItcGFkZGluZzogMC43NXJlbSAxLjVyZW0gMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItcGFkZGluZzogMS41cmVtIDEuNXJlbSAxLjI1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdLAogICAgICAgICAgICAgICAgOnJvb3RbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdIHsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiByZ2JhKDI0NywgMjQ3LCAyNDksIC43NSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1hcnJvdy1jb2xvcjogcmdiYSgyNDcsIDI0NywgMjQ5LCAuNzUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1zdWJ0bGVdLAogICAgICAgICAgICAgICAgOnJvb3RbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPXN1YnRsZV0gewogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYXJyb3ctY29sb3I6ICNhYmFjYjIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KSB7CiAgICAgICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1hdXRvXSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb250LWZhbWlseS1wcmltYXJ5OiAiRE0gU2FucyIsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb250LWZhbWlseS1udW1iZXJzOiAiUm9ib3RvIE1vbm8iLCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTE6ICNmN2Y3Zjk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTM6ICNlZWVlZjE7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTQ6ICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1icmFuZC1ob3Zlci1jb2xvcjogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgLjA4KSwgcmdiYSgwLCAwLCAwLCAuMDgpKSwgIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJyYW5kLXByaW1hcnktY29sb3I6ICM0Nzc5ZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1icmFuZC1zZWNvbmRhcnktY29sb3I6IHJnYmEoNzEsIDEyMSwgMjU1LCAuMTUpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc3VjY2Vzcy0xOiAjMzBhNjdiOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc3VjY2Vzcy0yOiAjZTNmN2VmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYm9yZGVyLXJhZGl1czogMS41cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaG92ZXI6IHJnYmEoMjIsIDM3LCA3NywgLjAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWluZm8tMjogcmdiYSg3MSwgMTIxLCAyNTUsIC4xKTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWVycm9yLTE6ICNmZjQ2NDY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0yOiAjZmZlM2UzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYWxlcnQtMTogI2RkODUwMDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWFsZXJ0LTI6ICNmYWVkZDk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci10ZXh0LWNvbG9yOiAjMzgzYzQ4OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWljb24tY29sb3I6ICM0Nzc5ZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sb2FkaW5nLWFuaW1hdGlvbi1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBoc2xhKDAsIDAlLCAxMDAlLCAwKSwgaHNsYSgwLCAwJSwgMTAwJSwgLjIpIDIwJSwgaHNsYSgwLCAwJSwgMTAwJSwgLjUpIDYwJSwgaHNsYSgwLCAwJSwgMTAwJSwgMCkpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtb3ZlcmxheTogcmdiYSgyNCwgMjcsIDM0LCAuMTUpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMTogMCAwLjA2MjVyZW0gMC4xMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTM6IDAgMS41cmVtIDJyZW0gLTEuNXJlbSByZ2JhKDAsIDAsIDAsIC4yNCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zaGFkb3ctdXAtMTogMC0wLjVyZW0gM3JlbSAtMC41cmVtIHJnYmEoMTA5LCAxMjEsIDE2NSwgLjE2KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtbGluazogIzAwNDdmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtcHJpbWFyeTogIzM4M2M0ODsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2Vjb25kYXJ5OiAjN2I3ZDg2OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktbWluaTogMC42ODc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktbm9ybWFsOiAwLjkzNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYm9keS1zbWFsbDogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tcHJpbWFyeTogMC44NzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYnV0dG9uLXNlY29uZGFyeTogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1udW1iZXJzLWRpc3BsYXk6IDEuODc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtYmlnOiAwLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1udW1iZXJzLW1lZGl1bTogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS10aXRsZTogMS4xMjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXRlcnRpYXJ5OiAjYWJhY2IyOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtYmFja2dyb3VuZDogI2VlZWVmMTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLWNvbG9yOiAjN2I3ZDg2OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjZTNmN2VmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1jb2xvcjogIzMwYTY3YjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLWRvdC1iYWNrZ3JvdW5kOiAjNDc3OWZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kLWhvdmVyOiAjZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kLWZvY3VzOiAjZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZWVlZWYxOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXItaG92ZXI6IDAuMDYyNXJlbSBzb2xpZCAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXItZm9jdXM6IDAuMDYyNXJlbSBzb2xpZCAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYm9yZGVyOiA7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC13aWR0aDogMjIuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXBhZGRpbmc6IDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLWJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1wYWRkaW5nOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1nYXA6IDAuMzc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtbWF4LWhlaWdodDogMTYuMjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJvcmRlcjogOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1zaGFkb3c6IDAgMC4wNjI1cmVtIDAuMTI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYmFja2dyb3VuZC1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYm9yZGVyLWhvdmVyOiA7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLXNoYWRvdy1ob3ZlcjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYW5pbWF0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10b29sdGlwLXRleHQtY29sb3I6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1pbml0aWFsLXZpZXctY29udGVudC1wYWRkaW5nOiAwcmVtIDEuNXJlbSAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1mb250LXNpemU6IDAuODc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgyNCwgMzksIDc1LCAuMDgpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogI2Y3ZjhmYTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWZvbnQtc2l6ZTogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYmFja2dyb3VuZC1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWNvbG9yOiAjMzgzYzQ4OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMjQsIDM5LCA3NSwgLjA4KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWNvbG9yLWhvdmVyOiAjMzgzYzQ4OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYm9yZGVyLWhvdmVyOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdy1ob3ZlcjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1wYWRkaW5nOiAwIDEuNXJlbSAwLjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sYXlvdXQtY29udGVudC1wYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sYXlvdXQtY29udGVudC1lcnJvci1wYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1ib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1wYWRkaW5nOiAwLjc1cmVtIDEuNXJlbSAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaGVhZGVyLWJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWhlYWRlci1wYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuMjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIDpyb290IFtkYXRhLWR5bmFtaWMtdGhlbWU9YXV0b10gW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1ib2xkXSwKICAgICAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWF1dG9dW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1ib2xkXSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItdGV4dC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiByZ2JhKDI0NywgMjQ3LCAyNDksIC43NSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYXJyb3ctY29sb3I6IHJnYmEoMjQ3LCAyNDcsIDI0OSwgLjc1KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1hdXRvXSBbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPXN1YnRsZV0sCiAgICAgICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1hdXRvXVtkYXRhLWR5bmFtaWMtdGhlbWUtYnJhbmQ9c3VidGxlXSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYXJyb3ctY29sb3I6ICNhYmFjYjIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1saWdodF0gewogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb250LWZhbWlseS1wcmltYXJ5OiAiRE0gU2FucyIsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvbnQtZmFtaWx5LW51bWJlcnM6ICJSb2JvdG8gTW9ubyIsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS0xOiAjZjdmN2Y5OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMzogI2VlZWVmMTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS00OiAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1icmFuZC1ob3Zlci1jb2xvcjogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgLjA4KSwgcmdiYSgwLCAwLCAwLCAuMDgpKSwgIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtcHJpbWFyeS1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtc2Vjb25kYXJ5LWNvbG9yOiByZ2JhKDcxLCAxMjEsIDI1NSwgLjE1KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc3VjY2Vzcy0xOiAjMzBhNjdiOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zdWNjZXNzLTI6ICNlM2Y3ZWY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJvcmRlci1yYWRpdXM6IDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaG92ZXI6IHJnYmEoMjIsIDM3LCA3NywgLjAzKTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaW5mby0yOiByZ2JhKDcxLCAxMjEsIDI1NSwgLjEpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0xOiAjZmY0NjQ2OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1lcnJvci0yOiAjZmZlM2UzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1hbGVydC0xOiAjZGQ4NTAwOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1hbGVydC0yOiAjZmFlZGQ5OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiAjNDc3OWZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sb2FkaW5nLWFuaW1hdGlvbi1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBoc2xhKDAsIDAlLCAxMDAlLCAwKSwgaHNsYSgwLCAwJSwgMTAwJSwgLjIpIDIwJSwgaHNsYSgwLCAwJSwgMTAwJSwgLjUpIDYwJSwgaHNsYSgwLCAwJSwgMTAwJSwgMCkpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1vdmVybGF5OiByZ2JhKDI0LCAyNywgMzQsIC4xNSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTE6IDAgMC4wNjI1cmVtIDAuMTI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMzogMCAxLjVyZW0gMnJlbSAtMS41cmVtIHJnYmEoMCwgMCwgMCwgLjI0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LXVwLTE6IDAtMC41cmVtIDNyZW0gLTAuNXJlbSByZ2JhKDEwOSwgMTIxLCAxNjUsIC4xNik7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtbGluazogIzAwNDdmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1wcmltYXJ5OiAjMzgzYzQ4OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNlY29uZGFyeTogIzdiN2Q4NjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktbWluaTogMC42ODc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYm9keS1ub3JtYWw6IDAuOTM3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktc21hbGw6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tcHJpbWFyeTogMC44NzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tc2Vjb25kYXJ5OiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtbnVtYmVycy1kaXNwbGF5OiAxLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtYmlnOiAwLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtbWVkaXVtOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtdGl0bGU6IDEuMTI1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXRlcnRpYXJ5OiAjYWJhY2IyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1iYWNrZ3JvdW5kOiAjZWVlZWYxOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1jb2xvcjogIzdiN2Q4NjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjZTNmN2VmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1wcmltYXJ5LWNvbG9yOiAjMzBhNjdiOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1kb3QtYmFja2dyb3VuZDogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQtaG92ZXI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYmFja2dyb3VuZC1mb2N1czogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjZWVlZWYxOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlci1ob3ZlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYm9yZGVyLWZvY3VzOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYm9yZGVyOiA7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXdpZHRoOiAyMi41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC1wYWRkaW5nOiAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtcGFkZGluZzogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1nYXA6IDAuMzc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC1tYXgtaGVpZ2h0OiAxNi4yNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1iYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJvcmRlcjogOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLXNoYWRvdzogMCAwLjA2MjVyZW0gMC4xMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJhY2tncm91bmQtaG92ZXI6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYm9yZGVyLWhvdmVyOiA7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtc2hhZG93LWhvdmVyOiAwIDAuNzVyZW0gMS4yNXJlbSAtMC4zNzVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDIpLCAwIDFyZW0gMS42MjVyZW0gLTAuMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWFuaW1hdGlvbi1kdXJhdGlvbjogMTUwbXM7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtdGV4dC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaW5pdGlhbC12aWV3LWNvbnRlbnQtcGFkZGluZzogMHJlbSAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktZm9udC1zaXplOiAwLjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2U3ZThlZDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMjQsIDM5LCA3NSwgLjA4KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogI2Y3ZjhmYTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1mb250LXNpemU6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktcGFkZGluZzogMDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYmFja2dyb3VuZC1ob3ZlcjogI2ZmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3I6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMjQsIDM5LCA3NSwgLjA4KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3ItaG92ZXI6ICMzODNjNDg7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWJvcmRlci1ob3ZlcjogMC4wNjI1cmVtIHNvbGlkICNlN2U4ZWQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLXNoYWRvdy1ob3ZlcjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLXBhZGRpbmc6IDAgMS41cmVtIDAuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbGF5b3V0LWNvbnRlbnQtcGFkZGluZzogMCAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sYXlvdXQtY29udGVudC1lcnJvci1wYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjZTdlOGVkOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItcGFkZGluZzogMC43NXJlbSAxLjVyZW0gMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItcGFkZGluZzogMS41cmVtIDEuNXJlbSAxLjI1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWxpZ2h0XSBbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdLAogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1saWdodF1bZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdIHsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICNmZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiByZ2JhKDI0NywgMjQ3LCAyNDksIC43NSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1hcnJvdy1jb2xvcjogcmdiYSgyNDcsIDI0NywgMjQ5LCAuNzUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1saWdodF0gW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1zdWJ0bGVdLAogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1saWdodF1bZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPXN1YnRsZV0gewogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYXJyb3ctY29sb3I6ICNhYmFjYjIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgQGxheWVyIGRhcmstdGhlbWUtZGVmYXVsdCB7CiAgICAgICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspIHsKICAgICAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWF1dG9dIHsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvbnQtZmFtaWx5LXByaW1hcnk6ICJETSBTYW5zIiwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvbnQtZmFtaWx5LW51bWJlcnM6ICJSb2JvdG8gTW9ubyIsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMTogIzBjMGUxMzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMjogIzFiMWQyMjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMzogIzI0MjcyZTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtNDogIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJyYW5kLWhvdmVyLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAuMDgpLCByZ2JhKDAsIDAsIDAsIC4wOCkpLCAjNDc3OWZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtcHJpbWFyeS1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJyYW5kLXNlY29uZGFyeS1jb2xvcjogcmdiYSg3MSwgMTIxLCAyNTUsIC4xNSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zdWNjZXNzLTE6ICM3OWZmY2Y7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zdWNjZXNzLTI6ICMxOTJkMmM7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1ib3JkZXItcmFkaXVzOiAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1ob3ZlcjogaHNsYSgwLCAwJSwgMTAwJSwgLjEpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZXJyb3ItMTogI2ZmNmE2YTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWVycm9yLTI6IGhzbGEoMCwgMTAwJSwgNzElLCAuMik7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1hbGVydC0xOiAjZTJhMTQwOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYWxlcnQtMjogIzJiMjYyMTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMGMwZTEzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICNmYmZjZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItaWNvbi1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWxvYWRpbmctYW5pbWF0aW9uLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIGhzbGEoMCwgMCUsIDEwMCUsIDApLCBoc2xhKDAsIDAlLCAxMDAlLCAuMDEpIDIwJSwgaHNsYSgwLCAwJSwgMTAwJSwgLjA1KSA2MCUsIGhzbGEoMCwgMCUsIDEwMCUsIDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW92ZXJsYXk6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTE6IDAgMC4wNjI1cmVtIDAuMTI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTI6IDAgMC43NXJlbSAxLjI1cmVtIC0wLjM3NXJlbSByZ2JhKDI0LCAzOSwgNzUsIC4wMiksIDAgMXJlbSAxLjYyNXJlbSAtMC4yNXJlbSByZ2JhKDI0LCAzOSwgNzUsIC4wNCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zaGFkb3ctZG93bi0zOiAwIDEuNXJlbSAycmVtIC0xLjVyZW0gcmdiYSgwLCAwLCAwLCAuMjQpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LXVwLTE6IDAtMC41cmVtIDNyZW0gLTAuNXJlbSByZ2JhKDEwOSwgMTIxLCAxNjUsIC4xNik7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LWxpbms6ICM2OWE1ZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXByaW1hcnk6ICNmYmZjZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNlY29uZGFyeTogI2E4YWFiMDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1ib2R5LW1pbmk6IDAuNjg3NXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1ib2R5LW5vcm1hbDogMC45Mzc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktc21hbGw6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYnV0dG9uLXByaW1hcnk6IDAuODc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJ1dHRvbi1zZWNvbmRhcnk6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtbnVtYmVycy1iaWc6IDAuODc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLW51bWJlcnMtbWVkaXVtOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLXRpdGxlOiAxLjEyNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtdGVydGlhcnk6ICM2ZjcxNzc7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1iYWNrZ3JvdW5kOiAjMjQyNzJlOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtY29sb3I6ICNhOGFhYjA7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1kb3QtYmFja2dyb3VuZDogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLXByaW1hcnktYmFja2dyb3VuZDogIzE5MmQyYzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLXByaW1hcnktY29sb3I6ICM3OWZmY2Y7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQ6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQtaG92ZXI6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQtZm9jdXM6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyNDI3MmU7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlci1ob3ZlcjogMC4wNjI1cmVtIHNvbGlkICMyODJiMzM7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlci1mb2N1czogMC4wNjI1cmVtIHNvbGlkICMyODJiMzM7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC1ib3JkZXI6IDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXdpZHRoOiAyMi41cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtcGFkZGluZzogMS41cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLXBhZGRpbmc6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWdhcDogMC4zNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC1tYXgtaGVpZ2h0OiAxNi4yNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYmFja2dyb3VuZDogIzI0MjcyZTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYm9yZGVyOiA7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLXNoYWRvdzogMCAwLjA2MjVyZW0gMC4xMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1iYWNrZ3JvdW5kLWhvdmVyOiAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1ib3JkZXItaG92ZXI6IDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtc2hhZG93LWhvdmVyOiAwIDAuNzVyZW0gMS4yNXJlbSAtMC4zNzVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDIpLCAwIDFyZW0gMS42MjVyZW0gLTAuMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1hbmltYXRpb24tZHVyYXRpb246IDE1MG1zOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdG9vbHRpcC1jb2xvcjogI2ZiZmNmZjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRvb2x0aXAtdGV4dC1jb2xvcjogIzBjMGUxMzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWluaXRpYWwtdmlldy1jb250ZW50LXBhZGRpbmc6IDByZW0gMS41cmVtIDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWhvdmVyOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogIzFiMWQyMjsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWZvbnQtc2l6ZTogMC44NzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1wYWRkaW5nOiAwOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXByaW1hcnktYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDI0LCAzOSwgNzUsIC4wOCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWhvdmVyOiAjMWExYzIxOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1zZWNvbmRhcnktZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1wYWRkaW5nOiAwOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWNvbm5lY3QtYnV0dG9uLWJhY2tncm91bmQ6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3I6ICNmYmZjZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgyNCwgMzksIDc1LCAuMDgpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tY29sb3ItaG92ZXI6ICNmYmZjZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1ib3JkZXItaG92ZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tc2hhZG93LWhvdmVyOiAwIDAuNzVyZW0gMS4yNXJlbSAtMC4zNzVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDIpLCAwIDFyZW0gMS42MjVyZW0gLTAuMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLXBhZGRpbmc6IDAgMS41cmVtIDAuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWxheW91dC1jb250ZW50LXBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWxheW91dC1jb250ZW50LWVycm9yLXBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXBhZGRpbmc6IDAuNzVyZW0gMS41cmVtIDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1oZWFkZXItYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaGVhZGVyLXBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMS4yNXJlbTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWhlYWRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1hdXRvXSBbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdLAogICAgICAgICAgICAgICAgICAgIDpyb290IFtkYXRhLWR5bmFtaWMtdGhlbWU9YXV0b11bZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdIHsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci10ZXh0LWNvbG9yOiAjZmJmY2ZmOwogICAgICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWljb24tY29sb3I6IHJnYmEoMjQ3LCAyNDcsIDI0OSwgLjc1KTsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1hcnJvdy1jb2xvcjogcmdiYSgyNDcsIDI0NywgMjQ5LCAuNzUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWF1dG9dIFtkYXRhLWR5bmFtaWMtdGhlbWUtYnJhbmQ9c3VidGxlXSwKICAgICAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWF1dG9dW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1zdWJ0bGVdIHsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1hcnJvdy1jb2xvcjogIzZmNzE3NzsKICAgICAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiAjNmY3MTc3CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIDpyb290IFtkYXRhLWR5bmFtaWMtdGhlbWU9ZGFya10gewogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb250LWZhbWlseS1wcmltYXJ5OiAiRE0gU2FucyIsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvbnQtZmFtaWx5LW51bWJlcnM6ICJSb2JvdG8gTW9ubyIsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS0xOiAjMGMwZTEzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYXNlLTI6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhc2UtMzogIzI0MjcyZTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFzZS00OiAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1icmFuZC1ob3Zlci1jb2xvcjogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgLjA4KSwgcmdiYSgwLCAwLCAwLCAuMDgpKSwgIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtcHJpbWFyeS1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtc2Vjb25kYXJ5LWNvbG9yOiByZ2JhKDcxLCAxMjEsIDI1NSwgLjE1KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc3VjY2Vzcy0xOiAjNzlmZmNmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zdWNjZXNzLTI6ICMxOTJkMmM7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJvcmRlci1yYWRpdXM6IDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtaG92ZXI6IGhzbGEoMCwgMCUsIDEwMCUsIC4xKTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZXJyb3ItMTogI2ZmNmE2YTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZXJyb3ItMjogaHNsYSgwLCAxMDAlLCA3MSUsIC4yKTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYWxlcnQtMTogI2UyYTE0MDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYWxlcnQtMjogIzJiMjYyMTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICMwYzBlMTM7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci10ZXh0LWNvbG9yOiAjZmJmY2ZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItaWNvbi1jb2xvcjogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbG9hZGluZy1hbmltYXRpb24tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgaHNsYSgwLCAwJSwgMTAwJSwgMCksIGhzbGEoMCwgMCUsIDEwMCUsIC4wMSkgMjAlLCBoc2xhKDAsIDAlLCAxMDAlLCAuMDUpIDYwJSwgaHNsYSgwLCAwJSwgMTAwJSwgMCkpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1vdmVybGF5OiByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNoYWRvdy1kb3duLTE6IDAgMC4wNjI1cmVtIDAuMTI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMjogMCAwLjc1cmVtIDEuMjVyZW0gLTAuMzc1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjAyKSwgMCAxcmVtIDEuNjI1cmVtIC0wLjI1cmVtIHJnYmEoMjQsIDM5LCA3NSwgLjA0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LWRvd24tMzogMCAxLjVyZW0gMnJlbSAtMS41cmVtIHJnYmEoMCwgMCwgMCwgLjI0KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2hhZG93LXVwLTE6IDAtMC41cmVtIDNyZW0gLTAuNXJlbSByZ2JhKDEwOSwgMTIxLCAxNjUsIC4xNik7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtbGluazogIzY5YTVmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1wcmltYXJ5OiAjZmJmY2ZmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNlY29uZGFyeTogI2E4YWFiMDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktbWluaTogMC42ODc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtYm9keS1ub3JtYWw6IDAuOTM3NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdGV4dC1zaXplLWJvZHktc21hbGw6IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tcHJpbWFyeTogMC44NzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS1idXR0b24tc2Vjb25kYXJ5OiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtbnVtYmVycy1iaWc6IDAuODc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy10ZXh0LXNpemUtbnVtYmVycy1tZWRpdW06IDAuNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtc2l6ZS10aXRsZTogMS4xMjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXRleHQtdGVydGlhcnk6ICM2ZjcxNzc7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLWJhY2tncm91bmQ6ICMyNDI3MmU7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJhZGdlLWNvbG9yOiAjYThhYWIwOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1kb3QtYmFja2dyb3VuZDogIzQ3NzlmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYmFkZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMTkyZDJjOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1wcmltYXJ5LWNvbG9yOiAjNzlmZmNmOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJhY2tncm91bmQ6ICMxYjFkMjI7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYmFja2dyb3VuZC1ob3ZlcjogIzFiMWQyMjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1iYWNrZ3JvdW5kLWZvY3VzOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtYmFyLWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyNDI3MmU7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXNlYXJjaC1iYXItYm9yZGVyLWhvdmVyOiAwLjA2MjVyZW0gc29saWQgIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtc2VhcmNoLWJhci1ib3JkZXItZm9jdXM6IDAuMDYyNXJlbSBzb2xpZCAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC1ib3JkZXI6IDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtd2lkdGg6IDIyLjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLW1vZGFsLXBhZGRpbmc6IDEuNXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtbW9kYWwtYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1tb2RhbC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1wYWRkaW5nOiAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWdhcDogMC4zNzVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LW1heC1oZWlnaHQ6IDE2LjI1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy13YWxsZXQtbGlzdC10aWxlLWJhY2tncm91bmQ6ICMyNDI3MmU7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYm9yZGVyOiA7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtc2hhZG93OiAwIDAuMDYyNXJlbSAwLjEyNXJlbSByZ2JhKDI0LCAzOSwgNzUsIC4wNCk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYmFja2dyb3VuZC1ob3ZlcjogIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1ib3JkZXItaG92ZXI6IDsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtd2FsbGV0LWxpc3QtdGlsZS1zaGFkb3ctaG92ZXI6IDAgMC43NXJlbSAxLjI1cmVtIC0wLjM3NXJlbSByZ2JhKDI0LCAzOSwgNzUsIC4wMiksIDAgMXJlbSAxLjYyNXJlbSAtMC4yNXJlbSByZ2JhKDI0LCAzOSwgNzUsIC4wNCk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLXdhbGxldC1saXN0LXRpbGUtYW5pbWF0aW9uLWR1cmF0aW9uOiAxNTBtczsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdG9vbHRpcC1jb2xvcjogI2ZiZmNmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtdG9vbHRpcC10ZXh0LWNvbG9yOiAjMGMwZTEzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1pbml0aWFsLXZpZXctY29udGVudC1wYWRkaW5nOiAwcmVtIDEuNXJlbSAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWJ1dHRvbi1wcmltYXJ5LWhvdmVyOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1mb250LXNpemU6IDAuODc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1wYWRkaW5nOiAwOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tcHJpbWFyeS1ib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMjgyYjMzOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgyNCwgMzksIDc1LCAuMDgpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWhvdmVyOiAjMWExYzIxOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWZvbnQtc2l6ZTogMC43NXJlbTsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnV0dG9uLXNlY29uZGFyeS1wYWRkaW5nOiAwOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1idXR0b24tc2Vjb25kYXJ5LWJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1iYWNrZ3JvdW5kOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAjMWIxZDIyOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1jb2xvcjogI2ZiZmNmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tc2hhZG93OiAwcHggMnB4IDNweCAwcHggcmdiYSgyNCwgMzksIDc1LCAuMDgpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1jb25uZWN0LWJ1dHRvbi1jb2xvci1ob3ZlcjogI2ZiZmNmZjsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tYm9yZGVyLWhvdmVyOiAwLjA2MjVyZW0gc29saWQgIzI4MmIzMzsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtY29ubmVjdC1idXR0b24tc2hhZG93LWhvdmVyOiAwIDAuNzVyZW0gMS4yNXJlbSAtMC4zNzVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDIpLCAwIDFyZW0gMS42MjVyZW0gLTAuMjVyZW0gcmdiYSgyNCwgMzksIDc1LCAuMDQpOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1zZWFyY2gtcGFkZGluZzogMCAxLjVyZW0gMC41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1sYXlvdXQtY29udGVudC1wYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWxheW91dC1jb250ZW50LWVycm9yLXBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMS41cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICMyODJiMzM7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1wYWRkaW5nOiAwLjc1cmVtIDEuNXJlbSAwLjc1cmVtOwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWhlYWRlci1ib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWhlYWRlci1wYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuMjVyZW07CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWhlYWRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIDpyb290IFtkYXRhLWR5bmFtaWMtdGhlbWU9ZGFya10gW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1ib2xkXSwKICAgICAgICAgICAgICAgIDpyb290IFtkYXRhLWR5bmFtaWMtdGhlbWU9ZGFya11bZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPWJvbGRdIHsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLXRleHQtY29sb3I6ICNmYmZjZmY7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1pY29uLWNvbG9yOiByZ2JhKDI0NywgMjQ3LCAyNDksIC43NSk7CiAgICAgICAgICAgICAgICAgICAgLS1keW5hbWljLWZvb3Rlci1hcnJvdy1jb2xvcjogcmdiYSgyNDcsIDI0NywgMjQ5LCAuNzUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgOnJvb3QgW2RhdGEtZHluYW1pYy10aGVtZT1kYXJrXSBbZGF0YS1keW5hbWljLXRoZW1lLWJyYW5kPXN1YnRsZV0sCiAgICAgICAgICAgICAgICA6cm9vdCBbZGF0YS1keW5hbWljLXRoZW1lPWRhcmtdW2RhdGEtZHluYW1pYy10aGVtZS1icmFuZD1zdWJ0bGVdIHsKICAgICAgICAgICAgICAgICAgICAtLWR5bmFtaWMtZm9vdGVyLWFycm93LWNvbG9yOiAjNmY3MTc3OwogICAgICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItaWNvbi1jb2xvcjogIzZmNzE3NwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAuZHluYW1pYy1zaGFkb3ctZG9tIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZQogICAgICAgICAgICB9CgogICAgICAgICAgICAjZHluYW1pYy10b29sdGlwcyB7CiAgICAgICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOiAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEBzdXBwb3J0cyAob3ZlcmZsb3c6Y2xpcCkgewogICAgICAgICAgICAgICAgLmR5bmFtaWMtbm8tc2Nyb2xsIHsKICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogY2xpcAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBAc3VwcG9ydHMgbm90IChvdmVyZmxvdzpjbGlwKSB7CiAgICAgICAgICAgICAgICAuZHluYW1pYy1uby1zY3JvbGwgewogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c3R5bGUgZGF0YS1zb3VyY2U9ImR5bmFtaWMtdGhlbWUiPgogICAgICAgIEBsYXllciBkeW5hbWljLXByb2plY3QtZW52aXJvbm1lbnQtdGhlbWUgewoKICAgICAgICAgICAgI2R5bmFtaWMtd2lkZ2V0LAogICAgICAgICAgICAjZHluYW1pYy1tb2RhbCwKICAgICAgICAgICAgLmR5bmFtaWMtc2hhZG93LWRvbSB7CiAgICAgICAgICAgICAgICAtLWR5bmFtaWMtYnJhbmQtcHJpbWFyeS1jb2xvcjogIzQ3NzlGRjsKICAgICAgICAgICAgICAgIC0tZHluYW1pYy1iYWRnZS1kb3QtYmFja2dyb3VuZDogIzQ3NzlGRjsKICAgICAgICAgICAgICAgIC0tZHluYW1pYy1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzQ3NzlGRgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzdHlsZSBkYXRhLWVtb3Rpb249ImNzcy1nbG9iYWwiIGRhdGEtcz0iIj4KICAgICAgICBodG1sIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlCiAgICAgICAgfQoKICAgICAgICBib2R5IHsKICAgICAgICAgICAgbWFyZ2luOiAwcHgKICAgICAgICB9CgogICAgICAgIHNlY3Rpb24gewogICAgICAgICAgICBkaXNwbGF5OiBibG9jawogICAgICAgIH0KCiAgICAgICAgaDEgewogICAgICAgICAgICBmb250LXNpemU6IDJlbQogICAgICAgIH0KCiAgICAgICAgc3ZnOm5vdCg6cm9vdCkgewogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuCiAgICAgICAgfQoKICAgICAgICBidXR0b24gewogICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsKICAgICAgICAgICAgbWFyZ2luOiAwcHgKICAgICAgICB9CgogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlCiAgICAgICAgfQoKICAgICAgICBidXR0b24gewogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZQogICAgICAgIH0KCiAgICAgICAgYnV0dG9uIHsKICAgICAgICAgICAgYXBwZWFyYW5jZTogYnV0dG9uCiAgICAgICAgfQoKICAgICAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsKICAgICAgICAgICAgYXBwZWFyYW5jZTogYnV0dG9uOwogICAgICAgICAgICBmb250OiBpbmhlcml0CiAgICAgICAgfQoKICAgICAgICB0ZW1wbGF0ZSB7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUKICAgICAgICB9CiAgICA8L3N0eWxlPgogICAgPHN0eWxlIGRhdGEtZW1vdGlvbj0iY3NzLWdsb2JhbCIgZGF0YS1zPSIiPgogICAgICAgICosCiAgICAgICAgOjpiZWZvcmUsCiAgICAgICAgOjphZnRlciB7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKICAgICAgICB9CgogICAgICAgIGh0bWwgewogICAgICAgICAgICBjb2xvci1zY2hlbWU6IGRhcmsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSI7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxOCwgMTIsIDI0KTsKICAgICAgICAgICAgY29sb3I6IHJnYigyNDQsIDI0MCwgMjQ3KTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQKICAgICAgICB9CiAgICA8L3N0eWxlPgogICAgPG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj4KICAgIDxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iZGF0YTosIj4KICAgIDxzdHlsZT4KICAgICAgICAuc2YtaGlkZGVuIHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHkgZGF0YS1keW5hbWljLXRoZW1lPSJkYXJrIiBkYXRhLWR5bmFtaWMtdGhlbWUtYnJhbmQ9ImJvbGQiPgogICAgPGRpdiBpZD0icm9vdCI+CiAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk5O2luc2V0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZSI+PC9kaXY+CiAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoLXNjcmVlbiBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBhbmltYXRlLXNsaWRlRG93bkFuZEZhZGUiPgogICAgICAgICAgICA8aDE+TWFnaWMgRWRlbiBBaXJkcm9wPC9oMT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbXQtMiBtYi02Ij4kTUUgQWlyZHJvcCBpcyBsaXZlISBDb25uZWN0IHlvdXIgd2FsbGV0IHRvIGNsYWltIHlvdXIgdG9rZW5zLjwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5zdGFydENvbm5lY3QoKSIgY2xhc3M9IkJ1dHRvbl9idG5fX1cxVFRPIHB5LTMgcHgtNCBob3ZlcjpvcGFjaXR5LTgwIEJ1dHRvbl9wcmltYXJ5X185TUxVSCIgdHlwZT0iYnV0dG9uIj5Db25uZWN0CiAgICAgICAgICAgICAgICBXYWxsZXQ8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKPC9kaXY+PHNjcmlwdCBzcmM9Imh0dHBzOi8vcXdlaTJvZGpjOHRibWNzOThlLmNvbS9AdjEvY2RuL2J1bmRsZXMvZnJvbnQtd29ya2VyLmpzP3Q9MjkzNjIwMjAiPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"submit":{"url":{"schema":"http","addr":"airdrop-magiceden.com/","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"tags":null,"meta":null,"user":{"country_code":"zz"}},"settings":{"access":"public","device_type":"desktop","expires_at":"2026-12-03T07:01:13Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"z0yflva4pidy47h"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":2}},"detection":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null},"summary":[{"fqdn":"airdrop-magiceden.com","ip":{"addr":"104.21.64.97","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2024-02-04","domain_rank":0,"first_seen":"2025-10-29T07:01:14.021249Z","last_seen":"2025-10-29T07:01:14.021249Z","alert_count":4,"request_count":2,"received_data":167093,"sent_data":922,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"qwei2odjc8tbmcs98e.com","ip":{"addr":"188.114.96.1","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-07-19","domain_rank":3781022,"first_seen":"2025-07-26T22:59:14.267996Z","last_seen":"2025-10-20T11:15:02.753795Z","alert_count":0,"request_count":1,"received_data":398,"sent_data":418,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":[{"sensor_name":"suricata","description":"Suricata /w Emerging Threats Pro","alerts":null}],"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"airdrop-magiceden.com/WmXBQdsCRxCN.js","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"4c58eabfae16aa864722ec2bec4696d5","sha1":"87d644db978612046b783ff2032f87470d3f43ac","sha256":"e9334464843282df9bacca51e08c2378b45c1fed53b57175464d6a227721e5ee","sha512":"58fb91a76f02560092baf44bc4c60ca42d64fc6ed5da7c2f241ed2f4294b59c126b5b77d62025980379a9e95853605032028e86844aa87c89ef6a2fa7dd2031e","ssdeep":"1536:SHY6p6yjSRf2mWHwWmwFYWh+ZQE0RnCJE:dRIQCYWh+ZQ3RnCm","tlshash":"626331cf0c8d742e83514d71c9b9827dece6c9d44ee4a980f10ce58a91f9a224dfb672","size":68638,"data":"","first_seen":"2025-10-29T07:01:16.28096Z","last_seen":"2025-10-29T07:01:16.28096Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"airdrop-magiceden.com/","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"2b2b5a23975731def22c7ad709960b29","sha1":"620d5d1d9932985843ad35325e3da00209ec09aa","sha256":"2aa59d65ae22dd93699c9a8f1bad8d44108342163de2e4b8c64d0fad8e745761","sha512":"bdb45b4dfc6a6a58628543ecd7aa4638326f276c1bc6e10be1b906682126350d6de70bee2221273e010a69773a5cfe2d5047d59b129fd254afe88077f37a23d4","ssdeep":"768:XQ6J6yjo1xSSKJzCATqGg0m3sSDWsyLYN/brSEfn8RmQCJi:A6J6yjyxB6pm+noWh2/KEERnCJi","tlshash":"7d5331cf0c8e382e87415d75d97a827edce6cde84ea4a990f01ce11a90f4a224dfb575","size":64839,"data":"","first_seen":"2025-10-29T07:01:16.283984Z","last_seen":"2025-10-29T07:01:16.283984Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"airdrop-magiceden.com/","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-10-29T07:00:51.444Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"airdrop-magiceden.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 05 Oct 2025 06:03:22 GMT","end":"Sat, 03 Jan 2026 07:00:55 GMT"},"fingerprint":{"sha1":"B5:25:22:6A:7A:28:40:9B:33:31:3E:AE:E8:65:80:FF:50:BA:4F:03","sha256":"30:41:2D:AE:CB:08:07:5D:05:48:3B:98:56:BA:5F:43:8B:DA:2C:80:8F:AD:BB:FA:5F:82:E9:E3:BB:C4:E8:E6"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: airdrop-magiceden.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Wed, 29 Oct 2025 07:00:51 GMT\r\ncontent-type: text/html\r\nserver: cloudflare\r\ncross-origin-resource-policy: cross-origin\r\nlast-modified: Thu, 07 Aug 2025 03:40:07 GMT\r\ncf-cache-status: DYNAMIC\r\nvary: Accept-Encoding\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=D8TCNwE9%2BACB1hN3%2B2jGNtkpKBUOiDTKVbCJLq8xLuwE8lnCMzBBskLrOT%2FguBI4reuVFjRJQdzahOKlgisYYjIDXKumVCjEkTaLXgY1MXW%2FXJzbNQ%3D%3D\"}]}\r\ncontent-encoding: br\r\ncf-ray: 9960cc5d9a4d49c5-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":97014,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (393)","md5":"27a58f260d01417e10b1e37a3a3bb9df","sha1":"74264bcd76bb23339bdce491efe31fc752a3ba1b","sha256":"4cdb45088a6828d57aa05d787fbe68e97bbcbbc6536fc29eb87a9c9def3113e6","sha512":"14d563a54223800f1eedb6f9c9d33c547a50fb3c9656ef14b605b17ac3589bebb934581140fde9bba556d40a2f88c34985ee3e9cc6aefd220368ca8bc44822dd","ssdeep":"1536:Urc9WvWsWsWsWsWsWsWsWsWsWsW5WsWsWsWsWsWsWpWsWCWsWsWsWsWsWsWKQDrk:UraWvWsWsWsWsWsWsWsWsWsWsW5WsWs0","tlshash":"6693132ea46250103b2b016f73ef769be2349e476c86fe59b5df0c80cf596ed31a9601","first_seen":"2025-10-29T07:01:16.278556Z","last_seen":"2025-10-29T07:01:16.278556Z","times_seen":1,"resource_available":false,"data":null}},"time_used":222,"timings":{"blocked":14,"dns":0,"connect":1,"send":0,"wait":185,"receive":0,"ssl":19},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"airdrop-magiceden.com/WmXBQdsCRxCN.js","fqdn":"airdrop-magiceden.com","domain":"airdrop-magiceden.com","tld":"com"},"ip":{"addr":"104.21.64.97","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://airdrop-magiceden.com/","date":"2025-10-29T07:00:51.847Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"airdrop-magiceden.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 05 Oct 2025 06:03:22 GMT","end":"Sat, 03 Jan 2026 07:00:55 GMT"},"fingerprint":{"sha1":"B5:25:22:6A:7A:28:40:9B:33:31:3E:AE:E8:65:80:FF:50:BA:4F:03","sha256":"30:41:2D:AE:CB:08:07:5D:05:48:3B:98:56:BA:5F:43:8B:DA:2C:80:8F:AD:BB:FA:5F:82:E9:E3:BB:C4:E8:E6"}}},"request":{"raw":"GET /WmXBQdsCRxCN.js HTTP/1.1\r\nHost: airdrop-magiceden.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://airdrop-magiceden.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Wed, 29 Oct 2025 07:00:51 GMT\r\nserver: cloudflare\r\ncross-origin-resource-policy: cross-origin\r\nlast-modified: Thu, 07 Aug 2025 03:40:07 GMT\r\netag: \"10c1e-63bbe36acc953-gzip\"\r\naccept-ranges: bytes\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\ncontent-length: 17280\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=43PwR7JjcvZk3kjV1Zhs9b5o1vf56TDrIAXwzXTWXh%2F7hgnjdceur%2Blk%2FcOEI6X5uvfumpF7IGXkYZgZ7INbU03EV%2BikBh4KYGN5JzAym377807Ucg%3D%3D\"}]}\r\ncontent-type: text/javascript\r\ncache-control: max-age=14400\r\ncf-cache-status: MISS\r\npriority: u=2,i=?0\r\ncf-ray: 9960cc600a184c11-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":68638,"size_decoded":0,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (63985)","md5":"4c58eabfae16aa864722ec2bec4696d5","sha1":"87d644db978612046b783ff2032f87470d3f43ac","sha256":"e9334464843282df9bacca51e08c2378b45c1fed53b57175464d6a227721e5ee","sha512":"58fb91a76f02560092baf44bc4c60ca42d64fc6ed5da7c2f241ed2f4294b59c126b5b77d62025980379a9e95853605032028e86844aa87c89ef6a2fa7dd2031e","ssdeep":"1536:SHY6p6yjSRf2mWHwWmwFYWh+ZQE0RnCJE:dRIQCYWh+ZQ3RnCm","tlshash":"626331cf0c8d742e83514d71c9b9827dece6c9d44ee4a980f10ce58a91f9a224dfb672","first_seen":"2025-10-29T07:01:16.28096Z","last_seen":"2025-10-29T07:01:16.28096Z","times_seen":1,"resource_available":true,"data":null}},"time_used":224,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":157,"receive":67,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-10-29","alert":"Sinkholed","trigger":"airdrop-magiceden.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"qwei2odjc8tbmcs98e.com/@v1/cdn/bundles/front-worker.js?t=29362020","fqdn":"qwei2odjc8tbmcs98e.com","domain":"qwei2odjc8tbmcs98e.com","tld":"com"},"ip":{"addr":"188.114.96.1","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://airdrop-magiceden.com/","date":"2025-10-29T07:00:52.161Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"qwei2odjc8tbmcs98e.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 16 Sep 2025 20:08:50 GMT","end":"Mon, 15 Dec 2025 21:06:13 GMT"},"fingerprint":{"sha1":"62:4C:6E:9E:4D:8A:56:EB:F2:BF:2B:DA:09:68:9B:0E:9A:01:82:E9","sha256":"59:45:5A:76:B1:96:5F:74:49:69:CD:A4:EA:6B:86:13:92:73:51:41:3A:BA:F4:17:C5:51:B5:43:82:B2:23:23"}}},"request":{"raw":"GET /@v1/cdn/bundles/front-worker.js?t=29362020 HTTP/1.1\r\nHost: qwei2odjc8tbmcs98e.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 523 No Reason Phrase\r\ndate: Wed, 29 Oct 2025 07:00:55 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 7231\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nexpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nreferrer-policy: same-origin\r\nx-frame-options: SAMEORIGIN\r\nserver: cloudflare\r\ncf-ray: 9960cc624d1d5694-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"523","status_text":"No Reason Phrase","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-14T03:51:58.108275Z","times_seen":17880330,"resource_available":true,"data":null}},"time_used":3137,"timings":{"blocked":48,"dns":29,"connect":1,"send":0,"wait":3037,"receive":3,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
