forked from liweijie/education
1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\RightToolbar\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\components\\RightToolbar\\index.vue","mtime":1787567871517},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1787309791954},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmluY2x1ZGVzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC52YWx1ZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZXZlcnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5zb21lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgY2FjaGUgZnJvbSAnQC9wbHVnaW5zL2NhY2hlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJSaWdodFRvb2xiYXIiLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDmmL7pmpDmlbDmja4KICAgICAgdmFsdWU6IFtdLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICLmmL7npLov6ZqQ6JePIiwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlCiAgICB9OwogIH0sCiAgcHJvcHM6IHsKICAgIC8qIOaYr+WQpuaYvuekuuajgOe0ouadoeS7tiAqLwogICAgc2hvd1NlYXJjaDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgLyog5pi+6ZqQ5YiX5L+h5oGv77yI5pWw57uE5qC85byP44CB5a+56LGh5qC85byP77yJICovCiAgICBjb2x1bW5zOiB7CiAgICAgIHR5cGU6IFtBcnJheSwgT2JqZWN0XSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9LAogICAgLyog5piv5ZCm5pi+56S65qOA57Si5Zu+5qCHICovCiAgICBzZWFyY2g6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfSwKICAgIC8qIOaYvumakOWIl+exu+Wei++8iHRyYW5zZmVy56m/5qKt5qGG44CBY2hlY2tib3jlpI3pgInmoYbvvIkgKi8KICAgIHNob3dDb2x1bW5zVHlwZTogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICJjaGVja2JveCIKICAgIH0sCiAgICAvKiDlj7PlpJbovrnot50gKi8KICAgIGd1dHRlcjogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IDEwCiAgICB9LAogICAgLyog5YiX5pi+6ZqQ54q25oCB6K6w5b+G55qEIGxvY2FsU3RvcmFnZSBrZXnvvIjkvKDlhaXliJnlkK/nlKjorrDlv4bvvIzkuI3kvKDliJnkuI3orrDlv4bvvIkgKi8KICAgIHN0b3JhZ2VLZXk6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiIgogICAgfQogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHN0eWxlOiBmdW5jdGlvbiBzdHlsZSgpIHsKICAgICAgdmFyIHJldCA9IHt9OwogICAgICBpZiAodGhpcy5ndXR0ZXIpIHsKICAgICAgICByZXQubWFyZ2luUmlnaHQgPSAiIi5jb25jYXQodGhpcy5ndXR0ZXIgLyAyLCAicHgiKTsKICAgICAgfQogICAgICByZXR1cm4gcmV0OwogICAgfSwKICAgIGlzQ2hlY2tlZDogewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvbHVtbnMpID8gdGhpcy5jb2x1bW5zLmV2ZXJ5KGZ1bmN0aW9uIChjb2wpIHsKICAgICAgICAgIHJldHVybiBjb2wudmlzaWJsZTsKICAgICAgICB9KSA6IE9iamVjdC52YWx1ZXModGhpcy5jb2x1bW5zKS5ldmVyeShmdW5jdGlvbiAoY29sKSB7CiAgICAgICAgICByZXR1cm4gY29sLnZpc2libGU7CiAgICAgICAgfSk7CiAgICAgIH0sCiAgICAgIHNldDogZnVuY3Rpb24gc2V0KCkge30KICAgIH0sCiAgICBpc0luZGV0ZXJtaW5hdGU6IGZ1bmN0aW9uIGlzSW5kZXRlcm1pbmF0ZSgpIHsKICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSA/IHRoaXMuY29sdW1ucy5zb21lKGZ1bmN0aW9uIChjb2wpIHsKICAgICAgICByZXR1cm4gY29sLnZpc2libGU7CiAgICAgIH0pICYmICF0aGlzLmlzQ2hlY2tlZCA6IE9iamVjdC52YWx1ZXModGhpcy5jb2x1bW5zKS5zb21lKGZ1bmN0aW9uIChjb2wpIHsKICAgICAgICByZXR1cm4gY29sLnZpc2libGU7CiAgICAgIH0pICYmICF0aGlzLmlzQ2hlY2tlZDsKICAgIH0sCiAgICB0cmFuc2ZlckRhdGE6IGZ1bmN0aW9uIHRyYW5zZmVyRGF0YSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSkgewogICAgICAgIHJldHVybiB0aGlzLmNvbHVtbnMubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAga2V5OiBpbmRleCwKICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubGFiZWwKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY29sdW1ucykubWFwKGZ1bmN0aW9uIChrZXksIGluZGV4KSB7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICBrZXk6IGluZGV4LAogICAgICAgICAgICBsYWJlbDogX3RoaXMuY29sdW1uc1trZXldLmxhYmVsCiAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgICB9CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAvLyDlpoLmnpzkvKDlhaXkuoYgc3RvcmFnZUtlee+8jOS7jiBsb2NhbFN0b3JhZ2Ug5oGi5aSN5YiX5pi+6ZqQ54q25oCBCiAgICBpZiAodGhpcy5zdG9yYWdlS2V5KSB7CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHNhdmVkID0gY2FjaGUubG9jYWwuZ2V0SlNPTih0aGlzLnN0b3JhZ2VLZXkpOwogICAgICAgIGlmIChzYXZlZCAmJiBfdHlwZW9mKHNhdmVkKSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykpIHsKICAgICAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCwgaW5kZXgpIHsKICAgICAgICAgICAgICBpZiAoc2F2ZWRbaW5kZXhdICE9PSB1bmRlZmluZWQpIGNvbC52aXNpYmxlID0gc2F2ZWRbaW5kZXhdOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29sdW1ucykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgICAgICAgaWYgKHNhdmVkW2tleV0gIT09IHVuZGVmaW5lZCkgX3RoaXMyLmNvbHVtbnNba2V5XS52aXNpYmxlID0gc2F2ZWRba2V5XTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGNhdGNoIChlKSB7fQogICAgfQogICAgaWYgKHRoaXMuc2hvd0NvbHVtbnNUeXBlID09ICd0cmFuc2ZlcicpIHsKICAgICAgLy8gdHJhbnNmZXLnqb/moq3mmL7pmpDliJfliJ3lp4vpu5jorqTpmpDol4/liJcKICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSkgewogICAgICAgIGZvciAodmFyIGl0ZW0gaW4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgICBpZiAodGhpcy5jb2x1bW5zW2l0ZW1dLnZpc2libGUgPT09IGZhbHNlKSB7CiAgICAgICAgICAgIHRoaXMudmFsdWUucHVzaChwYXJzZUludChpdGVtKSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29sdW1ucykuZm9yRWFjaChmdW5jdGlvbiAoa2V5LCBpbmRleCkgewogICAgICAgICAgaWYgKF90aGlzMi5jb2x1bW5zW2tleV0udmlzaWJsZSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgX3RoaXMyLnZhbHVlLnB1c2goaW5kZXgpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDmkJzntKIKICAgIHRvZ2dsZVNlYXJjaDogZnVuY3Rpb24gdG9nZ2xlU2VhcmNoKCkgewogICAgICB2YXIgZWwgPSB0aGlzLiRlbDsKICAgICAgdmFyIGZvcm1FbCA9IG51bGw7CiAgICAgIHdoaWxlICgoZWwgPSBlbC5wYXJlbnRFbGVtZW50KSAmJiBlbCAhPT0gZG9jdW1lbnQuYm9keSkgewogICAgICAgIGlmIChmb3JtRWwgPSBlbC5xdWVyeVNlbGVjdG9yKCcuZWwtZm9ybScpKSBicmVhazsKICAgICAgfQogICAgICBpZiAoIWZvcm1FbCkgcmV0dXJuIHRoaXMuJGVtaXQoJ3VwZGF0ZTpzaG93U2VhcmNoJywgIXRoaXMuc2hvd1NlYXJjaCk7CiAgICAgIHRoaXMuX2FuaW1hdGVTZWFyY2goZm9ybUVsLCB0aGlzLnNob3dTZWFyY2gpOwogICAgfSwKICAgIC8vIOaQnOe0ouagj+WKqOeUuwogICAgX2FuaW1hdGVTZWFyY2g6IGZ1bmN0aW9uIF9hbmltYXRlU2VhcmNoKGVsLCBpc0hpZGUpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHZhciBEVVJBVElPTiA9IDI2MDsKICAgICAgdmFyIFRSQU5TSVRJT04gPSAnbWF4LWhlaWdodCAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSc7CiAgICAgIHZhciBjbGVhciA9IGZ1bmN0aW9uIGNsZWFyKCkgewogICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGVsLnN0eWxlLCB7CiAgICAgICAgICB0cmFuc2l0aW9uOiAnJywKICAgICAgICAgIG1heEhlaWdodDogJycsCiAgICAgICAgICBvcGFjaXR5OiAnJywKICAgICAgICAgIG92ZXJmbG93OiAnJwogICAgICAgIH0pOwogICAgICB9OwogICAgICBPYmplY3QuYXNzaWduKGVsLnN0eWxlLCB7CiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLAogICAgICAgIHRyYW5zaXRpb246ICcnCiAgICAgIH0pOwogICAgICBpZiAoaXNIaWRlKSB7CiAgICAgICAgT2JqZWN0LmFzc2lnbihlbC5zdHlsZSwgewogICAgICAgICAgbWF4SGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQgKyAncHgnLAogICAgICAgICAgb3BhY2l0eTogJzEnLAogICAgICAgICAgdHJhbnNpdGlvbjogVFJBTlNJVElPTgogICAgICAgIH0pOwogICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7CiAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihlbC5zdHlsZSwgewogICAgICAgICAgICBtYXhIZWlnaHQ6ICcwJywKICAgICAgICAgICAgb3BhY2l0eTogJzAnCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzMy4kZW1pdCgndXBkYXRlOnNob3dTZWFyY2gnLCBmYWxzZSk7CiAgICAgICAgICBjbGVhcigpOwogICAgICAgIH0sIERVUkFUSU9OKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRlbWl0KCd1cGRhdGU6c2hvd1NlYXJjaCcsIHRydWUpOwogICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWwuc3R5bGUsIHsKICAgICAgICAgICAgbWF4SGVpZ2h0OiAnMCcsCiAgICAgICAgICAgIG9wYWNpdHk6ICcwJwogICAgICAgICAgfSk7CiAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGVsLnN0eWxlLCB7CiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBUUkFOU0lUSU9OLAogICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQgKyAncHgnLAogICAgICAgICAgICAgICAgb3BhY2l0eTogJzEnCiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSk7CiAgICAgICAgICBzZXRUaW1lb3V0KGNsZWFyLCBEVVJBVElPTik7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDliLfmlrAKICAgIHJlZnJlc2g6IGZ1bmN0aW9uIHJlZnJlc2goKSB7CiAgICAgIHRoaXMuJGVtaXQoInF1ZXJ5VGFibGUiKTsKICAgIH0sCiAgICAvLyDlj7PkvqfliJfooajlhYPntKDlj5jljJYKICAgIGRhdGFDaGFuZ2U6IGZ1bmN0aW9uIGRhdGFDaGFuZ2UoZGF0YSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSkgewogICAgICAgIGZvciAodmFyIGl0ZW0gaW4gdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgICB2YXIga2V5ID0gdGhpcy5jb2x1bW5zW2l0ZW1dLmtleTsKICAgICAgICAgIHRoaXMuY29sdW1uc1tpdGVtXS52aXNpYmxlID0gIWRhdGEuaW5jbHVkZXMoa2V5KTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb2x1bW5zKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXksIGluZGV4KSB7CiAgICAgICAgICBfdGhpczQuY29sdW1uc1trZXldLnZpc2libGUgPSAhZGF0YS5pbmNsdWRlcyhpbmRleCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgdGhpcy5zYXZlU3RvcmFnZSgpOwogICAgfSwKICAgIC8vIOaJk+W8gOaYvumakOWIl2RpYWxvZwogICAgc2hvd0NvbHVtbjogZnVuY3Rpb24gc2hvd0NvbHVtbigpIHsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgIH0sCiAgICAvLyDljZXli77pgIkKICAgIGNoZWNrYm94Q2hhbmdlOiBmdW5jdGlvbiBjaGVja2JveENoYW5nZShldmVudCwga2V5KSB7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykpIHsKICAgICAgICB0aGlzLmNvbHVtbnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICByZXR1cm4gaXRlbS5rZXkgPT0ga2V5OwogICAgICAgIH0pWzBdLnZpc2libGUgPSBldmVudDsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmNvbHVtbnNba2V5XS52aXNpYmxlID0gZXZlbnQ7CiAgICAgIH0KICAgICAgdGhpcy5zYXZlU3RvcmFnZSgpOwogICAgfSwKICAgIC8vIOWIh+aNouWFqOmAiS/lj43pgIkKICAgIHRvZ2dsZUNoZWNrQWxsOiBmdW5jdGlvbiB0b2dnbGVDaGVja0FsbCgpIHsKICAgICAgdmFyIG5ld1ZhbHVlID0gIXRoaXMuaXNDaGVja2VkOwogICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmNvbHVtbnMpKSB7CiAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCkgewogICAgICAgICAgcmV0dXJuIGNvbC52aXNpYmxlID0gbmV3VmFsdWU7CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgT2JqZWN0LnZhbHVlcyh0aGlzLmNvbHVtbnMpLmZvckVhY2goZnVuY3Rpb24gKGNvbCkgewogICAgICAgICAgcmV0dXJuIGNvbC52aXNpYmxlID0gbmV3VmFsdWU7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgdGhpcy5zYXZlU3RvcmFnZSgpOwogICAgfSwKICAgIC8vIOWwhuW9k+WJjeWIl+aYvumakOeKtuaAgeaMgeS5heWMluWIsCBsb2NhbFN0b3JhZ2UKICAgIHNhdmVTdG9yYWdlOiBmdW5jdGlvbiBzYXZlU3RvcmFnZSgpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIGlmICghdGhpcy5zdG9yYWdlS2V5KSByZXR1cm47CiAgICAgIHRyeSB7CiAgICAgICAgdmFyIHN0YXRlID0ge307CiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSkgewogICAgICAgICAgdGhpcy5jb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbCwgaW5kZXgpIHsKICAgICAgICAgICAgc3RhdGVbaW5kZXhdID0gY29sLnZpc2libGU7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb2x1bW5zKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKICAgICAgICAgICAgc3RhdGVba2V5XSA9IF90aGlzNS5jb2x1bW5zW2tleV0udmlzaWJsZTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBjYWNoZS5sb2NhbC5zZXRKU09OKHRoaXMuc3RvcmFnZUtleSwgc3RhdGUpOwogICAgICB9IGNhdGNoIChlKSB7fQogICAgfQogIH0KfTs="},null]} |