File: //tmp/msm_cache_b651fae24c9e47f836d02fa545a5c970.json
{"t":1767886054,"v":{"routes":[{"pattern":"^\/$","html":"PCFET0NUWVBFIEhUTUw+CjxodG1sIGxhbmc9InRyIj4KPGhlYWQ+CiAgICA8dGl0bGU+TWF0YWRvcmJldCAtIE1hdGFkb3JiZXQgRnJlZXNwaW4gQm9udXN1IDIwMjYgKCs5NjIpPC90aXRsZT4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL211bHRpdmlzdGFnbG9iYWwuY29tIiAvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik1hdGFkb3JiZXQgaWxlIDIwMjYgZnJlZXNwaW4gZsSxcnNhdGxhcsSxbsSxIGtlxZ9mZWRpbiwgZ8O8w6dsw7wgYWx0eWFwxLEgdmUgYm9udXNsYXJsYSBveXVuIGtleWZpbml6aSBhcnTEsXLEsW4uIE1hdGFkb3JiZXQgZ2lyacWfIGJhxJ9sYW50xLFzxLEgaWxlIC4uLiI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9Im1hdGFkb3JiZXQiPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9Im1hdGFkb3JiZXQga2F5xLF0IG9sLCBtYXRhZG9yYmV0IHBhcmEgeWF0xLFybWEgc2XDp2VuZWtsZXJpLCBtYXRhZG9yYmV0IGdpcmnFnywgbWF0YWRvcmJldCBtb2JpbCwgbWF0YWRvcmJldCBjYW5sxLEgZGVzdGVrIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vbXVsdGl2aXN0YWdsb2JhbC5jb20iPgogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9Imh0dHBzOi8vbXVsdGl2aXN0YWdsb2JhbC5jb20vZmF2aWNvbi5qcGciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL3lvbmV0aW0uaW8vaW1hZ2VzLzgyZjA1M2RkYjhhYzdiMjk2NzJlYjIzODJhN2E3MmEyLnBuZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6c2VjdXJlX3VybCIgY29udGVudD0iaHR0cHM6Ly95b25ldGltLmlvL2ltYWdlcy84MmYwNTNkZGI4YWM3YjI5NjcyZWIyMzgyYTdhNzJhMi5wbmciPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly95b25ldGltLmlvL2ltYWdlcy84MmYwNTNkZGI4YWM3YjI5NjcyZWIyMzgyYTdhNzJhMi5wbmciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJNYXRhZG9yYmV0IC0gTWF0YWRvcmJldCBGcmVlc3BpbiBCb251c3UgMjAyNiAoKzk2MikiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iTWF0YWRvcmJldCAtIE1hdGFkb3JiZXQgRnJlZXNwaW4gQm9udXN1IDIwMjYgKCs5NjIpIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Ik1hdGFkb3JiZXQgLSBNYXRhZG9yYmV0IEZyZWVzcGluIEJvbnVzdSAyMDI2ICgrOTYyKSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik1hdGFkb3JiZXQgaWxlIDIwMjYgZnJlZXNwaW4gZsSxcnNhdGxhcsSxbsSxIGtlxZ9mZWRpbiwgZ8O8w6dsw7wgYWx0eWFwxLEgdmUgYm9udXNsYXJsYSBveXVuIGtleWZpbml6aSBhcnTEsXLEsW4uIE1hdGFkb3JiZXQgZ2lyacWfIGJhxJ9sYW50xLFzxLEgaWxlIC4uLiI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJNYXRhZG9yYmV0IGlsZSAyMDI2IGZyZWVzcGluIGbEsXJzYXRsYXLEsW7EsSBrZcWfZmVkaW4sIGfDvMOnbMO8IGFsdHlhcMSxIHZlIGJvbnVzbGFybGEgb3l1biBrZXlmaW5pemkgYXJ0xLFyxLFuLiBNYXRhZG9yYmV0IGdpcmnFnyBiYcSfbGFudMSxc8SxIGlsZSAuLi4iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmxvY2FsZSIgY29udGVudD0idHJfVFIiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5Ij4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6c2l0ZSIgY29udGVudD0iQG1hdGFkb3JiZXQiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjcmVhdG9yIiBjb250ZW50PSJAbWF0YWRvcmJldCI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlOmFsdCIgY29udGVudD0ibWF0YWRvcmJldCI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ibWF0YWRvcmJldCwgbWF0YWRvcmJldCBnaXJpxZ8sIG1hdGFkb3JiZXQgZ8O8bmNlbCBnaXJpxZ8sIG1hdGFkb3JiZXQgY2FzaW5vIDIwMjUsIG1hdGFkb3JiZXQgZGVuZW1lIGJvbnVzdSAyMDI1LCBtYXRhZG9yYmV0IGthecSxdCBvbCwgbWF0YWRvcmJldCBnw7xuY2VsIGdpcmnFnyBhZHJlc2kiPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93Ij4KICAgIDxtZXRhIG5hbWU9Imdvb2dsZWJvdCIgY29udGVudD0ibm90cmFuc2xhdGUiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0idHIiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cHM6Ly9zdGF0aWMxLnNxdWFyZXNwYWNlLmNvbS9zdGF0aWMvdmVyc2lvbmVkLXNpdGUtY3NzLzY2OGYzODZlNzBhOGQ2MWEzMWM3MWM2Ny8zLzVjNWE1MTk3NzFjMTBiYTM0NzBkODEwMS82NjhmMzg2ZTcwYThkNjFhMzFjNzFjN2EvMTU0MC9zaXRlLmNzcyIvPgogICAgPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtc3RhdHVzLWJhci1zdHlsZSIgY29udGVudD0iZGVmYXVsdCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9ImNvcHlyaWdodCIgY29udGVudD0iTWF0YWRvcmJldCAtIE1hdGFkb3JiZXQgRnJlZXNwaW4gQm9udXN1IDIwMjYgKCs5NjIpIj4KICAgIDxtZXRhIG5hbWU9InB1Ymxpc2hlciIgY29udGVudD0ibWF0YWRvcmJldCI+CiAgICA8bWV0YSBuYW1lPSJsYW5ndWFnZSIgY29udGVudD0idHIiPgogICAgPG1ldGEgbmFtZT0iZGlzdHJpYnV0aW9uIiBjb250ZW50PSJnbG9iYWwiPgogICAgPG1ldGEgbmFtZT0iZ2VvLnBsYWNlbmFtZSIgY29udGVudD0iSXN0YW5idWwiPgogICAgPG1ldGEgbmFtZT0iZ2VvLmNvdW50cnkiIGNvbnRlbnQ9IlRSIj4KICAgIDxtZXRhIG5hbWU9Imdlby5yZWdpb24iIGNvbnRlbnQ9IlRSIj4KICAgIDxtZXRhIG5hbWU9InRnbi5uYXRpb24iIGNvbnRlbnQ9IlR1cmtleSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJ0cl9UUiIgLz4KICAgIDxtZXRhIGh0dHAtZXF1aXY9J3gtZG5zLXByZWZldGNoLWNvbnRyb2wnIGNvbnRlbnQ9J29uJz4KICAgIDxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSJodHRwczovL2ltYWdlcy1mZS5zc2wtaW1hZ2VzLWFtYXpvbi5jb20iPgogICAgPGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Imh0dHBzOi8vbS5tZWRpYS1hbWF6b24uY29tIj4KICAgIDxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSJodHRwczovL2NvbXBsZXRpb24uYW1hem9uLmNvbSI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InRyIiBocmVmPSJodHRwczovL2NnLmFsLWJvbnVzLmNvbSIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJheiIgaHJlZj0iaHR0cHM6Ly9jZy5hbC1ib251cy5jb20iIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0icHQiIGhyZWY9Imh0dHBzOi8vY2cuYWwtYm9udXMuY29tIiAvPgo8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImVuIiBocmVmPSJodHRwczovL2NnLmFsLWJvbnVzLmNvbSIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJlcyIgaHJlZj0iaHR0cHM6Ly9jZy5hbC1ib251cy5jb20iIC8+CgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgICAgICB7CiAgICAgICAgICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgICAgICAgICAiQHR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAibWF0YWRvcmJldCIsCiAgICAgICAgICAgICJhbHRlcm5hdGVOYW1lIjogIm1hdGFkb3JiZXQgR2lyacWfIiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL211bHRpdmlzdGFnbG9iYWwuY29tIiwKICAgICAgICAgICAgImxvZ28iOiAiaHR0cHM6Ly95b25ldGltLmlvL2ltYWdlcy84MmYwNTNkZGI4YWM3YjI5NjcyZWIyMzgyYTdhNzJhMi5wbmciCiAgICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIHsKICAgICAgICAgICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAgICAgICAgICJAdHlwZSI6ICJXZWJTaXRlIiwKICAgICAgICAgICAgIm5hbWUiOiAibWF0YWRvcmJldCIsCiAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9tdWx0aXZpc3RhZ2xvYmFsLmNvbSIsCiAgICAgICAgICAgICJwb3RlbnRpYWxBY3Rpb24iOiB7CiAgICAgICAgICAgICAgICAiQHR5cGUiOiAiU2VhcmNoQWN0aW9uIiwKICAgICAgICAgICAgICAgICJ0YXJnZXQiOiAie3NlYXJjaF90ZXJtX3N0cmluZ30iLAogICAgICAgICAgICAgICAgInF1ZXJ5LWlucHV0IjogInJlcXVpcmVkIG5hbWU9c2VhcmNoX3Rlcm1fc3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF0YWRvcmJldCBpbGUgMjAyNiBmcmVlc3BpbiBmxLFyc2F0bGFyxLFuxLEga2XFn2ZlZGluLCBnw7zDp2zDvCBhbHR5YXDEsSB2ZSBib251c2xhcmxhIG95dW4ga2V5ZmluaXppIGFydMSxcsSxbi4gTWF0YWRvcmJldCBnaXJpxZ8gYmHEn2xhbnTEsXPEsSBpbGUgLi4uIiwKICAgICAgICAgICAgImtleXdvcmRzIjogIm1hdGFkb3JiZXQiLAogICAgICAgICAgICAiaW1hZ2UiOiAiaHR0cHM6Ly95b25ldGltLmlvL2ltYWdlcy84MmYwNTNkZGI4YWM3YjI5NjcyZWIyMzgyYTdhNzJhMi5wbmciCiAgICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIHsKICAgICAgICAgICAgIkBjb250ZXh0IjogImh0dHA6Ly93d3cuc2NoZW1hLm9yZyIsCiAgICAgICAgICAgICJAdHlwZSI6ICJCcmVhZGNydW1iTGlzdCIsCiAgICAgICAgICAgICJpdGVtTGlzdEVsZW1lbnQiOiBbewogICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJMaXN0SXRlbSIsCiAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogMSwKICAgICAgICAgICAgICAgICAgICAiaXRlbSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIldlYlBhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiQGlkIjogIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJtYXRhZG9yYmV0IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIkxpc3RJdGVtIiwKICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiAyLAogICAgICAgICAgICAgICAgICAgICJpdGVtIjogewogICAgICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiV2ViUGFnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJAaWQiOiAibWF0YWRvcmJldCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIm1hdGFkb3JiZXQgR2lyacWf77iPIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgICAgICB7CiAgICAgICAgICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgICAgICAgICAiQHR5cGUiOiAiSXRlbUxpc3QiLAogICAgICAgICAgICAibmFtZSI6ICJNYXRhZG9yYmV0IC0gTWF0YWRvcmJldCBGcmVlc3BpbiBCb251c3UgMjAyNiAoKzk2MikiLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF0YWRvcmJldCBpbGUgMjAyNiBmcmVlc3BpbiBmxLFyc2F0bGFyxLFuxLEga2XFn2ZlZGluLCBnw7zDp2zDvCBhbHR5YXDEsSB2ZSBib251c2xhcmxhIG95dW4ga2V5ZmluaXppIGFydMSxcsSxbi4gTWF0YWRvcmJldCBnaXJpxZ8gYmHEn2xhbnTEsXPEsSBpbGUgLi4uIiwKICAgICAgICAgICAgIml0ZW1MaXN0RWxlbWVudCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiTGlzdEl0ZW0iLAogICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IDEsCiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAibWF0YWRvcmJldCIsCiAgICAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL211bHRpdmlzdGFnbG9iYWwuY29tIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiTGlzdEl0ZW0iLAogICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IDIsCiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAibWF0YWRvcmJldCBHaXJpxZ8iLAogICAgICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9tdWx0aXZpc3RhZ2xvYmFsLmNvbSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgICAgICB7CiAgICAgICAgICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmcvIiwKICAgICAgICAgICAgIkB0eXBlIjogIkNyZWF0aXZlV29ya1NlcmllcyIsCiAgICAgICAgICAgICJuYW1lIjogIm1hdGFkb3JiZXQiLAogICAgICAgICAgICAiYWdncmVnYXRlUmF0aW5nIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFnZ3JlZ2F0ZVJhdGluZyIsCiAgICAgICAgICAgICAgICAicmF0aW5nVmFsdWUiOiAiNC44IiwKICAgICAgICAgICAgICAgICJiZXN0UmF0aW5nIjogIjUiLAogICAgICAgICAgICAgICAgInJhdGluZ0NvdW50IjogIjMyNDIiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgICAgewogICAgICAgICJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgICAgICAgIkB0eXBlIjogIlByb2R1Y3QiLAogICAgICAgICJuYW1lIjogIk1hdGFkb3JiZXQgLSBNYXRhZG9yYmV0IEZyZWVzcGluIEJvbnVzdSAyMDI2ICgrOTYyKSIsCiAgICAgICAgImltYWdlIjogImh0dHBzOi8veW9uZXRpbS5pby9pbWFnZXMvODJmMDUzZGRiOGFjN2IyOTY3MmViMjM4MmE3YTcyYTIucG5nIiwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF0YWRvcmJldCBpbGUgMjAyNiBmcmVlc3BpbiBmxLFyc2F0bGFyxLFuxLEga2XFn2ZlZGluLCBnw7zDp2zDvCBhbHR5YXDEsSB2ZSBib251c2xhcmxhIG95dW4ga2V5ZmluaXppIGFydMSxcsSxbi4gTWF0YWRvcmJldCBnaXJpxZ8gYmHEn2xhbnTEsXPEsSBpbGUgLi4uIiwKICAgICAgICAiYnJhbmQiOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJCcmFuZCIsCiAgICAgICAgICAgICJuYW1lIjogIm1hdGFkb3JiZXQiCiAgICAgICAgfSwKICAgICAgICAib2ZmZXJzIjogewogICAgICAgICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAgICAgICAidXJsIjogImh0dHBzOi8vbXVsdGl2aXN0YWdsb2JhbC5jb20iLAogICAgICAgICAgICAicHJpY2VDdXJyZW5jeSI6ICJUUlkiLAogICAgICAgICAgICAicHJpY2UiOiAiNTAwIiwKICAgICAgICAgICAgImF2YWlsYWJpbGl0eSI6ICJJblN0b2NrIiwKICAgICAgICAgICAgInNrdSI6ICJTUTc3ODI0NDgiCiAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KewogICAgIkBjb250ZXh0IjogImh0dHBzOlwvXC9zY2hlbWEub3JnIiwKICAgICJAdHlwZSI6ICJGQVFQYWdlIiwKICAgICJtYWluRW50aXR5IjogWwogICAgICAgIHsKICAgICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiTWF0YWRvcmJldCdlIE5hc8SxbCBIxLF6bMSxIEthecSxdCBPbHVydW0\/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAidGV4dCI6ICJSZXNtaSBlcmnFn2ltIHNheWZhc8SxbsSxIGHDp8SxbiwgJ0thecSxdCcgYWTEsW1sYXLEsW7EsSBla3Npa3NpeiBkb2xkdXJ1biwgZS1wb3N0YSBkb8SfcnVsYW1hc8SxbsSxIHRhbWFtbGF5xLFuIHZlIGlraSBhZMSxbWzEsSBnw7x2ZW5sacSfaSBldGtpbmxlxZ90aXJpbi4iCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiR8O8bmNlbCBNYXRhZG9yYmV0IEdpcmnFnyBBZHJlc2kgTmFzxLFsIEJ1bHVudXI\/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAidGV4dCI6ICJSZXNtaSBzb3N5YWwga2FuYWxsYXLEsSB2ZSBlLXBvc3RhIGLDvGx0ZW5sZXJpbmkgdGFraXAgZWRpbiwgdGFyYXnEsWPEsSB5ZXIgaW1sZXJpbmUgZG\/En3J1bGFubcSxxZ8gYmHEn2xhbnTEsWxhcsSxIGtheWRlZGluLiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJNb2JpbGRlIEhlc2FixLFtxLEgR8O8dmVuY2V5ZSBOYXPEsWwgQWzEsXLEsW0\/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAidGV4dCI6ICJCaXlvbWV0cmlrIGRvxJ9ydWxhbWF5xLEgYWt0aWYgZWRpbiwgb3RvbWF0aWsga2lsaWRpIGt1bGxhbsSxbiB2ZSBnw7zDp2zDvCBwYXJvbGEga2FzYWxhcsSxeWxhIGtpbWxpayBiaWxnaWxlcmluaXppIHnDtm5ldGluLiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJQYXJhIFlhdMSxcm1hIEhhdGFsYXLEsW5kYSBOZSBZYXBtYWzEsXnEsW0\/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAidGV4dCI6ICLEsMWfbGVtIGRla29udHVudSBoYXrEsXIgZWRpbiwgZGVzdGVrIGhhdHTEsW5hIGhhdGEga29kdSB2ZSB5w7ZudGVtIGJpbGdpc2l5bGUgYmHFn3Z1cnVuLCBiaWxldCBudW1hcmFzxLF5bGEgc8O8cmVjaSB0YWtpcCBlZGluLiIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJDYW5sxLEgRGVzdGVrIEhhbmdpIEtvbnVsYXJkYSBZYXJkxLFtY8SxIE9sdXI\/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgICAidGV4dCI6ICJFcmnFn2ltIHNvcnVubGFyxLEsIGthecSxdCB2ZSBkb8SfcnVsYW1hLCDDtmRlbWUgYWTEsW1sYXLEsSwgYm9udXMga3VyYWxsYXLEsSB2ZSB0ZWtuaWsgYWtzYWtsxLFrbGFyZGEgYW5sxLFrIMOnw7Z6w7xtIHN1bmFyLiIKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIF0KfQo8L3NjcmlwdD4KICAgIDxzdHlsZT4KICAgICAgICAqIHsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGJvZHkgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOwogICAgICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgfQogICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICB3aWR0aDogODAlOwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmNvbnRhaW5lcjpob3ZlciB7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgfQogICAgICAgIGgxIHsKICAgICAgICAgICAgY29sb3I6ICNkODJhMmE7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgfQogICAgICAgIGgyIHsKICAgICAgICAgICAgY29sb3I6ICMwMDc5NmI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTVweDsKICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMGYyZjE7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogICAgICAgIH0KICAgICAgICBwIHsKICAgICAgICAgICAgY29sb3I6ICM1NTU7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAtMC41cHg7CiAgICAgICAgfQogICAgICAgIHVsLCBvbCB7CiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwOwogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgICAgfQogICAgICAgIHVsIGxpLCBvbCBsaSB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIGNvbG9yOiAjNjY2OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS43OwogICAgICAgICAgICBmb250LXNpemU6IDEuMDVyZW07CiAgICAgICAgfQogICAgICAgIHVsIHsKICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICAgIH0KICAgICAgICB1bCBsaTpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAi4oCiIjsKICAgICAgICAgICAgY29sb3I6ICM0Q0FGNTA7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIHdpZHRoOiAxZW07CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtOwogICAgICAgIH0KICAgICAgICBvbCB7CiAgICAgICAgICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07CiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgICB9CiAgICAgICAgb2wgbGk6YmVmb3JlIHsKICAgICAgICAgICAgY29udGVudDogY291bnRlcihpdGVtKSAiLiAiOwogICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTsKICAgICAgICAgICAgY29sb3I6ICMwMDc5NmI7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIH0KICAgICAgICBmb290ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3OTZiOwogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7CiAgICAgICAgfQogICAgICAgIGZvb3RlciBwIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgfQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICBoMSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaDIgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHAgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHN0cm9uZyB7CiAgICAgICAgICAgIGNvbG9yOiAjMDA3OTZiOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgICBhIHsKICAgICAgICAgICAgY29sb3I6ICMwMDc5NmI7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIGE6aG92ZXIgewogICAgICAgICAgICBjb2xvcjogIzAwNGQ0MDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLWNvbnRhaW5lciBpbWcgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPHNlY3Rpb24gaWQ9Im1ha2FsZSI+CiAgICAgICAgICAgIDxhcnRpY2xlPgogICAgICAgICAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTogJ1NlZ29lIFVJJywgVGFob21hLCBHZW5ldmEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7IHRleHQtYWxpZ246Y2VudGVyOyBjb2xvcjojMWEyMzdlOyB0ZXh0LXNoYWRvdzogMnB4IDJweCA0cHggIzkwY2FmOTsgbWFyZ2luLWJvdHRvbTogMjBweDsiPgogICAgICAgICAgICAgICAgICAgIE1hdGFkb3JiZXQgLSBNYXRhZG9yYmV0IEZyZWVzcGluIEJvbnVzdSAyMDI2ICgrOTYyKTwvaDE+CgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6MS43NTsgbWF4LXdpZHRoOiAxMDAlOyBtYXJnaW46IDE1cHggYXV0bzsgY29sb3I6IzNlMjcyMzsgZm9udC1mYW1pbHk6ICdWZXJkYW5hJywgc2Fucy1zZXJpZjsiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL211bHRpdmlzdGFnbG9iYWwuY29tLyIgcmVsPSJkb2ZvbGxvdyI+PHN0cm9uZz5tYXRhZG9yYmV0PC9zdHJvbmc+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OjEuNzU7IG1heC13aWR0aDoxMDAlOyBtYXJnaW46MTVweCBhdXRvOyBjb2xvcjojM2UyNzIzOyBmb250LWZhbWlseTonVmVyZGFuYScsIHNhbnMtc2VyaWY7Ij4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly95b25ldGltLmlvL2ltYWdlcy84MmYwNTNkZGI4YWM3YjI5NjcyZWIyMzgyYTdhNzJhMi5wbmciIGFsdD0iTWF0YWRvcmJldCAtIE1hdGFkb3JiZXQgRnJlZXNwaW4gQm9udXN1IDIwMjYgKCs5NjIpIiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MjAwcHg7IGhlaWdodDphdXRvOyBtYXJnaW46MCAxNXB4IDEwcHggMDsgYm9yZGVyLXJhZGl1czo1cHg7Ij4KICAgICAgICAgICAgICAgICAgICBNYXRhZG9yYmV0LCAyMDI2IGJveXVuY2EgZnJlZXNwaW4ga2FtcGFueWFsYXLEsSB2ZSBnZWxpxZ9tacWfIGt1bGxhbsSxY8SxIGRlbmV5aW1peWxlIGRpa2thdCDDp2VrZXJrZW4sIHllbmkgYmHFn2xheWFubGFyIGnDp2luIGjEsXpsxLEgYmlyIGJhxZ9sYW5nxLHDpyBpbWthbsSxIHN1bmFyLiBIZXNhYsSxbsSxesSxIGJpcmthw6cgYWTEsW1kYSBha3RpdmUgZWRpcCBnw7x2ZW5sZSBveW5hbWF5YSBiYcWfbGFtYWsgacOnaW4gPHN0cm9uZz5tYXRhZG9yYmV0IGdpcmnFnzwvc3Ryb25nPiBha8SxxZ\/EsW7EsSB0YWtpcCBlZGViaWxpciwgc29ucmEgYWTEsW0gYWTEsW0gPHN0cm9uZz5tYXRhZG9yYmV0IGthecSxdCBvbDwvc3Ryb25nPiBla3JhbsSxbmRha2kgZm9ybXUgdGFtYW1sYXlhYmlsaXJzaW5pei4gSGFyZWtldCBoYWxpbmRleXNlbml6LCBzYWRlIGFyYXnDvHogdmUgYWvEsWPEsSBwZXJmb3JtYW5zxLF5bGEgPHN0cm9uZz5tYXRhZG9yYmV0IG1vYmlsPC9zdHJvbmc+IMO8emVyaW5kZW4gYXluxLEgaMSxeiB2ZSBnw7x2ZW5sZSBpxZ9sZW0geWFwbWFuxLF6IG3DvG1rw7xuZMO8ci4gS2FyxZ\/EsWxhxZ90xLHEn8SxbsSxeiBoZXJoYW5naSBiaXIgZHVydW1kYSA3LzI0IHlhbsSxdCB2ZXJlbiA8c3Ryb25nPm1hdGFkb3JiZXQgY2FubMSxIGRlc3Rlazwvc3Ryb25nPiBla2liaTsgYm9udXMga3VyYWxsYXLEsW7EsSwgZXJpxZ9pbSB5YXJkxLFtxLFuxLEgdmUgaGVzYXAgZG\/En3J1bGFtYSBzw7xyZWNpbmkgbmV0bGXFn3RpcmlyLiDEsHN0ZXIgc2xvdGxhcmRhIGZyZWVzcGluIGt1bGxhbsSxbiBpc3RlciBjYW5sxLEgYmFoaXNsZXJpIGRlbmV5aW1sZXlpbiwgcGxhdGZvcm11biB0ZW1lbCBvZGFrIG5va3Rhc8SxIGjEsXpsxLEgZXJpxZ9pbSwgZ8O8dmVubGkgacWfbGVtIHZlIMWfZWZmYWYga2FtcGFueWEgecO2bmV0aW1pZGlyLiBCdSByZWhiZXJkZSBrYXnEsXQgc8O8cmXDp2xlcmluZGVuIGVyacWfaW0gaXB1w6dsYXLEsW5hLCBtb2JpbCBkZW5leWltZGVuIMO2ZGVtZSBhZMSxbWxhcsSxbmEga2FkYXIgdMO8bSBrcml0aWsgYmHFn2zEsWtsYXLEsSB0ZWsgYmlyIGtheW5ha3RhIGJ1bGFjYWs7IGlodGl5YcOnIGR1eWR1xJ91bnV6IGhlciBhZMSxbWRhIGfDvHZlbmxlIGlsZXJsZW1lbml6aSBzYcSfbGF5YWNhayBwcmF0aWsgw7ZuZXJpbGVyIGVkaW5lY2Vrc2luaXouCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjbGVhcjogYm90aDsiPjwvZGl2PgogICAgICAgICAgICAgICAgPHNlY3Rpb24gc3R5bGU9ImJhY2tncm91bmQ6ICNlMWJlZTc7IGJvcmRlci1sZWZ0OiA4cHggc29saWQgIzljMjdiMDsgYm9yZGVyLXJhZGl1czogMTJweDsgbWF4LXdpZHRoOiA3MjBweDsgbWFyZ2luOiAyNXB4IGF1dG87IHBhZGRpbmc6IDIwcHggMjVweDsgZm9udC1mYW1pbHk6ICdUYWhvbWEnLCBzYW5zLXNlcmlmOyBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMTU2LCAzOSwgMTc2LCAwLjMpOyI+CiAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT0iZm9udC1zaXplOiAyNHB4OyBjb2xvcjogIzZhMWI5YTsgbWFyZ2luLWJvdHRvbTogMTJweDsgbGV0dGVyLXNwYWNpbmc6IDEuMXB4OyI+TWF0YWRvcmJldCBLYXnEsXQgT2wgUmVoYmVyaSBWZSBHw7x2ZW5saSDDnHllbGlrPC9oMj4KICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICM0YTE0OGM7Ij4KICAgICAgICAgICAgICAgICAgICAgIFllbmkgYmlyIGhlc2FwIG9sdcWfdHVybWFuxLFuIGlsayBhZMSxbcSxLCByZXNtaSBlcmnFn2ltIHNheWZhc8SxbmEgdWxhxZ90xLFrdGFuIHNvbnJhIDxzdHJvbmc+bWF0YWRvcmJldCBrYXnEsXQgb2w8L3N0cm9uZz4gZm9ybXVudSBkb8SfcnUgdmUgZ8O8bmNlbCBiaWxnaWxlcmxlIGRvbGR1cm1ha3TEsXIuIEUtcG9zdGEgZG\/En3J1bGFtYXPEsSB2ZSBpa2kgYWTEsW1sxLEgZ8O8dmVubGlrIHNlw6dlbmVrbGVyaW5pIGFrdGlmbGXFn3RpcmRpxJ9pbml6ZGUsIGhlc2FixLFuxLF6IGvDtnTDvCBuaXlldGxpIGVyacWfaW1sZXJlIGthcsWfxLEgZGFoYSBzYcSfbGFtIGhhbGUgZ2VsaXIuIERvxJ9ydWxhbWEgc29ucmFzxLEgaMSxemzEsWNhIG95dW4gbG9iaXNpbmUgdWxhxZ9tYWsgacOnaW4gPHN0cm9uZz5tYXRhZG9yYmV0IGdpcmnFnzwvc3Ryb25nPiBzYXlmYXPEsW7EsSB5ZXIgaW1sZXJpbml6ZSBla2xleWViaWxpciwgcGFyb2xhbGFyxLFuxLF6xLEgZ8O8dmVubGkgYmlyIHnDtm5ldGljaWRlIHNha2xheWFiaWxpcnNpbml6LiBIYXJla2V0IGhhbGluZGV5a2VuIGRlIGt1c3Vyc3V6IGJpciBkZW5leWltIGnDp2luIDxzdHJvbmc+bWF0YWRvcmJldCBtb2JpbDwvc3Ryb25nPiBhcmF5w7x6w7xuZGVuIGF5bsSxIGthecSxdCB2ZSBnaXJpxZ8gYWTEsW1sYXLEsW7EsSBzb3J1bnN1eiB5w7xyw7x0bWVuaXogbcO8bWvDvG5kw7xyLiBLYXnEsXQgc8SxcmFzxLFuZGEgYmVsZ2Ugb25hecSxLCBib251cyDDp2V2cmltbGVyaSB2ZXlhIHRla25payBoYXRhbGFybGEga2FyxZ\/EsWxhxZ\/EsXJzYW7EsXosIGJla2xlbWVkZW4gPHN0cm9uZz5tYXRhZG9yYmV0IGNhbmzEsSBkZXN0ZWs8L3N0cm9uZz4gZWtpYmluZSBiYcSfbGFuxLFuOyBzw7xyZcOnbGVyaSBoxLF6bGFuZMSxcmFjYWsgZG\/En3J1IHnDtm5sZW5kaXJtZXlpIGFsxLFyc8SxbsSxei4gQnUgc2F5ZWRlLCBoZXNhcCBkb8SfcnVsYW1hIHPDvHJlY2kgxZ9lZmZhZmxhxZ\/EsXIsIG9sYXPEsSBnZWNpa21lbGVyIG1pbmltdW1hIGluZXIgdmUgZnJlZXNwaW4ga2FtcGFueWFsYXLEsW5hIGthdMSxbMSxbcSxbsSxeiBoxLF6bGFuxLFyLiBLdWxsYW7EsWPEsSBzw7Z6bGXFn21lc2luaSBkaWtrYXRsZSBva3V5dXAgdmVyaSBrb3J1bWEgcHJlbnNpcGxlcmluaSBvbmF5bGFtYW7EsXosIGdlbGVjZWt0ZWtpIGnFn2xlbWxlcmluaXpkZSBhdmFudGFqIHNhxJ9sYXIuIFNvbiBhZMSxbWRhIGJpbGRpcmltIHRlcmNpaGxlcmluaXppIGJlbGlybGV5ZXJlayBrYW1wYW55YSBkdXl1cnVsYXLEsW7EsSBhbmzEsWsgYWxhYmlsaXIsIHllbmkgdHVybnV2YSB2ZSBmcmVlc3BpbiBmxLFyc2F0bGFyxLFuxLEga2HDp8Sxcm1hZGFuIGRlxJ9lcmxlbmRpcmViaWxpcnNpbml6LgogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICM0YTE0OGM7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5NYXRhZG9yYmV0IEthecSxdCBPbCBSZWhiZXJpIFZlIEfDvHZlbmxpIMOceWVsaWsga29udXN1bmRhIGfDvHZlbmlsaXIgYmlsZ2lsZXIgYcWfYcSfxLFkYWtpIGdpYmlkaXI7PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDx1bD48bGk+Um95YWxiZXQgKDcwMCBUTCBCb251cyArIDQ1MCBGUyk8L2xpPjxsaT5UaXBvYmV0ICg4MDAgVEwgSG\/FnyBnZWxkaW4gYm9udXN1KTwvbGk+PGxpPkF0bGFzYmV0ICg4NTAgVEwgWWF0xLFyxLFtc8SxeiBib251cyk8L2xpPjxsaT5QYXJtYUJhaGlzICgxMTAwIFRMIMOHZXZyaW1zaXogYm9udXMpPC9saT48bGk+QmV0dmFrdGkgKDk1MCBUTCBEZW5lbWUgYm9udXN1ICsgNjAwIEZTKTwvbGk+PGxpPkNlbHRhYmV0ICgxMTUwIEZyZWVzcGluKTwvbGk+PGxpPlF1ZWVuYmV0ICg3MDAgVEwgWWF0xLFyxLFtc8SxeiBib251cyk8L2xpPjxsaT5UZW1wb2JldCAoMjAwIFRMIERlbmVtZSBib251c3UgKyAyMDAgRlMpPC9saT48bGk+xLBsYmV0ICgxMDAwIFRMICsgw4dldnJpbSDFn2FydHPEsXopPC9saT48bGk+TWFzdGVyICgyMDAgRnJlZXNwaW4pPC9saT48L3VsPgogICAgICAgICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgICAgICAgIDxzZWN0aW9uIHN0eWxlPSJiYWNrZ3JvdW5kOiAjYzhlNmM5OyBib3JkZXItbGVmdDogOHB4IHNvbGlkICMzODhlM2M7IGJvcmRlci1yYWRpdXM6IDEycHg7IG1heC13aWR0aDogNzIwcHg7IG1hcmdpbjogMjVweCBhdXRvOyBwYWRkaW5nOiAyMHB4IDI1cHg7IGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOyBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoNTYsIDE0MiwgNjAsIDAuMyk7Ij4KICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjMmU3ZDMyOyBtYXJnaW4tYm90dG9tOiAxMnB4OyBsZXR0ZXItc3BhY2luZzogMS4xcHg7Ij5NYXRhZG9yYmV0IEdpcmnFnyBZw7ZudGVtbGVyaSBWZSBFcmnFn2ltIMSwcHXDp2xhcsSxPC9oMj4KICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICMxYjVlMjA7Ij4KICAgICAgICAgICAgICAgICAgICAgIEfDvG5jZWwgZXJpxZ9pbSBpw6dpbiB0YXJhecSxY8SxIMO2bmJlbGxlxJ9pbmkgdGVtaXpsZW1laywgYWx0ZXJuYXRpZiBETlMga3VsbGFubWFrIHZlIHJlc21pIGthbmFsbGFyxLEgdGFraXAgZXRtZWssIDxzdHJvbmc+bWF0YWRvcmJldCBnaXJpxZ88L3N0cm9uZz4gYmHFn2FyxLFzxLFuxLEgYXJ0xLFyxLFyLiBTb3N5YWwgcHJvZmlsbGVyZGUgdmV5YSBlLXBvc3RhIGLDvGx0ZW5sZXJpbmRlIHBheWxhxZ\/EsWxhbiBkb8SfcnVsYW5txLHFnyBiYcSfbGFudMSxbGFyLCBzYWh0ZSB5w7ZubGVuZGlybWVsZXJpIGVsZW1lbml6ZSB5YXJkxLFtY8SxIG9sdXIuIMWeaWZyZSDDvHJldGlya2VuIHV6dW4sIGJlbnplcnNpeiB2ZSDDtnplbCBrYXJha3RlciBpw6dlcmVuIGJpciBrb21iaW5hc3lvbiBzZcOnaW47IGJ1IHNheWVkZSB5ZXRraXNpeiBlcmnFn2ltIHJpc2tpbmkgYXphbHTEsXJzxLFuxLF6LiBFxJ9lciB5ZW5pIGhlc2FixLFuxLF6xLEgaGVuw7x6IHRhbWFtbGFtYWTEsXlzYW7EsXosIMO2bmNlbGlrbGUgPHN0cm9uZz5tYXRhZG9yYmV0IGthecSxdCBvbDwvc3Ryb25nPiBhZMSxbWxhcsSxbsSxIGJpdGlyaXAgZS1wb3N0YSBvbmF5xLFuxLEgeWFwxLFuLiBNb2JpbGRlIGRhaGEgaMSxemzEsSBvdHVydW0gacOnaW4gPHN0cm9uZz5tYXRhZG9yYmV0IG1vYmlsPC9zdHJvbmc+IGFyYXnDvHrDvG5kZSBwYXJtYWsgaXppIHZleWEgecO8eiB0YW7EsW1hIGdpYmkgY2loYXogdGFiYW5sxLEgZ8O8dmVubGlrIHNlw6dlbmVrbGVyaW5pIGt1bGxhbsSxbi4gRXJpxZ9pbSBzb3J1bmxhcsSxLCBiaWxkaXJpbSBoYXRhbGFyxLEgdmV5YSBnZcOnIGdlbGVuIGRvxJ9ydWxhbWEga29kbGFyxLEgZ2liaSBkdXJ1bWxhcmRhLCBiZWtsZW1lZGVuIDxzdHJvbmc+bWF0YWRvcmJldCBjYW5sxLEgZGVzdGVrPC9zdHJvbmc+IGlsZSBpbGV0acWfaW1lIGdlw6dlcmVrIGFubMSxayDDp8O2esO8bSB0YWxlcCBlZGluLiBUYXJhecSxY8SxIGfDvG5jZWxsZW1lbGVyaSwgZWtsZW50aSDDp2F0xLHFn21hbGFyxLEgdmUgVlBOIHlhcMSxbGFuZMSxcm1hbGFyxLEgZGEgZ2lyacWfIHBlcmZvcm1hbnPEsW7EsSBldGtpbGV5ZWJpbGlyOyBkw7x6ZW5saSBrb250cm9sbGVybGUgc3RhYmlsaXRlIHNhxJ9sYW7EsXIuIFNvbiBvbGFyYWssIMWfw7xwaGVsaSBlLXBvc3RhbGFyYSBrYXLFn8SxIGRpa2thdGxpIG9sdW4sIGtpbWxpayBhdsSxIHNheWZhbGFyxLFuxLEgcmFwb3JsYXnEsW4gdmUgeWFsbsSxemNhIGfDvHZlbmlsaXIga2F5bmFrbGFyZGFuIHnDtm5sZW5kaXJtZSBhbMSxbi4KICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiAjNmExYjlhOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+TWF0YWRvcmJldCBHaXJpxZ8gWcO2bnRlbWxlcmkgVmUgRXJpxZ9pbSDEsHB1w6dsYXLEsSBoYWtrxLFuZGEgZ8O8dmVuaWxpciByZWhiZXIgbGlzdGVzaSBhxZ9hxJ\/EsWRhZMSxcjs8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPHVsPjxsaT5CZXRzbW92ZSAoMTAwMCBUTCBEZW5lbWUgYm9udXN1ICsgNDAwIEZTKTwvbGk+PGxpPkJldHhsYXJnZSAoMjUwIFRMIMOHZXZyaW1zaXogYm9udXMpPC9saT48bGk+RmF2b3Jpc2xvdCAoODAwIFRMIEJvbnVzICsgMTEwMCBGUyk8L2xpPjxsaT5CYWhzaW5lICg4NTAgVEwgw5Z6ZWwgZ8O8biBib251c3UpPC9saT48bGk+QmF5bWF2aSAoMTE1MCBGcmVlc3Bpbik8L2xpPjxsaT5OZXJvYmV0ICg5MDAgVEwgQm9udXMgKyAxMjAwIEZTKTwvbGk+PGxpPkZlbm9tZW5iZXQgKDQwMCBUTCBIb8WfIGdlbGRpbiBib251c3UpPC9saT48bGk+QXRsYXNiZXQgKDEwMDAgVEwgRnJlZWJldCk8L2xpPjxsaT5CZXRtYXJpbm8gKDIwMCBGcmVlc3Bpbik8L2xpPjxsaT5XaXBiZXQgKDEyMDAgVEwgWWF0xLFyxLFtc8SxeiBib251cyk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAgPHNlY3Rpb24gc3R5bGU9ImJhY2tncm91bmQ6ICNmZmYzZTA7IGJvcmRlci1sZWZ0OiA4cHggc29saWQgI2ZmYTcyNjsgYm9yZGVyLXJhZGl1czogMTJweDsgbWF4LXdpZHRoOiA3MjBweDsgbWFyZ2luOiAyNXB4IGF1dG87IHBhZGRpbmc6IDIwcHggMjVweDsgZm9udC1mYW1pbHk6ICdWZXJkYW5hJywgc2Fucy1zZXJpZjsgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDI1NSwgMTY3LCAzOCwgMC4zKTsiPgogICAgICAgICAgICAgICAgICA8aDIgc3R5bGU9ImZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICNlZjZjMDA7IG1hcmdpbi1ib3R0b206IDEycHg7IGxldHRlci1zcGFjaW5nOiAxLjFweDsiPk1hdGFkb3JiZXQgTW9iaWwgRGVuZXlpbWkgVmUgVXlndWxhbWEgxLBwdcOnbGFyxLE8L2gyPgogICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogI2U2NTEwMDsiPgogICAgICAgICAgICAgICAgICAgICAgQWvEsWPEsSBhcmF5w7x6LCBkw7zFn8O8ayB2ZXJpIHTDvGtldGltaSB2ZSBkb2t1bm1hdGlrIG9wdGltaXphc3lvbnUsIDxzdHJvbmc+bWF0YWRvcmJldCBtb2JpbDwvc3Ryb25nPiBkZW5leWltaW5pIMO2bmUgw6fEsWthcsSxci4gSMSxemzEsSBnaXJpxZ8ga3V0dWxhcsSxLCDDtnplbGxlxZ90aXJpbGViaWxpciBtZW7DvGxlciB2ZSB0ZWsgZG9rdW51xZ9sYSBveXVuIGdlw6dpxZ9sZXJpLCB6YW1hbiBrYXphbmTEsXLEsXIuIE90dXJ1bSBnw7x2ZW5sacSfaSBpw6dpbiBvdG9tYXRpayBraWxpdCB2ZSBjaWhheiB0YWJhbmzEsSBkb8SfcnVsYW1hecSxIGFrdGlmbGXFn3RpcmVyZWssIGHDp8SxayBrYWxhbiBvdHVydW1sYXLEsW4gcmlza2luaSBlbiBhemEgaW5kaXJlYmlsaXJzaW5pei4gTW9iaWwgYcSfbGFyZGEgZ2VjaWttZXlpIGF6YWx0bWFrIGnDp2luIGhhZmlmIG1vZGxhcsSxIHRlcmNpaCBlZGluIHZlIGdlcmVrc2l6IGJpbGRpcmltbGVyaSBrYXBhdMSxbi4gTW9iaWxkZSBvdHVydW0gYcOndMSxa3RhbiBzb25yYSBkaWxlcnNlbml6IG1hc2HDvHN0w7x5bGUgc2Vua3JvbiBpbGVybGVtZWsgacOnaW4gPHN0cm9uZz5tYXRhZG9yYmV0IGdpcmnFnzwvc3Ryb25nPiBiaWxnaWxlcmluaXppIGfDvHZlbmxpIGJpciBwYXJvbGEga2FzYXPEsW5kYSB0dXR1bi4gUGFyYSB5w7ZuZXRpbWkgYWTEsW1sYXLEsW7EsSBrb2xheWxhxZ90xLFybWFrIGnDp2luLCBtb2JpbCBrYXNhZGEgc3VudWxhbiA8c3Ryb25nPm1hdGFkb3JiZXQgcGFyYSB5YXTEsXJtYSBzZcOnZW5la2xlcmk8L3N0cm9uZz4gaWxlIGnFn2xlbWxlcmluaXppIGJpcmthw6cgZG9rdW51xZ90YSB0YW1hbWxhecSxbi4gSGVyaGFuZ2kgYmlyIHRla25payBha3Nha2zEsWssIGfDvG5jZWxsZW1lIGhhdGFzxLEgdmV5YSBjaWhheiB1eXVtbHVsdcSfdSBzb3J1bnVuZGEgNy8yNCBlcmnFn2ViaWxlY2XEn2luaXogPHN0cm9uZz5tYXRhZG9yYmV0IGNhbmzEsSBkZXN0ZWs8L3N0cm9uZz4gZWtpYmkgaMSxemzEsSDDp8O2esO8bSBzdW5hci4gWWVuaSBrdWxsYW7EsWPEsWxhciBpw6dpbiBpbGsga3VydWx1bWRhbiBzb25yYSBrxLFzYSBiaXIgdHVyIHJlaGJlcmkgYcOnxLFsxLFyOyBrdXJ1bHVtIHPEsXJhc8SxbmRhIGVrc2lrIGthbGFuIHByb2ZpbCBkZXRheWxhcsSxbsSxIHRhbWFtbGFyLCBkaWxlZGnEn2luaXogYW4gZmF2b3JpIG95dW5sYXLEsSBzYWJpdGxleWViaWxpcnNpbml6LgogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgICAgICAgPHNlY3Rpb24gc3R5bGU9ImJhY2tncm91bmQ6ICNiM2U1ZmM7IGJvcmRlci1sZWZ0OiA4cHggc29saWQgIzAyODhkMTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWF4LXdpZHRoOiA3MjBweDsgbWFyZ2luOiAyNXB4IGF1dG87IHBhZGRpbmc6IDIwcHggMjVweDsgZm9udC1mYW1pbHk6ICdQYWxhdGlubyBMaW5vdHlwZScsIHNlcmlmOyBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMiwgMTM2LCAyMDksIDAuMyk7Ij4KICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjMDE1NzliOyBtYXJnaW4tYm90dG9tOiAxMnB4OyBsZXR0ZXItc3BhY2luZzogMS4xcHg7Ij5NYXRhZG9yYmV0IFBhcmEgWWF0xLFybWEgU2XDp2VuZWtsZXJpIFZlIExpbWl0bGVyPC9oMj4KICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICMwMDNjOGY7Ij4KICAgICAgICAgICAgICAgICAgICAgIELDvHTDp2UgecO2bmV0aW1pLCBzw7xyZMO8csO8bGViaWxpciBiaXIgb3l1biBkZW5leWltaW5pbiB0ZW1lbGlkaXI7IGJ1IG5lZGVubGUgPHN0cm9uZz5tYXRhZG9yYmV0IHBhcmEgeWF0xLFybWEgc2XDp2VuZWtsZXJpPC9zdHJvbmc+IGFyYXPEsW5kYW4gaMSxeiwga29taXN5b24gdmUgaWFkZSBwb2xpdGlrYWxhcsSxbmEgZ8O2cmUgc2XDp2ltIHlhcMSxbi4gQmFua2EgdHJhbnNmZXJpLCBrYXJ0LCBlLWPDvHpkYW4gdmUga3JpcHRvIGFsdGVybmF0aWZsZXJpbmluIGhlciBiaXJpIGZhcmtsxLEgacWfbGVtIGjEsXpsYXLEsW5hIHZlIGxpbWl0bGVyZSBzYWhpcHRpci4gxLDFn2xlbSB5YXBtYWRhbiDDtm5jZSBraW1saWsgZG\/En3J1bGFtYW7EsXrEsW4gdGFtYW1sYW5kxLHEn8SxbmRhbiBlbWluIG9sdW47IGLDtnlsZWNlIMOnZWtpbSBzw7xyZcOnbGVyaSBkZSBzb3J1bnN1eiBpbGVybGVyLiBNb2JpbGRlIGnFn2xlbSB5YXBhbiBrdWxsYW7EsWPEsWxhciwgaMSxeiBhdmFudGFqxLEgacOnaW4gPHN0cm9uZz5tYXRhZG9yYmV0IG1vYmlsPC9zdHJvbmc+IGthc2F5xLEgdGVyY2loIGVkZXJlayBtaW5pbXVtIGFsYW4gZG9sZHVybWEgaWxlIMO2ZGVtZSBhZMSxbWxhcsSxbsSxIHNvbnXDp2xhbmTEsXJhYmlsaXIuIMSwxZ9sZW0gb25hecSxIHZlIGJha2l5ZW5pbiBnw7xuY2VsbGVubWVzaSBnaWJpIGtyaXRpayBhbmxhcmRhIG90dXJ1bXVudXp1biBhw6fEsWsgb2xkdcSfdW5kYW4gdmUgPHN0cm9uZz5tYXRhZG9yYmV0IGdpcmnFnzwvc3Ryb25nPiBiaWxnaWxlcmluaXppbiBnw7xuY2VsIGthbGTEscSfxLFuZGFuIGVtaW4gb2x1bi4gQmVrbGVubWVkaWsgaGF0YSBrb2RsYXLEsSwgZ2VjaWtlbiB0cmFuc2ZlcmxlciB2ZXlhIGlwdGFsIGVkaWxlbiBpxZ9sZW1sZXJkZSA8c3Ryb25nPm1hdGFkb3JiZXQgY2FubMSxIGRlc3Rlazwvc3Ryb25nPiBpbGUgaWxldGnFn2ltZSBnZcOnZXJlayBkZWtvbnQgcGF5bGHFn8SxbcSxIHlhcMSxbiB2ZSBzw7xyZWNpbiBoxLF6bGEgaXpsZW5tZXNpbmkgc2HEn2xhecSxbi4gQm9udXMga2\/Fn3VsbGFyxLFuxLEgZ8O2emRlbiBnZcOnaXJpcCDDp2V2cmltIGtyaXRlcmxlcmluZSB1eW1haywgZnJlZXNwaW4gZsSxcnNhdGxhcsSxbmRhbiB5w7xrc2VrIHZlcmltIGFsbWFuxLF6YSB5YXJkxLFtY8SxIG9sdXIuIFNvbiBvbGFyYWssIGhhZnRhbMSxayDDvHN0IGxpbWl0bGVyaW5pemkgYmVsaXJsZXlpcCBhbmzEsWsgaGFyY2FtYSBiaWxkaXJpbWxlcml5bGUga29udHJvbMO8IGVsaW5pemRlIHR1dHVuLgogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPHA+PG1hcnF1ZWUgc3R5bGU9J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDBweDsnPjwvbWFycXVlZT48L3A+CiAgICA8L2Rpdj4KICAgIDxmb290ZXI+CiAgICAgICAgPHA+bWF0YWRvcmJldCAmY29weTsgMjAyNSBUw7xtIEhha2xhcsSxIFNha2zEsWTEsXIuPC9wPgogICAgPC9mb290ZXI+CjwvYm9keT4KPC9odG1sPg=="}],"showcase_html":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InRyIj4KPGhlYWQ+CiAgICA8YmFzZSBocmVmPSJodHRwczovL2JvbnVzMjAyNS5jb20iPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkRlbmVtZSBCb251cyBWZXJlbiBTaXRlbGVyIC0gR8O8dmVuaWxpciBCYWhpcyBTaXRlbGVyaSAtIDIwMjUgQmFoaXMgU2l0ZWxlcmk8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik9ubGluZSBiYWhpcyB2ZSBjYXNpbm8gZMO8bnlhc8SxbmRhIGfDvHZlbmxpLCBoxLF6bMSxIHZlIGXEn2xlbmNlbGkgYmlyIGRlbmV5aW0gc3VudXlvci4gw5ZkZW1lIHnDtm50ZW1sZXJpIHZlIGJvbnVzIGbEsXJzYXRsYXLEsSBoYWtrxLFuZGEgZGV0YXlsxLEgYmlsZ2kgZWRpbmluLiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iYmFoaXMgc2l0ZWxlcmksIGRlbmVtZSBib251c3UgdmVyZW4gc2l0ZWxlciAsZGVuZW1lIGJvbnVzdSwgZ8O8dmVuaWxpciBiYWhpcyBzaXRlbGVyaSIvPgoKICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9jb21pbDMuZWR1LmVjLyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkRlbmVtZSBCb251cyBWZXJlbiBTaXRlbGVyIC0gR8O8dmVuaWxpciBCYWhpcyBTaXRlbGVyaSAtIDIwMjUgQmFoaXMgU2l0ZWxlcmkiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJCYWhpcyBnaXJpxZ8sIGthecSxdCB2ZSBnw7xuY2VsIGJpbGdpbGVyIGJ1cmFkYSEgMjAyNSBpw6dpbiBCYWhpcydlIGRhaXIgaGVyIMWfZXkuIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY29taWwzLmVkdS5lYy8iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmxvY2FsZSIgY29udGVudD0idHJfVFIiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iRGVuZW1lIEJvbnVzdSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iRGVuZW1lIEJvbnVzIFZlcmVuIFNpdGVsZXIgLSBHw7x2ZW5pbGlyIEJhaGlzIFNpdGVsZXJpIC0gMjAyNSBCYWhpcyBTaXRlbGVyaSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJnaXJpxZ8gdmUga2F5xLF0IGnFn2xlbWxlcmluZSBkYWlyIGVuIGfDvG5jZWwgYmlsZ2lsZXIuIDIwMjUgYmFoaXMgacOnZXJpa2xlcmkuIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICA8bWV0YSBuYW1lPSJnb29nbGVib3QiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciPgogICAgPG1ldGEgbmFtZT0iYmluZ2JvdCIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CgogICAgPCEtLSBBbHRlcm5hdGUgTGFuZ3VhZ2UgTGlua3MgLS0+CgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iaHR0cHM6Ly9ndXZlbmlsaXIuYmFoaXMtc2l0ZWxlcmlnaXIuY29tL2FwcGxlLXRvdWNoLWljb24ucG5nIj4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXRpdGxlIiBjb250ZW50PSJEZW5lbWUgQm9udXMgVmVyZW4gU2l0ZWxlciAtIEfDvHZlbmlsaXIgQmFoaXMgU2l0ZWxlcmkgLSAyMDI1IEJhaGlzIFNpdGVsZXJpIj4KICAgIDxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS9zaXRlLndlYm1hbmlmZXN0Ij4KCiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgogICAgICAgIHsKICAgICAgICAgICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAgICAgICAgICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAgICAgICAibmFtZSI6ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgInVybCI6ICJodHRwczovL2NvbWlsMy5lZHUuZWMvIiwKICAgICAgICAgICAgImxvZ28iOiAiaHR0cHM6Ly9ndXZlbmlsaXIuYmFoaXMtc2l0ZWxlcmlnaXIuY29tL2RlbmVtZWJvbnVzLWxvZ28ucG5nIiwKICAgICAgICAgICAgInNhbWVBcyI6IFsKICAgICAgICAgICAgICAgICJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vZ2lyIiwKICAgICAgICAgICAgICAgICJodHRwczovL3R3aXR0ZXIuY29tL2RlbmVtZWJvbnVzIiwKICAgICAgICAgICAgICAgICJodHRwczovL2luc3RhZ3JhbS5jb20vZGVuZW1lYm9udXMiLAogICAgICAgICAgICAgICAgImh0dHBzOi8vdC5tZS9kZW5lbWVib251cyIKICAgICAgICAgICAgXQogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgICAgewogICAgICAgICAgICAiQGNvbnRleHQiOiAiaHR0cDovL3d3dy5zY2hlbWEub3JnIiwKICAgICAgICAgICAgIkB0eXBlIjogIkJyZWFkY3J1bWJMaXN0IiwKICAgICAgICAgICAgIml0ZW1MaXN0RWxlbWVudCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiTGlzdEl0ZW0iLAogICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IDEsCiAgICAgICAgICAgICAgICAgICAgIml0ZW0iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJXZWJQYWdlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIkBpZCI6ICIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiRGVuZW1lIEJvbnVzdSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJAdHlwZSI6ICJMaXN0SXRlbSIsCiAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogMiwKICAgICAgICAgICAgICAgICAgICAiaXRlbSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIldlYlBhZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiQGlkIjogIi8jRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkRlbmVtZSBCb251c3UgR2lyacWfIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0idHIiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS8iPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJheiIgaHJlZj0iaHR0cHM6Ly9ndXZlbmlsaXIuYmFoaXMtc2l0ZWxlcmlnaXIuY29tLyI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InB0IiBocmVmPSJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0icnUiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS8iPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJ1ayIgaHJlZj0iaHR0cHM6Ly9ndXZlbmlsaXIuYmFoaXMtc2l0ZWxlcmlnaXIuY29tLyI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImtrIiBocmVmPSJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iYXIiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS8iPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJlbiIgaHJlZj0iaHR0cHM6Ly9ndXZlbmlsaXIuYmFoaXMtc2l0ZWxlcmlnaXIuY29tLyI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImVzIiBocmVmPSJodHRwczovL2d1dmVuaWxpci5iYWhpcy1zaXRlbGVyaWdpci5jb20vIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0icGwiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS8iPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJ4LWRlZmF1bHQiIGhyZWY9Imh0dHBzOi8vZ3V2ZW5pbGlyLmJhaGlzLXNpdGVsZXJpZ2lyLmNvbS8iPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi40LjAvY3NzL2FsbC5taW4uY3NzIj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDA7ODAwOzkwMCZhbXA7ZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzdHlsZT4KICAgICAgICAqIHsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIH0KCiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLXByaW1hcnktYmc6ICMwZjBmMjM7CiAgICAgICAgICAgIC0tc2Vjb25kYXJ5LWJnOiAjMWExYTJlOwogICAgICAgICAgICAtLWFjY2VudC1iZzogIzE2MjEzZTsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMGYwZjIzLCAjMWExYTJlLCAjMTYyMTNlLCAjMGYzNDYwKTsKICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MDAlIDQwMCU7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZ3JhZGllbnRTaGlmdCAxNXMgZWFzZSBpbmZpbml0ZTsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGdyYWRpZW50U2hpZnQgewogICAgICAgICAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTsgfQogICAgICAgICAgICA1MCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfQogICAgICAgICAgICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlOyB9CiAgICAgICAgfQoKICAgICAgICAuZmxvYXRpbmctcGFydGljbGVzIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICB6LWluZGV4OiAtMTsKICAgICAgICB9CgogICAgICAgIC5wYXJ0aWNsZSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZmxvYXQgNnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0IHsKICAgICAgICAgICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7IH0KICAgICAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSByb3RhdGUoMTgwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1nbG93IHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgICAgd2lkdGg6IDIwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI1NSwgMTM4LCAwLCAwLjMpLCB0cmFuc3BhcmVudCA3MCUpOwogICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMzBweCk7CiAgICAgICAgICAgIHotaW5kZXg6IC0xOwogICAgICAgIH0KCiAgICAgICAgaGVhZGVyIGgxIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZjhhMDAsICNlNTJlNzEsICM5YzFhZmYsICMwMGM2ZmYpOwogICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogdGl0bGVHbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgdGl0bGVHbG93IHsKICAgICAgICAgICAgZnJvbSB7CiAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA1cHggcmdiYSgyNTUsIDEzOCwgMCwgMC41KSk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdG8gewogICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTVweCByZ2JhKDIyOSwgNDYsIDExMywgMC43KSk7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBoZWFkZXIgcCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDsKICAgICAgICAgICAgY29sb3I6ICNkMWQxZDE7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgfQoKICAgICAgICAvKiBNb2JpbCBpw6dpbiDDtnplbCBheWFybGFyICovCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAgIGhlYWRlciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaGVhZGVyIGgxIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICBoZWFkZXIgcCB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTsKICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5oZWFkZXItZ2xvdyB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgICAgICAgaGVhZGVyIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4IDhweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaGVhZGVyIGgxIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaGVhZGVyIHAgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmhlYWRlci1nbG93IHsKICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLnN0YXRzLWJhciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDQwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CgogICAgICAgIC5zdGF0LWl0ZW0gewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLnN0YXQtaXRlbTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICB9CgogICAgICAgIC5zdGF0LW51bWJlciB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmY4YTAwLCAjZTUyZTcxKTsKICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICB9CgogICAgICAgIC5zdGF0LWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiAjYTFhMWExOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FyZHMtY29udGFpbmVyIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzNTBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMjVweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgICAgICAgICAgICAwIDE1cHggMzVweCByZ2JhKDAsIDAsIDAsIDAuNCksCiAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTVweCk7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJkOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IC0xMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjhzOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQ6aG92ZXI6OmJlZm9yZSB7CiAgICAgICAgICAgIGxlZnQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICAuY2FyZDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkgcm90YXRlWCg1ZGVnKSByb3RhdGVZKDVkZWcpOwogICAgICAgICAgICBib3gtc2hhZG93OgogICAgICAgICAgICAgICAgICAgIDAgMjVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC42KSwKICAgICAgICAgICAgICAgICAgICAwIDAgNTBweCByZ2JhKDI1NSwgMTM4LCAwLCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4IDIwcHg7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWdsb3cgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogMDsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AsIHJnYmEoMjU1LCAxMzgsIDAsIDAuMiksIHRyYW5zcGFyZW50IDcwJSk7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQ6aG92ZXIgLmNhcmQtZ2xvdyB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQoKICAgICAgICAubG9nby1jb250YWluZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgfQoKICAgICAgICAubG9nby1mcmFtZSB7CiAgICAgICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDgwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIGJveC1zaGFkb3c6CiAgICAgICAgICAgICAgICAgICAgMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSksCiAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CgogICAgICAgICAgICBhbmltYXRpb246IGZyYW1lUHVsc2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7CiAgICAgICAgfQoKCiAgICAgICAgQGtleWZyYW1lcyBmcmFtZVB1bHNlIHsKICAgICAgICAgICAgMCUsIDEwMCUgewogICAgICAgICAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDEwcHggY3VycmVudENvbG9yLAogICAgICAgICAgICAgICAgICAgICAgICAwIDhweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KSwKICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgNTAlIHsKICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6CiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAyMHB4IGN1cnJlbnRDb2xvciwKICAgICAgICAgICAgICAgICAgICAgICAgMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSksCiAgICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMnB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuY2FyZDpob3ZlciAubG9nby1mcmFtZSB7CiAgICAgICAgICAgIGFuaW1hdGlvbjogZnJhbWVQdWxzZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDsKICAgICAgICB9CgogICAgICAgIC5sb2dvLWZyYW1lOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBpbnNldDogLTJweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTdweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCAjZmY4YTAwLCAjZTUyZTcxLCAjOWMxYWZmLCAjMDBjNmZmLCAjZmY4YTAwKTsKICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGUgM3MgbGluZWFyIGluZmluaXRlOwogICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5jYXJkOmhvdmVyIC5sb2dvLWZyYW1lOjpiZWZvcmUgewogICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KCiAgICAgICAgLmxvZ28tZnJhbWUtaW5uZXIgewogICAgICAgICAgICB3aWR0aDogNzRweDsKICAgICAgICAgICAgaGVpZ2h0OiA3NHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDQwLCAwLjkpOwogICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7CiAgICAgICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1sb2dvIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4OwogICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4OwogICAgICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC42KSk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuY2FyZDpob3ZlciAuY2FyZC1sb2dvIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjgpKSBicmlnaHRuZXNzKDEuMik7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogODAwOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxNXB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtYmFkZ2U6OmJlZm9yZSB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogMDsKICAgICAgICAgICAgbGVmdDogLTEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSwgdHJhbnNwYXJlbnQpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNnM7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1iYWRnZTpob3Zlcjo6YmVmb3JlIHsKICAgICAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMjsKICAgICAgICB9CgogICAgICAgIC5ib251cy1hbW91bnQgewogICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CgogICAgICAgICAgICBhbmltYXRpb246IGFtb3VudFB1bHNlIDNzIGluZmluaXRlIGVhc2UtaW4tb3V0OwogICAgICAgIH0KCgogICAgICAgIEBrZXlmcmFtZXMgYW1vdW50UHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IGN1cnJlbnRDb2xvcjsKICAgICAgICAgICAgfQogICAgICAgICAgICA1MCUgewogICAgICAgICAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4IGN1cnJlbnRDb2xvcjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLmJvbnVzLWFtb3VudDo6YWZ0ZXIgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBib3R0b206IC04cHg7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgICAgICB3aWR0aDogNjBweDsKICAgICAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIGN1cnJlbnRDb2xvciwgdHJhbnNwYXJlbnQpOwogICAgICAgIH0KCiAgICAgICAgLmJvbnVzLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBjb2xvcjogI2QxZDFkMTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgfQoKICAgICAgICAuYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAuYnRuOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IC0xMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjhzOwogICAgICAgIH0KCiAgICAgICAgLmJ0bjpob3Zlcjo6YmVmb3JlIHsKICAgICAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB9CgogICAgICAgIC5idG46aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGUoMS4wMik7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICB9CgoKICAgICAgICAudGhlbWUtMSB7IC0tY29sb3ItMTogI0ZGNkIzNTsgLS1jb2xvci0yOiAjRkY4QzQyOyB9CiAgICAgICAgLnRoZW1lLTIgeyAtLWNvbG9yLTE6ICMwMEM2RkY7IC0tY29sb3ItMjogIzAwNzJGRjsgfQogICAgICAgIC50aGVtZS0zIHsgLS1jb2xvci0xOiAjOEEyQkUyOyAtLWNvbG9yLTI6ICNEQTcwRDY7IH0KICAgICAgICAudGhlbWUtNCB7IC0tY29sb3ItMTogI0ZGRDcwMDsgLS1jb2xvci0yOiAjRkZBMDAwOyB9CiAgICAgICAgLnRoZW1lLTUgeyAtLWNvbG9yLTE6ICNEQzE0M0M7IC0tY29sb3ItMjogI0ZGNDc1NzsgfQogICAgICAgIC50aGVtZS02IHsgLS1jb2xvci0xOiAjMDBEMkZGOyAtLWNvbG9yLTI6ICMzQTdCRDU7IH0KICAgICAgICAudGhlbWUtNyB7IC0tY29sb3ItMTogI0ZGNDE2QzsgLS1jb2xvci0yOiAjRkY0QjJCOyB9CiAgICAgICAgLnRoZW1lLTggeyAtLWNvbG9yLTE6ICM2NTRFQTM7IC0tY29sb3ItMjogI0VBQUZDODsgfQogICAgICAgIC50aGVtZS05IHsgLS1jb2xvci0xOiAjMDBCNERCOyAtLWNvbG9yLTI6ICMwMDgzQjA7IH0KICAgICAgICAudGhlbWUtMTAgeyAtLWNvbG9yLTE6ICNGRjVGNkQ7IC0tY29sb3ItMjogI0ZGQzM3MTsgfQogICAgICAgIC50aGVtZS0xMSB7IC0tY29sb3ItMTogIzRDQUY1MDsgLS1jb2xvci0yOiAjOEJDMzRBOyB9CiAgICAgICAgLnRoZW1lLTEyIHsgLS1jb2xvci0xOiAjOUMyN0IwOyAtLWNvbG9yLTI6ICNFOTFFNjM7IH0KICAgICAgICAudGhlbWUtMTMgeyAtLWNvbG9yLTE6ICNGRjk4MDA7IC0tY29sb3ItMjogI0ZGNTcyMjsgfQogICAgICAgIC50aGVtZS0xNCB7IC0tY29sb3ItMTogIzIxOTZGMzsgLS1jb2xvci0yOiAjMDNBOUY0OyB9CiAgICAgICAgLnRoZW1lLTE1IHsgLS1jb2xvci0xOiAjNzk1NTQ4OyAtLWNvbG9yLTI6ICM2MDdEOEI7IH0KICAgICAgICAudGhlbWUtMTYgeyAtLWNvbG9yLTE6ICM2NzNBQjc7IC0tY29sb3ItMjogIzNGNTFCNTsgfQogICAgICAgIC50aGVtZS0xNyB7IC0tY29sb3ItMTogI0ZGNkI5RDsgLS1jb2xvci0yOiAjQzQ0NTY5OyB9CiAgICAgICAgLnRoZW1lLTE4IHsgLS1jb2xvci0xOiAjNkExMUNCOyAtLWNvbG9yLTI6ICMyNTc1RkM7IH0KCgogICAgICAgIC50aGVtZS10aXBvYmV0IHsgLS1jb2xvci0xOiAjMTI2NTA5OyAtLWNvbG9yLTI6ICMxMmEyMWI7IH0KCgogICAgICAgIC50aGVtZS0xIC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAxMDcsIDUzLCAwLjMpLCByZ2JhKDI1NSwgMTQwLCA2NiwgMC4yKSk7IH0KICAgICAgICAudGhlbWUtMiAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDAsIDE5OCwgMjU1LCAwLjMpLCByZ2JhKDAsIDExNCwgMjU1LCAwLjIpKTsgfQogICAgICAgIC50aGVtZS0zIC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTM4LCA0MywgMjI2LCAwLjMpLCByZ2JhKDIxOCwgMTEyLCAyMTQsIDAuMikpOyB9CiAgICAgICAgLnRoZW1lLTQgLmNhcmQtaGVhZGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDIxNSwgMCwgMC4zKSwgcmdiYSgyNTUsIDE2MCwgMCwgMC4yKSk7IH0KICAgICAgICAudGhlbWUtdGlwb2JldCAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDIyMCwgMjAsIDYwLCAwLjQpLCByZ2JhKDI1NSwgNzEsIDg3LCAwLjMpKTsgfQogICAgICAgIC50aGVtZS02IC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgMjEwLCAyNTUsIDAuMyksIHJnYmEoNTgsIDEyMywgMjEzLCAwLjIpKTsgfQogICAgICAgIC50aGVtZS03IC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCA2NSwgMTA4LCAwLjMpLCByZ2JhKDI1NSwgNzUsIDQzLCAwLjIpKTsgfQogICAgICAgIC50aGVtZS04IC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTAxLCA3OCwgMTYzLCAwLjMpLCByZ2JhKDIzNCwgMTc1LCAyMDAsIDAuMikpOyB9CiAgICAgICAgLnRoZW1lLTkgLmNhcmQtaGVhZGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgwLCAxODAsIDIxOSwgMC4zKSwgcmdiYSgwLCAxMzEsIDE3NiwgMC4yKSk7IH0KICAgICAgICAudGhlbWUtMTAgLmNhcmQtaGVhZGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDk1LCAxMDksIDAuMyksIHJnYmEoMjU1LCAxOTUsIDExMywgMC4yKSk7IH0KICAgICAgICAudGhlbWUtMTEgLmNhcmQtaGVhZGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg3NiwgMTc1LCA4MCwgMC4zKSwgcmdiYSgxMzksIDE5NSwgNzQsIDAuMikpOyB9CiAgICAgICAgLnRoZW1lLTEyIC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTU2LCAzOSwgMTc2LCAwLjMpLCByZ2JhKDIzMywgMzAsIDk5LCAwLjIpKTsgfQogICAgICAgIC50aGVtZS0xMyAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTUyLCAwLCAwLjMpLCByZ2JhKDI1NSwgODcsIDM0LCAwLjIpKTsgfQogICAgICAgIC50aGVtZS0xNCAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDMzLCAxNTAsIDI0MywgMC4zKSwgcmdiYSgzLCAxNjksIDI0NCwgMC4yKSk7IH0KICAgICAgICAudGhlbWUtMTUgLmNhcmQtaGVhZGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxMjEsIDg1LCA3MiwgMC4zKSwgcmdiYSg5NiwgMTI1LCAxMzksIDAuMikpOyB9CiAgICAgICAgLnRoZW1lLTE2IC5jYXJkLWhlYWRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTAzLCA1OCwgMTgzLCAwLjMpLCByZ2JhKDYzLCA4MSwgMTgxLCAwLjIpKTsgfQogICAgICAgIC50aGVtZS0xNyAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA3LCAxNTcsIDAuMyksIHJnYmEoMTk2LCA2OSwgMTA1LCAwLjIpKTsgfQogICAgICAgIC50aGVtZS0xOCAuY2FyZC1oZWFkZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEwNiwgMTcsIDIwMywgMC4zKSwgcmdiYSgzNywgMTE3LCAyNTIsIDAuMikpOyB9CgogICAgICAgIC50aGVtZS0xIC5sb2dvLWZyYW1lIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTIgLmxvZ28tZnJhbWUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtMyAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS00IC5sb2dvLWZyYW1lIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLXRpcG9iZXQgLmxvZ28tZnJhbWUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtNiAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS03IC5sb2dvLWZyYW1lIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTggLmxvZ28tZnJhbWUgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtOSAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xMCAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xMSAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xMiAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xMyAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xNCAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xNSAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xNiAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xNyAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xOCAubG9nby1mcmFtZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQoKICAgICAgICAudGhlbWUtMSAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMiAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMyAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtNCAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtdGlwb2JldCAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtNiAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtNyAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtOCAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtOSAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTAgLmNhcmQtYmFkZ2UgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTExIC5jYXJkLWJhZGdlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS0xMiAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTMgLmNhcmQtYmFkZ2UgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTE0IC5jYXJkLWJhZGdlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS0xNSAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTYgLmNhcmQtYmFkZ2UgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTE3IC5jYXJkLWJhZGdlIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS0xOCAuY2FyZC1iYWRnZSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KCiAgICAgICAgLnRoZW1lLTEgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0yIC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtMyAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTQgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS10aXBvYmV0IC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtNiAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTcgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS04IC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtOSAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTEwIC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtMTEgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xMiAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTEzIC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtMTQgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xNSAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CiAgICAgICAgLnRoZW1lLTE2IC5ib251cy1hbW91bnQgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItMSk7IH0KICAgICAgICAudGhlbWUtMTcgLmJvbnVzLWFtb3VudCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci0xKTsgfQogICAgICAgIC50aGVtZS0xOCAuYm9udXMtYW1vdW50IHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLTEpOyB9CgoKICAgICAgICAudGhlbWUtMSAuYnRuIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS0yIC5idG4geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTMgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtNCAuYnRuIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS10aXBvYmV0IC5idG4geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTYgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtNyAuYnRuIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItMSksIHZhcigtLWNvbG9yLTIpKTsgfQogICAgICAgIC50aGVtZS04IC5idG4geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci0xKSwgdmFyKC0tY29sb3ItMikpOyB9CiAgICAgICAgLnRoZW1lLTkgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTAgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTEgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTIgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTMgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTQgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTUgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTYgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTcgLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KICAgICAgICAudGhlbWUtMTggLmJ0biB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLTEpLCB2YXIoLS1jb2xvci0yKSk7IH0KCgoKICAgICAgICAudGlwb2JldC1zcGVjaWFsIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgNzEsIDg3LCAwLjUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDI1NSwgNzEsIDg3LCAwLjQpICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAudGlwb2JldC1zcGVjaWFsOjphZnRlciB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICfDllpFTCBUQVZTxLBZRSc7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAtMTBweDsKICAgICAgICAgICAgcmlnaHQ6IC0xMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjREMxNDNDLCAjRkY0NzU3KTsKICAgICAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICB9CgogICAgICAgIC5mb290ZXIgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsKICAgICAgICAgICAgY29sb3I6ICNhMWExYTE7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgICAgIGhlaWdodDogMXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyksIHRyYW5zcGFyZW50KTsKICAgICAgICB9CgoKICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJblVwIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfQogICAgICAgICAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgIH0KCiAgICAgICAgLmNhcmQgewogICAgICAgICAgICBhbmltYXRpb246IGZhZGVJblVwIDAuOHMgZWFzZSBmb3J3YXJkczsKICAgICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAuY2FyZHMtY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5jYXJkIHsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweCAxMHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAubG9nby1mcmFtZSB7CiAgICAgICAgICAgICAgICB3aWR0aDogNDVweDsKICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDsKICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5sb2dvLWZyYW1lLWlubmVyIHsKICAgICAgICAgICAgICAgIHdpZHRoOiA0MXB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiA0MXB4OwogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY2FyZC1sb2dvIHsKICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzBweDsKICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtOwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY2FyZC1iYWRnZSB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjU1cmVtOwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY2FyZC1jb250ZW50IHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuYm9udXMtYW1vdW50IHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmJvbnVzLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTsKICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5idG4gewogICAgICAgICAgICAgICAgcGFkZGluZzogNnB4OwogICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07CiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGhlYWRlciBoMSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGhlYWRlciBwIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICB9CgogICAgICAgICAgICAuc3RhdHMtYmFyIHsKICAgICAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLnN0YXQtaXRlbSB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuc3RhdC1udW1iZXIgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5zdGF0LWxhYmVsIHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAgIC5jYXJkcy1jb250YWluZXIgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweCA4cHg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5sb2dvLWZyYW1lIHsKICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAubG9nby1mcmFtZS1pbm5lciB7CiAgICAgICAgICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmNhcmQtbG9nbyB7CiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1cHg7CiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNXB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY2FyZC10aXRsZSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmNhcmQtYmFkZ2UgewogICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtOwogICAgICAgICAgICB9CgogICAgICAgICAgICAuYm9udXMtYW1vdW50IHsKICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICB9CgogICAgICAgICAgICAuYm9udXMtZGVzY3JpcHRpb24gewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC5idG4gewogICAgICAgICAgICAgICAgcGFkZGluZzogNXB4OwogICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7CiAgICAgICAgICAgIC5jYXJkcy1jb250YWluZXIgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICAgIH0KICAgICAgICB9CgoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgICAgICAgICAgIC5jYXJkcy1jb250YWluZXIgewogICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzODBweCwgMWZyKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgewogICAgICAgICAgICAuY2FyZHMtY29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzIwcHgsIDFmcikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHk+CjxkaXYgY2xhc3M9ImZsb2F0aW5nLXBhcnRpY2xlcyIgaWQ9InBhcnRpY2xlcyI+PC9kaXY+Cgo8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGhlYWRlcj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItZ2xvdyI+PC9kaXY+CiAgICAgICAgPGgxPlBSRU1JVU0gQk9OVVMgRklSU0FUTEFSSTwvaDE+CiAgICAgICAgPHA+VMO8cmtpeWUnbmluIGVuIHByZXN0aWpsaSBiYWhpcyBzaXRlbGVyaW5pbiDDtnplbCBkZW5lbWUgYm9udXNsYXLEsSB2ZSBwcm9tb3N5b25sYXLEsSBpbGUgYW7EsW5kYSBrYXphbm1heWEgYmHFn2xhecSxbiE8L3A+CiAgICA8L2hlYWRlcj4KCiAgICA8IS0tIEVrc3RyYSBpbmZvIGJhbmTEsSAtLT4KICAgIDxkaXYgY2xhc3M9ImluZm8tYmFubmVyIiBzdHlsZT0iCiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0byAyNXB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgY29sb3I6ICNmNWY1ZjU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjM1KTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTQpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwwLDAsMC41NSk7CiAgICAiPgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OjYwMDsgbGV0dGVyLXNwYWNpbmc6MC4wOGVtOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGZvbnQtc2l6ZTowLjdyZW07IG9wYWNpdHk6MC45NTsgbWFyZ2luLWJvdHRvbTo0cHg7Ij4KICAgICAgICAgICAgR8OcTkNFTCBCT05VUyBMxLBTVEVTxLAKICAgICAgICA8L2Rpdj4KICAgICAgICA8c3BhbiBzdHlsZT0ib3BhY2l0eTowLjk7Ij4KICAgICAgICAgICAgTGlzdGUgaGVyIHllbmlsZW1lZGUgcmFzdGdlbGUgc8SxcmFsYW7EsXIsIDxzdHJvbmc+VMSwUE9CRVQ8L3N0cm9uZz4gaXNlIGhlciB6YW1hbiBlbiDDvHN0dGUgw7Z6ZWwgdGF2c2l5ZSBvbGFyYWsgc2FiaXRsZW5pci4KICAgICAgICA8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8IS0tIERpbmFtaWsgaXN0YXRpc3RpayBiYXLEsSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJzdGF0cy1iYXIiIGlkPSJzdGF0c0JhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1udW1iZXIiIGlkPSJzdGF0U2l0ZUNvdW50Ij4wPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkFrdGlmIEJvbnVzbHUgU2l0ZTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbnVtYmVyIiBpZD0ic3RhdE1heEJvbnVzIj4wIFRMPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkVuIFnDvGtzZWsgQm9udXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LW51bWJlciIgaWQ9InN0YXRUb3RhbEJvbnVzIj4wIFRMPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPlRvcGxhbSBCb251cyBIYXZ1enU8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIEthcnRsYXIgSlMgaWxlIGRvbGR1cnVsYWNhayAtLT4KICAgIDxkaXYgY2xhc3M9ImNhcmRzLWNvbnRhaW5lciIgaWQ9ImJvbnVzQ29udGFpbmVyIj48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgIDxwPsKpIDIwMjUgUHJlbWl1bSBCb251cyBGxLFyc2F0bGFyxLEgLSBUw7xtIGhha2xhcsSxIHNha2zEsWTEsXIuIHwgMTgrIFlhxZ8gc8SxbsSxcsSxIHZhcmTEsXIuIEzDvHRmZW4gc29ydW1sdSBveW5hecSxbi48L3A+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIEJhxZ9hIGTDtm4gYnV0b251IC0tPgo8YnV0dG9uIGlkPSJzY3JvbGxUb3BCdG4iIGFyaWEtbGFiZWw9IkJhxZ9hIGTDtm4iIHN0eWxlPSIKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHJpZ2h0OiAyMHB4OwogICAgYm90dG9tOiAyMHB4OwogICAgd2lkdGg6IDQ2cHg7CiAgICBoZWlnaHQ6IDQ2cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmOGEwMCwjZTUyZTcxKTsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgYm94LXNoYWRvdzogMCAxMnB4IDMycHggcmdiYSgwLDAsMCwwLjcpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIHotaW5kZXg6IDUwOwogICAgb3BhY2l0eTogMDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSwgdHJhbnNmb3JtIC4zcyBlYXNlOwoiPgogICAg4oaRCjwvYnV0dG9uPgoKPHNjcmlwdD4KICAgIC8vIEFya2EgcGxhbiBwYXJ0aWvDvGxsZXJpCiAgICBmdW5jdGlvbiBjcmVhdGVQYXJ0aWNsZXMoKSB7CiAgICAgICAgY29uc3QgcGFydGljbGVzQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnRpY2xlcycpOwogICAgICAgIGlmICghcGFydGljbGVzQ29udGFpbmVyKSByZXR1cm47CgogICAgICAgIGNvbnN0IHBhcnRpY2xlQ291bnQgPSAyMDsKCiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0aWNsZUNvdW50OyBpKyspIHsKICAgICAgICAgICAgY29uc3QgcGFydGljbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgICAgcGFydGljbGUuY2xhc3NOYW1lID0gJ3BhcnRpY2xlJzsKCiAgICAgICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLnJhbmRvbSgpICogNjAgKyAyMDsKICAgICAgICAgICAgY29uc3QgcG9zWCA9IE1hdGgucmFuZG9tKCkgKiAxMDA7CiAgICAgICAgICAgIGNvbnN0IHBvc1kgPSBNYXRoLnJhbmRvbSgpICogMTAwOwogICAgICAgICAgICBjb25zdCBkZWxheSA9IE1hdGgucmFuZG9tKCkgKiA1OwogICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IE1hdGgucmFuZG9tKCkgKiAxMCArIDU7CgogICAgICAgICAgICBwYXJ0aWNsZS5zdHlsZS53aWR0aCA9IHNpemUgKyAncHgnOwogICAgICAgICAgICBwYXJ0aWNsZS5zdHlsZS5oZWlnaHQgPSBzaXplICsgJ3B4JzsKICAgICAgICAgICAgcGFydGljbGUuc3R5bGUubGVmdCA9IHBvc1ggKyAnJSc7CiAgICAgICAgICAgIHBhcnRpY2xlLnN0eWxlLnRvcCA9IHBvc1kgKyAnJSc7CiAgICAgICAgICAgIHBhcnRpY2xlLnN0eWxlLmFuaW1hdGlvbkRlbGF5ID0gZGVsYXkgKyAncyc7CiAgICAgICAgICAgIHBhcnRpY2xlLnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0gZHVyYXRpb24gKyAncyc7CiAgICAgICAgICAgIHBhcnRpY2xlLnN0eWxlLm9wYWNpdHkgPSAoTWF0aC5yYW5kb20oKSAqIDAuMyArIDAuMSkudG9TdHJpbmcoKTsKCiAgICAgICAgICAgIHBhcnRpY2xlc0NvbnRhaW5lci5hcHBlbmRDaGlsZChwYXJ0aWNsZSk7CiAgICAgICAgfQogICAgfQoKICAgIGNvbnN0IGJvbnVzRGF0YSA9IFsKICAgICAgICB7CiAgICAgICAgICAgIGlkOiAxLAogICAgICAgICAgICB0aXRsZTogIkJFVFRVUktFWSIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvQmV0dHVya2V5LmdpZiIsCiAgICAgICAgICAgIGFtb3VudDogIjEwMDAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIkRlbmVtZSBCb251c3UiLAogICAgICAgICAgICBsaW5rOiAiaHR0cHM6Ly9jdXR0Lmx5L3lyM2tIcFBVIiwKICAgICAgICAgICAgdGhlbWU6ICJ0aGVtZS0xIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogMiwKICAgICAgICAgICAgdGl0bGU6ICJYU0xPVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvWHNsb3QuZ2lmIiwKICAgICAgICAgICAgYW1vdW50OiAiMTAwMCBUTCIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvU3I3eGE4TW8iLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTIiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiAzLAogICAgICAgICAgICB0aXRsZTogIlNVUEVSVE9UT0JFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvU3VwZXJ0b3RvdGJldC5naWYiLAogICAgICAgICAgICBhbW91bnQ6ICIxMDAwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJTw7xwZXIgQm9udXMgRsSxcnNhdMSxIiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS9pcjd6NXFacyIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtMyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgaWQ6IDQsCiAgICAgICAgICAgIHRpdGxlOiAiTUFUQURPUkJFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvTWF0YWRvcmJldC5naWYiLAogICAgICAgICAgICBhbW91bnQ6ICIxMDAwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS8ycjd6N29uNyIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtNCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgaWQ6IDUsCiAgICAgICAgICAgIHRpdGxlOiAiVMSwUE9CRVQiLAogICAgICAgICAgICBsb2dvOiAiQXNzZXRzL1RpcG9iZXQucG5nIiwKICAgICAgICAgICAgYW1vdW50OiAiNzUwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS9acjd6OWs5QSIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtdGlwb2JldCIsCiAgICAgICAgICAgIGZpeGVkOiB0cnVlCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiA2LAogICAgICAgICAgICB0aXRsZTogIkzEsEdPQkVUIiwKICAgICAgICAgICAgbG9nbzogIkFzc2V0cy9MaWdvYmV0LnBuZyIsCiAgICAgICAgICAgIGFtb3VudDogIjc1MCBUTCIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvRnI3eGl2WTQiLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTYiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiA3LAogICAgICAgICAgICB0aXRsZTogIlNPTE9CRVQiLAogICAgICAgICAgICBsb2dvOiAiQXNzZXRzL1NvbG9iZXQuZ2lmIiwKICAgICAgICAgICAgYW1vdW50OiAiNjY2IFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS81cjd4d0k1ZSIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtNyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgaWQ6IDgsCiAgICAgICAgICAgIHRpdGxlOiAiWkJBSMSwUyIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvWmJhaGlzLmdpZiIsCiAgICAgICAgICAgIGFtb3VudDogIjEwMDAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIkRlbmVtZSBCb251c3UiLAogICAgICAgICAgICBsaW5rOiAiaHR0cHM6Ly9jdXR0Lmx5L0ZyN3o0dHI5IiwKICAgICAgICAgICAgdGhlbWU6ICJ0aGVtZS04IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogOSwKICAgICAgICAgICAgdGl0bGU6ICJGxLBYQkVUIiwKICAgICAgICAgICAgbG9nbzogIkFzc2V0cy9GaXhiZXQuZ2lmIiwKICAgICAgICAgICAgYW1vdW50OiAiMTAwMCBUTCIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvT3I3ejRHVlAiLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTkiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiAxMCwKICAgICAgICAgICAgdGl0bGU6ICJPTlfEsE4iLAogICAgICAgICAgICBsb2dvOiAiQXNzZXRzL09ud2luLnBuZyIsCiAgICAgICAgICAgIGFtb3VudDogIjgwMCBUTCIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvZHI3ejRqOEUiLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTEwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogMTEsCiAgICAgICAgICAgIHRpdGxlOiAiU0FIQUJFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvU2FoYWJldC5naWYiLAogICAgICAgICAgICBhbW91bnQ6ICIxMDAwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS9ncjd6OFZwMCIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtMTEiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiAxMiwKICAgICAgICAgICAgdGl0bGU6ICJLUkFMQkVUIiwKICAgICAgICAgICAgbG9nbzogIkFzc2V0cy9LcmFsYmV0LmdpZiIsCiAgICAgICAgICAgIGFtb3VudDogIjUwMDAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIsSwYWRlIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvRnI3ejhwcGwiLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTEyIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogMTMsCiAgICAgICAgICAgIHRpdGxlOiAiQllDQVPEsE5PIiwKICAgICAgICAgICAgbG9nbzogIkFzc2V0cy9CeWNhc2luby5wbmciLAogICAgICAgICAgICBhbW91bnQ6ICI3NTAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIkRlbmVtZSBCb251c3UiLAogICAgICAgICAgICBsaW5rOiAiaHR0cHM6Ly9jdXR0Lmx5L25yN3oyUTdaIiwKICAgICAgICAgICAgdGhlbWU6ICJ0aGVtZS0xMyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgaWQ6IDE0LAogICAgICAgICAgICB0aXRsZTogIk1VTFTEsFfEsE4iLAogICAgICAgICAgICBsb2dvOiAiQXNzZXRzL011bHRpd2luLnBuZyIsCiAgICAgICAgICAgIGFtb3VudDogIjEwMDAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIkRlbmVtZSBCb251c3UiLAogICAgICAgICAgICBsaW5rOiAiaHR0cHM6Ly9jdXR0Lmx5L3ByN3hsZ0pKIiwKICAgICAgICAgICAgdGhlbWU6ICJ0aGVtZS0xNCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgaWQ6IDE1LAogICAgICAgICAgICB0aXRsZTogIk9UT0JFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvT3RvYmV0LnBuZyIsCiAgICAgICAgICAgIGFtb3VudDogIjgwMCBUTCIsCiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiRGVuZW1lIEJvbnVzdSIsCiAgICAgICAgICAgIGxpbms6ICJodHRwczovL2N1dHQubHkvMXI3eGt0dTkiLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTE1IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogMTYsCiAgICAgICAgICAgIHRpdGxlOiAiRE9ET0JFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvRG9kb2JldC5wbmciLAogICAgICAgICAgICBhbW91bnQ6ICIxMDAwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vY3V0dC5seS9ncjd4SGt2dSIsCiAgICAgICAgICAgIHRoZW1lOiAidGhlbWUtMTYiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIGlkOiAxNywKICAgICAgICAgICAgdGl0bGU6ICJTVEFSWkJFVCIsCiAgICAgICAgICAgIGxvZ286ICJBc3NldHMvU3RhcnpiZXQucG5nIiwKICAgICAgICAgICAgYW1vdW50OiAiNzUwIFRMIiwKICAgICAgICAgICAgZGVzY3JpcHRpb246ICJEZW5lbWUgQm9udXN1IiwKICAgICAgICAgICAgbGluazogImh0dHBzOi8vc3RhcnpiZXRrYXlpdG9sLmJldC8iLAogICAgICAgICAgICB0aGVtZTogInRoZW1lLTE3IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBpZDogMTgsCiAgICAgICAgICAgIHRpdGxlOiAiQkVUTUFUxLBLIiwKICAgICAgICAgICAgbG9nbzogIkFzc2V0cy9CZXRtYXRpay5wbmciLAogICAgICAgICAgICBhbW91bnQ6ICI3NTAgVEwiLAogICAgICAgICAgICBkZXNjcmlwdGlvbjogIkRlbmVtZSBCb251c3UiLAogICAgICAgICAgICBsaW5rOiAiaHR0cHM6Ly9jdXR0Lmx5L0FyN3hseW54IiwKICAgICAgICAgICAgdGhlbWU6ICJ0aGVtZS0xOCIKICAgICAgICB9CiAgICBdOwoKICAgIC8vIEthcnRsYXLEsSBvbHXFn3R1cm1hIChUaXBvYmV0IHNhYml0LCBkacSfZXJsZXJpIGthcsSxxZ\/EsWspCiAgICBmdW5jdGlvbiBjcmVhdGVCb251c0NhcmRzKCkgewogICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib251c0NvbnRhaW5lcicpOwogICAgICAgIGlmICghY29udGFpbmVyKSByZXR1cm47CgogICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKCiAgICAgICAgY29uc3QgdGlwb2JldCA9IGJvbnVzRGF0YS5maW5kKGJvbnVzID0+IGJvbnVzLnRpdGxlID09PSAiVMSwUE9CRVQiKTsKICAgICAgICBjb25zdCBvdGhlckJvbnVzZXMgPSBib251c0RhdGEuZmlsdGVyKGJvbnVzID0+IGJvbnVzLnRpdGxlICE9PSAiVMSwUE9CRVQiKTsKCiAgICAgICAgY29uc3Qgc2h1ZmZsZWRCb251c2VzID0gWy4uLm90aGVyQm9udXNlc10uc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTsKICAgICAgICBjb25zdCBmaW5hbEJvbnVzZXMgPSBbdGlwb2JldCwgLi4uc2h1ZmZsZWRCb251c2VzXTsKCiAgICAgICAgZmluYWxCb251c2VzLmZvckVhY2goKGJvbnVzLCBpbmRleCkgPT4gewogICAgICAgICAgICBjb25zdCBjYXJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgIGNvbnN0IGV4dHJhQ2xhc3NlcyA9IGJvbnVzLnRpdGxlID09PSAiVMSwUE9CRVQiID8gIiB0aXBvYmV0LXNwZWNpYWwiIDogIiI7CiAgICAgICAgICAgIGNhcmQuY2xhc3NOYW1lID0gImNhcmQgIiArIGJvbnVzLnRoZW1lICsgZXh0cmFDbGFzc2VzOwoKICAgICAgICAgICAgY2FyZC5zdHlsZS5hbmltYXRpb25EZWxheSA9IChpbmRleCAqIDAuMSkgKyAicyI7CgogICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGAKICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtZ2xvdyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLWZyYW1lIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tZnJhbWUtaW5uZXIiPgogICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iJHtib251cy5sb2dvfSIgYWx0PSIke2JvbnVzLnRpdGxlfSIgY2xhc3M9ImNhcmQtbG9nbyI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8aDMgY2xhc3M9ImNhcmQtdGl0bGUiPiR7Ym9udXMudGl0bGV9PC9oMz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWJhZGdlIj4ke2JvbnVzLnRpdGxlID09PSAiVMSwUE9CRVQiID8gIlBSRU1JVU0iIDogIlBSRU1JVU0ifTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9udXMtYW1vdW50Ij4ke2JvbnVzLmFtb3VudH08L2Rpdj4KICAgICAgICAgICAgPHAgY2xhc3M9ImJvbnVzLWRlc2NyaXB0aW9uIj4ke2JvbnVzLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgICAgICAgPGEgaHJlZj0iJHtib251cy5saW5rfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG4iPkthecSxdCBPbDwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7CgogICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY2FyZCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgLy8gTWlrdGFyIHBhcnNlCiAgICBmdW5jdGlvbiBwYXJzZUFtb3VudChhbW91bnRTdHIpIHsKICAgICAgICBpZiAoIWFtb3VudFN0cikgcmV0dXJuIDA7CiAgICAgICAgY29uc3QgbnVtZXJpYyA9IHBhcnNlSW50KGFtb3VudFN0ci5yZXBsYWNlKC9bXjAtOV0vZywgJycpLCAxMCk7CiAgICAgICAgcmV0dXJuIGlzTmFOKG51bWVyaWMpID8gMCA6IG51bWVyaWM7CiAgICB9CgogICAgLy8gU2F5xLEgYW5pbWFzeW9udQogICAgZnVuY3Rpb24gYW5pbWF0ZU51bWJlcihlbCwgdGFyZ2V0LCB0eXBlKSB7CiAgICAgICAgaWYgKCFlbCkgcmV0dXJuOwogICAgICAgIGNvbnN0IGR1cmF0aW9uID0gMTIwMDsKICAgICAgICBjb25zdCBzdGFydCA9IDA7CiAgICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CgogICAgICAgIGZ1bmN0aW9uIHN0ZXAobm93KSB7CiAgICAgICAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4oKG5vdyAtIHN0YXJ0VGltZSkgLyBkdXJhdGlvbiwgMSk7CiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5mbG9vcihzdGFydCArICh0YXJnZXQgLSBzdGFydCkgKiBwcm9ncmVzcyk7CgogICAgICAgICAgICBpZiAodHlwZSA9PT0gJ1RMJykgewogICAgICAgICAgICAgICAgZWwudGV4dENvbnRlbnQgPSB2YWx1ZS50b0xvY2FsZVN0cmluZygndHItVFInKSArICcgVEwnOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZWwudGV4dENvbnRlbnQgPSB2YWx1ZS50b1N0cmluZygpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAocHJvZ3Jlc3MgPCAxKSB7CiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgIH0KCiAgICAvLyDEsHN0YXRpc3Rpa2xlcmkgZ8O8bmNlbGxlCiAgICBmdW5jdGlvbiB1cGRhdGVTdGF0cygpIHsKICAgICAgICBjb25zdCB0b3RhbFNpdGVzID0gYm9udXNEYXRhLmxlbmd0aDsKICAgICAgICBsZXQgbWF4Qm9udXMgPSAwOwogICAgICAgIGxldCB0b3RhbEJvbnVzID0gMDsKCiAgICAgICAgYm9udXNEYXRhLmZvckVhY2goYm9udXMgPT4gewogICAgICAgICAgICBjb25zdCBhbW91bnQgPSBwYXJzZUFtb3VudChib251cy5hbW91bnQpOwogICAgICAgICAgICBpZiAoYW1vdW50ID4gbWF4Qm9udXMpIG1heEJvbnVzID0gYW1vdW50OwogICAgICAgICAgICB0b3RhbEJvbnVzICs9IGFtb3VudDsKICAgICAgICB9KTsKCiAgICAgICAgYW5pbWF0ZU51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdFNpdGVDb3VudCcpLCB0b3RhbFNpdGVzLCAnJyk7CiAgICAgICAgYW5pbWF0ZU51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdE1heEJvbnVzJyksIG1heEJvbnVzLCAnVEwnKTsKICAgICAgICBhbmltYXRlTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0VG90YWxCb251cycpLCB0b3RhbEJvbnVzLCAnVEwnKTsKICAgIH0KCiAgICAvLyBCYcWfYSBkw7ZuIGJ1dG9udQogICAgZnVuY3Rpb24gaW5pdFNjcm9sbFRvcEJ1dHRvbigpIHsKICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nyb2xsVG9wQnRuJyk7CiAgICAgICAgaWYgKCFidG4pIHJldHVybjsKCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gMjUwKSB7CiAgICAgICAgICAgICAgICBidG4uc3R5bGUub3BhY2l0eSA9ICcxJzsKICAgICAgICAgICAgICAgIGJ0bi5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2F1dG8nOwogICAgICAgICAgICAgICAgYnRuLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKDApJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGJ0bi5zdHlsZS5vcGFjaXR5ID0gJzAnOwogICAgICAgICAgICAgICAgYnRuLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICBidG4uc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoMjBweCknOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICB9CgogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKCkgewogICAgICAgIGNyZWF0ZVBhcnRpY2xlcygpOwogICAgICAgIGNyZWF0ZUJvbnVzQ2FyZHMoKTsKICAgICAgICB1cGRhdGVTdGF0cygpOwogICAgICAgIGluaXRTY3JvbGxUb3BCdXR0b24oKTsKICAgIH0pOwo8L3NjcmlwdD4KPHNjcmlwdCBkZWZlcj0iIiBzcmM9Imh0dHBzOi8vc3RhdGljLmNsb3VkZmxhcmVpbnNpZ2h0cy5jb20vYmVhY29uLm1pbi5qcy92Y2QxNWNiZTc3NzJmNDljMzk5YzZhNWJhYmYyMmMxMjQxNzE3Njg5MTc2MDE1IiBpbnRlZ3JpdHk9InNoYTUxMi1acHNPbWxSUVY2eTkwN1RJMGRLQkhxOU1kMjlubmFFSVBsa2Y4NHJuYUVSbnE2enZXdlBVcXIyZnQ4TTFhUzI4b043MlBkckN6U2pZNFU2VmFBdzFFUT09IiBkYXRhLWNmLWJlYWNvbj0ieyZxdW90O3ZlcnNpb24mcXVvdDs6JnF1b3Q7MjAyNC4xMS4wJnF1b3Q7LCZxdW90O3Rva2VuJnF1b3Q7OiZxdW90OzBhNzM1NzQxYTMyMjQ2NGM4ZDhiMzI2NzQ4MzcyMDVkJnF1b3Q7LCZxdW90O3ImcXVvdDs6MSwmcXVvdDtzZXJ2ZXJfdGltaW5nJnF1b3Q7OnsmcXVvdDtuYW1lJnF1b3Q7OnsmcXVvdDtjZkNhY2hlU3RhdHVzJnF1b3Q7OnRydWUsJnF1b3Q7Y2ZFZGdlJnF1b3Q7OnRydWUsJnF1b3Q7Y2ZFeHRQcmkmcXVvdDs6dHJ1ZSwmcXVvdDtjZkw0JnF1b3Q7OnRydWUsJnF1b3Q7Y2ZPcmlnaW4mcXVvdDs6dHJ1ZSwmcXVvdDtjZlNwZWVkQnJhaW4mcXVvdDs6dHJ1ZX0sJnF1b3Q7bG9jYXRpb25fc3RhcnRzd2l0aCZxdW90OzpudWxsfX0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PgoKPC9ib2R5PjwvaHRtbD4="}}