{"remainingRequest":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\src\\views\\modules\\forum\\list.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\src\\views\\modules\\forum\\list.vue","mtime":1649818275869},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1720078528573},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":1720078529261},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1720078528573},{"path":"D:\\mywork\\buycode\\code1\\springboot301400\\306\\分离\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1720078529317}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBBZGRPclVwZGF0ZSBmcm9tICIuL2FkZC1vci11cGRhdGUiOwppbXBvcnQgc3R5bGVKcyBmcm9tICIuLi8uLi8uLi91dGlscy9zdHlsZS5qcyI7CmltcG9ydCB1dGlsc0pzIGZyb20gIi4uLy4uLy4uL3V0aWxzL3V0aWxzLmpzIjsKCmV4cG9ydCBkZWZhdWx0IHsKICAgIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAgIHNlYXJjaEZvcm06IHsKICAgICAgICAgICAga2V5OiAiIgogICAgICAgIH0sCiAgICAgICAgc2Vzc2lvblRhYmxlIDogIiIsLy/nmbvlvZXotKbmiLfmiYDlnKjooajlkI0KICAgICAgICByb2xlIDogIiIsLy/mnYPpmZAKICAgICAgICB1c2VySWQ6IiIsLy/lvZPliY3nmbvlvZXkurrnmoRpZAovL+e6p+iBlOihqOS4i+aLieahhuaQnOe0ouadoeS7tgovL+W9k+WJjeihqOS4i+aLieahhuaQnOe0ouadoeS7tgogICAgICAgIGZvcm06ewogICAgICAgICAgICBpZCA6IG51bGwsCiAgICAgICAgICAgIGZvcnVtTmFtZSA6IG51bGwsCiAgICAgICAgICAgIHlvbmdodUlkIDogbnVsbCwKICAgICAgICAgICAgdXNlcnNJZCA6IG51bGwsCiAgICAgICAgICAgIGZvcnVtQ29udGVudCA6IG51bGwsCiAgICAgICAgICAgIHN1cGVySWRzIDogbnVsbCwKICAgICAgICAgICAgZm9ydW1TdGF0ZVR5cGVzIDogbnVsbCwKICAgICAgICAgICAgaW5zZXJ0VGltZSA6IG51bGwsCiAgICAgICAgICAgIHVwZGF0ZVRpbWUgOiBudWxsLAogICAgICAgICAgICBjcmVhdGVUaW1lIDogbnVsbCwKICAgICAgICB9LAogICAgICAgIGRhdGFMaXN0OiBbXSwKICAgICAgICBwYWdlSW5kZXg6IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIHRvdGFsUGFnZTogMCwKICAgICAgICBkYXRhTGlzdExvYWRpbmc6IGZhbHNlLAogICAgICAgIGRhdGFMaXN0U2VsZWN0aW9uczogW10sCiAgICAgICAgc2hvd0ZsYWc6IHRydWUsCiAgICAgICAgc2ZzaFZpc2lhYmxlOiBmYWxzZSwKICAgICAgICBzaEZvcm06IHt9LAogICAgICAgIGNoYXJ0VmlzaWFibGU6IGZhbHNlLAogICAgICAgIGVjaGFydHNEYXRlOiBuZXcgRGF0ZSgpLC8vZWNoYXJ0c+eahOaXtumXtOafpeivouWtl+autQogICAgICAgIGFkZE9yVXBkYXRlRmxhZzpmYWxzZSwKICAgICAgICBjb250ZW50czpudWxsLAogICAgICAgIGxheW91dHM6ICcnLAoKICAgICAgICBmb3J1bVJlcGx5RGlhbG9nVmlzaWJsZSA6IGZhbHNlLC8v6K665Z2b5Zue5aSN5qih5oCB5qGGCiAgICAgICAgZm9ydW1SZXBseUluZm9EaWFsb2dWaXNpYmxlIDogZmFsc2UsLy/orrrlnZvlm57lpI3or6bmg4XmqKHmgIHmoYYKICAgICAgICBzdXBlcklkcyA6ICIiLC8v5biW5a2QaWQKICAgICAgICBmb3J1bVRpdGxlIDogIiIsLy/luJblrZDmoIfpopgKICAgICAgICBmb3J1bUNvbnRlbnQgOiAiIiwvL+W4luWtkOWGheWuuQogICAgICAgIGZvcnVtUmVwbHlDb250ZW50IDogIiIsLy/luJblrZDlm57lpI3lhoXlrrkKICAgICAgICBmb3J1bVJlcGx5SW5mb0NvbnRlbnQgOiAiIiwvL+W4luWtkOafkOS4quWbnuWkjeivpuaDhSDlhagKICAgICAgICBmb3J1bURhdGEgOiBbXSwvL+iuuuWdm+WbnuWkjeaVsOaNrumbhuWQiAoKICAgICAgICAvL+WvvOWHumV4Y2VsCiAgICAgICAganNvbl9maWVsZHM6IHsKICAgICAgICAgICAgLy/nuqfogZTooajlrZfmrrUKICAgICAgICAgICAgICAgICAn55So5oi35aeT5ZCNJzogJ3lvbmdodU5hbWUnLAogICAgICAgICAgICAgICAgICflpLTlg48nOiAneW9uZ2h1UGhvdG8nLAogICAgICAgICAgICAgICAgICfmiYvmnLrlj7cnOiAneW9uZ2h1UGhvbmUnLAogICAgICAgICAgICAgICAgICfnlLXlrZDpgq7nrrEnOiAneW9uZ2h1RW1haWwnLAogICAgICAgICAgICAgICAgICfkvZnpop0nOiAnbmV3TW9uZXknLAogICAgICAgICAgICAgICAgICfnlKjmiLflkI0nOiAndXNlcm5hbWUnLAogICAgICAgICAgICAgICAgICfop5LoibInOiAncm9sZScsCiAgICAgICAgICAgICAgICAgJ+aWsOWinuaXtumXtCc6ICdhZGR0aW1lJywKICAgICAgICAgICAgLy/mnKzooajlrZfmrrUKICAgICAgICAgICAgICAgICAn5biW5a2Q5qCH6aKYJzogImZvcnVtTmFtZSIsCiAgICAgICAgICAgICAgICAgJ+eItmlkJzogInN1cGVySWRzIiwKICAgICAgICAgICAgICAgICAn5biW5a2Q54q25oCBJzogImZvcnVtU3RhdGVUeXBlcyIsCiAgICAgICAgICAgICAgICAgJ+WPkeW4luaXtumXtCc6ICJpbnNlcnRUaW1lIiwKICAgICAgICAgICAgICAgICAn5L+u5pS55pe26Ze0JzogInVwZGF0ZVRpbWUiLAogICAgICAgIH0sCgogICAgICAgIH07CiAgICB9LAogICAgY3JlYXRlZCgpIHsKICAgICAgICB0aGlzLmNvbnRlbnRzID0gc3R5bGVKcy5saXN0U3R5bGUoKTsKICAgICAgICB0aGlzLmluaXQoKTsKICAgICAgICB0aGlzLmdldERhdGFMaXN0KCk7CiAgICAgICAgdGhpcy5jb250ZW50U3R5bGVDaGFuZ2UoKQogICAgfSwKICAgIG1vdW50ZWQoKSB7CiAgICAgICAgLy/ojrflj5blvZPliY3nmbvlvZXnlKjmiLfnmoTkv6Hmga8KICAgICAgICB0aGlzLnNlc3Npb25UYWJsZSA9IHRoaXMuJHN0b3JhZ2UuZ2V0KCJzZXNzaW9uVGFibGUiKTsKICAgICAgICB0aGlzLnJvbGUgPSB0aGlzLiRzdG9yYWdlLmdldCgicm9sZSIpOwogICAgICAgIHRoaXMudXNlcklkID0gdGhpcy4kc3RvcmFnZS5nZXQoInVzZXJJZCIpOwoKICAgIH0sCiAgICBmaWx0ZXJzOiB7CiAgICAgICAgaHRtbGZpbHRlcjogZnVuY3Rpb24gKHZhbCkgewogICAgICAgICAgICByZXR1cm4gdmFsLnJlcGxhY2UoLzxbXj5dKj4vZykucmVwbGFjZSgvdW5kZWZpbmVkL2csJycpOwogICAgICAgIH0KICAgIH0sCiAgICBjb21wb25lbnRzOiB7CiAgICAgICAgQWRkT3JVcGRhdGUsCiAgICB9LAogICAgY29tcHV0ZWQ6IHsKICAgIH0sCiAgICBtZXRob2RzOiB7CiAgICAgICAgY2hhcnREaWFsb2coKSB7CiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7CiAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7CiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0IDoiJVkiLCAvLyVZLSVtCiAgICAgICAgICAgICAgICByaXFpIDpfdGhpcy5lY2hhcnRzRGF0ZS5nZXRGdWxsWWVhcigpLAogICAgICAgICAgICAgICAgLy8gcmlxaSA6X3RoaXMuZWNoYXJ0c0RhdGUuZ2V0RnVsbFllYXIoKSsiLSIrKF90aGlzLmVjaGFydHNEYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyAnMCcgKyAoX3RoaXMuZWNoYXJ0c0RhdGUuZ2V0TW9udGgoKSArIDEpIDogX3RoaXMuZWNoYXJ0c0RhdGUuZ2V0TW9udGgoKSArIDEpLAogICAgICAgICAgICAgICAgdGhpc1RhYmxlIDogey8v5b2T5YmN6KGoCiAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lIDonZm9ydW0nLC8v5b2T5YmN6KGo6KGo5ZCNLAogICAgICAgICAgICAgICAgICAgIHN1bUNvbHVtIDogJ2ZvcnVtX251bWJlcicsIC8v5rGC5ZKM5a2X5q61CiAgICAgICAgICAgICAgICAgICAgZGF0ZSA6ICdpbnNlcnRfdGltZScsLy/liIbnu4Tml6XmnJ/lrZfmrrUKICAgICAgICAgICAgICAgICAgICAvLyBzdHJpbmcgOiAnZm9ydW1fbmFtZScsLy/liIbnu4TlrZfnrKbkuLLlrZfmrrUKICAgICAgICAgICAgICAgICAgICAvLyB0eXBlcyA6ICdmb3J1bV90eXBlcycsLy/liIbnu4TkuIvmi4nmoYblrZfmrrUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAvLyBqb2luVGFibGUgOiB7Ly/nuqfogZTooajvvIjlj6/ku6XkuI3lrZjlnKjvvIkKICAgICAgICAgICAgICAgIC8vICAgICB0YWJsZU5hbWUgOid5b25naHUnLC8v57qn6IGU6KGo6KGo5ZCNCiAgICAgICAgICAgICAgICAvLyAgICAgLy8gZGF0ZSA6ICdpbnNlcnRfdGltZScsLy/liIbnu4Tml6XmnJ/lrZfmrrUKICAgICAgICAgICAgICAgIC8vICAgICBzdHJpbmcgOiAneW9uZ2h1X25hbWUnLC8v5YiG57uE5a2X56ym5Liy5a2X5q61CiAgICAgICAgICAgICAgICAvLyAgICAgLy8gdHlwZXMgOiAneW9uZ2h1X3R5cGVzJywvL+WIhue7hOS4i+aLieahhuWtl+autQogICAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICB9CiAgICAgICAgICAgIF90aGlzLmNoYXJ0VmlzaWFibGUgPSB0cnVlOwogICAgICAgICAgICBfdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgICAgICAgdmFyIHN0YXRpc3RpYyA9IHRoaXMuJGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdGlzdGljIiksICdtYWNhcm9ucycpOwogICAgICAgICAgICAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICAgICAgdXJsOiAiYmFyU3VtIiwKICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICJnZXQiLAogICAgICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zCiAgICAgICAgICAgICAgICB9KS50aGVuKCh7ZGF0YX0pID0+IHsKICAgICAgICAgICAgICAgICAgICBpZihkYXRhICYmIGRhdGEuY29kZSA9PT0gMCl7CgogICAgICAgICAgICAgICAgICAgICAgICAvL+afseeKtuWbviDmsYLlkowg5bey5oiQ5Yqf5L2/55SoCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc3RhcnQKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHlBeGlzTmFtZSA9ICLmlbDlgLwiOy8v5qC55o2u5p+l6K+i5pWw5o2u5YW35L2T5pS5KOWNleWIl+imgeaUuSzlpJrliJfkuI3mlLkpCiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB4QXhpc05hbWUgPSAi5pyI5Lu9IjsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlcmllcyA9IFtdOy8v5YW35L2T5pWw5o2u5YC8CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZGF0YS55QXhpcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtLGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGVtcE1hcCA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGVtcE1hcC5uYW1lPSBbIuaVsOWAvCJdOy8v5qC55o2u5p+l6K+i5pWw5o2u5YW35L2T5pS5KOWNleWIl+imgeaUuSzlpJrliJfkuI3mlLkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTWFwLm5hbWU9ZGF0YS5kYXRhLmxlZ2VuZFtpbmRleF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTWFwLnR5cGU9J2Jhcic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTWFwLmRhdGE9aXRlbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmllcy5wdXNoKHRlbXBNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgfSkKCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvcHRpb24gPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2F4aXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF4aXNQb2ludGVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjcm9zcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzU3R5bGU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzk5OScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkYXRhVmlldzogeyBzaG93OiB0cnVlLCByZWFkT25seTogZmFsc2UgfSwgIC8vIOaVsOaNruafpeeciwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdpY1R5cGU6IHsgc2hvdzogdHJ1ZSwgdHlwZTogWydsaW5lJywgJ2JhciddIH0sLy/liIfmjaLlm77lvaLlsZXnpLrmlrnlvI8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzdG9yZTogeyBzaG93OiB0cnVlIH0sIC8vIOWIt+aWsAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlQXNJbWFnZTogeyBzaG93OiB0cnVlIH0vL+S/neWtmAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLmRhdGEubGVnZW5kLy/moIfpopggIOWPr+S7peeCueWHu+WvvOiHtOafkOS4gOWIl+aVsOaNrua2iOWksQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhBeGlzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB4QXhpc05hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEuZGF0YS54QXhpcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXhpc1BvaW50ZXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzaGFkb3cnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeUF4aXM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd2YWx1ZScsLy/kuI3og73mlLkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeUF4aXNOYW1lLC8veei9tOWNleS9jQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBheGlzTGFiZWw6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogJ3t2YWx1ZX0nIC8vIOWQjue8gAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmllczpzZXJpZXMvL+WFt+S9k+aVsOaNrgogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICAvLyDkvb/nlKjliJrmjIflrprnmoTphY3nva7pobnlkozmlbDmja7mmL7npLrlm77ooajjgIIKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGlzdGljLnNldE9wdGlvbihvcHRpb24sdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8v5qC55o2u56qX5Y+j55qE5aSn5bCP5Y+Y5Yqo5Zu+6KGoCiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpc3RpYy5yZXNpemUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9lbmQKICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogIuaKpeihqOacquafpeivouWIsOaVsOaNriIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTUwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIC8vLy/ppbznirblm74KICAgICAgICAgICAgLy9fdGhpcy5jaGFydFZpc2lhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgLy8gdGhpcy4kbmV4dFRpY2soKCk9PnsKICAgICAgICAgICAgLy8gICAgIHZhciBzdGF0aXN0aWMgPSB0aGlzLiRlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXRpc3RpYyIpLCdtYWNhcm9ucycpOwogICAgICAgICAgICAvLyAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAgICAgICAgLy8gICAgICAgICB0YWJsZU5hbWU6ICJmb3J1bSIsCiAgICAgICAgICAgIC8vICAgICAgICAgZ3JvdXBDb2x1bW46ICJmb3J1bV90eXBlcyIsCiAgICAgICAgICAgIC8vICAgICB9CiAgICAgICAgICAgIC8vICAgICB0aGlzLiRodHRwKHsKICAgICAgICAgICAgLy8gICAgICAgICB1cmw6ICJuZXdTZWxlY3RHcm91cENvdW50IiwKICAgICAgICAgICAgLy8gICAgICAgICBtZXRob2Q6ICJnZXQiLAogICAgICAgICAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zCiAgICAgICAgICAgIC8vICAgICB9KS50aGVuKCh7ZGF0YX0pID0+IHsKICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGV0IHJlcyA9IGRhdGEuZGF0YTsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGV0IHhBeGlzID0gW107CiAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldCB5QXhpcyA9IFtdOwogICAgICAgICAgICAvLyAgICAgICAgICAgICBsZXQgcEFycmF5ID0gW10KICAgICAgICAgICAgLy8gICAgICAgICAgICAgdmFyIG9wdGlvbiA9IHt9OwogICAgICAgICAgICAvLyAgICAgICAgICAgICBmb3IobGV0IGk9MDtpPHJlcy5sZW5ndGg7aSsrKXsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHhBeGlzLnB1c2gocmVzW2ldLm5hbWUpOwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgeUF4aXMucHVzaChyZXNbaV0udmFsdWUpOwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcEFycmF5LnB1c2goewogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiByZXNbaV0udmFsdWUsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzW2ldLm5hbWUKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBvcHRpb24gPSB7CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ+S/nemZqeWQiOWQjOexu+Wei+e7n+iuoScsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICdjZW50ZXInCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyOiAne2J9IDoge2N9ICh7ZH0lKScKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHNlcmllczogWwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAncGllJywKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl1czogJzU1JScsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFsnNTAlJywgJzYwJSddLAogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogcEFycmF5LAogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1waGFzaXM6IHsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd09mZnNldFg6IDAsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjUpJwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vICAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHN0YXRpc3RpYy5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHN0YXRpc3RpYy5yZXNpemUoKTsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vICAgICAgICAgfQogICAgICAgICAgICAvLyAgICAgfSk7CiAgICAgICAgICAgIC8vIH0pCiAgICAgICAgfSwKICAgICAgICBjb250ZW50U3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgIHRoaXMuY29udGVudFNlYXJjaFN0eWxlQ2hhbmdlKCkKICAgICAgICAgICAgdGhpcy5jb250ZW50QnRuQWRBbGxTdHlsZUNoYW5nZSgpCiAgICAgICAgICAgIHRoaXMuY29udGVudFNlYXJjaEJ0blN0eWxlQ2hhbmdlKCkKICAgICAgICAgICAgdGhpcy5jb250ZW50VGFibGVCdG5TdHlsZUNoYW5nZSgpCiAgICAgICAgICAgIHRoaXMuY29udGVudFBhZ2VTdHlsZUNoYW5nZSgpCiAgICAgICAgfSwKICAgICAgICBjb250ZW50U2VhcmNoU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtaW5wdXRfX2lubmVyJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgbGV0IHRleHRBbGlnbiA9ICdsZWZ0JwogICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuY29udGVudHMuaW5wdXRGb250UG9zaXRpb24gPT0gMikKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduID0gJ2NlbnRlcicKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMuaW5wdXRGb250UG9zaXRpb24gPT0gMykgdGV4dEFsaWduID0gJ3JpZ2h0JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUudGV4dEFsaWduID0gdGV4dEFsaWduCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUubGluZUhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmlucHV0Rm9udENvbG9yCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy5pbnB1dEZvbnRTaXplCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy5pbnB1dEJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5pbnB1dEJvcmRlclN0eWxlCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy5pbnB1dEJvcmRlckNvbG9yCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMuaW5wdXRCb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5pbnB1dEJnQ29sb3IKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy5pbnB1dFRpdGxlKSB7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmZvcm0tY29udGVudCAuc2x0IC5lbC1mb3JtLWl0ZW1fX2xhYmVsJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy5pbnB1dFRpdGxlQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLmlucHV0VGl0bGVTaXplCiAgICAgICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmxpbmVIZWlnaHQgPSB0aGlzLmNvbnRlbnRzLmlucHV0SGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtaW5wdXRfX3ByZWZpeCcpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5jb2xvciA9IHRoaXMuY29udGVudHMuaW5wdXRJY29uQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUubGluZUhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtaW5wdXRfX3N1ZmZpeCcpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5jb2xvciA9IHRoaXMuY29udGVudHMuaW5wdXRJY29uQ29sb3IKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUubGluZUhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLnNsdCAuZWwtaW5wdXRfX2ljb24nKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUubGluZUhlaWdodCA9IHRoaXMuY29udGVudHMuaW5wdXRIZWlnaHQKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMTAgKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgLy8g5pCc57Si5oyJ6ZKuCiAgICAgICAgY29udGVudFNlYXJjaEJ0blN0eWxlQ2hhbmdlKCkgewogICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5zbHQgLmVsLWJ1dHRvbi0tc3VjY2VzcycpLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IHRoaXMuY29udGVudHMuc2VhcmNoQnRuSGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLnNlYXJjaEJ0bkZvbnRDb2xvcgogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Gb250U2l6ZQogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Cb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Cb3JkZXJTdHlsZQogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5Cb3JkZXJDb2xvcgogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMuc2VhcmNoQnRuQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5zZWFyY2hCdG5CZ0NvbG9yCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgLy8g5paw5aKe44CB5om56YeP5Yig6ZmkCiAgICAgICAgY29udGVudEJ0bkFkQWxsU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mb3JtLWNvbnRlbnQgLmFkIC5lbC1idXR0b24tLXN1Y2Nlc3MnKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsSGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQWRkRm9udENvbG9yCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsRm9udFNpemUKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlclN0eWxlCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyQ29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyQ29sb3IKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEFkZEJnQ29sb3IKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5hZCAuZWwtYnV0dG9uLS1kYW5nZXInKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsSGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuY29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsRGVsRm9udENvbG9yCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZm9udFNpemUgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsRm9udFNpemUKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJXaWR0aAogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlclN0eWxlCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyQ29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyQ29sb3IKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyUmFkaXVzCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbERlbEJnQ29sb3IKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZm9ybS1jb250ZW50IC5hZCAuZWwtYnV0dG9uLS13YXJuaW5nJykuZm9yRWFjaChlbCA9PiB7CiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEhlaWdodAogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy5idG5BZEFsbFdhcm5Gb250Q29sb3IKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxGb250U2l6ZQogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy5idG5BZEFsbEJvcmRlcldpZHRoCiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuYm9yZGVyU3R5bGUgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsQm9yZGVyU3R5bGUKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJDb2xvcgogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMuYnRuQWRBbGxCb3JkZXJSYWRpdXMKICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNvbnRlbnRzLmJ0bkFkQWxsV2FybkJnQ29sb3IKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICAvLyDooajmoLwKICAgICAgICByb3dTdHlsZSh7cm93LCByb3dJbmRleH0pIHsKICAgICAgICAgICAgaWYgKHJvd0luZGV4ICUgMiA9PSAxKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy50YWJsZVN0cmlwZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB7Y29sb3I6IHRoaXMuY29udGVudHMudGFibGVTdHJpcGVGb250Q29sb3J9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJycKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY2VsbFN0eWxlKHtyb3csIHJvd0luZGV4fSkgewogICAgICAgICAgICBpZiAocm93SW5kZXggJSAyID09IDEpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnRhYmxlU3RyaXBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuY29udGVudHMudGFibGVTdHJpcGVCZ0NvbG9yfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuICcnCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGhlYWRlclJvd1N0eWxlKHtyb3csIHJvd0luZGV4fSkgewogICAgICAgICAgICByZXR1cm4ge2NvbG9yOiB0aGlzLmNvbnRlbnRzLnRhYmxlSGVhZGVyRm9udENvbG9yfQogICAgICAgIH0sCiAgICAgICAgaGVhZGVyQ2VsbFN0eWxlKHtyb3csIHJvd0luZGV4fSkgewogICAgICAgICAgICByZXR1cm4ge2JhY2tncm91bmRDb2xvcjogdGhpcy5jb250ZW50cy50YWJsZUhlYWRlckJnQ29sb3J9CiAgICAgICAgfSwKICAgICAgICAvLyDooajmoLzmjInpkq4KICAgICAgICBjb250ZW50VGFibGVCdG5TdHlsZUNoYW5nZSgpIHsKICAgICAgICAgICAgLy8gdGhpcy4kbmV4dFRpY2soKCk9PnsKICAgICAgICAgICAgLy8gICBzZXRUaW1lb3V0KCgpPT57CiAgICAgICAgICAgIC8vICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGFibGUtY29udGVudCAudGFibGVzIC5lbC10YWJsZV9fYm9keSAuZWwtYnV0dG9uLS1zdWNjZXNzJykuZm9yRWFjaChlbD0+ewogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuSGVpZ2h0CiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkRldGFpbEZvbnRDb2xvcgogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMudGFibGVCdG5Gb250U2l6ZQogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJXaWR0aAogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJTdHlsZQogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJDb2xvcgogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyUmFkaXVzCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5EZXRhaWxCZ0NvbG9yCiAgICAgICAgICAgIC8vICAgICB9KQogICAgICAgICAgICAvLyAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRhYmxlLWNvbnRlbnQgLnRhYmxlcyAuZWwtdGFibGVfX2JvZHkgLmVsLWJ1dHRvbi0tcHJpbWFyeScpLmZvckVhY2goZWw9PnsKICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkhlaWdodAogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5jb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5FZGl0Rm9udENvbG9yCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmZvbnRTaXplID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkZvbnRTaXplCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlcldpZHRoID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlcldpZHRoCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlclN0eWxlID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlclN0eWxlCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlckNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkJvcmRlckNvbG9yCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJvcmRlclJhZGl1cyA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJSYWRpdXMKICAgICAgICAgICAgLy8gICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkVkaXRCZ0NvbG9yCiAgICAgICAgICAgIC8vICAgICB9KQogICAgICAgICAgICAvLyAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRhYmxlLWNvbnRlbnQgLnRhYmxlcyAuZWwtdGFibGVfX2JvZHkgLmVsLWJ1dHRvbi0tZGFuZ2VyJykuZm9yRWFjaChlbD0+ewogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuSGVpZ2h0CiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmNvbG9yID0gdGhpcy5jb250ZW50cy50YWJsZUJ0bkRlbEZvbnRDb2xvcgogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5mb250U2l6ZSA9IHRoaXMuY29udGVudHMudGFibGVCdG5Gb250U2l6ZQogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJXaWR0aCA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJXaWR0aAogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJTdHlsZSA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJTdHlsZQogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5Cb3JkZXJDb2xvcgogICAgICAgICAgICAvLyAgICAgICBlbC5zdHlsZS5ib3JkZXJSYWRpdXMgPSB0aGlzLmNvbnRlbnRzLnRhYmxlQnRuQm9yZGVyUmFkaXVzCiAgICAgICAgICAgIC8vICAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29udGVudHMudGFibGVCdG5EZWxCZ0NvbG9yCiAgICAgICAgICAgIC8vICAgICB9KQoKICAgICAgICAgICAgLy8gICB9LCA1MCkKICAgICAgICAgICAgLy8gfSkKICAgICAgICB9LAogICAgICAgIC8vIOWIhumhtQogICAgICAgIGNvbnRlbnRQYWdlU3R5bGVDaGFuZ2UoKSB7CiAgICAgICAgICAgIGxldCBhcnIgPSBbXQogICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy5wYWdlVG90YWwpIGFyci5wdXNoKCd0b3RhbCcpCiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzLnBhZ2VTaXplcykgYXJyLnB1c2goJ3NpemVzJykKICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMucGFnZVByZXZOZXh0KSB7CiAgICAgICAgICAgICAgICBhcnIucHVzaCgncHJldicpCiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZW50cy5wYWdlUGFnZXIpIGFyci5wdXNoKCdwYWdlcicpCiAgICAgICAgICAgICAgICBhcnIucHVzaCgnbmV4dCcpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMucGFnZUp1bXBlcikgYXJyLnB1c2goJ2p1bXBlcicpCiAgICAgICAgICAgIHRoaXMubGF5b3V0cyA9IGFyci5qb2luKCkKICAgICAgICAgICAgdGhpcy5jb250ZW50cy5wYWdlRWFjaE51bSA9IDEwCiAgICAgICAgfSwKCiAgICAgICAgaW5pdCgpIHsKICAgICAgICB9LAogICAgICAgIHNlYXJjaCgpIHsKICAgICAgICAgICAgdGhpcy5wYWdlSW5kZXggPSAxOwogICAgICAgICAgICB0aGlzLmdldERhdGFMaXN0KCk7CiAgICAgICAgfSwKICAgICAgICAvLyDojrflj5bmlbDmja7liJfooagKICAgICAgICBnZXREYXRhTGlzdCgpIHsKICAgICAgICAgICAgdGhpcy5kYXRhTGlzdExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICBsZXQgcGFyYW1zID0gewogICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlSW5kZXgsCiAgICAgICAgICAgICAgICBsaW1pdDogdGhpcy5wYWdlU2l6ZSwKICAgICAgICAgICAgICAgIHNvcnQ6ICdpZCcsCiAgICAgICAgICAgICAgICBmb3J1bVN0YXRlVHlwZXM6MQogICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaEZvcm0ueW9uZ2h1TmFtZSE9ICcnICYmIHRoaXMuc2VhcmNoRm9ybS55b25naHVOYW1lIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBwYXJhbXNbJ3lvbmdodU5hbWUnXSA9ICclJyArIHRoaXMuc2VhcmNoRm9ybS55b25naHVOYW1lICsgJyUnCiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHRoaXMuc2VhcmNoRm9ybS5mb3J1bU5hbWUhPSAnJyAmJiB0aGlzLnNlYXJjaEZvcm0uZm9ydW1OYW1lIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBwYXJhbXNbJ2ZvcnVtTmFtZSddID0gJyUnICsgdGhpcy5zZWFyY2hGb3JtLmZvcnVtTmFtZSArICclJwogICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBwYXJhbXNbJ2ZvcnVtRGVsZXRlJ10gPSAxLy8g6YC76L6R5Yig6Zmk5a2X5q61IDEg5pyq5Yig6ZmkIDIg5Yig6ZmkCgoKICAgICAgICAgICAgdGhpcy4kaHR0cCh7CiAgICAgICAgICAgICAgICB1cmw6ICJmb3J1bS9saXN0IiwKICAgICAgICAgICAgICAgIG1ldGhvZDogImdldCIsCiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtcwogICAgICAgICAgICB9KS50aGVuKCh7ZGF0YX0pID0+IHsKICAgICAgICAgICAgICAgIGlmKGRhdGEgJiYgZGF0YS5jb2RlID09PSAwKXsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFMaXN0ID0gZGF0YS5kYXRhLmxpc3Q7CiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3RhbFBhZ2UgPSBkYXRhLmRhdGEudG90YWw7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFMaXN0ID0gW107CiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3RhbFBhZ2UgPSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5kYXRhTGlzdExvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvL+afpeivoue6p+iBlOihqOaQnOe0ouadoeS7tuaJgOacieWIl+ihqAogICAgICAgICAgICAvL+afpeivouW9k+WJjeihqOaQnOe0ouadoeS7tuaJgOacieWIl+ihqAogICAgICAgIH0sCiAgICAgICAgLy/mr4/pobXmlbAKICAgICAgICBzaXplQ2hhbmdlSGFuZGxlKHZhbCkgewogICAgICAgICAgICB0aGlzLnBhZ2VTaXplID0gdmFsOwogICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IDE7CiAgICAgICAgICAgIHRoaXMuZ2V0RGF0YUxpc3QoKTsKICAgICAgICB9LAogICAgICAgIC8vIOW9k+WJjemhtQogICAgICAgIGN1cnJlbnRDaGFuZ2VIYW5kbGUodmFsKSB7CiAgICAgICAgICAgIHRoaXMucGFnZUluZGV4ID0gdmFsOwogICAgICAgICAgICB0aGlzLmdldERhdGFMaXN0KCk7CiAgICAgICAgfSwKICAgICAgICAvLyDlpJrpgIkKICAgICAgICBzZWxlY3Rpb25DaGFuZ2VIYW5kbGVyKHZhbCkgewogICAgICAgICAgICB0aGlzLmRhdGFMaXN0U2VsZWN0aW9ucyA9IHZhbDsKICAgICAgICB9LAogICAgICAgIC8vIOa3u+WKoC/kv67mlLkKICAgICAgICBhZGRPclVwZGF0ZUhhbmRsZXIoaWQsIHR5cGUpIHsKICAgICAgICAgICAgdGhpcy5zaG93RmxhZyA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLmFkZE9yVXBkYXRlRmxhZyA9IHRydWU7CiAgICAgICAgICAgIHRoaXMuY3Jvc3NBZGRPclVwZGF0ZUZsYWcgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKHR5cGUgIT0gJ2luZm8nKSB7CiAgICAgICAgICAgICAgICB0eXBlID0gJ2Vsc2UnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuYWRkT3JVcGRhdGUuaW5pdChpZCwgdHlwZSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCiAgICAgICAgLy8g5LiL6L29CiAgICAgICAgZG93bmxvYWQoZmlsZSkgewogICAgICAgICAgICB3aW5kb3cub3BlbigiICR7ZmlsZX0gIikKICAgICAgICB9LAogICAgICAgIC8vIOWIoOmZpAogICAgICAgIGRlbGV0ZUhhbmRsZXIoaWQpIHsKICAgICAgICAgICAgdmFyIGlkcyA9IGlkID8gW051bWJlcihpZCldIDogdGhpcy5kYXRhTGlzdFNlbGVjdGlvbnMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihpdGVtLmlkKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB0aGlzLiRjb25maXJtKGDnoa7lrprov5vooYxbJHtpZCA/ICLliKDpmaQiIDogIuaJuemHj+WIoOmZpCJ9XeaTjeS9nD9gLCAi5o+Q56S6IiwgewogICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICB0aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgICAgICB1cmw6ICJmb3J1bS9kZWxldGUiLAogICAgICAgICAgICAgICAgICAgIG1ldGhvZDogInBvc3QiLAogICAgICAgICAgICAgICAgICAgIGRhdGE6IGlkcwogICAgICAgICAgICAgICAgfSkudGhlbigoe2RhdGF9KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3J1bVJlcGx5RGlhbG9nVmlzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGRhdGEubXNnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgICAvLyDlr7zlhaXlip/og73kuIrkvKDmlofku7bmiJDlip/lkI7osIPnlKjlr7zlhaXmlrnms5UKICAgICAgICBmb3J1bVVwbG9hZFN1Y2Nlc3MoZGF0YSl7CiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7CiAgICAgICAgICAgIF90aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgIHVybDogImZvcnVtL2JhdGNoSW5zZXJ0P2ZpbGVOYW1lPSIgKyBkYXRhLmZpbGUsCiAgICAgICAgICAgICAgICBtZXRob2Q6ICJnZXQiCiAgICAgICAgICAgIH0pLnRoZW4oKHtkYXRhfSkgPT4gewogICAgICAgICAgICAgICAgaWYoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApewogICAgICAgICAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogIuWvvOWFpeiuuuWdm+aVsOaNruaIkOWKnyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLnNlYXJjaCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBfdGhpcy4kbWVzc2FnZS5lcnJvcihkYXRhLm1zZyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICB9LAogICAgICAgIC8vIOWvvOWFpeWKn+iDveS4iuS8oOaWh+S7tuWksei0peWQjuiwg+eUqOWvvOWFpeaWueazlQogICAgICAgIGZvcnVtVXBsb2FkRXJyb3IoZGF0YSl7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S4iuS8oOWksei0pScpOwogICAgICAgIH0sCiAgICAgICAgLy8g5omT5byA5Zue5biW5qih5oCB5qGGCiAgICAgICAgb3BlblJlcGx5Rm9ydW0oaWQsZm9ydW1OYW1lLGZvcnVtQ29udGVudCkgewogICAgICAgICAgICBsZXQgX3RoaXMgPSB0aGlzOwogICAgICAgIC8vIOW9k+WJjeW4luWtkOebuOWFsyBzdGFydAogICAgICAgICAgICBfdGhpcy5zdXBlcklkcyA9IGlkOwogICAgICAgICAgICBfdGhpcy5mb3J1bVRpdGxlID0gZm9ydW1OYW1lOwogICAgICAgICAgICBfdGhpcy5mb3J1bUNvbnRlbnQgPSBmb3J1bUNvbnRlbnQ7CiAgICAgICAgLy8g5b2T5YmN5biW5a2Q55u45YWzIGVuZAogICAgICAgICAgICBfdGhpcy5mb3J1bVJlcGx5Q29udGVudCA9ICIiOy8v5biW5a2Q5Zue5aSNCiAgICAgICAgICAgIF90aGlzLmZvcnVtUmVwbHlEaWFsb2dWaXNpYmxlID0gdHJ1ZTsvL+iuuuWdm+WbnuWkjeaooeaAgeahhgogICAgICAgICAgICBfdGhpcy5mb3J1bVJlcGx5SW5mb0RpYWxvZ1Zpc2libGUgPSBmYWxzZTsvL+iuuuWdm+WbnuWkjeivpuaDheaooeaAgeahhgoKCiAgICAgICAgICAgIC8vIOafpeeci+W9k+WJjeW4luWtkOeahOWbnuWkjeWIl+ihqAogICAgICAgICAgICBsZXQgcGFyYW1zID0gewogICAgICAgICAgICAgICAgcGFnZTogMSwKICAgICAgICAgICAgICAgIGxpbWl0OiAxMDAwMCwKICAgICAgICAgICAgICAgIHNvcnQ6ICdpZCcsCiAgICAgICAgICAgICAgICBmb3J1bVN0YXRlVHlwZXM6MiwKICAgICAgICAgICAgICAgIHN1cGVySWRzOl90aGlzLnN1cGVySWRzCiAgICAgICAgICAgIH0KICAgICAgICAgICAgX3RoaXMuJGh0dHAoewogICAgICAgICAgICAgICAgdXJsOiAiZm9ydW0vbGlzdCIsCiAgICAgICAgICAgICAgICBtZXRob2Q6ICJnZXQiLAogICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMKICAgICAgICAgICAgfSkudGhlbigoe2RhdGF9KSA9PiB7CiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICBfdGhpcy5mb3J1bURhdGEgPSBbXTsKICAgICAgICAgICAgICAgICAgICBkYXRhLmRhdGEubGlzdC5mb3JFYWNoKGVsPT57CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmb3J1bSAgPSB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0uaWQgPSBlbC5pZDsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0uZm9ydW1OYW1lID0gZWwuZm9ydW1OYW1lOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS55b25naHVJZCA9IGVsLnlvbmdodUlkOy8vLS0tCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcnVtLnlvbmdodU5hbWUgPSBlbC55b25naHVOYW1lOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS55b25naHVQaG90byA9IGVsLnlvbmdodVBob3RvOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS55b25naHVQaG9uZSA9IGVsLnlvbmdodVBob25lOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS55b25naHVFbWFpbCA9IGVsLnlvbmdodUVtYWlsOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS5uZXdNb25leSA9IGVsLm5ld01vbmV5OwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS55b25naHVEZWxldGUgPSBlbC55b25naHVEZWxldGU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcnVtLmNyZWF0ZVRpbWUgPSBlbC5jcmVhdGVUaW1lOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS51c2Vyc0lkID0gZWwudXNlcnNJZDsvLy0tLQogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS51c2VybmFtZSA9IGVsLnVzZXJuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS5wYXNzd29yZCA9IGVsLnBhc3N3b3JkOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS5yb2xlID0gZWwucm9sZTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0uYWRkdGltZSA9IGVsLmFkZHRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcnVtLmZvcnVtQ29udGVudCA9IGVsLmZvcnVtQ29udGVudDsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0uc3VwZXJJZHMgPSBlbC5zdXBlcklkczsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0uZm9ydW1TdGF0ZVR5cGVzID0gZWwuZm9ydW1TdGF0ZVR5cGVzOwogICAgICAgICAgICAgICAgICAgICAgICBmb3J1bS5pbnNlcnRUaW1lID0gZWwuaW5zZXJ0VGltZTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ydW0udXBkYXRlVGltZSA9IGVsLnVwZGF0ZVRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcnVtLmNyZWF0ZVRpbWUgPSBlbC5jcmVhdGVUaW1lOwogICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5mb3J1bURhdGEucHVzaChmb3J1bSk7CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgLy8g5p+l55yL5p+Q5Liq5Zue5aSN5biW5a2Q55qE5biW5a2Q5YaF5a655YWo6YOoCiAgICAgICAgc2VlRm9ydW1Db250ZW50KGZvcnVtQ29udGVudCkgewogICAgICAgICAgICBsZXQgX3RoaXMgPSB0aGlzOwogICAgICAgICAgICBfdGhpcy5mb3J1bVJlcGx5SW5mb0NvbnRlbnQgPSBmb3J1bUNvbnRlbnQ7Ly/luJblrZDmn5DkuKrlm57lpI3or6bmg4Ug5YWoCiAgICAgICAgICAgIF90aGlzLmZvcnVtUmVwbHlJbmZvRGlhbG9nVmlzaWJsZSA9IHRydWU7Ly/orrrlnZvlm57lpI3or6bmg4XmqKHmgIHmoYYKICAgICAgICB9LAogICAgICAgIC8vIOWIoOmZpOaVsOaNrgogICAgICAgIGRlbGV0ZUZvcnVtRGF0YShpZCl7CiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7CiAgICAgICAgICAgIGxldCBpZHMgPSBbXTsKICAgICAgICAgICAgaWRzLnB1c2goTnVtYmVyKGlkKSk7CiAgICAgICAgICAgIF90aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgIHVybDogImZvcnVtL2RlbGV0ZSIsCiAgICAgICAgICAgICAgICBtZXRob2Q6ICJwb3N0IiwKICAgICAgICAgICAgICAgIGRhdGE6IGlkcwogICAgICAgICAgICB9KS50aGVuKCh7ZGF0YX0pID0+IHsKICAgICAgICAgICAgICAgIGlmKGRhdGEgJiYgZGF0YS5jb2RlID09PSAwKXsKICAgICAgICAgICAgICAgICAgICBfdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLliKDpmaTlm57luJbmiJDlip8iLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwLAogICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5vcGVuUmVwbHlGb3J1bShfdGhpcy5zdXBlcklkcyxfdGhpcy5mb3J1bVRpdGxlLF90aGlzLmZvcnVtQ29udGVudCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKGRhdGEubXNnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKCiAgICAgICAgLy8g5Zue5biWCiAgICAgICAgZm9ydW1SZXBseSgpIHsKICAgICAgICAgICAgbGV0IF90aGlzID0gdGhpczsKICAgICAgICAgICAgaWYoX3RoaXMuZm9ydW1SZXBseUNvbnRlbnQgPT0gIiIpewogICAgICAgICAgICAgICAgYWxlcnQoIuivt+i+k+WFpeWbnuW4luWGheWuuSIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxldCBkYXRhID0geyJzdXBlcklkcyI6X3RoaXMuc3VwZXJJZHMsImZvcnVtU3RhdGVUeXBlcyI6MiwiZm9ydW1Db250ZW50IjpfdGhpcy5mb3J1bVJlcGx5Q29udGVudH07CiAgICAgICAgICAgIF90aGlzLiRodHRwKHsKICAgICAgICAgICAgICAgIHVybDpgZm9ydW0vc2F2ZWAsCiAgICAgICAgICAgICAgICBtZXRob2Q6ICJwb3N0IiwKICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEKICAgICAgICAgICAgfSkudGhlbigoeyBkYXRhIH0pID0+IHsKICAgICAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIF90aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogIuWbnuW4luaIkOWKnyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLm9wZW5SZXBseUZvcnVtKF90aGlzLnN1cGVySWRzLF90aGlzLmZvcnVtVGl0bGUsX3RoaXMuZm9ydW1Db250ZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBfdGhpcy4kbWVzc2FnZS5lcnJvcihkYXRhLm1zZyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sICAgICAgICB9Cn07Cg=="},{"version":3,"sources":["list.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"list.vue","sourceRoot":"src/views/modules/forum","sourcesContent":["\r\n\r\n\r\n\r\n\r\n"]}]}