{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\layout\\SideMenu\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\layout\\SideMenu\\index.vue","mtime":1703146860918},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\babel.config.js","mtime":1701311296006},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9sanpjLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5LmpzIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9sanpjLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvbGp6Yy1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2xqemMtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLWluZGV4LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGdldFN3aWZ0TWVudXMsIHNhdmVNZW51cywgcmVtb3ZlU3dpZnRNZW51cywgdXBkYXRlU2VxdWVuY2UgfSBmcm9tICdAL2FwaS9wdWJsaWNMYXlvdXQnOwppbXBvcnQgY3VzdG9tU3lzdGVtUm91dGVyIGZyb20gJ0Avcm91dGVyL2N1c3RvbS1zeXN0ZW0tcm91dGVyJzsKaW1wb3J0IFNlcnZpY2VQb3B1cExpc3QgZnJvbSAnQC9jb21wb25lbnRzL2xheW91dC9TaWRlTWVudS9jb21wb25lbnRzL1NlcnZpY2VQb3B1cExpc3QudnVlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdTaWRlTWVudScsCiAgY29tcG9uZW50czogewogICAgU2VydmljZVBvcHVwTGlzdDogU2VydmljZVBvcHVwTGlzdAogIH0sCiAgcHJvcHM6IHsKICAgIC8vIOS4gOe6p+iPnOWNleWIq+WQjQogICAgY3VycmVudE1lbnU6IHsKICAgICAgZGVmYXVsdDogJycsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNob3dNZW51OiBmYWxzZSwKICAgICAgbG9uZ01lbnU6IGZhbHNlLAogICAgICBpc1Nob3dQb3B1cExpc3Q6IGZhbHNlLAogICAgICBzd2lmdE1lbnVzRGF0YTogW10sCiAgICAgIGRyYWdJbmRleDogJycsCiAgICAgIGVudGVySW5kZXg6ICcnLAogICAgICBjdXN0b21TeXN0ZW1Sb3V0ZXI6IGN1c3RvbVN5c3RlbVJvdXRlciAvLyDoh6rlrprkuYnlkI7lj7Dot6/nlLEKICAgIH07CiAgfSwKICB3YXRjaDogewogICAgLy8g55uR5ZCs6Lev55Sx77yM5aaC5p6c5Li66aaW6aG1562J6Z2e6I+c5Y2V6aG16Z2i77yM5Y+W5raI6I+c5Y2V6YCJ5Lit6aG5CiAgICAkcm91dGU6IGZ1bmN0aW9uICRyb3V0ZSgpIHsKICAgICAgdGhpcy5jbG9zZUFsbCgpOwogICAgfQogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHJvdXRlclBhdGg6IGZ1bmN0aW9uIHJvdXRlclBhdGgoKSB7CiAgICAgIHJldHVybiB0aGlzLiRyb3V0ZS5wYXRoOwogICAgfQogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0U3dpZnRNZW51c0RhdGEoKTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgLy/nm5HlkKzplK7nm5jmjInplK7kuovku7YKICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgX3RoaXMuZXNjQ2xvc2UpOwogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDojrflj5blv6vmjbfoj5zljZXmlbDmja4KICAgIGdldFN3aWZ0TWVudXNEYXRhOiBmdW5jdGlvbiBnZXRTd2lmdE1lbnVzRGF0YSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRnZXRTd2lmdE1lbnVzLCBkYXRhOwogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiBnZXRTd2lmdE1lbnVzKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfeWllbGQkZ2V0U3dpZnRNZW51cyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgZGF0YSA9IF95aWVsZCRnZXRTd2lmdE1lbnVzLmRhdGE7CiAgICAgICAgICAgICAgX3RoaXMyLnN3aWZ0TWVudXNEYXRhID0gZGF0YS5tYXAoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGkpLCB7fSwgewogICAgICAgICAgICAgICAgICByb3V0ZXJQYXRoOiBpLnJvdXRlclBhdGgucmVwbGFjZSgnbm9ybWFsJywgJy9wbGF0TGF5b3V0JyksCiAgICAgICAgICAgICAgICAgIGRyYWdJY29uUHJlc3M6IGZhbHNlLAogICAgICAgICAgICAgICAgICBpc0RyYWdFbnRlcjogZmFsc2UKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6Z2i5p2/5aS06YOo54K55Ye7CiAgICBwYW5lbEhlYWRlckNsaWNrOiBmdW5jdGlvbiBwYW5lbEhlYWRlckNsaWNrKCkgewogICAgICBpZiAodGhpcy5sb25nTWVudSkgewogICAgICAgIHRoaXMuaXNTaG93UG9wdXBMaXN0ID0gIXRoaXMuaXNTaG93UG9wdXBMaXN0OwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMubG9uZ01lbnUgPSB0cnVlOwogICAgICAgIHRoaXMuaXNTaG93UG9wdXBMaXN0ID0gdHJ1ZTsKICAgICAgfQogICAgfSwKICAgIC8vIOmdouadv+m8oOagh+enu+WHugogICAgc2lkZWJhclBhbmVsTGVhdmU6IGZ1bmN0aW9uIHNpZGViYXJQYW5lbExlYXZlKCkgewogICAgICBpZiAodGhpcy5pc1Nob3dQb3B1cExpc3QpIHJldHVybjsKICAgICAgdGhpcy5sb25nTWVudSA9IGZhbHNlOwogICAgfSwKICAgIC8vIOWFs+mXremdouadv+WSjOiPnOWNleW8ueWxggogICAgY2xvc2VBbGw6IGZ1bmN0aW9uIGNsb3NlQWxsKCkgewogICAgICB0aGlzLmlzU2hvd1BvcHVwTGlzdCA9IGZhbHNlOwogICAgICB0aGlzLmxvbmdNZW51ID0gZmFsc2U7CiAgICB9LAogICAgLy8g6I+c5Y2V54K55Ye7CiAgICBtZW51Q2xpY2s6IGZ1bmN0aW9uIG1lbnVDbGljayhpdGVtKSB7CiAgICAgIHRoaXMuY2xvc2VBbGwoKTsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goaXRlbS5yb3V0ZXJQYXRoKTsKICAgIH0sCiAgICAvKioNCiAgICAgKiDmlLbol4/oj5zljZXmlLnlj5gNCiAgICAgKiBAcGFyYW0ge09iamVjdH0gaXRlbSDkvKDlhaXlvZPliY3ngrnlh7vnmoTlr7nosaENCiAgICAgKiBAcGFyYW0ge051bWJlcn0gY2hhbmdlSW5kZXgg5Yig6Zmk57Si5byVLTHkuLrmlrDlop7vvIzlpKfkuo7nrYnkuo4w5Li65Yig6Zmk77yM5LiN5Lyg5YiZ5Lya5Yik5pat5pS55Y+Y57G75Z6LDQogICAgICogKi8KICAgIGNoYW5nZUNvbGxlY3Q6IGZ1bmN0aW9uIGNoYW5nZUNvbGxlY3QoaXRlbSkgewogICAgICB2YXIgX2FyZ3VtZW50cyA9IGFyZ3VtZW50cywKICAgICAgICBfdGhpczMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICB2YXIgY2hhbmdlSW5kZXgsIF95aWVsZCRzYXZlTWVudXMsIF95aWVsZCRzYXZlTWVudXMkZGF0YSwgc3RhdGUsIHZhbHVlLCBfdmFsdWUsIF95aWVsZCRyZW1vdmVTd2lmdE1lbiwgX3N0YXRlOwogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBjaGFuZ2VJbmRleCA9IF9hcmd1bWVudHMubGVuZ3RoID4gMSAmJiBfYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBfYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwogICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hhbmdlSW5kZXggPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgICAgICBjaGFuZ2VJbmRleCA9IF90aGlzMy5zd2lmdE1lbnVzRGF0YS5maW5kSW5kZXgoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGkuYWxpYXMgPT09IGl0ZW0uYWxpYXM7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCEoY2hhbmdlSW5kZXggPT09IC0xKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdGhpczMuc3dpZnRNZW51c0RhdGEucHVzaChfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGl0ZW0pLCB7fSwgewogICAgICAgICAgICAgICAgZHJhZ0ljb25QcmVzczogZmFsc2UsCiAgICAgICAgICAgICAgICBpc0RyYWdFbnRlcjogZmFsc2UKICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSA0OwogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gNzsKICAgICAgICAgICAgICByZXR1cm4gc2F2ZU1lbnVzKGl0ZW0uYWxpYXMpOwogICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgX3lpZWxkJHNhdmVNZW51cyA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIF95aWVsZCRzYXZlTWVudXMkZGF0YSA9IF95aWVsZCRzYXZlTWVudXMuZGF0YTsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRzYXZlTWVudXMkZGF0YS5zdGF0ZTsKICAgICAgICAgICAgICB2YWx1ZSA9IF95aWVsZCRzYXZlTWVudXMkZGF0YS52YWx1ZTsKICAgICAgICAgICAgICBpZiAoIXN0YXRlKSB7CiAgICAgICAgICAgICAgICBfdGhpczMuc3dpZnRNZW51c0RhdGEuc3BsaWNlKF90aGlzMy5zd2lmdE1lbnVzRGF0YS5maW5kSW5kZXgoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGkuYWxpYXMgPT09IHZhbHVlOwogICAgICAgICAgICAgICAgfSksIDEpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDE4OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE0OgogICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gMTQ7CiAgICAgICAgICAgICAgX2NvbnRleHQyLnQwID0gX2NvbnRleHQyWyJjYXRjaCJdKDQpOwogICAgICAgICAgICAgIF92YWx1ZSA9IF9jb250ZXh0Mi50MC5kYXRhLnZhbHVlOwogICAgICAgICAgICAgIF90aGlzMy5zd2lmdE1lbnVzRGF0YS5zcGxpY2UoX3RoaXMzLnN3aWZ0TWVudXNEYXRhLmZpbmRJbmRleChmdW5jdGlvbiAoaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGkuYWxpYXMgPT09IF92YWx1ZTsKICAgICAgICAgICAgICB9KSwgMSk7CiAgICAgICAgICAgIGNhc2UgMTg6CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyNTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyMDoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDIyOwogICAgICAgICAgICAgIHJldHVybiByZW1vdmVTd2lmdE1lbnVzKGl0ZW0uYWxpYXMpOwogICAgICAgICAgICBjYXNlIDIyOgogICAgICAgICAgICAgIF95aWVsZCRyZW1vdmVTd2lmdE1lbiA9IF9jb250ZXh0Mi5zZW50OwogICAgICAgICAgICAgIF9zdGF0ZSA9IF95aWVsZCRyZW1vdmVTd2lmdE1lbi5kYXRhLnN0YXRlOwogICAgICAgICAgICAgIGlmIChfc3RhdGUpIF90aGlzMy5zd2lmdE1lbnVzRGF0YS5zcGxpY2UoY2hhbmdlSW5kZXgsIDEpOwogICAgICAgICAgICBjYXNlIDI1OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyLCBudWxsLCBbWzQsIDE0XV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyAgZXNj5YWz6ZetCiAgICBlc2NDbG9zZTogZnVuY3Rpb24gZXNjQ2xvc2UoZSkgewogICAgICBpZiAoZS5rZXlDb2RlID09PSAyNykgdGhpcy5jbG9zZUFsbCgpOwogICAgfSwKICAgIC8vIOaLluWKqOW8gOWniwogICAgZHJhZ3N0YXJ0OiBmdW5jdGlvbiBkcmFnc3RhcnQoZSwgaW5kZXgpIHsKICAgICAgdGhpcy5lbnRlckluZGV4ID0gaW5kZXg7CiAgICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICAgICAgaW1nLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPVwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcJyAlM0UlM0NwYXRoIC8lM0UlM0Mvc3ZnJTNFJzsKICAgICAgZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGltZywgMCwgMCk7CiAgICB9LAogICAgLy8g6K6w5b2V56e75Yqo5Yiw5ZOq5Liq55uS5a2QCiAgICBkcmFnZW50ZXI6IGZ1bmN0aW9uIGRyYWdlbnRlcihlLCBpbmRleCkgewogICAgICB0aGlzLmRyYWdJbmRleCA9IGluZGV4OwogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB9LAogICAgLy8g5ouW5ou95pyA57uI5pON5L2cCiAgICBkcmFnZW5kOiBmdW5jdGlvbiBkcmFnZW5kKGUsIGluZGV4LCBpdGVtKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgYXJyLCBkcmFnU3RhcnRJdGVtLCBkcmFnZW50ZXJJdGVtLCBtZW51VHJhbnNwb3NpdGlvbiwgX3lpZWxkJHVwZGF0ZVNlcXVlbmNlLCBzdGF0ZTsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaXRlbS5kcmFnSWNvblByZXNzID0gZmFsc2U7CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXM0LmRyYWdJbmRleCAhPT0gaW5kZXgpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDE4OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGFyciA9IF90aGlzNC5zd2lmdE1lbnVzRGF0YTsKICAgICAgICAgICAgICBkcmFnU3RhcnRJdGVtID0gYXJyW2luZGV4XTsKICAgICAgICAgICAgICBkcmFnZW50ZXJJdGVtID0gYXJyW190aGlzNC5kcmFnSW5kZXhdOwogICAgICAgICAgICAgIC8qKg0KICAgICAgICAgICAgICAgKiAgQHBhcmFtIHtPYmplY3R9IGNoYW5nSXRlbSDkuqTmjaLkvY3nva7nmoToj5zljZXlr7nosaENCiAgICAgICAgICAgICAgICogKi8KICAgICAgICAgICAgICBtZW51VHJhbnNwb3NpdGlvbiA9IGZ1bmN0aW9uIG1lbnVUcmFuc3Bvc2l0aW9uKGNoYW5nSXRlbSkgewogICAgICAgICAgICAgICAgYXJyLnNwbGljZS5hcHBseShhcnIsIFtfdGhpczQuZHJhZ0luZGV4LCAxXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGFyci5zcGxpY2UoaW5kZXgsIDEsIGNoYW5nSXRlbSkpKSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBtZW51VHJhbnNwb3NpdGlvbihkcmFnZW50ZXJJdGVtKTsKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDc7CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxMDsKICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU2VxdWVuY2UoX2RlZmluZVByb3BlcnR5KF9kZWZpbmVQcm9wZXJ0eSh7fSwgZHJhZ1N0YXJ0SXRlbS5zd2lmdElkLCBfdGhpczQuZHJhZ0luZGV4ICsgMSksIGRyYWdlbnRlckl0ZW0uc3dpZnRJZCwgaW5kZXggKyAxKSk7CiAgICAgICAgICAgIGNhc2UgMTA6CiAgICAgICAgICAgICAgX3lpZWxkJHVwZGF0ZVNlcXVlbmNlID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgc3RhdGUgPSBfeWllbGQkdXBkYXRlU2VxdWVuY2UuZGF0YS5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoIXN0YXRlKSBtZW51VHJhbnNwb3NpdGlvbihkcmFnU3RhcnRJdGVtKTsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDE4OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgIF9jb250ZXh0My5wcmV2ID0gMTU7CiAgICAgICAgICAgICAgX2NvbnRleHQzLnQwID0gX2NvbnRleHQzWyJjYXRjaCJdKDcpOwogICAgICAgICAgICAgIG1lbnVUcmFuc3Bvc2l0aW9uKGRyYWdTdGFydEl0ZW0pOwogICAgICAgICAgICBjYXNlIDE4OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzcsIDE1XV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDmi5bliqjkuovku7bvvIjkuLvopoHmmK/kuLrkuobmi5bliqjml7bpvKDmoIflhYnmoIfkuI3lj5jkuLrnpoHmraLvvIkKICAgIGRyYWdvdmVyOiBmdW5jdGlvbiBkcmFnb3ZlcihlLCBpbmRleCwgaXRlbSkgewogICAgICBpZiAodGhpcy5lbnRlckluZGV4ICE9PSBpbmRleCkgaXRlbS5pc0RyYWdFbnRlciA9IHRydWU7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0sCiAgICBkcmFnbGVhdmU6IGZ1bmN0aW9uIGRyYWdsZWF2ZShlLCBpdGVtLCBpbmRleCkgewogICAgICBpZiAodGhpcy5lbnRlckluZGV4ICE9PSBpbmRleCkgaXRlbS5pc0RyYWdFbnRlciA9IGZhbHNlOwogICAgfQogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHsKICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuZXNjQ2xvc2UpOwogIH0KfTs="},null]}