{"remainingRequest":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\tj_zsj_web\\src\\components\\layout\\SideMenu\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\src\\components\\layout\\SideMenu\\index.vue","mtime":1741330407678},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\babel.config.js","mtime":1741330404271},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS90al96c2pfd2ViL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvdGpfenNqX3dlYi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgX3JlZ2VuZXJhdG9yUnVudGltZSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS90al96c2pfd2ViL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvdGpfenNqX3dlYi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL3RqX3pzal93ZWIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgeyBnZXRTd2lmdE1lbnVzLCByZW1vdmVTd2lmdE1lbnVzLCBzYXZlTWVudXMsIHVwZGF0ZVNlcXVlbmNlIH0gZnJvbSAnQC9hcGkvcHVibGljTGF5b3V0JzsKaW1wb3J0IGN1c3RvbVN5c3RlbVJvdXRlciBmcm9tICdAL3JvdXRlci9jdXN0b20tc3lzdGVtLXJvdXRlcic7CmltcG9ydCBTZXJ2aWNlUG9wdXBMaXN0IGZyb20gJ0AvY29tcG9uZW50cy9sYXlvdXQvU2lkZU1lbnUvY29tcG9uZW50cy9TZXJ2aWNlUG9wdXBMaXN0LnZ1ZSc7CmltcG9ydCBwdWJTdWIgZnJvbSAncHVic3ViLWpzJzsKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IHsgZmluZERhdGFCeUZpZWxkIH0gZnJvbSAnQC91dGlscy90cmVlVXRpbHMnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ1NpZGVNZW51JywKICBjb21wb25lbnRzOiB7CiAgICBTZXJ2aWNlUG9wdXBMaXN0OiBTZXJ2aWNlUG9wdXBMaXN0CiAgfSwKICBwcm9wczogewogICAgLy8g5LiA57qn6I+c5Y2V5Yir5ZCNCiAgICBjdXJyZW50TWVudTogewogICAgICBkZWZhdWx0OiAnJywKICAgICAgdHlwZTogU3RyaW5nCiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgc2hvd01lbnU6IGZhbHNlLAogICAgICBsb25nTWVudTogZmFsc2UsCiAgICAgIGlzU2hvd1BvcHVwTGlzdDogZmFsc2UsCiAgICAgIHN3aWZ0TWVudXNEYXRhOiBbXSwKICAgICAgZHJhZ0luZGV4OiAnJywKICAgICAgZW50ZXJJbmRleDogJycsCiAgICAgIGN1c3RvbVN5c3RlbVJvdXRlcjogY3VzdG9tU3lzdGVtUm91dGVyLAogICAgICAvLyDoh6rlrprkuYnlkI7lj7Dot6/nlLEKICAgICAgcHViRGlyZWN0b3J5OiBudWxsIC8vIOebruW9leeCueWHu3B1YlN1YuWunuS+iwogICAgfTsKICB9LAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKHsKICAgIHJvdXRlclBhdGg6IGZ1bmN0aW9uIHJvdXRlclBhdGgoKSB7CiAgICAgIHJldHVybiB0aGlzLiRyb3V0ZS5wYXRoOwogICAgfQogIH0sIG1hcFN0YXRlKHsKICAgIC8vIOmHjeaehOiPnOWNleS/oeaBrwogICAgYnVzaW5lc3NNZW51OiBmdW5jdGlvbiBidXNpbmVzc01lbnUoc3RhdGUpIHsKICAgICAgdmFyIF9zdGF0ZSRtZW51JGZyb250TWVudTsKICAgICAgcmV0dXJuICgoX3N0YXRlJG1lbnUkZnJvbnRNZW51ID0gc3RhdGUubWVudS5mcm9udE1lbnVzLmZpbmQoZnVuY3Rpb24gKGkpIHsKICAgICAgICByZXR1cm4gaS5hbGlhcyA9PT0gJ01hc3RlckRhdGFTeXN0ZW0nOwogICAgICB9KSkgPT09IG51bGwgfHwgX3N0YXRlJG1lbnUkZnJvbnRNZW51ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfc3RhdGUkbWVudSRmcm9udE1lbnUuY2hpbGRyZW4pIHx8IFtdOwogICAgfQogIH0pKSwKICB3YXRjaDogewogICAgLy8g55uR5ZCs6Lev55Sx77yM5aaC5p6c5Li66aaW6aG1562J6Z2e6I+c5Y2V6aG16Z2i77yM5Y+W5raI6I+c5Y2V6YCJ5Lit6aG5CiAgICAkcm91dGU6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcih0bywgZnJvbSkgewogICAgICAgIHRoaXMuY2xvc2VBbGwoKTsKCiAgICAgICAgLy8g6I635Y+W5LiA57qn6I+c5Y2V55qE5Yir5ZCNCiAgICAgICAgdmFyIG5ld0N1cnJlbnRNZW51ID0gdG8ucGF0aC5zcGxpdCgnLycpWzJdIHx8ICcnOwogICAgICAgIHZhciBvbGRDdXJyZW50TWVudSA9IChmcm9tID09PSBudWxsIHx8IGZyb20gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZyb20ucGF0aC5zcGxpdCgnLycpWzJdKSB8fCAnJzsKICAgICAgICBpZiAobmV3Q3VycmVudE1lbnUpIHsKICAgICAgICAgIC8vIOW9k+S4uuWIneasoeWIt+aWsOaXtuaIluS4gOe6p+iPnOWNleWIh+aNouaXtuivt+axguW/q+aNt+iPnOWNlQogICAgICAgICAgaWYgKCFvbGRDdXJyZW50TWVudSB8fCBuZXdDdXJyZW50TWVudSAhPT0gb2xkQ3VycmVudE1lbnUpIHsKICAgICAgICAgICAgdmFyIF9maW5kRGF0YUJ5RmllbGQ7CiAgICAgICAgICAgIHRoaXMuc3dpZnRNZW51c0RhdGEgPSBbXTsKICAgICAgICAgICAgLy8g6YCS5b2S6I+c5Y2V5pWw5o2u5p+l6K+icGF0aAogICAgICAgICAgICB2YXIgcGF0aCA9IChfZmluZERhdGFCeUZpZWxkID0gZmluZERhdGFCeUZpZWxkKHRoaXMuYnVzaW5lc3NNZW51LCBuZXdDdXJyZW50TWVudSwgJ2FsaWFzJykpID09PSBudWxsIHx8IF9maW5kRGF0YUJ5RmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9maW5kRGF0YUJ5RmllbGQucGF0aDsKICAgICAgICAgICAgcGF0aCAmJiB0aGlzLmdldFN3aWZ0TWVudXNEYXRhKHBhdGgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgaW1tZWRpYXRlOiB0cnVlCiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIC8v55uR5ZCs6ZSu55uY5oyJ6ZSu5LqL5Lu2CiAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIF90aGlzLmVzY0Nsb3NlKTsKICAgIH0pOwoKICAgIC8v55uR5ZCs5piv5ZCm54K55Ye755uu5b2V77yI5LqM57qn6I+c5Y2V77yJCiAgICB0aGlzLnB1YkRpcmVjdG9yeSA9IHB1YlN1Yi5zdWJzY3JpYmUoJ2RpcmVjdG9yeS1jbGljaycsIGZ1bmN0aW9uIChfKSB7CiAgICAgIF90aGlzLmxvbmdNZW51ID0gdHJ1ZTsKICAgICAgX3RoaXMuaXNTaG93UG9wdXBMaXN0ID0gdHJ1ZTsKICAgIH0pOwogIH0sCiAgbWV0aG9kczogewogICAgLyoqDQogICAgICog6I635Y+W5b+r5o236I+c5Y2V5pWw5o2uDQogICAgICogQHBhcmFtIHtTdHJpbmd9IFtwYXJlbnRNZW51UGF0aF0g5LiA57qn6I+c5Y2VcGF0aA0KICAgICAqIEByZXR1cm4gdmlvZA0KICAgICAqICovCiAgICBnZXRTd2lmdE1lbnVzRGF0YTogZnVuY3Rpb24gZ2V0U3dpZnRNZW51c0RhdGEocGFyZW50TWVudVBhdGgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gZ2V0U3dpZnRNZW51cyhwYXJlbnRNZW51UGF0aCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfdGhpczIuc3dpZnRNZW51c0RhdGEgPSBfY29udGV4dC5zZW50Lm1hcChmdW5jdGlvbiAoaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgaSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIHJvdXRlclBhdGg6IGkucm91dGVyUGF0aC5yZXBsYWNlKCdNYXN0ZXJEYXRhU3lzdGVtJywgJy9wbGF0TGF5b3V0JyksCiAgICAgICAgICAgICAgICAgIGRyYWdJY29uUHJlc3M6IGZhbHNlLAogICAgICAgICAgICAgICAgICBpc0RyYWdFbnRlcjogZmFsc2UKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6Z2i5p2/5aS06YOo54K55Ye7CiAgICBwYW5lbEhlYWRlckNsaWNrOiBmdW5jdGlvbiBwYW5lbEhlYWRlckNsaWNrKCkgewogICAgICBpZiAodGhpcy5sb25nTWVudSkgewogICAgICAgIHRoaXMuaXNTaG93UG9wdXBMaXN0ID0gIXRoaXMuaXNTaG93UG9wdXBMaXN0OwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMubG9uZ01lbnUgPSB0cnVlOwogICAgICAgIHRoaXMuaXNTaG93UG9wdXBMaXN0ID0gdHJ1ZTsKICAgICAgfQogICAgfSwKICAgIC8vIOmdouadv+m8oOagh+enu+WHugogICAgc2lkZWJhclBhbmVsTGVhdmU6IGZ1bmN0aW9uIHNpZGViYXJQYW5lbExlYXZlKCkgewogICAgICBpZiAodGhpcy5pc1Nob3dQb3B1cExpc3QpIHJldHVybjsKICAgICAgdGhpcy5sb25nTWVudSA9IGZhbHNlOwogICAgfSwKICAgIC8vIOWFs+mXremdouadv+WSjOiPnOWNleW8ueWxggogICAgY2xvc2VBbGw6IGZ1bmN0aW9uIGNsb3NlQWxsKCkgewogICAgICB0aGlzLmlzU2hvd1BvcHVwTGlzdCA9IGZhbHNlOwogICAgICB0aGlzLmxvbmdNZW51ID0gZmFsc2U7CiAgICB9LAogICAgLy8g6I+c5Y2V54K55Ye7CiAgICBtZW51Q2xpY2s6IGZ1bmN0aW9uIG1lbnVDbGljayhpdGVtKSB7CiAgICAgIHRoaXMuY2xvc2VBbGwoKTsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goaXRlbS5yb3V0ZXJQYXRoKTsKICAgIH0sCiAgICAvKioNCiAgICAgKiDmlLbol4/oj5zljZXmlLnlj5gNCiAgICAgKiBAcGFyYW0ge09iamVjdH0gaXRlbSDkvKDlhaXlvZPliY3ngrnlh7vnmoTlr7nosaENCiAgICAgKiBAcGFyYW0ge051bWJlcn0gY2hhbmdlSW5kZXgg5Yig6Zmk57Si5byVLTHkuLrmlrDlop7vvIzlpKfkuo7nrYnkuo4w5Li65Yig6Zmk77yM5LiN5Lyg5YiZ5Lya5Yik5pat5pS55Y+Y57G75Z6LDQogICAgICogKi8KICAgIGNoYW5nZUNvbGxlY3Q6IGZ1bmN0aW9uIGNoYW5nZUNvbGxlY3QoaXRlbSkgewogICAgICB2YXIgX2FyZ3VtZW50cyA9IGFyZ3VtZW50cywKICAgICAgICBfdGhpczMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBjaGFuZ2VJbmRleCwgX3lpZWxkJHNhdmVNZW51cywgX3lpZWxkJHNhdmVNZW51cyRkYXRhLCBzdGF0ZSwgdmFsdWUsIF92YWx1ZSwgX3lpZWxkJHJlbW92ZVN3aWZ0TWVuLCBfc3RhdGU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGNoYW5nZUluZGV4ID0gX2FyZ3VtZW50cy5sZW5ndGggPiAxICYmIF9hcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IF9hcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7CiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGFuZ2VJbmRleCA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgIGNoYW5nZUluZGV4ID0gX3RoaXMzLnN3aWZ0TWVudXNEYXRhLmZpbmRJbmRleChmdW5jdGlvbiAoaSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gaS5hbGlhcyA9PT0gaXRlbS5hbGlhczsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoIShjaGFuZ2VJbmRleCA9PT0gLTEpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDIwOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF90aGlzMy5zd2lmdE1lbnVzRGF0YS5wdXNoKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgaXRlbSksIHt9LCB7CiAgICAgICAgICAgICAgICBkcmFnSWNvblByZXNzOiBmYWxzZSwKICAgICAgICAgICAgICAgIGlzRHJhZ0VudGVyOiBmYWxzZQogICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDQ7CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSA3OwogICAgICAgICAgICAgIHJldHVybiBzYXZlTWVudXMoaXRlbS5hbGlhcyk7CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICBfeWllbGQkc2F2ZU1lbnVzID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHNhdmVNZW51cyRkYXRhID0gX3lpZWxkJHNhdmVNZW51cy5kYXRhOwogICAgICAgICAgICAgIHN0YXRlID0gX3lpZWxkJHNhdmVNZW51cyRkYXRhLnN0YXRlOwogICAgICAgICAgICAgIHZhbHVlID0gX3lpZWxkJHNhdmVNZW51cyRkYXRhLnZhbHVlOwogICAgICAgICAgICAgIGlmICghc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzMy5zd2lmdE1lbnVzRGF0YS5zcGxpY2UoX3RoaXMzLnN3aWZ0TWVudXNEYXRhLmZpbmRJbmRleChmdW5jdGlvbiAoaSkgewogICAgICAgICAgICAgICAgICByZXR1cm4gaS5hbGlhcyA9PT0gdmFsdWU7CiAgICAgICAgICAgICAgICB9KSwgMSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTg7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAxNDsKICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBfY29udGV4dDJbImNhdGNoIl0oNCk7CiAgICAgICAgICAgICAgX3ZhbHVlID0gX2NvbnRleHQyLnQwLmRhdGEudmFsdWU7CiAgICAgICAgICAgICAgX3RoaXMzLnN3aWZ0TWVudXNEYXRhLnNwbGljZShfdGhpczMuc3dpZnRNZW51c0RhdGEuZmluZEluZGV4KGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaS5hbGlhcyA9PT0gX3ZhbHVlOwogICAgICAgICAgICAgIH0pLCAxKTsKICAgICAgICAgICAgY2FzZSAxODoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI1OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDIwOgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMjI7CiAgICAgICAgICAgICAgcmV0dXJuIHJlbW92ZVN3aWZ0TWVudXMoaXRlbS5hbGlhcyk7CiAgICAgICAgICAgIGNhc2UgMjI6CiAgICAgICAgICAgICAgX3lpZWxkJHJlbW92ZVN3aWZ0TWVuID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgX3N0YXRlID0gX3lpZWxkJHJlbW92ZVN3aWZ0TWVuLmRhdGEuc3RhdGU7CiAgICAgICAgICAgICAgaWYgKF9zdGF0ZSkgX3RoaXMzLnN3aWZ0TWVudXNEYXRhLnNwbGljZShjaGFuZ2VJbmRleCwgMSk7CiAgICAgICAgICAgIGNhc2UgMjU6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIsIG51bGwsIFtbNCwgMTRdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vICBlc2PlhbPpl60KICAgIGVzY0Nsb3NlOiBmdW5jdGlvbiBlc2NDbG9zZShlKSB7CiAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSB0aGlzLmNsb3NlQWxsKCk7CiAgICB9LAogICAgLy8g5ouW5Yqo5byA5aeLCiAgICBkcmFnc3RhcnQ6IGZ1bmN0aW9uIGRyYWdzdGFydChlLCBpbmRleCkgewogICAgICB0aGlzLmVudGVySW5kZXggPSBpbmRleDsKICAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwogICAgICBpbWcuc3JjID0gImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAlM0UlM0NwYXRoIC8lM0UlM0Mvc3ZnJTNFIjsKICAgICAgZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGltZywgMCwgMCk7CiAgICB9LAogICAgLy8g6K6w5b2V56e75Yqo5Yiw5ZOq5Liq55uS5a2QCiAgICBkcmFnZW50ZXI6IGZ1bmN0aW9uIGRyYWdlbnRlcihlLCBpbmRleCkgewogICAgICB0aGlzLmRyYWdJbmRleCA9IGluZGV4OwogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB9LAogICAgLy8g5ouW5ou95pyA57uI5pON5L2cCiAgICBkcmFnZW5kOiBmdW5jdGlvbiBkcmFnZW5kKGUsIGluZGV4LCBpdGVtKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHZhciBhcnIsIGRyYWdTdGFydEl0ZW0sIGRyYWdlbnRlckl0ZW0sIG1lbnVUcmFuc3Bvc2l0aW9uLCBfeWllbGQkdXBkYXRlU2VxdWVuY2UsIHN0YXRlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBpdGVtLmRyYWdJY29uUHJlc3MgPSBmYWxzZTsKICAgICAgICAgICAgICBpZiAoIShfdGhpczQuZHJhZ0luZGV4ICE9PSBpbmRleCkpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMTg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYXJyID0gX3RoaXM0LnN3aWZ0TWVudXNEYXRhOwogICAgICAgICAgICAgIGRyYWdTdGFydEl0ZW0gPSBhcnJbaW5kZXhdOwogICAgICAgICAgICAgIGRyYWdlbnRlckl0ZW0gPSBhcnJbX3RoaXM0LmRyYWdJbmRleF07CiAgICAgICAgICAgICAgLyoqDQogICAgICAgICAgICAgICAqICBAcGFyYW0ge09iamVjdH0gY2hhbmdJdGVtIOS6pOaNouS9jee9rueahOiPnOWNleWvueixoQ0KICAgICAgICAgICAgICAgKiAqLwogICAgICAgICAgICAgIG1lbnVUcmFuc3Bvc2l0aW9uID0gZnVuY3Rpb24gbWVudVRyYW5zcG9zaXRpb24oY2hhbmdJdGVtKSB7CiAgICAgICAgICAgICAgICBhcnIuc3BsaWNlLmFwcGx5KGFyciwgW190aGlzNC5kcmFnSW5kZXgsIDFdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoYXJyLnNwbGljZShpbmRleCwgMSwgY2hhbmdJdGVtKSkpKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIG1lbnVUcmFuc3Bvc2l0aW9uKGRyYWdlbnRlckl0ZW0pOwogICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gNzsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDEwOwogICAgICAgICAgICAgIHJldHVybiB1cGRhdGVTZXF1ZW5jZShfZGVmaW5lUHJvcGVydHkoX2RlZmluZVByb3BlcnR5KHt9LCBkcmFnU3RhcnRJdGVtLnN3aWZ0SWQsIF90aGlzNC5kcmFnSW5kZXggKyAxKSwgZHJhZ2VudGVySXRlbS5zd2lmdElkLCBpbmRleCArIDEpKTsKICAgICAgICAgICAgY2FzZSAxMDoKICAgICAgICAgICAgICBfeWllbGQkdXBkYXRlU2VxdWVuY2UgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCR1cGRhdGVTZXF1ZW5jZS5kYXRhLnN0YXRlOwogICAgICAgICAgICAgIGlmICghc3RhdGUpIG1lbnVUcmFuc3Bvc2l0aW9uKGRyYWdTdGFydEl0ZW0pOwogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMTg7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTU6CiAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAxNTsKICAgICAgICAgICAgICBfY29udGV4dDMudDAgPSBfY29udGV4dDNbImNhdGNoIl0oNyk7CiAgICAgICAgICAgICAgbWVudVRyYW5zcG9zaXRpb24oZHJhZ1N0YXJ0SXRlbSk7CiAgICAgICAgICAgIGNhc2UgMTg6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMsIG51bGwsIFtbNywgMTVdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOaLluWKqOS6i+S7tu+8iOS4u+imgeaYr+S4uuS6huaLluWKqOaXtum8oOagh+WFieagh+S4jeWPmOS4uuemgeatou+8iQogICAgZHJhZ292ZXI6IGZ1bmN0aW9uIGRyYWdvdmVyKGUsIGluZGV4LCBpdGVtKSB7CiAgICAgIGlmICh0aGlzLmVudGVySW5kZXggIT09IGluZGV4KSBpdGVtLmlzRHJhZ0VudGVyID0gdHJ1ZTsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfSwKICAgIGRyYWdsZWF2ZTogZnVuY3Rpb24gZHJhZ2xlYXZlKGUsIGl0ZW0sIGluZGV4KSB7CiAgICAgIGlmICh0aGlzLmVudGVySW5kZXggIT09IGluZGV4KSBpdGVtLmlzRHJhZ0VudGVyID0gZmFsc2U7CiAgICB9CiAgfSwKICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkgewogICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5lc2NDbG9zZSk7CiAgICBwdWJTdWIudW5zdWJzY3JpYmUodGhpcy5wdWJEaXJlY3RvcnkpOwogIH0KfTs="},null]}