{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/components/timApp/trtc/calling-index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/components/timApp/trtc/calling-index.vue","mtime":1735983065218},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CmltcG9ydCB7IE5hdkJhciwgUG9wdXAsIFJhZGlvR3JvdXAsIFJhZGlvLCBJY29uLCBUb2FzdCB9IGZyb20gInZhbnQiOwppbXBvcnQgcnRjIGZyb20gIkAvY29tcG9uZW50cy9taXhpbnMvcnRjIjsKaW1wb3J0IHsgZ2V0Um9vbXMsIGxlYXZlIH0gZnJvbSAiQC9hcGkvcm9vbS1jb250cm9sbGVyIjsKaW1wb3J0IHsgZXhpdFJvb20sIHNlbmRWaWRlb1Jvb21Nc2cgfSBmcm9tICJAL2FwaS9iY3hpbi9pZGVudGlmeSI7CmltcG9ydCBBdmF0YXIgZnJvbSAiQGNvbXBvbmVudHMvYXZhdGFyLnZ1ZSI7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAidnVleCI7CmltcG9ydCBkYXlqcyBmcm9tICJkYXlqcyI7CmltcG9ydCBkdXJhdGlvbiBmcm9tICJkYXlqcy9wbHVnaW4vZHVyYXRpb24iOwpkYXlqcy5leHRlbmQoZHVyYXRpb24pOwoKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJDYWxsTGF5ZXIiLAogIGNvbXBvbmVudHM6IHsKICAgIEF2YXRhciwKICAgIFtQb3B1cC5uYW1lXTogUG9wdXAsCiAgICBbTmF2QmFyLm5hbWVdOiBOYXZCYXIsCiAgICBbUmFkaW9Hcm91cC5uYW1lXTogUmFkaW9Hcm91cCwKICAgIFtSYWRpby5uYW1lXTogUmFkaW8sCiAgICBbSWNvbi5uYW1lXTogSWNvbiwKICAgIFtUb2FzdC5uYW1lXTogVG9hc3QsCiAgfSwKICBtaXhpbnM6IFtydGNdLAogIHByb3BzOiB7CiAgICB2aXNpYmxlOiBCb29sZWFuLAogICAgZ3JvdXBDYWxsOiBCb29sZWFuLCAvLyDmmK/lkKblpJrkurrmqKHlvI8KICAgIG1lbWJlckxpc3Q6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9LAogICAgfSwKICAgIGFsbE1lbWJlcnM6IHsKICAgICAgLy8g6Zmk6LCD5bqm5Lq65aSW5omA5pyJ5Y+v6YCJ55qE5Y+C5LiO6ICFCiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfSwKICAgIH0sCiAgICB0eXBlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogInZpZGVvIiwKICAgICAgdmFsaWRhdGU6ICh2YWx1ZSkgPT4gewogICAgICAgIHJldHVybiBbInZpZGVvIiwgImF1ZGlvIl0uaW5jbHVkZXModmFsdWUpOwogICAgICB9LAogICAgfSwKICAgIGF1ZGlvOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IHRydWUsCiAgICB9LAogICAgdmlkZW86IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZSwKICAgIH0sCiAgICB5YXJkbWFuVHlwZTogewogICAgICAvLyDosIPluqbnsbvlnovvvJox6KeG6aKR6LCD5bqmIDIg6KeG6aKR5LiK5ouJ77ya6Zmk5LqG6KeG6aKR5LiK5ouJ5LygMu+8jOWFtuS7lumfs+mikeiwg+W6puS4juinhumikeiwg+W6pumDveS8oDEKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAiMSIsCiAgICB9LAogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGRpYWxsaW5nOiBmYWxzZSwgLy8g5piv5ZCm5ouo5omT55S16K+d5LitCiAgICAgIGNhbGxpbmc6IGZhbHNlLCAvLyDmmK/lkKbpgJror53kuK0KICAgICAgaXNEaWFsbGVkOiBmYWxzZSwgLy8g5piv5ZCm6KKr5ZG85Y+rCiAgICAgIGN1cnJlbnREYXRldGltZTogIjAwOjAwIiwKICAgICAgc3RhcnRUaW1lOiBudWxsLAogICAgICB0aW1lcjogbnVsbCwKICAgICAgbGF5b3V0OiAzLAogICAgICBzaG93TGF5b3V0OiBmYWxzZSwKICAgICAgZGlhbGxpbmdUaW1lOiAwLCAvLyAxVjHmi6jlj7flgJLorqHml7YKICAgICAgZGlhbGxpbmdUaW1lcjogbnVsbCwgLy8gMVYx5ouo5Y+35YCS6K6h5pe25a6a5pe25ZmoCiAgICAgIHJvb21JZDogIiIsCiAgICAgIGFsbE1lbWJlcnNUaW1lcjogbnVsbCwKICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgLi4ubWFwU3RhdGUoewogICAgICBjdXJyZW50VXNlclByb2ZpbGU6IChzdGF0ZSkgPT4gc3RhdGUudXNlci5jdXJyZW50VXNlclByb2ZpbGUsCiAgICAgIHVzZXJJRDogKHN0YXRlKSA9PiBzdGF0ZS51c2VyLnVzZXJJRCwKICAgICAgdXNlclNpZzogKHN0YXRlKSA9PiBzdGF0ZS51c2VyLnVzZXJTaWcsCiAgICAgIHNka0FwcElEOiAoc3RhdGUpID0+IHN0YXRlLnVzZXIuc2RrQXBwSUQsCiAgICAgIHN5c1VzZXJJbmZvOiAoc3RhdGUpID0+IHN0YXRlLnVzZXIuc3lzVXNlckluZm8sCiAgICB9KSwKICAgIHRpdGxlKCkgewogICAgICByZXR1cm4gIue0p+aApeWRvOWPq+S4rSI7CiAgICB9LAogICAgc2hvd0NhbGxpbmc6IHsKICAgICAgZ2V0KCkgewogICAgICAgIHJldHVybiB0aGlzLmRpYWxsaW5nIHx8IHRoaXMuY2FsbGluZyB8fCB0aGlzLmlzRGlhbGxlZDsKICAgICAgfSwKICAgICAgc2V0KHZhbHVlKSB7CiAgICAgICAgdGhpcy5kaWFsbGluZyA9IHZhbHVlOwogICAgICAgIHRoaXMuY2FsbGluZyA9IHZhbHVlOwogICAgICAgIHRoaXMuaXNEaWFsbGVkID0gdmFsdWU7CiAgICAgIH0sCiAgICB9LAogICAgbWVtYmVyTGlzdFNvcnQoKSB7CiAgICAgIHJldHVybiBbLi4udGhpcy5tZW1iZXJMaXN0XS5zb3J0KChhLCBiKSA9PiB7CiAgICAgICAgcmV0dXJuIGE/LnN0YXRlPy5sb2NhbGVDb21wYXJlKGI/LnN0YXRlKTsKICAgICAgfSk7CiAgICB9LAogIH0sCiAgd2F0Y2g6IHsKICAgIG1lbWJlckxpc3Q6IHsKICAgICAgaGFuZGxlcih2YWx1ZSkgewogICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgICB0aGlzLmxheW91dCA9IDM7CiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID49IDMpIHsKICAgICAgICAgICAgdGhpcy5sYXlvdXQgPSA2OwogICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID49IDYpIHsKICAgICAgICAgICAgICB0aGlzLmxheW91dCA9IDk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIC8qKgogICAgICAgICAgICog6LCD5bqm6YCa6K6v5Lit5Lul5LiL5Yeg56eN5oOF5Ya177yM6LCD5bqm56qX5Y+j55u05o6l5YWz6Zet77yaCiAgICAgICAgICAgKiDnrKzkuIDjgIHlhajlkZjmjqXlkKzlkI7pg73mjILmlq0KICAgICAgICAgICAqIOesrOS6jOOAgeWFqOWRmOmDveiiq+enu+mZpAogICAgICAgICAgICog56ys5LiJ44CB5YWo5ZGY5YWo6YOo6LaF5pe25pyq5o6l5ZCsCiAgICAgICAgICAgKiDnrKzlm5vjgIHosIPluqbnqpflj6PkuK3vvIzlj6rlianosIPluqblkZjkuIDkuKoKICAgICAgICAgICAqLwogICAgICAgICAgY29uc3Qgb2ZmbGluZU1lbWJlcnMgPSBbLi4udmFsdWVdLmZpbHRlcigoeCkgPT4geC5zdGF0ZSA9PT0gIkRJU0NPTk5FQ1RFRCIpLmxlbmd0aDsKICAgICAgICAgIGNvbnNvbGUubG9nKCJvZmZsaW5lIG1lbWJlcnMiLCBvZmZsaW5lTWVtYmVycywgdmFsdWUubGVuZ3RoKTsKICAgICAgICAgIGlmIChvZmZsaW5lTWVtYmVycyA+PSB2YWx1ZS5sZW5ndGggJiYgKHRoaXMuY2FsbGluZyB8fCB0aGlzLmRpYWxsaW5nKSkgewogICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUsCiAgICAgIGltbWVkaWF0ZTogdHJ1ZSwKICAgIH0sCiAgICAvKioKICAgICAqIEDkuIDlr7nkuIDooqvosIPluqbmlrnmsqHmnInmjqXnmoTor50x5YiG6ZKf5ZCO6LCD5bqm5pa555u05o6l57uT5p2fCiAgICAgKiBAcGFyYW0gdmFsdWUKICAgICAqLwogICAgZGlhbGxpbmdUaW1lKHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSA+PSA2MCAvKiAmJiBwcm9jZXNzLmVudi5WVUVfQVBQX0VOViAhPT0gImRldmVsb3BtZW50IiAqLykgewogICAgICAgIHRoaXMub25DbG9zZSgpOwogICAgICB9CiAgICB9LAogIH0sCiAgbWV0aG9kczogewogICAgb25PcGVuKCkgewogICAgICB0aGlzLnN0YXJ0VGltZSA9IG5ldyBEYXRlKCk7CiAgICAgIHRoaXMuc2V0VGltZXIoKTsKICAgIH0sCiAgICBvbkNsb3NlKCkgewogICAgICB0aGlzLnNob3dDYWxsaW5nID0gZmFsc2U7CiAgICB9LAogICAgaGFuZGxlTGVhdmUoKSB7CiAgICAgIHRoaXMuZW5kRGlhbGluZ1RpbWVDb3VudGluZygpOwogICAgICB0aGlzLmVuZE1lbWJlclRpbWVyKCk7CiAgICAgIHRoaXMuZW5kQ3VycmVudFRpbWVyKCk7CiAgICAgIHRoaXMubGVhdmUoKS50aGVuKGFzeW5jICgpID0+IHsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgZXhpdFJvb20oeyByb29tTm86IHRoaXMucm9vbUlkIH0pOwogICAgICAgICAgdGhpcy5jbG9zZSgpOwogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICBjb25zb2xlLmVycm9yKCJsZWF2ZSByb29tIGVycm9yIiwgZXJyb3IpOwogICAgICAgICAgdGhpcy5hZGRGYWlsZWRMb2coYExlYXZlIHJvb20gZmFpbGVkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWApOwogICAgICAgICAgLy8gdGhpcy5yZXBvcnRGYWlsZWRFdmVudCgibGVhdmVSb29tIiwgZXJyb3IpOwogICAgICAgICAgdGhyb3cgZXJyb3I7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBjbG9zZSgpIHsKICAgICAgbGVhdmUodGhpcy5yb29tSWQpLnRoZW4oKHJlcykgPT4gewogICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgY29uc3QgbWVtYmVyTGlzdCA9IHRoaXMubWVtYmVyTGlzdC5tYXAoKHgpID0+IHsKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIC4uLngsCiAgICAgICAgICAgIHN0YXRlOiAiQ09OTkVDVElORyIsCiAgICAgICAgICAgIGFjdGlvbjogIiIsCiAgICAgICAgICAgIHRpbWVyOiAwLAogICAgICAgICAgICB0aW1lb3V0OiBmYWxzZSwKICAgICAgICAgICAgYmVLaWNrT3V0OiBmYWxzZSwKICAgICAgICAgICAgaGFuZ3VwOiBmYWxzZSwKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy4kZW1pdCgidXBkYXRlOm1lbWJlckxpc3QiLCBtZW1iZXJMaXN0KTsKICAgICAgICAvLyB0aGlzLiRzdG9yZS5jb21taXQoIlRPR0dMRV9ESVNQQVRDSElORyIsIGZhbHNlKTsKICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoIlNFVF9ST09NX0lEIiwgbnVsbCk7CiAgICAgICAgdGhpcy4kZW1pdCgiY2xvc2UiKTsKICAgICAgfSk7CiAgICB9LAogICAgdGltZUZvcm1hdChob3VycywgbWludXRlcywgc2Vjb25kcykgewogICAgICBpZiAoaG91cnMgPiAwKSB7CiAgICAgICAgaWYgKGhvdXJzIDwgMTApIHsKICAgICAgICAgIGhvdXJzID0gIjAiICsgaG91cnM7CiAgICAgICAgfQogICAgICAgIGlmIChtaW51dGVzIDwgMTApIHsKICAgICAgICAgIG1pbnV0ZXMgPSAiMCIgKyBtaW51dGVzOwogICAgICAgIH0KICAgICAgICBpZiAoc2Vjb25kcyA8IDEwKSB7CiAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGhvdXJzICsgIjoiICsgbWludXRlcyArICI6IiArIHNlY29uZHM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKG1pbnV0ZXMgPiAwKSB7CiAgICAgICAgICBpZiAobWludXRlcyA8IDEwKSB7CiAgICAgICAgICAgIG1pbnV0ZXMgPSAiMCIgKyBtaW51dGVzOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHNlY29uZHMgPCAxMCkgewogICAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBtaW51dGVzICsgIjoiICsgc2Vjb25kczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHNlY29uZHMgPCAxMCkgewogICAgICAgICAgICBzZWNvbmRzID0gIjAiICsgc2Vjb25kczsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiAiMDA6IiArIHNlY29uZHM7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgc2V0VGltZXIoKSB7CiAgICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBjb25zdCB4ID0gZGF5anMoKTsKICAgICAgICBjb25zdCB5ID0gZGF5anModGhpcy5zdGFydFRpbWUpOwogICAgICAgIGNvbnN0IGN1cnJlbnRIb3VyID0gZGF5anMuZHVyYXRpb24oeC5kaWZmKHkpKS5nZXQoImhvdXJzIik7CiAgICAgICAgY29uc3QgY3VycmVudE1pbiA9IGRheWpzLmR1cmF0aW9uKHguZGlmZih5KSkuZ2V0KCJtaW51dGVzIik7CiAgICAgICAgY29uc3QgY3VycmVudFNlY29uZCA9IGRheWpzLmR1cmF0aW9uKHguZGlmZih5KSkuZ2V0KCJzZWNvbmRzIik7CiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZXRpbWUgPSB0aGlzLnRpbWVGb3JtYXQoY3VycmVudEhvdXIsIGN1cnJlbnRNaW4sIGN1cnJlbnRTZWNvbmQpOwogICAgICAgIHRoaXMuc2V0VGltZXIoKTsKICAgICAgfSwgMTAwMCk7CiAgICB9LAogICAgLyoqCiAgICAgKiBA5ZCO5Y+w5ouo5Y+35o6l5Y+jCiAgICAgKiBAcGFyYW0gcm9vbUlkCiAgICAgKiBAcGFyYW0gTWVtYmVyTGlzdAogICAgICogQHBhcmFtIFVzZUxpc3QKICAgICAqLwogICAgc2VuZFJvb21NZXNzYWdlKHJvb21JZCwgTWVtYmVyTGlzdCwgVXNlTGlzdCkgewogICAgICBjb25zdCB1c2VySW5mbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ1c2VySW5mbyIpOwogICAgICBpZiAodXNlckluZm8pIHsKICAgICAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZSh1c2VySW5mbyk7CiAgICAgICAgY29uc3QgcGFyYW1zID0gewogICAgICAgICAgUm9vbU5vOiByb29tSWQsIC8v5oi/6Ze0CiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsIC8vdmlkZW8gb3IgYXVkaW8KICAgICAgICAgIE1lbWJlckxpc3QsCiAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsIC8v6LCD5bqm6ICF5ZCN56ewCiAgICAgICAgICBZYXJkbWFuX05hbWU6IHVzZXIudGVuY2VudFVzZXJJZCwgLy/osIPluqbogIXlkI3np7AKICAgICAgICAgIFlhcmRtYW5fVGFza19OYW1lOiAi5Liq5Lq66LCD5bqmIiwgLy/osIPluqbku7vliqHlkI3np7AKICAgICAgICAgIFlhcmRtYW5fVHlwZTogdGhpcy55YXJkbWFuVHlwZSwgLy/osIPluqbnsbvlnovvvJox6KeG6aKR6LCD5bqmIDIg6KeG6aKR5LiK5ouJ77ya6Zmk5LqG6KeG6aKR5LiK5ouJ5LygMu+8jOWFtuS7lumfs+mikeiwg+W6puS4juinhumikeiwg+W6pumDveS8oDEKICAgICAgICAgIHlhcmRtYW5UeXBlOiB0aGlzLnlhcmRtYW5UeXBlLCAvL+iwg+W6puexu+Wei++8mjHop4bpopHosIPluqYgMiDop4bpopHkuIrmi4nvvJrpmaTkuobop4bpopHkuIrmi4nkvKAy77yM5YW25LuW6Z+z6aKR6LCD5bqm5LiO6KeG6aKR6LCD5bqm6YO95LygMQogICAgICAgICAgWWFyZG1hbl9UYXNrX0V4cGxhaW46ICLku7vliqHor7TmmI4iLCAvL+iwg+W6puS7u+WKoeivtOaYju+8jOmdnuW/heWhqwogICAgICAgICAgLy8gVHJhbnNjcmliZXI6ICIiLCAvL+W9leWItuS6uuWRmGNpZCzlpJrkuKrpgJflj7fpmpTlvIDvvIzpnZ7lv4XloasKICAgICAgICAgIE9yaWdpbmF0b3I6IHVzZXIudGVuY2VudFVzZXJJZCArICI7IiArIHVzZXIudGVuY2VudFVzZXJJZCwgLy/lj5HotbfkurpjaWQ7dXNlaWQKICAgICAgICAgIC8v6KKr6LCD5bqm6KeG6aKR5Lq65ZGYLOi3n01lbWJlckxpc3TkuIDkuIDlr7nlupR1aWQ7ZW1wbG95ZWVpZDtvcmdhbml6YXRpb25JZDtuYW1lO3R5cGUsLi4uCiAgICAgICAgICBVc2VMaXN0LAogICAgICAgICAgQ29tSWQ6IHVzZXIub3JnYW5pemF0aW9uSWQsIC8v6LCD5bqm6ICF5YWs5Y+4aWQKICAgICAgICB9OwogICAgICAgIC8vIOWQjuerr+WOu+e7meiiq+iwg+W6puiAheeahGFwcOaLqOWPtwogICAgICAgIHNlbmRWaWRlb1Jvb21Nc2cocGFyYW1zKS50aGVuKChyZXMpID0+IHsKICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEAxdjHmiJbogIXop4bpopHkuIrmi4nml7bvvIzorqHnrpfmi6jlj7fml7bplb8KICAgICAqLwogICAgc3RhcnREaWFsaW5nVGltZUNvdW50aW5nKCkgewogICAgICBpZiAodGhpcy55YXJkbWFuVHlwZSA9PT0gIjIiIHx8IHRoaXMubWVtYmVyTGlzdC5sZW5ndGggPCAyKSB7CiAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWUgKz0gMTsKICAgICAgICB9LCAxMDAwKTsKICAgICAgfQogICAgfSwKICAgIC8qKgogICAgICogQOe7k+adn+aLqOWPt+iuoeaXtgogICAgICovCiAgICBlbmREaWFsaW5nVGltZUNvdW50aW5nKCkgewogICAgICBpZiAodGhpcy5kaWFsbGluZ1RpbWVyKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmRpYWxsaW5nVGltZXIpOwogICAgICAgIHRoaXMuZGlhbGxpbmdUaW1lciA9IG51bGw7CiAgICAgICAgdGhpcy5kaWFsbGluZ1RpbWUgPSAwOwogICAgICB9CiAgICB9LAogICAgLyoqCiAgICAgKiBA57uT5p2f5oiQ5ZGY6K6h5pe2CiAgICAgKi8KICAgIGVuZE1lbWJlclRpbWVyKCkgewogICAgICBpZiAodGhpcy5hbGxNZW1iZXJzVGltZXIpIHsKICAgICAgICBjbGVhckludGVydmFsKHRoaXMuYWxsTWVtYmVyc1RpbWVyKTsKICAgICAgICB0aGlzLmFsbE1lbWJlcnNUaW1lciA9IG51bGw7CiAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIEDnu5PmnZ/mmL7npLrorqHml7YKICAgICAqLwogICAgZW5kQ3VycmVudFRpbWVyKCkgewogICAgICB0aGlzLmN1cnJlbnREYXRldGltZSA9ICIwMDowMCI7CiAgICAgIGlmICh0aGlzLnRpbWVyKSB7CiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpOwogICAgICAgIHRoaXMudGltZXIgPSBudWxsOwogICAgICB9CiAgICB9LAogICAgYXN5bmMgdmlkZW9DYWxsaW5nKCkgewogICAgICBjb25zdCB1c2VySW5mbyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ1c2VySW5mbyIpOwogICAgICBsZXQgcm9vbVVzZXJzID0gW107CiAgICAgIGlmICh1c2VySW5mbykgewogICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKHVzZXJJbmZvKTsKICAgICAgICBjb25zb2xlLmxvZyh1c2VyKTsKICAgICAgICByb29tVXNlcnMucHVzaCh7CiAgICAgICAgICBlbXBsb3llZUlkOiB1c2VyLmVtcGxveWVlSWQsCiAgICAgICAgICBvcmdhbml6YXRpb25JZDogdXNlci5vcmdhbml6YXRpb25JZCwKICAgICAgICAgIHRlbmNlbnRVc2VySWQ6IHVzZXIudGVuY2VudFVzZXJJZCwKICAgICAgICAgIHNlY3VyaXR5U3RhdGlvbklkOiAiIiwKICAgICAgICAgIHN1cGVydmlzZURlcGFydElkOiAiIiwKICAgICAgICAgIHNwb25zb3I6IHRydWUsCiAgICAgICAgfSk7CiAgICAgICAgZ2V0Um9vbXMoewogICAgICAgICAgcm9vbVVzZXJzOiByb29tVXNlcnMuY29uY2F0KAogICAgICAgICAgICB0aGlzLm1lbWJlckxpc3QubWFwKCh4KSA9PiB7CiAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIGVtcGxveWVlSWQ6IHguaWQsCiAgICAgICAgICAgICAgICBvcmdhbml6YXRpb25JZDogeC5vcmdhbml6YXRpb25JZCwKICAgICAgICAgICAgICAgIHRlbmNlbnRVc2VySWQ6IHgudGVuY2VudFVzZXJJZCwKICAgICAgICAgICAgICAgIHNlY3VyaXR5U3RhdGlvbklkOiB4LnNlY3VyaXR5U3RhdGlvbklkLAogICAgICAgICAgICAgICAgc3VwZXJ2aXNlRGVwYXJ0SWQ6IHguc3VwZXJ2aXNlRGVwYXJ0SWQsCiAgICAgICAgICAgICAgICBzcG9uc29yOiBmYWxzZSwKICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KQogICAgICAgICAgKSwKICAgICAgICAgIGNvbW11bmljYXRlZFR5cGU6IHRoaXMudHlwZSA9PT0gInZpZGVvIiA/ICJWaWRlbyIgOiAiQXVkaW8iLCAvL+aWsOWinuS8oOWPggogICAgICAgICAgeWFyZG1hblR5cGU6IHRoaXMueWFyZG1hblR5cGUsIC8v6LCD5bqm57G75Z6L77yaMeinhumikeiwg+W6piAyIOinhumikeS4iuaLie+8mumZpOS6huinhumikeS4iuaLieS8oDLvvIzlhbbku5bpn7PpopHosIPluqbkuI7op4bpopHosIPluqbpg73kvKAxCiAgICAgICAgICBkZXNrVHlwZTogdGhpcy4kcm91dGUucXVlcnkuc3RhdGlvblR5cGUgPT09ICJUZW1wb3JhcnlTZWN1cml0eSIgPyAiVGVtcG9yYXJ5U2VjdXJpdHkiIDogIk5vcm1hbCIsCiAgICAgICAgfSkKICAgICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsKICAgICAgICAgICAgY29uc3QgeyBpZCwgcm9vbVVzZXJzIH0gPSByZXM7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKGlkKTsKICAgICAgICAgICAgaWYgKGlkIDw9IDApIHsKICAgICAgICAgICAgICB0aGlzLmFkZEZhaWxlZExvZyhg6KKr6LCD5bqm5Lq65omA5Zyo5LyB5Lia6IGU5Yqo5YC85LiN6LazLCDml6Dms5Xov5vooYzosIPluqbjgIJgKTsKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgdGhpcy5kaWFsbGluZyA9IHRydWU7IC8vIOaLqOWPt+S4rQogICAgICAgICAgICAgIC8vIDF2MeaIluiAheinhumikeS4iuaLieaXtu+8jOiuoeeul+aLqOWPt+aXtumVvwogICAgICAgICAgICAgIHRoaXMuc3RhcnREaWFsaW5nVGltZUNvdW50aW5nKCk7CiAgICAgICAgICAgICAgLy8g5YiG5Yir5a+55omA5pyJ5Y+C5Lya5Lq66K6h5pe2CiAgICAgICAgICAgICAgdGhpcy5zZXRBbGxNZW1iZXJzVGltZXIoKTsKICAgICAgICAgICAgICAvLyDliJ3lp4vljJblrqLmiLfnq68KICAgICAgICAgICAgICBhd2FpdCB0aGlzLmluaXRDbGllbnQoKTsKICAgICAgICAgICAgICB0aGlzLnJvb21JZCA9IGlkOwogICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmNvbW1pdCgiU0VUX1JPT01fSUQiLCB0aGlzLnJvb21JZCk7CiAgICAgICAgICAgICAgLy8g5Yqg5YWl5oi/6Ze0CiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5qb2luKCk7CiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5pbml0TG9jYWxTdHJlYW0oewogICAgICAgICAgICAgICAgYXVkaW86IHRoaXMuYXVkaW8sCiAgICAgICAgICAgICAgICB2aWRlbzogdGhpcy52aWRlbywKICAgICAgICAgICAgICB9KTsgLy8g5Yid5aeL6K+d5pys5Zyw5rWBCiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbGF5TG9jYWxTdHJlYW0oKTsgLy8g5pKt5pS+5pys5Zyw5rWBCiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wdWJsaXNoKCk7IC8vIOWPkeW4g+acrOWcsOa1gQogICAgICAgICAgICAgIC8vIGxldCB1aWRMaXN0ID0gW10vL+inhumikeS6uuWRmHVpZAogICAgICAgICAgICAgIC8vIGNvbnN0IHsgbW9iaWxlUGhvbmUsIGlkLCBvcmdhbml6YXRpb25JZCwgZGV2aWNlTnVtYmVyLCB0ZW5jZW50VXNlcklkLCBuYW1lLCBjaWQsIHNlY3VyaXR5U3RhdGlvbklkLCBzdXBlcnZpc2VEZXBhcnRJZCB9ID0gaXRlbTsKICAgICAgICAgICAgICAvLyBjb25zdCBpdGVtX2NpZCA9IGNpZCB8fCB0ZW5jZW50VXNlcklkCiAgICAgICAgICAgICAgLy8gdWlkTGlzdC5wdXNoKGAke3RlbmNlbnRVc2VySWR9OyR7aWR9OyR7b3JnYW5pemF0aW9uSWR9OyR7bmFtZX07JHt0eXBlfWApCiAgICAgICAgICAgICAgY29uc29sZS5sb2coIn5+fn5+dXNlciIsIHVzZXIpOwogICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJ+fn5+fiIsIHRoaXMubWVtYmVyTGlzdCk7CiAgICAgICAgICAgICAgY29uc3QgbWVtYmVyTGlzdCA9IHJvb21Vc2VycwogICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jaWQgJiYgaXRlbS5zcG9uc29yID09PSBmYWxzZSkKICAgICAgICAgICAgICAgIC5tYXAoKHgpID0+IHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIHguY2lkOwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC5qb2luKCIsIik7CiAgICAgICAgICAgICAgY29uc3QgVXNlTGlzdCA9IHRoaXMubWVtYmVyTGlzdAogICAgICAgICAgICAgICAgLm1hcCgoeCkgPT4gewogICAgICAgICAgICAgICAgICBjb25zdCB7IGlkLCBvcmdhbml6YXRpb25JZCwgdGVuY2VudFVzZXJJZCwgbmFtZSB9ID0geDsKICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaXRlbV9jaWQgPSBjaWQgfHwgdGVuY2VudFVzZXJJZAogICAgICAgICAgICAgICAgICAvLyB1aWRMaXN0LnB1c2goYCR7dGVuY2VudFVzZXJJZH07JHtpZH07JHtvcmdhbml6YXRpb25JZH07JHtuYW1lfTske3R5cGV9YCkKICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3RlbmNlbnRVc2VySWR9OyR7aWR9OyR7b3JnYW5pemF0aW9uSWR9OyR7bmFtZX07JHt0aGlzLnR5cGV9YDsKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuam9pbigiLCIpOwogICAgICAgICAgICAgIHRoaXMuc2VuZFJvb21NZXNzYWdlKHRoaXMucm9vbUlkLCBtZW1iZXJMaXN0LCBVc2VMaXN0KTsKICAgICAgICAgICAgfQogICAgICAgICAgfSkKICAgICAgICAgIC5jYXRjaCgoeyByZXNwb25zZSB9KSA9PiB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTsKICAgICAgICAgICAgdGhpcy5hZGRGYWlsZWRMb2coYCR7cmVzcG9uc2UuZGF0YS5tZXNzYWdlfWApOwogICAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICBhdWRpb0NhbGxpbmcoKSB7fSwKICAgIC8qKgogICAgICogQOaYvuekuueUqOaIt+WQjeeahOaPkOekugogICAgICogQHBhcmFtIGlkCiAgICAgKiBAcGFyYW0gbWVzc2FnZQogICAgICogQHBhcmFtIGVycgogICAgICovCiAgICB1c2VyTG9nKGlkLCBtZXNzYWdlLCBlcnIgPSBmYWxzZSkgewogICAgICBjb25zdCB1c2VyID0gdGhpcy5tZW1iZXJMaXN0LmZpbmQoKG1lbWJlcikgPT4gbWVtYmVyLnRlbmNlbnRVc2VySWQgPT09IGlkKTsKICAgICAgaWYgKHVzZXIpIHsKICAgICAgICBjb25zb2xlLmxvZyh1c2VyKTsKICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICB0aGlzLmFkZEZhaWxlZExvZyhgWyR7dXNlci5uYW1lfV0gJHttZXNzYWdlfWApOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NMb2coYFske3VzZXIubmFtZX1dICR7bWVzc2FnZX1gKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBhZGRTdWNjZXNzTG9nKG1lc3NhZ2UpIHsKICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7CiAgICAgIFRvYXN0LnN1Y2Nlc3MobWVzc2FnZSk7CiAgICAgIC8vIE5vdGlmeSh7IHR5cGU6ICdzdWNjZXNzJywgbWVzc2FnZSB9KTsKICAgIH0sCiAgICBhZGRGYWlsZWRMb2cobWVzc2FnZSkgewogICAgICAvLyBOb3RpZnkoeyB0eXBlOiAiZGFuZ2VyIiwgbWVzc2FnZSB9KTsKICAgICAgVG9hc3QuZmFpbChtZXNzYWdlKTsKICAgIH0sCiAgICBoYW5kbGVNdXRlQXVkaW8oKSB7CiAgICAgIGlmICh0aGlzLmlzTXV0ZWRBdWRpbykgewogICAgICAgIHRoaXMudW5tdXRlQXVkaW8oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLm11dGVBdWRpbygpOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlTXV0ZVZpZGVvKCkgewogICAgICBpZiAodGhpcy5pc011dGVkVmlkZW8pIHsKICAgICAgICB0aGlzLnVubXV0ZVZpZGVvKCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5tdXRlVmlkZW8oKTsKICAgICAgfQogICAgfSwKICAgIHNob3dNZW1iZXJzKCkgewogICAgICAvLyB0aGlzLmNsb3NlKCk7CiAgICAgIHRoaXMuJGVtaXQoInNob3dNZW1iZXJzIik7CiAgICB9LAogICAgc2V0QWxsTWVtYmVyc1RpbWVyKCkgewogICAgICB0aGlzLmFsbE1lbWJlcnNUaW1lciA9IHNldEludGVydmFsKCgpID0+IHsKICAgICAgICB0aGlzLm1lbWJlckxpc3QuZm9yRWFjaCgobWVtYmVyKSA9PiB7CiAgICAgICAgICBjb25zdCBoYXNLZXkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWVtYmVyLCAidGltZXIiKTsKICAgICAgICAgIGNvbnN0IGJlS2lja091dCA9IG1lbWJlci5iZUtpY2tPdXQ7CiAgICAgICAgICBpZiAoIWhhc0tleSB8fCBiZUtpY2tPdXQgfHwgbWVtYmVyLnN0YXRlID09PSAiQ09OTkVDVEVEIikgewogICAgICAgICAgICBtZW1iZXIudGltZXIgPSAwOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uc29sZS5sb2coIueOsOWcqOeahOS6uuWRmOeKtuaAgeaYr+OAguOAgiIsIG1lbWJlci5zdGF0ZSk7CiAgICAgICAgICAgIGlmIChtZW1iZXIudGltZXIgPCA2MCAmJiBtZW1iZXIuc3RhdGUgPT09ICJDT05ORUNUSU5HIikgewogICAgICAgICAgICAgIG1lbWJlci50aW1lcisrOwogICAgICAgICAgICAgIG1lbWJlci50aW1lb3V0ID0gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coIui/m+WFpeS6hui2heaXtuWIpOaWrSIsIG1lbWJlci5zdGF0ZSk7CiAgICAgICAgICAgICAgaWYgKG1lbWJlci5zdGF0ZSAhPT0gIkRJU0NPTk5FQ1RFRCIpIHsKICAgICAgICAgICAgICAgIG1lbWJlci50aW1lciA9IDA7CiAgICAgICAgICAgICAgICBtZW1iZXIudGltZW91dCA9IHRydWU7CiAgICAgICAgICAgICAgICBtZW1iZXIuc3RhdGUgPSAiRElTQ09OTkVDVEVEIjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICB0aGlzLiRlbWl0KCJ1cGRhdGU6bWVtYmVyTGlzdCIsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5tZW1iZXJMaXN0KSkpOwogICAgICAgIGNvbnNvbGUubG9nKCIlYyBtZW1iZXJMaXN0IiwgImJhY2tncm91bmQ6ICMwMGNjMDA7IGNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiAzcHg7cGFkZGluZzoycHggNXB4IiwgdGhpcy5tZW1iZXJMaXN0KTsKICAgICAgfSwgMTAwMCk7CiAgICB9LAogIH0sCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuJGJ1cy4kb24oInZpZGVvLWNhbGwiLCB0aGlzLnZpZGVvQ2FsbGluZyk7IC8vIOWPkei1t+mAmuivnQogICAgdGhpcy4kYnVzLiRvbigiYXVkaW8tY2FsbCIsIHRoaXMuYXVkaW9DYWxsaW5nKTsgLy8g5Y+R6LW36YCa6K+dCiAgfSwKICBiZWZvcmVEZXN0cm95KCkgewogICAgaWYgKHRoaXMudGltZXIpIHsKICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpOwogICAgICB0aGlzLnRpbWVyID0gbnVsbDsKICAgIH0KICAgIHRoaXMuJGJ1cy4kb2ZmKCJ2aWRlby1jYWxsIiwgdGhpcy52aWRlb0NhbGxpbmcpOwogICAgdGhpcy4kYnVzLiRvZmYoImF1ZGlvLWNhbGwiLCB0aGlzLmF1ZGlvQ2FsbGluZyk7IC8vIOWPkei1t+mAmuivnQogIH0sCn07Cg=="},null]}