{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@babel\\runtime\\helpers\\esm\\regeneratorRuntime.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@babel\\runtime\\helpers\\esm\\regeneratorRuntime.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLnRvLXN0cmluZy10YWcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi50by1zdHJpbmctdGFnLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubWF0aC50by1zdHJpbmctdGFnLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmdldC1wcm90b3R5cGUtb2YuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QucHJvdG8uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Quc2V0LXByb3RvdHlwZS1vZi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCBfdHlwZW9mIGZyb20gIi4vdHlwZW9mLmpzIjsKZnVuY3Rpb24gX3JlZ2VuZXJhdG9yUnVudGltZSgpIHsKICAidXNlIHN0cmljdCI7CgogIC8qISByZWdlbmVyYXRvci1ydW50aW1lIC0tIENvcHlyaWdodCAoYykgMjAxNC1wcmVzZW50LCBGYWNlYm9vaywgSW5jLiAtLSBsaWNlbnNlIChNSVQpOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVnZW5lcmF0b3IvYmxvYi9tYWluL0xJQ0VOU0UgKi8KICBfcmVnZW5lcmF0b3JSdW50aW1lID0gZnVuY3Rpb24gX3JlZ2VuZXJhdG9yUnVudGltZSgpIHsKICAgIHJldHVybiBlOwogIH07CiAgdmFyIHQsCiAgICBlID0ge30sCiAgICByID0gT2JqZWN0LnByb3RvdHlwZSwKICAgIG4gPSByLmhhc093blByb3BlcnR5LAogICAgbyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB8fCBmdW5jdGlvbiAodCwgZSwgcikgewogICAgICB0W2VdID0gci52YWx1ZTsKICAgIH0sCiAgICBpID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgU3ltYm9sID8gU3ltYm9sIDoge30sCiAgICBhID0gaS5pdGVyYXRvciB8fCAiQEBpdGVyYXRvciIsCiAgICBjID0gaS5hc3luY0l0ZXJhdG9yIHx8ICJAQGFzeW5jSXRlcmF0b3IiLAogICAgdSA9IGkudG9TdHJpbmdUYWcgfHwgIkBAdG9TdHJpbmdUYWciOwogIGZ1bmN0aW9uIGRlZmluZSh0LCBlLCByKSB7CiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIGUsIHsKICAgICAgdmFsdWU6IHIsCiAgICAgIGVudW1lcmFibGU6ICEwLAogICAgICBjb25maWd1cmFibGU6ICEwLAogICAgICB3cml0YWJsZTogITAKICAgIH0pLCB0W2VdOwogIH0KICB0cnkgewogICAgZGVmaW5lKHt9LCAiIik7CiAgfSBjYXRjaCAodCkgewogICAgZGVmaW5lID0gZnVuY3Rpb24gZGVmaW5lKHQsIGUsIHIpIHsKICAgICAgcmV0dXJuIHRbZV0gPSByOwogICAgfTsKICB9CiAgZnVuY3Rpb24gd3JhcCh0LCBlLCByLCBuKSB7CiAgICB2YXIgaSA9IGUgJiYgZS5wcm90b3R5cGUgaW5zdGFuY2VvZiBHZW5lcmF0b3IgPyBlIDogR2VuZXJhdG9yLAogICAgICBhID0gT2JqZWN0LmNyZWF0ZShpLnByb3RvdHlwZSksCiAgICAgIGMgPSBuZXcgQ29udGV4dChuIHx8IFtdKTsKICAgIHJldHVybiBvKGEsICJfaW52b2tlIiwgewogICAgICB2YWx1ZTogbWFrZUludm9rZU1ldGhvZCh0LCByLCBjKQogICAgfSksIGE7CiAgfQogIGZ1bmN0aW9uIHRyeUNhdGNoKHQsIGUsIHIpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgdHlwZTogIm5vcm1hbCIsCiAgICAgICAgYXJnOiB0LmNhbGwoZSwgcikKICAgICAgfTsKICAgIH0gY2F0Y2ggKHQpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICB0eXBlOiAidGhyb3ciLAogICAgICAgIGFyZzogdAogICAgICB9OwogICAgfQogIH0KICBlLndyYXAgPSB3cmFwOwogIHZhciBoID0gInN1c3BlbmRlZFN0YXJ0IiwKICAgIGwgPSAic3VzcGVuZGVkWWllbGQiLAogICAgZiA9ICJleGVjdXRpbmciLAogICAgcyA9ICJjb21wbGV0ZWQiLAogICAgeSA9IHt9OwogIGZ1bmN0aW9uIEdlbmVyYXRvcigpIHt9CiAgZnVuY3Rpb24gR2VuZXJhdG9yRnVuY3Rpb24oKSB7fQogIGZ1bmN0aW9uIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKCkge30KICB2YXIgcCA9IHt9OwogIGRlZmluZShwLCBhLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpczsKICB9KTsKICB2YXIgZCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiwKICAgIHYgPSBkICYmIGQoZCh2YWx1ZXMoW10pKSk7CiAgdiAmJiB2ICE9PSByICYmIG4uY2FsbCh2LCBhKSAmJiAocCA9IHYpOwogIHZhciBnID0gR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUucHJvdG90eXBlID0gR2VuZXJhdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUocCk7CiAgZnVuY3Rpb24gZGVmaW5lSXRlcmF0b3JNZXRob2RzKHQpIHsKICAgIFsibmV4dCIsICJ0aHJvdyIsICJyZXR1cm4iXS5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7CiAgICAgIGRlZmluZSh0LCBlLCBmdW5jdGlvbiAodCkgewogICAgICAgIHJldHVybiB0aGlzLl9pbnZva2UoZSwgdCk7CiAgICAgIH0pOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIEFzeW5jSXRlcmF0b3IodCwgZSkgewogICAgZnVuY3Rpb24gaW52b2tlKHIsIG8sIGksIGEpIHsKICAgICAgdmFyIGMgPSB0cnlDYXRjaCh0W3JdLCB0LCBvKTsKICAgICAgaWYgKCJ0aHJvdyIgIT09IGMudHlwZSkgewogICAgICAgIHZhciB1ID0gYy5hcmcsCiAgICAgICAgICBoID0gdS52YWx1ZTsKICAgICAgICByZXR1cm4gaCAmJiAib2JqZWN0IiA9PSBfdHlwZW9mKGgpICYmIG4uY2FsbChoLCAiX19hd2FpdCIpID8gZS5yZXNvbHZlKGguX19hd2FpdCkudGhlbihmdW5jdGlvbiAodCkgewogICAgICAgICAgaW52b2tlKCJuZXh0IiwgdCwgaSwgYSk7CiAgICAgICAgfSwgZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIGludm9rZSgidGhyb3ciLCB0LCBpLCBhKTsKICAgICAgICB9KSA6IGUucmVzb2x2ZShoKS50aGVuKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICB1LnZhbHVlID0gdCwgaSh1KTsKICAgICAgICB9LCBmdW5jdGlvbiAodCkgewogICAgICAgICAgcmV0dXJuIGludm9rZSgidGhyb3ciLCB0LCBpLCBhKTsKICAgICAgICB9KTsKICAgICAgfQogICAgICBhKGMuYXJnKTsKICAgIH0KICAgIHZhciByOwogICAgbyh0aGlzLCAiX2ludm9rZSIsIHsKICAgICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHQsIG4pIHsKICAgICAgICBmdW5jdGlvbiBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZygpIHsKICAgICAgICAgIHJldHVybiBuZXcgZShmdW5jdGlvbiAoZSwgcikgewogICAgICAgICAgICBpbnZva2UodCwgbiwgZSwgcik7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHIgPSByID8gci50aGVuKGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnLCBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZykgOiBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZygpOwogICAgICB9CiAgICB9KTsKICB9CiAgZnVuY3Rpb24gbWFrZUludm9rZU1ldGhvZChlLCByLCBuKSB7CiAgICB2YXIgbyA9IGg7CiAgICByZXR1cm4gZnVuY3Rpb24gKGksIGEpIHsKICAgICAgaWYgKG8gPT09IGYpIHRocm93IEVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7CiAgICAgIGlmIChvID09PSBzKSB7CiAgICAgICAgaWYgKCJ0aHJvdyIgPT09IGkpIHRocm93IGE7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHZhbHVlOiB0LAogICAgICAgICAgZG9uZTogITAKICAgICAgICB9OwogICAgICB9CiAgICAgIGZvciAobi5tZXRob2QgPSBpLCBuLmFyZyA9IGE7OykgewogICAgICAgIHZhciBjID0gbi5kZWxlZ2F0ZTsKICAgICAgICBpZiAoYykgewogICAgICAgICAgdmFyIHUgPSBtYXliZUludm9rZURlbGVnYXRlKGMsIG4pOwogICAgICAgICAgaWYgKHUpIHsKICAgICAgICAgICAgaWYgKHUgPT09IHkpIGNvbnRpbnVlOwogICAgICAgICAgICByZXR1cm4gdTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCJuZXh0IiA9PT0gbi5tZXRob2QpIG4uc2VudCA9IG4uX3NlbnQgPSBuLmFyZztlbHNlIGlmICgidGhyb3ciID09PSBuLm1ldGhvZCkgewogICAgICAgICAgaWYgKG8gPT09IGgpIHRocm93IG8gPSBzLCBuLmFyZzsKICAgICAgICAgIG4uZGlzcGF0Y2hFeGNlcHRpb24obi5hcmcpOwogICAgICAgIH0gZWxzZSAicmV0dXJuIiA9PT0gbi5tZXRob2QgJiYgbi5hYnJ1cHQoInJldHVybiIsIG4uYXJnKTsKICAgICAgICBvID0gZjsKICAgICAgICB2YXIgcCA9IHRyeUNhdGNoKGUsIHIsIG4pOwogICAgICAgIGlmICgibm9ybWFsIiA9PT0gcC50eXBlKSB7CiAgICAgICAgICBpZiAobyA9IG4uZG9uZSA/IHMgOiBsLCBwLmFyZyA9PT0geSkgY29udGludWU7CiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICB2YWx1ZTogcC5hcmcsCiAgICAgICAgICAgIGRvbmU6IG4uZG9uZQogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgInRocm93IiA9PT0gcC50eXBlICYmIChvID0gcywgbi5tZXRob2QgPSAidGhyb3ciLCBuLmFyZyA9IHAuYXJnKTsKICAgICAgfQogICAgfTsKICB9CiAgZnVuY3Rpb24gbWF5YmVJbnZva2VEZWxlZ2F0ZShlLCByKSB7CiAgICB2YXIgbiA9IHIubWV0aG9kLAogICAgICBvID0gZS5pdGVyYXRvcltuXTsKICAgIGlmIChvID09PSB0KSByZXR1cm4gci5kZWxlZ2F0ZSA9IG51bGwsICJ0aHJvdyIgPT09IG4gJiYgZS5pdGVyYXRvclsicmV0dXJuIl0gJiYgKHIubWV0aG9kID0gInJldHVybiIsIHIuYXJnID0gdCwgbWF5YmVJbnZva2VEZWxlZ2F0ZShlLCByKSwgInRocm93IiA9PT0gci5tZXRob2QpIHx8ICJyZXR1cm4iICE9PSBuICYmIChyLm1ldGhvZCA9ICJ0aHJvdyIsIHIuYXJnID0gbmV3IFR5cGVFcnJvcigiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAnIiArIG4gKyAiJyBtZXRob2QiKSksIHk7CiAgICB2YXIgaSA9IHRyeUNhdGNoKG8sIGUuaXRlcmF0b3IsIHIuYXJnKTsKICAgIGlmICgidGhyb3ciID09PSBpLnR5cGUpIHJldHVybiByLm1ldGhvZCA9ICJ0aHJvdyIsIHIuYXJnID0gaS5hcmcsIHIuZGVsZWdhdGUgPSBudWxsLCB5OwogICAgdmFyIGEgPSBpLmFyZzsKICAgIHJldHVybiBhID8gYS5kb25lID8gKHJbZS5yZXN1bHROYW1lXSA9IGEudmFsdWUsIHIubmV4dCA9IGUubmV4dExvYywgInJldHVybiIgIT09IHIubWV0aG9kICYmIChyLm1ldGhvZCA9ICJuZXh0Iiwgci5hcmcgPSB0KSwgci5kZWxlZ2F0ZSA9IG51bGwsIHkpIDogYSA6IChyLm1ldGhvZCA9ICJ0aHJvdyIsIHIuYXJnID0gbmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3QiKSwgci5kZWxlZ2F0ZSA9IG51bGwsIHkpOwogIH0KICBmdW5jdGlvbiBwdXNoVHJ5RW50cnkodCkgewogICAgdmFyIGUgPSB7CiAgICAgIHRyeUxvYzogdFswXQogICAgfTsKICAgIDEgaW4gdCAmJiAoZS5jYXRjaExvYyA9IHRbMV0pLCAyIGluIHQgJiYgKGUuZmluYWxseUxvYyA9IHRbMl0sIGUuYWZ0ZXJMb2MgPSB0WzNdKSwgdGhpcy50cnlFbnRyaWVzLnB1c2goZSk7CiAgfQogIGZ1bmN0aW9uIHJlc2V0VHJ5RW50cnkodCkgewogICAgdmFyIGUgPSB0LmNvbXBsZXRpb24gfHwge307CiAgICBlLnR5cGUgPSAibm9ybWFsIiwgZGVsZXRlIGUuYXJnLCB0LmNvbXBsZXRpb24gPSBlOwogIH0KICBmdW5jdGlvbiBDb250ZXh0KHQpIHsKICAgIHRoaXMudHJ5RW50cmllcyA9IFt7CiAgICAgIHRyeUxvYzogInJvb3QiCiAgICB9XSwgdC5mb3JFYWNoKHB1c2hUcnlFbnRyeSwgdGhpcyksIHRoaXMucmVzZXQoITApOwogIH0KICBmdW5jdGlvbiB2YWx1ZXMoZSkgewogICAgaWYgKGUgfHwgIiIgPT09IGUpIHsKICAgICAgdmFyIHIgPSBlW2FdOwogICAgICBpZiAocikgcmV0dXJuIHIuY2FsbChlKTsKICAgICAgaWYgKCJmdW5jdGlvbiIgPT0gdHlwZW9mIGUubmV4dCkgcmV0dXJuIGU7CiAgICAgIGlmICghaXNOYU4oZS5sZW5ndGgpKSB7CiAgICAgICAgdmFyIG8gPSAtMSwKICAgICAgICAgIGkgPSBmdW5jdGlvbiBuZXh0KCkgewogICAgICAgICAgICBmb3IgKDsgKytvIDwgZS5sZW5ndGg7KSBpZiAobi5jYWxsKGUsIG8pKSByZXR1cm4gbmV4dC52YWx1ZSA9IGVbb10sIG5leHQuZG9uZSA9ICExLCBuZXh0OwogICAgICAgICAgICByZXR1cm4gbmV4dC52YWx1ZSA9IHQsIG5leHQuZG9uZSA9ICEwLCBuZXh0OwogICAgICAgICAgfTsKICAgICAgICByZXR1cm4gaS5uZXh0ID0gaTsKICAgICAgfQogICAgfQogICAgdGhyb3cgbmV3IFR5cGVFcnJvcihfdHlwZW9mKGUpICsgIiBpcyBub3QgaXRlcmFibGUiKTsKICB9CiAgcmV0dXJuIEdlbmVyYXRvckZ1bmN0aW9uLnByb3RvdHlwZSA9IEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLCBvKGcsICJjb25zdHJ1Y3RvciIsIHsKICAgIHZhbHVlOiBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwKICAgIGNvbmZpZ3VyYWJsZTogITAKICB9KSwgbyhHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgImNvbnN0cnVjdG9yIiwgewogICAgdmFsdWU6IEdlbmVyYXRvckZ1bmN0aW9uLAogICAgY29uZmlndXJhYmxlOiAhMAogIH0pLCBHZW5lcmF0b3JGdW5jdGlvbi5kaXNwbGF5TmFtZSA9IGRlZmluZShHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgdSwgIkdlbmVyYXRvckZ1bmN0aW9uIiksIGUuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGZ1bmN0aW9uICh0KSB7CiAgICB2YXIgZSA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQgJiYgdC5jb25zdHJ1Y3RvcjsKICAgIHJldHVybiAhIWUgJiYgKGUgPT09IEdlbmVyYXRvckZ1bmN0aW9uIHx8ICJHZW5lcmF0b3JGdW5jdGlvbiIgPT09IChlLmRpc3BsYXlOYW1lIHx8IGUubmFtZSkpOwogIH0sIGUubWFyayA9IGZ1bmN0aW9uICh0KSB7CiAgICByZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHQsIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKSA6ICh0Ll9fcHJvdG9fXyA9IEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLCBkZWZpbmUodCwgdSwgIkdlbmVyYXRvckZ1bmN0aW9uIikpLCB0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZyksIHQ7CiAgfSwgZS5hd3JhcCA9IGZ1bmN0aW9uICh0KSB7CiAgICByZXR1cm4gewogICAgICBfX2F3YWl0OiB0CiAgICB9OwogIH0sIGRlZmluZUl0ZXJhdG9yTWV0aG9kcyhBc3luY0l0ZXJhdG9yLnByb3RvdHlwZSksIGRlZmluZShBc3luY0l0ZXJhdG9yLnByb3RvdHlwZSwgYywgZnVuY3Rpb24gKCkgewogICAgcmV0dXJuIHRoaXM7CiAgfSksIGUuQXN5bmNJdGVyYXRvciA9IEFzeW5jSXRlcmF0b3IsIGUuYXN5bmMgPSBmdW5jdGlvbiAodCwgciwgbiwgbywgaSkgewogICAgdm9pZCAwID09PSBpICYmIChpID0gUHJvbWlzZSk7CiAgICB2YXIgYSA9IG5ldyBBc3luY0l0ZXJhdG9yKHdyYXAodCwgciwgbiwgbyksIGkpOwogICAgcmV0dXJuIGUuaXNHZW5lcmF0b3JGdW5jdGlvbihyKSA/IGEgOiBhLm5leHQoKS50aGVuKGZ1bmN0aW9uICh0KSB7CiAgICAgIHJldHVybiB0LmRvbmUgPyB0LnZhbHVlIDogYS5uZXh0KCk7CiAgICB9KTsKICB9LCBkZWZpbmVJdGVyYXRvck1ldGhvZHMoZyksIGRlZmluZShnLCB1LCAiR2VuZXJhdG9yIiksIGRlZmluZShnLCBhLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpczsKICB9KSwgZGVmaW5lKGcsICJ0b1N0cmluZyIsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiAiW29iamVjdCBHZW5lcmF0b3JdIjsKICB9KSwgZS5rZXlzID0gZnVuY3Rpb24gKHQpIHsKICAgIHZhciBlID0gT2JqZWN0KHQpLAogICAgICByID0gW107CiAgICBmb3IgKHZhciBuIGluIGUpIHIucHVzaChuKTsKICAgIHJldHVybiByLnJldmVyc2UoKSwgZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgZm9yICg7IHIubGVuZ3RoOykgewogICAgICAgIHZhciB0ID0gci5wb3AoKTsKICAgICAgICBpZiAodCBpbiBlKSByZXR1cm4gbmV4dC52YWx1ZSA9IHQsIG5leHQuZG9uZSA9ICExLCBuZXh0OwogICAgICB9CiAgICAgIHJldHVybiBuZXh0LmRvbmUgPSAhMCwgbmV4dDsKICAgIH07CiAgfSwgZS52YWx1ZXMgPSB2YWx1ZXMsIENvbnRleHQucHJvdG90eXBlID0gewogICAgY29uc3RydWN0b3I6IENvbnRleHQsCiAgICByZXNldDogZnVuY3Rpb24gcmVzZXQoZSkgewogICAgICBpZiAodGhpcy5wcmV2ID0gMCwgdGhpcy5uZXh0ID0gMCwgdGhpcy5zZW50ID0gdGhpcy5fc2VudCA9IHQsIHRoaXMuZG9uZSA9ICExLCB0aGlzLmRlbGVnYXRlID0gbnVsbCwgdGhpcy5tZXRob2QgPSAibmV4dCIsIHRoaXMuYXJnID0gdCwgdGhpcy50cnlFbnRyaWVzLmZvckVhY2gocmVzZXRUcnlFbnRyeSksICFlKSBmb3IgKHZhciByIGluIHRoaXMpICJ0IiA9PT0gci5jaGFyQXQoMCkgJiYgbi5jYWxsKHRoaXMsIHIpICYmICFpc05hTigrci5zbGljZSgxKSkgJiYgKHRoaXNbcl0gPSB0KTsKICAgIH0sCiAgICBzdG9wOiBmdW5jdGlvbiBzdG9wKCkgewogICAgICB0aGlzLmRvbmUgPSAhMDsKICAgICAgdmFyIHQgPSB0aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjsKICAgICAgaWYgKCJ0aHJvdyIgPT09IHQudHlwZSkgdGhyb3cgdC5hcmc7CiAgICAgIHJldHVybiB0aGlzLnJ2YWw7CiAgICB9LAogICAgZGlzcGF0Y2hFeGNlcHRpb246IGZ1bmN0aW9uIGRpc3BhdGNoRXhjZXB0aW9uKGUpIHsKICAgICAgaWYgKHRoaXMuZG9uZSkgdGhyb3cgZTsKICAgICAgdmFyIHIgPSB0aGlzOwogICAgICBmdW5jdGlvbiBoYW5kbGUobiwgbykgewogICAgICAgIHJldHVybiBhLnR5cGUgPSAidGhyb3ciLCBhLmFyZyA9IGUsIHIubmV4dCA9IG4sIG8gJiYgKHIubWV0aG9kID0gIm5leHQiLCByLmFyZyA9IHQpLCAhIW87CiAgICAgIH0KICAgICAgZm9yICh2YXIgbyA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBvID49IDA7IC0tbykgewogICAgICAgIHZhciBpID0gdGhpcy50cnlFbnRyaWVzW29dLAogICAgICAgICAgYSA9IGkuY29tcGxldGlvbjsKICAgICAgICBpZiAoInJvb3QiID09PSBpLnRyeUxvYykgcmV0dXJuIGhhbmRsZSgiZW5kIik7CiAgICAgICAgaWYgKGkudHJ5TG9jIDw9IHRoaXMucHJldikgewogICAgICAgICAgdmFyIGMgPSBuLmNhbGwoaSwgImNhdGNoTG9jIiksCiAgICAgICAgICAgIHUgPSBuLmNhbGwoaSwgImZpbmFsbHlMb2MiKTsKICAgICAgICAgIGlmIChjICYmIHUpIHsKICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGkuY2F0Y2hMb2MpIHJldHVybiBoYW5kbGUoaS5jYXRjaExvYywgITApOwogICAgICAgICAgICBpZiAodGhpcy5wcmV2IDwgaS5maW5hbGx5TG9jKSByZXR1cm4gaGFuZGxlKGkuZmluYWxseUxvYyk7CiAgICAgICAgICB9IGVsc2UgaWYgKGMpIHsKICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGkuY2F0Y2hMb2MpIHJldHVybiBoYW5kbGUoaS5jYXRjaExvYywgITApOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKCF1KSB0aHJvdyBFcnJvcigidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHkiKTsKICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGkuZmluYWxseUxvYykgcmV0dXJuIGhhbmRsZShpLmZpbmFsbHlMb2MpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGFicnVwdDogZnVuY3Rpb24gYWJydXB0KHQsIGUpIHsKICAgICAgZm9yICh2YXIgciA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyByID49IDA7IC0tcikgewogICAgICAgIHZhciBvID0gdGhpcy50cnlFbnRyaWVzW3JdOwogICAgICAgIGlmIChvLnRyeUxvYyA8PSB0aGlzLnByZXYgJiYgbi5jYWxsKG8sICJmaW5hbGx5TG9jIikgJiYgdGhpcy5wcmV2IDwgby5maW5hbGx5TG9jKSB7CiAgICAgICAgICB2YXIgaSA9IG87CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgICAgaSAmJiAoImJyZWFrIiA9PT0gdCB8fCAiY29udGludWUiID09PSB0KSAmJiBpLnRyeUxvYyA8PSBlICYmIGUgPD0gaS5maW5hbGx5TG9jICYmIChpID0gbnVsbCk7CiAgICAgIHZhciBhID0gaSA/IGkuY29tcGxldGlvbiA6IHt9OwogICAgICByZXR1cm4gYS50eXBlID0gdCwgYS5hcmcgPSBlLCBpID8gKHRoaXMubWV0aG9kID0gIm5leHQiLCB0aGlzLm5leHQgPSBpLmZpbmFsbHlMb2MsIHkpIDogdGhpcy5jb21wbGV0ZShhKTsKICAgIH0sCiAgICBjb21wbGV0ZTogZnVuY3Rpb24gY29tcGxldGUodCwgZSkgewogICAgICBpZiAoInRocm93IiA9PT0gdC50eXBlKSB0aHJvdyB0LmFyZzsKICAgICAgcmV0dXJuICJicmVhayIgPT09IHQudHlwZSB8fCAiY29udGludWUiID09PSB0LnR5cGUgPyB0aGlzLm5leHQgPSB0LmFyZyA6ICJyZXR1cm4iID09PSB0LnR5cGUgPyAodGhpcy5ydmFsID0gdGhpcy5hcmcgPSB0LmFyZywgdGhpcy5tZXRob2QgPSAicmV0dXJuIiwgdGhpcy5uZXh0ID0gImVuZCIpIDogIm5vcm1hbCIgPT09IHQudHlwZSAmJiBlICYmICh0aGlzLm5leHQgPSBlKSwgeTsKICAgIH0sCiAgICBmaW5pc2g6IGZ1bmN0aW9uIGZpbmlzaCh0KSB7CiAgICAgIGZvciAodmFyIGUgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgZSA+PSAwOyAtLWUpIHsKICAgICAgICB2YXIgciA9IHRoaXMudHJ5RW50cmllc1tlXTsKICAgICAgICBpZiAoci5maW5hbGx5TG9jID09PSB0KSByZXR1cm4gdGhpcy5jb21wbGV0ZShyLmNvbXBsZXRpb24sIHIuYWZ0ZXJMb2MpLCByZXNldFRyeUVudHJ5KHIpLCB5OwogICAgICB9CiAgICB9LAogICAgImNhdGNoIjogZnVuY3Rpb24gX2NhdGNoKHQpIHsKICAgICAgZm9yICh2YXIgZSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBlID49IDA7IC0tZSkgewogICAgICAgIHZhciByID0gdGhpcy50cnlFbnRyaWVzW2VdOwogICAgICAgIGlmIChyLnRyeUxvYyA9PT0gdCkgewogICAgICAgICAgdmFyIG4gPSByLmNvbXBsZXRpb247CiAgICAgICAgICBpZiAoInRocm93IiA9PT0gbi50eXBlKSB7CiAgICAgICAgICAgIHZhciBvID0gbi5hcmc7CiAgICAgICAgICAgIHJlc2V0VHJ5RW50cnkocik7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbzsKICAgICAgICB9CiAgICAgIH0KICAgICAgdGhyb3cgRXJyb3IoImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdCIpOwogICAgfSwKICAgIGRlbGVnYXRlWWllbGQ6IGZ1bmN0aW9uIGRlbGVnYXRlWWllbGQoZSwgciwgbikgewogICAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZSA9IHsKICAgICAgICBpdGVyYXRvcjogdmFsdWVzKGUpLAogICAgICAgIHJlc3VsdE5hbWU6IHIsCiAgICAgICAgbmV4dExvYzogbgogICAgICB9LCAibmV4dCIgPT09IHRoaXMubWV0aG9kICYmICh0aGlzLmFyZyA9IHQpLCB5OwogICAgfQogIH0sIGU7Cn0KZXhwb3J0IHsgX3JlZ2VuZXJhdG9yUnVudGltZSBhcyBkZWZhdWx0IH07"},null]}