{"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\\eipControl\\EipInput.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\eipControl\\EipInput.vue","mtime":1705040076727},{"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:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2xqemMtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgdXRpbHMgZnJvbSAiQC91dGlscy5qcyI7CmltcG9ydCBGb3JtTWF0aCBmcm9tICJAL21hdGguanMiOwppbXBvcnQgc3ViX3Bpb19taXhpbiBmcm9tICJAL3N1Yi1wZXJtaXNzaW9uLW1peGluLmpzIjsKaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gImVsZW1lbnQtdWkiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogImVpcC1pbnB1dCIsCiAgcHJvcHM6IFsicmVhZG9ubHkiLCAidmFsaWRhdGUiLCAidmFsdWUiLCAibmFtZSIsICJtb2RlbEV4cHJlc3Npb24iLCAicGVybWlzc2lvbiIsICJtYXRoRXhwIiwgImF0dGVyIiwgInR5cGUiLCAiZGF0ZUNhbGNFeHAiLCAiY29uZmlnQXR0cmlidXRlcyIsICJwbGFjZWhvbGRlciIsICJwcmVjaXNpb24iLCAic3RlcFN0cmljdGx5IiwgIm1pbiIsICJtYXgiLCAiZmlsdGVydGhvdXNhbmRCaXQiLCAiZmlsdGVyY3VycmVuY3kiLCAic3RlcCIsICJiaW5kUHJlQW5kU3VmRml4anNvbiIsICJjb21wYW55Il0sCiAgbWl4aW5zOiBbc3ViX3Bpb19taXhpbl0sCiAgLy/mt7flhaXmlrnlvI/lvJXlhaXooajljZXnu4Tku7bkuK3lhazlhbHlsZ7mgKfvvIzlpITnkIblrZDooajjgIHlrZnooajooYzlhoXogZTliqjvvIjliIfpnaLkv67mlLlwZXJtaXNzaW9u77yJCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHN0eWxlX3dpZHRoOiAid2lkdGg6MTAwJSIsCiAgICAgIHdpZHRoOiAiMTAwJSIsCiAgICAgIHVud2F0Y2hBcnk6IFtdLAogICAgICBpc0VkaXQ6IHRydWUsCiAgICAgIHNob3dWaWV3ZTogIiIsCiAgICAgIHRob3VzYW5kQml0OiAiMCIsCiAgICAgIGZvcm1hdDogIiIsCiAgICAgIGlzU2hvdzogdHJ1ZSwKICAgICAgaWRlbnRpdHlNYXA6IHt9LAogICAgICBuZXdWYWxpZGF0ZTogbnVsbCwKICAgICAgYmluZFByZUFuZFN1ZkZpeDogbnVsbCwKICAgICAgbnVtYmVyUHJlZml4OiBmYWxzZQogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICBpbnB1dFZhbDogewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTsKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7CiAgICAgICAgdGhpcy4kZW1pdCgiaW5wdXQiLCB2YWwpOwogICAgICB9CiAgICB9LAogICAgaW5wdXROYW1lOiBmdW5jdGlvbiBpbnB1dE5hbWUoKSB7CiAgICAgIHZhciBsYWJlbGRlc2MgPSAiIjsKICAgICAgaWYgKHRoaXMuJHNsb3RzICYmIHRoaXMuJHNsb3RzLmxhYmVsZGVzYyAmJiB0aGlzLiRzbG90cy5sYWJlbGRlc2NbMF0uY2hpbGRyZW4gJiYgdGhpcy4kc2xvdHMubGFiZWxkZXNjWzBdLmNoaWxkcmVuWzBdLnRleHQpIHsKICAgICAgICBsYWJlbGRlc2MgPSB0aGlzLiRzbG90cy5sYWJlbGRlc2NbMF0uY2hpbGRyZW5bMF0udGV4dDsKICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gdGhpcy5uYW1lIDogdXRpbHMuZ2V0TmFtZSgpICsgIi0iICsgbGFiZWxkZXNjOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyB0aGlzLm5hbWUgOiB1dGlscy5nZXROYW1lKCk7CiAgICAgIH0KICAgIH0sCiAgICBpbnB1dFZhbGlkYXRlOiBmdW5jdGlvbiBpbnB1dFZhbGlkYXRlKCkgewogICAgICBpZiAodGhpcy5uZXdWYWxpZGF0ZSkgewogICAgICAgIHJldHVybiB0aGlzLm5ld1ZhbGlkYXRlOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlOwogICAgfQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICB2YXIgX21lLCBwSW5zdDsKICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgX21lID0gX3RoaXM7CiAgICAgICAgICAgIF90aGlzLnBlcm1pc3Npb25fc3ViID0gXy5jbG9uZURlZXAoX3RoaXMucGVybWlzc2lvbik7CiAgICAgICAgICAgIHBJbnN0ID0gdXRpbHMuZ2V0T25saW5lRm9ybUluc3RhbmNlKF9tZSk7CiAgICAgICAgICAgIF90aGlzLmNoZWNrSWRlbnRpdHkoKTsKICAgICAgICAgICAgLy8gLy/mo4Dmn6XmtYHmsLTlj7cKICAgICAgICAgICAgLy8gaWYgKHRoaXMuY29uZmlnQXR0cmlidXRlcykgewogICAgICAgICAgICAvLyAgIHRoaXMuaXNFZGl0ID0gIXRoaXMuY29uZmlnQXR0cmlidXRlcy5pc0lucHV0RWRpdDsKICAgICAgICAgICAgLy8gICAvL+WIpOaWreaYr+WQpue7keWumua1geawtOWPtwogICAgICAgICAgICAvLyAgIGlmICh0aGlzLmNvbmZpZ0F0dHJpYnV0ZXMuYmluZElkZW50aXR5QWxpYXMpIHsKICAgICAgICAgICAgLy8gICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7CiAgICAgICAgICAgIC8vICAgICBpZiAodGhpcy52YWx1ZSkgcmV0dXJuOwogICAgICAgICAgICAvLyAgICAgdmFyIGFsaWFzID0gdGhpcy5jb25maWdBdHRyaWJ1dGVzLmJpbmRJZGVudGl0eUFsaWFzOwogICAgICAgICAgICAvLyAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy4kc3RvcmUuZGlzcGF0Y2goIm1lbnUvZ2V0TmV4dElkQnlBbGlhcyIsIGFsaWFzKTsKICAgICAgICAgICAgLy8gICAgIGlmIChyZXMuc3RhdGUpIHsKICAgICAgICAgICAgLy8gICAgICAgdGhpcy4kZW1pdCgiaW5wdXQiLCByZXMudmFsdWUpOwogICAgICAgICAgICAvLyAgICAgICBpZiAocmVzLnZhbHVlKSB7CiAgICAgICAgICAgIC8vICAgICAgICAgdmFyIG1hdGNoID0gLyhceyguKilcfSkuKiQvLmV4ZWMocmVzLnZhbHVlKTsKICAgICAgICAgICAgLy8gICAgICAgICAvL+WIpOaWrea1geawtOWPt+S4reaYr+WQpuihqOi+vuW8j+WmgntramJ0LmNzZmpzY30KICAgICAgICAgICAgLy8gICAgICAgICBpZiAobWF0Y2gpIHsKICAgICAgICAgICAgLy8gICAgICAgICAgIHRoaXMuJGVtaXQoImlucHV0IiwgcmVzLnZhbHVlLnJlcGxhY2UobWF0Y2hbMV0sICIiKSk7CgogICAgICAgICAgICAvLyAgICAgICAgICAgbGV0IHBhcmFtRG9tID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigKICAgICAgICAgICAgLy8gICAgICAgICAgICAgJ1ttb2RlbC1uYW1lPSJkYXRhLicgKyBtYXRjaFsyXSArICciXScKICAgICAgICAgICAgLy8gICAgICAgICAgICk7CiAgICAgICAgICAgIC8vICAgICAgICAgICBsZXQgX21lID0gdGhpczsKICAgICAgICAgICAgLy8gICAgICAgICAgIGlmIChwYXJhbURvbSAmJiBwYXJhbURvbS5fX3Z1ZV9fKSB7CiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHBhcmFtRG9tLl9fdnVlX18uJHdhdGNoKAogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICJ2YWx1ZSIsCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgZnVuY3Rpb24obmV3VmFsLCBvbGRWYWwpIHsKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgX21lLm1vZGVsRXhwcmVzc2lvbiA9PSBwYXJhbURvbS5fX3Z1ZV9fLm1vZGVsRXhwcmVzc2lvbgogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoIua1geawtOWPt+eUn+aIkOinhOWImeWtl+auteS4jeiDvee7keWumua1geawtOWPt+aYvuekuuWtl+autSIpOwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBpZiAobmV3VmFsICE9IG9sZFZhbCkgewogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICBfbWUuJGVtaXQoImlucHV0IiwgcmVzLnZhbHVlLnJlcGxhY2UobWF0Y2hbMV0sIG5ld1ZhbCkpOwogICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAvLyAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgeyBpbW1lZGlhdGU6IHRydWUgfQogICAgICAgICAgICAvLyAgICAgICAgICAgICApOwogICAgICAgICAgICAvLyAgICAgICAgICAgfQogICAgICAgICAgICAvLyAgICAgICAgIH0KICAgICAgICAgICAgLy8gICAgICAgfQogICAgICAgICAgICAvLyAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gICAgICAgLy9NZXNzYWdlLmVycm9yKHJlcy5tZXNzYWdlKTsKICAgICAgICAgICAgLy8gICAgIH0KICAgICAgICAgICAgLy8gICB9CiAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgLy8gX21lLiR3YXRjaCgiaW5wdXRWYWwiLCBmdW5jdGlvbihuZXdWYWwsIG9sZFZhbCkgewogICAgICAgICAgICAvLyAgIHBJbnN0LiR3YXRjaCgKICAgICAgICAgICAgLy8gICAgICJpZGVudGl0eU1hcCIsCiAgICAgICAgICAgIC8vICAgICBmdW5jdGlvbihuZXdWYWwsIG9sZFZhbCkgewogICAgICAgICAgICAvLyAgICAgICBpZiAobmV3VmFsICYmIG5ld1ZhbCAhPT0gb2xkVmFsKSB7CiAgICAgICAgICAgIC8vICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbmV3VmFsKSB7CiAgICAgICAgICAgIC8vICAgICAgICAgICBpZiAoX21lLmF0dGVyID09IGtleSkgewogICAgICAgICAgICAvLyAgICAgICAgICAgICBsZXQgaXRlbSA9IG5ld1ZhbFtrZXldOwogICAgICAgICAgICAvLyAgICAgICAgICAgICB1dGlscy5zZXRWYWx1ZUJ5UGF0aCgKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBwSW5zdCwKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBpdGVtLmtleSwKICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBpdGVtLnZhbHVlLnJlcGxhY2UoaXRlbS5leHByZXNzaW9uLCBfbWUudmFsdWUpCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICk7CiAgICAgICAgICAgIC8vICAgICAgICAgICB9CiAgICAgICAgICAgIC8vICAgICAgICAgfQogICAgICAgICAgICAvLyAgICAgICB9CiAgICAgICAgICAgIC8vICAgICB9LAogICAgICAgICAgICAvLyAgICAgeyBpbW1lZGlhdGU6IHRydWUgfQogICAgICAgICAgICAvLyAgICk7CiAgICAgICAgICAgIC8vIH0pOwogICAgICAgICAgICBpZiAoX3RoaXMuZmlsdGVyY3VycmVuY3kgJiYgIWlzTmFOKF90aGlzLmlucHV0VmFsKSAmJiBfdGhpcy5pbnB1dFZhbCkgewogICAgICAgICAgICAgIF90aGlzLmZvcm1hdCA9IEZvcm1NYXRoLmNvbnZlcnRDdXJyZW5jeShfdGhpcy5pbnB1dFZhbCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKF90aGlzLmZpbHRlcnRob3VzYW5kQml0ICYmICFpc05hTihfdGhpcy5pbnB1dFZhbCkgJiYgX3RoaXMuaW5wdXRWYWwpIHsKICAgICAgICAgICAgICBfdGhpcy5mb3JtYXQgPSBfdGhpcy5mb3JtYXQgKyAiICAgIiArIHV0aWxzLnRob3VzYW5kQml0KF90aGlzLmlucHV0VmFsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoX3RoaXMuYmluZFByZUFuZFN1ZkZpeGpzb24pIHsKICAgICAgICAgICAgICBfdGhpcy5iaW5kUHJlQW5kU3VmRml4ID0gSlNPTi5wYXJzZShfdGhpcy5iaW5kUHJlQW5kU3VmRml4anNvbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgX3RoaXMubnVtYmVyUHJlZml4ID0gZmFsc2U7CiAgICAgICAgICAgIGlmIChfdGhpcy50eXBlID09ICJudW1iZXIiICYmIF90aGlzLmJpbmRQcmVBbmRTdWZGaXggJiYgX3RoaXMuYmluZFByZUFuZFN1ZkZpeC5wcmVGaXggfHwgX3RoaXMuYmluZFByZUFuZFN1ZkZpeC5wcmVGaXgpIHsKICAgICAgICAgICAgICBfdGhpcy5udW1iZXJQcmVmaXggPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgIH0KICAgICAgfSwgX2NhbGxlZSk7CiAgICB9KSkoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIHJlYWRvbmx5Rm9ybWF0OiBmdW5jdGlvbiByZWFkb25seUZvcm1hdCh2YWwpIHsKICAgICAgLy/mmoLml6Dooajovr7lvI8g5aaC5pyJ6KGo6L6+5byP5L2/55SoICBldmFsKHZhbCkg5bm25LiU5o6n5Lu26YWN572u6aG56KaB5oqK6KGo6L6+5byP5p6E5bu65Lyg6YCS5YiwZWlwSW5wdXQKICAgICAgaWYgKHRoaXMuYmluZFByZUFuZFN1ZkZpeCkgewogICAgICAgIGlmICghdGhpcy5iaW5kUHJlQW5kU3VmRml4LnByZUZpeCkgewogICAgICAgICAgdGhpcy5iaW5kUHJlQW5kU3VmRml4LnByZUZpeCA9ICIiOwogICAgICAgIH0KICAgICAgICBpZiAoIXRoaXMuYmluZFByZUFuZFN1ZkZpeC5zdWZTaXgpIHsKICAgICAgICAgIHRoaXMuYmluZFByZUFuZFN1ZkZpeC5zdWZTaXggPSAiIjsKICAgICAgICB9CiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHsKICAgICAgICAgIHJldHVybiB0aGlzLmJpbmRQcmVBbmRTdWZGaXgucHJlRml4ICsgdGhpcy52YWx1ZSArIHRoaXMuYmluZFByZUFuZFN1ZkZpeC5zdWZTaXg7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuY29tcGFueSkgewogICAgICAgIHJldHVybiB0aGlzLnZhbHVlICsgdGhpcy5jb21wYW55OwogICAgICB9CiAgICB9LAogICAgbnVtYmVyQmx1cjogZnVuY3Rpb24gbnVtYmVyQmx1cigpIHsKICAgICAgaWYgKHRoaXMuZmlsdGVyY3VycmVuY3kgJiYgIWlzTmFOKHRoaXMuaW5wdXRWYWwpICYmIHRoaXMuaW5wdXRWYWwpIHsKICAgICAgICB0aGlzLmlzU2hvdyA9IGZhbHNlOwogICAgICAgIHRoaXMuc2hvd1ZpZXdlID0gRm9ybU1hdGguY29udmVydEN1cnJlbmN5KHRoaXMuaW5wdXRWYWwpOwogICAgICB9CiAgICAgIGlmICh0aGlzLmZpbHRlcnRob3VzYW5kQml0ICYmICFpc05hTih0aGlzLmlucHV0VmFsKSAmJiB0aGlzLmlucHV0VmFsKSB7CiAgICAgICAgdGhpcy50aG91c2FuZEJpdCA9IHV0aWxzLnRob3VzYW5kQml0KHRoaXMuaW5wdXRWYWwpOwogICAgICB9CiAgICB9LAogICAgbnVtYmVyRm9jdXM6IGZ1bmN0aW9uIG51bWJlckZvY3VzKCkgewogICAgICBpZiAodGhpcy5maWx0ZXJjdXJyZW5jeSAmJiAhaXNOYU4odGhpcy5pbnB1dFZhbCkgJiYgdGhpcy5pbnB1dFZhbCkgewogICAgICAgIHRoaXMuaXNTaG93ID0gdHJ1ZTsKICAgICAgICB0aGlzLnNob3dWaWV3ZSA9ICIiOwogICAgICB9CiAgICAgIGlmICh0aGlzLmZpbHRlcnRob3VzYW5kQml0ICYmICFpc05hTih0aGlzLmlucHV0VmFsKSAmJiB0aGlzLmlucHV0VmFsKSB7CiAgICAgICAgdGhpcy50aG91c2FuZEJpdCA9ICIwIjsKICAgICAgfQogICAgfSwKICAgIGNvbnZlcnRDdXJyZW5jeTogXy5kZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgIGlmICh0aGlzLmZpbHRlcmN1cnJlbmN5ICYmICFpc05hTih0aGlzLmlucHV0VmFsKSAmJiB0aGlzLmlucHV0VmFsKSB7CiAgICAgICAgdGhpcy5pc1Nob3cgPSBmYWxzZTsKICAgICAgICB0aGlzLnNob3dWaWV3ZSA9IEZvcm1NYXRoLmNvbnZlcnRDdXJyZW5jeSh0aGlzLmlucHV0VmFsKTsKICAgICAgfQogICAgfSwgMTAwMCksCiAgICBjb252ZXJ0VGhvdXNhbkJpdDogXy5kZWJvdW5jZShmdW5jdGlvbiAoKSB7CiAgICAgIGlmICh0aGlzLmZpbHRlcnRob3VzYW5kQml0ICYmICFpc05hTih0aGlzLmlucHV0VmFsKSAmJiB0aGlzLmlucHV0VmFsKSB7CiAgICAgICAgdGhpcy50aG91c2FuZEJpdCA9IHV0aWxzLnRob3VzYW5kQml0KHRoaXMuaW5wdXRWYWwpOwogICAgICB9CiAgICB9LCAxMDAwKSwKICAgIG51bWJlckNoYW5nZTogZnVuY3Rpb24gbnVtYmVyQ2hhbmdlKCkgewogICAgICBpZiAodGhpcy5maWx0ZXJjdXJyZW5jeSAmJiAhaXNOYU4odGhpcy5pbnB1dFZhbCkgJiYgdGhpcy5pbnB1dFZhbCkgewogICAgICAgIHRoaXMuY29udmVydEN1cnJlbmN5KCk7CiAgICAgIH0KICAgICAgaWYgKHRoaXMuZmlsdGVydGhvdXNhbmRCaXQgJiYgIWlzTmFOKHRoaXMuaW5wdXRWYWwpICYmIHRoaXMuaW5wdXRWYWwpIHsKICAgICAgICB0aGlzLmNvbnZlcnRUaG91c2FuQml0KCk7CiAgICAgIH0KICAgIH0sCiAgICAvL+aVsOaNruaKpeihqAogICAgY2hlY2tJZGVudGl0eTogZnVuY3Rpb24gY2hlY2tJZGVudGl0eSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBhbGlhcywgcmVzLCBtYXRjaCwgcGFyYW1Eb20sIF9tZTsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaWYgKCFfdGhpczIuY29uZmlnQXR0cmlidXRlcykgewogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdGhpczIuaXNFZGl0ID0gIV90aGlzMi5jb25maWdBdHRyaWJ1dGVzLmlzSW5wdXRFZGl0OwogICAgICAgICAgICAgIC8v5Yik5pat5piv5ZCm57uR5a6a5rWB5rC05Y+3CiAgICAgICAgICAgICAgaWYgKCFfdGhpczIuY29uZmlnQXR0cmlidXRlcy5iaW5kSWRlbnRpdHlBbGlhcykgewogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdGhpczIuaXNFZGl0ID0gZmFsc2U7CiAgICAgICAgICAgICAgaWYgKCFfdGhpczIudmFsdWUpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gNjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICBhbGlhcyA9IF90aGlzMi5jb25maWdBdHRyaWJ1dGVzLmJpbmRJZGVudGl0eUFsaWFzOwogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gOTsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgibWVudS9nZXROZXh0SWRCeUFsaWFzIiwgYWxpYXMpOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICAgICAgX3RoaXMyLiRlbWl0KCJpbnB1dCIsIHJlcy52YWx1ZSk7CiAgICAgICAgICAgICAgICBpZiAocmVzLnZhbHVlKSB7CiAgICAgICAgICAgICAgICAgIG1hdGNoID0gLyhceyguKilcfSkuKiQvLmV4ZWMocmVzLnZhbHVlKTsgLy/liKTmlq3mtYHmsLTlj7fkuK3mmK/lkKbooajovr7lvI/lpoJ7a2pidC5jc2Zqc2N9CiAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCkgewogICAgICAgICAgICAgICAgICAgIF90aGlzMi4kZW1pdCgiaW5wdXQiLCByZXMudmFsdWUucmVwbGFjZShtYXRjaFsxXSwgIiIpKTsKICAgICAgICAgICAgICAgICAgICBwYXJhbURvbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1ttb2RlbC1uYW1lPSJkYXRhLicgKyBtYXRjaFsyXSArICciXScpOwogICAgICAgICAgICAgICAgICAgIF9tZSA9IF90aGlzMjsKICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1Eb20gJiYgcGFyYW1Eb20uX192dWVfXykgewogICAgICAgICAgICAgICAgICAgICAgcGFyYW1Eb20uX192dWVfXy4kd2F0Y2goInZhbHVlIiwgZnVuY3Rpb24gKG5ld1ZhbCwgb2xkVmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfbWUubW9kZWxFeHByZXNzaW9uID09IHBhcmFtRG9tLl9fdnVlX18ubW9kZWxFeHByZXNzaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZS5lcnJvcigi5rWB5rC05Y+355Sf5oiQ6KeE5YiZ5a2X5q615LiN6IO957uR5a6a5rWB5rC05Y+35pi+56S65a2X5q61Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdWYWwgIT0gb2xkVmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgX21lLiRlbWl0KCJpbnB1dCIsIHJlcy52YWx1ZS5yZXBsYWNlKG1hdGNoWzFdLCBuZXdWYWwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGU6IHRydWUKICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvL01lc3NhZ2UuZXJyb3IocmVzLm1lc3NhZ2UpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMik7CiAgICAgIH0pKSgpOwogICAgfQogIH0sCiAgYmVmb3JlRGVzdHJveTogZnVuY3Rpb24gYmVmb3JlRGVzdHJveSgpIHt9LAogIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge30sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIGlmICh0aGlzLmJpbmRQcmVBbmRTdWZGaXhqc29uICE9ICJ7fSIgJiYgKEpTT04ucGFyc2UodGhpcy5iaW5kUHJlQW5kU3VmRml4anNvbikucHJlRml4ICE9ICIiIHx8IEpTT04ucGFyc2UodGhpcy5iaW5kUHJlQW5kU3VmRml4anNvbikuc3VmU2l4ICE9ICIiKSkgewogICAgICBpZiAodGhpcy50eXBlID09ICJudW1iZXIiKSB7CiAgICAgICAgdGhpcy5zdHlsZV93aWR0aCA9ICJ3aWR0aDo1NyUiOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuc3R5bGVfd2lkdGggPSAid2lkdGg6ODclIjsKICAgICAgfQogICAgfQogICAgaWYgKHRoaXMudHlwZSA9PSAibnVtYmVyIiAmJiB0aGlzLnBlcm1pc3Npb25fc3ViID09ICJyIikgewogICAgICB0aGlzLnN0eWxlX3dpZHRoID0gIiI7CiAgICB9CiAgICB0aGlzLiR2YWxpZGF0b3IgPSB0aGlzLiRyb290LiR2YWxpZGF0b3I7CiAgfSwKICB3YXRjaDogewogICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgewogICAgICB0aGlzLmNoZWNrSWRlbnRpdHkoKTsKICAgIH0KICB9Cn07"},null]}