{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/auth.js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/src/auth.js","mtime":1735956604620},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-dispatch-mobile/babel.config.js","mtime":1703661155587},{"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}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5oYXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuc2l6ZS5qcyI7CmltcG9ydCB7IGdldENvbmZpZyB9IGZyb20gIkAvdXRpbHMiOwppbXBvcnQgYXhpb3MgZnJvbSAiYXhpb3MiOwppbXBvcnQgeyBnZXRDdXJyZW50U2V0dGluZywgZ2V0Q3VycmVudFVzZXIgfSBmcm9tICJAL2FwaS90ZW5hbnQtdXNlci1jb250cm9sbGVyIjsKaW1wb3J0IFRJTSBmcm9tICJ0aW0tanMtc2RrL3RpbS1qcy1mcmllbmRzaGlwIjsKaW1wb3J0IHRpbSBmcm9tICJAL3RpbSI7CmltcG9ydCB7IGdldFRlbmNlbnRTaWcsIGdldFRlbmNlbnRUUlRDU2lnIH0gZnJvbSAiQC9hcGkvYmN4aW4vaWRlbnRpZnkiOwppbXBvcnQgc3RvcmUgZnJvbSAiQC9zdG9yZSI7CmltcG9ydCByb3V0ZXIgZnJvbSAiQC9yb3V0ZXIiOwpleHBvcnQgY29uc3QgZ2V0QWNjZXNzVG9rZW4gPSAoKSA9PiB7CiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAgaWYgKHByb2Nlc3MuZW52LlZVRV9BUFBfRU5WID09PSAiZGV2ZWxvcG1lbnQiKSB7CiAgICAgIGdldENvbmZpZygpLnRoZW4oKHsKICAgICAgICBhY2Nlc3NUb2tlbgogICAgICB9KSA9PiB7CiAgICAgICAgY29uc3QgewogICAgICAgICAgdmFsdWUKICAgICAgICB9ID0gYWNjZXNzVG9rZW4uZmluZCh4ID0+IHgub3JnSW5zdGl0dXRpb25hbCA9PT0gIjAyMDEiKTsKICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSk7CiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImFjY2Vzc1Rva2VuIiwgdmFsdWUpOwogICAgICAgIHJlc29sdmUodmFsdWUpOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoIj8iICsgd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIj8iKVsxXSk7IC8v5bCG5Y+C5pWw5pS+5ZyoVVJMU2VhcmNoUGFyYW1z5Ye95pWw5LitCiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2VhcmNoUGFyYW1zLmdldCgiYWNjZXNzVG9rZW4iKTsKICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImFjY2Vzc1Rva2VuIiwgYWNjZXNzVG9rZW4udG9TdHJpbmcoKSk7CiAgICAgIHJlc29sdmUoYWNjZXNzVG9rZW4pOwogICAgfQogIH0pOwp9OwpleHBvcnQgY29uc3QgcGVybWlzc2lvbiA9IGFzeW5jICgpID0+IHsKICBjb25zdCBhY2Nlc3NUb2tlbiA9IGF3YWl0IGdldEFjY2Vzc1Rva2VuKCk7CiAgY29uc29sZS5sb2coImFjY2Vzc1Rva2VuIiwgYWNjZXNzVG9rZW4pOwogIC8qKgogICAqIEDoh6rliqjnmbvlvZXojrflj5ZkaXNwYXRjaFRva2VuCiAgICovCiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIGF4aW9zLnBvc3QoYCR7cHJvY2Vzcy5lbnYuVlVFX0FQUF9BUElfUk9PVH0vaWRlbnRpdHkvQXBwRGVzay9hdXRvLWxvZ2luYCwge30sIHsKICAgICAgaGVhZGVyczogewogICAgICAgICJDb250ZW50LVR5cGUiOiAibXVsdGlwYXJ0L2Zvcm0tZGF0YSIsCiAgICAgICAgLy8gInNraXAtaXAtdmFsaWRhdGlvbiI6MSwKICAgICAgICBhY2Nlc3NUb2tlbgogICAgICB9CiAgICB9KS50aGVuKGFzeW5jIHJlcyA9PiB7CiAgICAgIGNvbnN0IHsKICAgICAgICBzdGF0dXMsCiAgICAgICAgZGF0YQogICAgICB9ID0gcmVzOwogICAgICBpZiAoc3RhdHVzID09PSAyMDApIHsKICAgICAgICBjb25zdCB7CiAgICAgICAgICBkYXRhOiB7CiAgICAgICAgICAgIGRpc3BhdGNoVG9rZW4KICAgICAgICAgIH0KICAgICAgICB9ID0gZGF0YTsKICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiZGlzcGF0Y2hUb2tlbiIsIGRpc3BhdGNoVG9rZW4pOwogICAgICAgIC8vIOiOt+WPlumFjee9rgogICAgICAgIGNvbnN0IHNldHRpbmcgPSBhd2FpdCBnZXRDdXJyZW50U2V0dGluZygpOwogICAgICAgIHN0b3JlLmNvbW1pdCgiU0VUX0FQUF9TRVRUSU5HIiwgc2V0dGluZyk7CiAgICAgICAgcmVzb2x2ZSh0cnVlKTsKICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IDQwMSB8fCBzdGF0dXMgPT09IDQwMykgewogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJkaXNwYXRjaFRva2VuIiwgIiIpOwogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ1c2VySW5mbyIsICIiKTsKICAgICAgICBzdG9yZS5jb21taXQoInNob3dNZXNzYWdlIiwgewogICAgICAgICAgdHlwZTogImVycm9yIiwKICAgICAgICAgIG1lc3NhZ2U6ICLmnKrmjojmnYPml6DmlYjosIPluqblj7DnlKjmiLciLAogICAgICAgICAgZHVyYXRpb246IDAKICAgICAgICB9KTsKICAgICAgICBzdG9yZS5jb21taXQoIlNFVF9TWVNfVVNFUl9JTkZPIiwgbnVsbCk7CiAgICAgICAgcmVqZWN0KCLmnKrmjojmnYPml6DmlYjosIPluqblj7DnlKjmiLciKTsKICAgICAgfQogICAgfSkuY2F0Y2goZXJyb3IgPT4gewogICAgICBjb25zb2xlLmVycm9yKGVycm9yKTsKICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oImRpc3BhdGNoVG9rZW4iLCAiIik7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ1c2VySW5mbyIsICIiKTsKICAgICAgc3RvcmUuY29tbWl0KCJzaG93TWVzc2FnZSIsIHsKICAgICAgICB0eXBlOiAiZXJyb3IiLAogICAgICAgIG1lc3NhZ2U6IGVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZSwKICAgICAgICBkdXJhdGlvbjogMAogICAgICB9KTsKICAgICAgc3RvcmUuY29tbWl0KCJTRVRfU1lTX1VTRVJfSU5GTyIsIG51bGwpOwogICAgICByZWplY3QoIuacquaOiOadg+aXoOaViOiwg+W6puWPsOeUqOaItyIpOwogICAgICB0aHJvdyBlcnJvcjsKICAgIH0pOwogIH0pOwp9Owpjb25zdCBnZXRVc2VySW5mbyA9IGFzeW5jICgpID0+IHsKICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgZ2V0Q3VycmVudFVzZXIoKS50aGVuKHJlcyA9PiB7CiAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ1c2VySW5mbyIsIEpTT04uc3RyaW5naWZ5KHJlcykpOwogICAgICBzdG9yZS5jb21taXQoIlNFVF9TWVNfVVNFUl9JTkZPIiwgcmVzKTsKICAgICAgcmV0dXJuIHJlc29sdmUocmVzKTsKICAgIH0pLmNhdGNoKGVycm9yID0+IHsKICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oInVzZXJJbmZvIiwgIiIpOwogICAgICBzdG9yZS5jb21taXQoIlNFVF9TWVNfVVNFUl9JTkZPIiwgbnVsbCk7CiAgICAgIHJldHVybiByZWplY3QoZXJyb3IpOwogICAgfSk7CiAgfSk7Cn07CgovKioKICogQOagueaNrueUqOaIt+S/oeaBr+iOt+WPluiFvuiur1NpZ0lkCiAqIEDmoLnmja5TaWdJZOWSjFVzZXJJZOeZu+W9lVRJTQogKi8KZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvZ2luSU0ocmVzcG9uc2UpIHsKICBjb25zdCBUUlRDX1NJRyA9IGF3YWl0IGdldFRlbmNlbnRUUlRDU2lnKHsKICAgIG5hbWU6IHJlc3BvbnNlLm5hbWUsCiAgICBjaWQ6IHJlc3BvbnNlLnRlbmNlbnRVc2VySWQKICB9KTsKICBjb25zb2xlLmxvZygiVFJUQ19TSUc9PT0iLCBUUlRDX1NJRyk7CiAgY29uc3QgdXNlcklEID0gcmVzcG9uc2UudGVuY2VudFVzZXJJZDsKICBjb25zdCB7CiAgICBkYXRhLAogICAgbXNnCiAgfSA9IGF3YWl0IGdldFRlbmNlbnRTaWcoewogICAgbmFtZTogcmVzcG9uc2UubmFtZSwKICAgIG1vYmlsZVBob25lOiByZXNwb25zZS50ZW5jZW50VXNlcklkCiAgfSk7CiAgaWYgKCFkYXRhKSB7CiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobXNnKTsKICB9CiAgY29uc3QgdXNlclNpZyA9IGRhdGE7CiAgY29uc29sZS5sb2coInVzZXJTaWc9PT0iLCB1c2VyU2lnKTsKICBsZXQgcHJvbWlzZSA9IHRpbS5sb2dpbih7CiAgICB1c2VySUQsCiAgICB1c2VyU2lnCiAgfSk7CiAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uIChpbVJlc3BvbnNlKSB7CiAgICBjb25zb2xlLmxvZyhpbVJlc3BvbnNlLmRhdGEpOyAvLyBJTeeZu+W9leaIkOWKnwogICAgc3RvcmUuY29tbWl0KCJ0b2dnbGVJc0xvZ2luIiwgdHJ1ZSk7CiAgICBzdG9yZS5jb21taXQoInN0YXJ0Q29tcHV0ZUN1cnJlbnQiKTsKICAgIHN0b3JlLmNvbW1pdCh7CiAgICAgIHR5cGU6ICJHRVRfVVNFUl9JTkZPIiwKICAgICAgdXNlcklELAogICAgICB1c2VyU2lnLAogICAgICBzZGtBcHBJRDogTnVtYmVyKHByb2Nlc3MuZW52LlZVRV9BUFBfU0RLX0lNX0lEKQogICAgfSk7CiAgICAvLyDnmbvlvZXmiJDlip/lkI7kvJrop6blj5EgU0RLX1JFQURZIOS6i+S7tu+8jOivpeS6i+S7tuinpuWPkeWQju+8jOWPr+ato+W4uOS9v+eUqCBTREsg5o6l5Y+jCiAgICB0aW0ub24oVElNLkVWRU5ULlNES19SRUFEWSwgKHsKICAgICAgbmFtZQogICAgfSkgPT4gb25SZWFkeVN0YXRlVXBkYXRlKHsKICAgICAgbmFtZQogICAgfSkpOwogICAgLy8gU0RLIE5PVCBSRUFEWQogICAgdGltLm9uKFRJTS5FVkVOVC5TREtfTk9UX1JFQURZLCAoewogICAgICBuYW1lCiAgICB9KSA9PiBvblJlYWR5U3RhdGVVcGRhdGUoewogICAgICBuYW1lCiAgICB9KSk7CiAgICAvLyDooqvouKLlh7oKICAgIHRpbS5vbihUSU0uRVZFTlQuS0lDS0VEX09VVCwgb25LaWNrT3V0KTsKICAgIC8vIFNES+WGhemDqOWHuumUmQogICAgdGltLm9uKFRJTS5FVkVOVC5FUlJPUiwgb25FcnJvcik7CiAgICAvLyDmlLbliLDmlrDmtojmga8KICAgIHRpbS5vbihUSU0uRVZFTlQuTUVTU0FHRV9SRUNFSVZFRCwgb25SZWNlaXZlTWVzc2FnZSk7CiAgICAvLyDkvJror53liJfooajmm7TmlrAKICAgIHRpbS5vbihUSU0uRVZFTlQuQ09OVkVSU0FUSU9OX0xJU1RfVVBEQVRFRCwgb25VcGRhdGVDb252ZXJzYXRpb25MaXN0KTsKICAgIC8vIOe+pOe7hOWIl+ihqOabtOaWsAogICAgdGltLm9uKFRJTS5FVkVOVC5HUk9VUF9MSVNUX1VQREFURUQsIG9uVXBkYXRlR3JvdXBMaXN0KTsKICAgIC8vIOS8muivneacquivu+aAu+aVsOabtOaWsO+8jGV2ZW50LmRhdGEg5piv5b2T5YmN5Y2V6IGK5ZKM576k6IGK5Lya6K+d55qE5pyq6K+75oC75pWwCiAgICB0aW0ub24oVElNLkVWRU5ULlRPVEFMX1VOUkVBRF9NRVNTQUdFX0NPVU5UX1VQREFURUQsIG9uVG90YWxVbnJlYWRNZXNzYWdlQ291bnRVcGRhdGVkKTsKICAgIGlmIChpbVJlc3BvbnNlLmRhdGEucmVwZWF0TG9naW4gPT09IHRydWUpIHsKICAgICAgLy8g5qCH6K+G5biQ5Y+35bey55m75b2V77yM5pys5qyh55m75b2V5pON5L2c5Li66YeN5aSN55m75b2V44CCdjIuNS4xIOi1t+aUr+aMgQogICAgICBjb25zb2xlLmxvZyhpbVJlc3BvbnNlLmRhdGEuZXJyb3JJbmZvKTsKICAgIH0KICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICB9KS5jYXRjaChmdW5jdGlvbiAoaW1FcnJvcikgewogICAgY29uc29sZS53YXJuKCJsb2dpbiBlcnJvcjoiLCBpbUVycm9yKTsgLy8g55m75b2V5aSx6LSl55qE55u45YWz5L+h5oGvCiAgICBzdG9yZS5jb21taXQoInNob3dNZXNzYWdlIiwgewogICAgICB0eXBlOiAiZXJyb3IiLAogICAgICBtZXNzYWdlOiBgSU3nmbvlvZXlpLHotKUgJHtpbUVycm9yfWAKICAgIH0pOwogICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGltRXJyb3IpOwogIH0pOwp9CmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblJlYWR5U3RhdGVVcGRhdGUoewogIG5hbWUKfSkgewogIGNvbnNvbGUubG9nKG5hbWUpOwogIGNvbnN0IGlzU0RLUmVhZHkgPSBuYW1lID09PSBUSU0uRVZFTlQuU0RLX1JFQURZOwogIHN0b3JlLmNvbW1pdCgidG9nZ2xlSXNTREtSZWFkeSIsIGlzU0RLUmVhZHkpOwogIGlmIChpc1NES1JlYWR5KSB7CiAgICB0aW0uZ2V0TXlQcm9maWxlKCkudGhlbigoewogICAgICBkYXRhCiAgICB9KSA9PiB7CiAgICAgIHN0b3JlLmNvbW1pdCgidXBkYXRlQ3VycmVudFVzZXJQcm9maWxlIiwgZGF0YSk7CiAgICB9KS5jYXRjaChlcnJvciA9PiB7CiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsKICAgICAgc3RvcmUuY29tbWl0KCJzaG93TWVzc2FnZSIsIHsKICAgICAgICB0eXBlOiAiZXJyb3IiLAogICAgICAgIG1lc3NhZ2U6IGBJTeeKtuaAgeabtOaWsOWksei0pSAgJHtlcnJvci5tZXNzYWdlfWAKICAgICAgfSk7CiAgICB9KTsKICAgIC8vIOeZu+W9lXRydGMgY2FsbGluZwogICAgLy8gdHJ0Y0NhbGxpbmcubG9naW4oewogICAgLy8gICBzZGtBcHBJRDogTnVtYmVyKHByb2Nlc3MuZW52LlZVRV9BUFBfU0RLX0lNX0lEKSwKICAgIC8vICAgdXNlcklELAogICAgLy8gICB1c2VyU2lnLAogICAgLy8gfSk7CiAgfQp9CgpleHBvcnQgZnVuY3Rpb24gb25LaWNrT3V0KGV2ZW50KSB7CiAgc3RvcmUuY29tbWl0KCJzaG93TWVzc2FnZSIsIHsKICAgIG1lc3NhZ2U6IGAke3RoaXMua2lja2VkT3V0UmVhc29uKGV2ZW50LmRhdGEudHlwZSl96KKr6Lii5Ye677yM6K+36YeN5paw55m75b2V44CCYCwKICAgIHR5cGU6ICJlcnJvciIKICB9KTsKICBzdG9yZS5jb21taXQoInRvZ2dsZUlzTG9naW4iLCBmYWxzZSk7CiAgc3RvcmUuY29tbWl0KCJyZXNldCIpOwp9CmV4cG9ydCBmdW5jdGlvbiBraWNrZWRPdXRSZWFzb24odHlwZSkgewogIHN3aXRjaCAodHlwZSkgewogICAgY2FzZSB0aGlzLlRJTS5UWVBFUy5LSUNLRURfT1VUX01VTFRfQUNDT1VOVDoKICAgICAgcmV0dXJuICLnlLHkuo7lpJrlrp7kvovnmbvlvZUiOwogICAgY2FzZSB0aGlzLlRJTS5UWVBFUy5LSUNLRURfT1VUX01VTFRfREVWSUNFOgogICAgICByZXR1cm4gIueUseS6juWkmuiuvuWkh+eZu+W9lSI7CiAgICBjYXNlIHRoaXMuVElNLlRZUEVTLktJQ0tFRF9PVVRfVVNFUlNJR19FWFBJUkVEOgogICAgICByZXR1cm4gIueUseS6jiB1c2VyU2lnIOi/h+acnyI7CiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gIiI7CiAgfQp9CmV4cG9ydCBmdW5jdGlvbiBvbkVycm9yKHsKICBkYXRhCn0pIHsKICBpZiAoZGF0YS5tZXNzYWdlICE9PSAiTmV0d29yayBFcnJvciIpIHsKICAgIHN0b3JlLmNvbW1pdCgic2hvd01lc3NhZ2UiLCB7CiAgICAgIG1lc3NhZ2U6IGRhdGEubWVzc2FnZSwKICAgICAgdHlwZTogImVycm9yIgogICAgfSk7CiAgfQp9CmV4cG9ydCBmdW5jdGlvbiBvblJlY2VpdmVNZXNzYWdlKHsKICBkYXRhOiBtZXNzYWdlTGlzdAp9KSB7CiAgLy8gdGhpcy5wbGF5Tm90aWZ5QXVkaW8oKTsKICAvLyB0aGlzLmhhbmRsZUF1dG9SZXBseShtZXNzYWdlTGlzdCk7CiAgLy8gdGhpcy5oYW5kbGVWaWRlb01lc3NhZ2UobWVzc2FnZUxpc3QpOwogIC8vIHRoaXMuaGFuZGxlUXVpdEdyb3VwVGlwKG1lc3NhZ2VMaXN0KTsKICBjb25zb2xlLmxvZygicHVzaEN1cnJlbnRNZXNzYWdlTGlzdCIsIG1lc3NhZ2VMaXN0KTsKICBzdG9yZS5jb21taXQoInB1c2hDdXJyZW50TWVzc2FnZUxpc3QiLCBtZXNzYWdlTGlzdCk7Cn0KZXhwb3J0IGZ1bmN0aW9uIG9uVXBkYXRlQ29udmVyc2F0aW9uTGlzdChldmVudCkgewogIGNvbnNvbGUubG9nKCJvblVwZGF0ZUNvbnZlcnNhdGlvbkxpc3QiLCBldmVudCk7CiAgY29uc3QgewogICAgZGF0YTogY29udmVyc3RhdGlvbkxpc3QKICB9ID0gZXZlbnQ7CiAgY29uc3Qgc29ydExpc3QgPSBjb252ZXJzdGF0aW9uTGlzdC5maWx0ZXIoY29udmVyc3RhdGlvbiA9PiB7CiAgICByZXR1cm4gY29udmVyc3RhdGlvbi5sYXN0TWVzc2FnZS5sYXN0VGltZSA+IDA7CiAgfSk7CiAgY29uc29sZS5sb2coIm9uVXBkYXRlQ29udmVyc2F0aW9uTGlzdCIsIHNvcnRMaXN0KTsKICBzdG9yZS5jb21taXQoInVwZGF0ZUNvbnZlcnNhdGlvbkxpc3QiLCBzb3J0TGlzdCk7Cn0KZXhwb3J0IGZ1bmN0aW9uIG9uVXBkYXRlR3JvdXBMaXN0KGV2ZW50KSB7CiAgc3RvcmUuY29tbWl0KCJ1cGRhdGVHcm91cExpc3QiLCBldmVudC5kYXRhKTsKfQpleHBvcnQgZnVuY3Rpb24gb25Ub3RhbFVucmVhZE1lc3NhZ2VDb3VudFVwZGF0ZWQoZXZlbnQpIHsKICBjb25zb2xlLmxvZyhldmVudC5kYXRhKTsgLy8g5b2T5YmN5Y2V6IGK5ZKM576k6IGK5Lya6K+d55qE5pyq6K+75oC75pWwCiAgc3RvcmUuY29tbWl0KCJ1cGRhdGVUb3RhbFVucmVhZE1lc3NhZ2VDb3VudCIsIGV2ZW50LmRhdGEpOwp9CnJvdXRlci5iZWZvcmVFYWNoKGFzeW5jICh0bywgZnJvbSwgbmV4dCkgPT4gewogIC8vIOiOt+WPlnRva2VuCiAgLy8gY29uc3QgaGFzVG9rZW4gPSBhd2FpdCBnZXRBY2Nlc3NUb2tlbigpOwogIGlmICh0by5wYXRoID09PSAiL215U3RhdGlvbkxpc3QiKSB7CiAgICBhd2FpdCBwZXJtaXNzaW9uKCk7CiAgICAvLyDmnIl0b2tlbgogICAgY29uc29sZS5sb2coc3RvcmUuZ2V0dGVycy5zeXNVc2VySW5mbyk7CiAgICBpZiAoc3RvcmUuZ2V0dGVycy5zeXNVc2VySW5mbyA9PT0gbnVsbCkgewogICAgICAvLyDliKTmlq3lvZPliY3nlKjmiLfmmK/lkKblt7Lmi4nlj5blrox1c2VyX2luZm/kv6Hmga8KICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB1c2VySW5mbyA9IGF3YWl0IGdldFVzZXJJbmZvKCk7CiAgICAgICAgY29uc29sZS5sb2coInVzZXJJbmZvIiwgdXNlckluZm8pOwogICAgICAgIHN0b3JlLmNvbW1pdCgiU0VUX0FQUF9MT0FESU5HIiwgZmFsc2UpOwogICAgICAgIG5leHQoewogICAgICAgICAgLi4udG8sCiAgICAgICAgICByZXBsYWNlOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgLy8g5p2D6ZmQ6YCa6L+H5ZCO6Ieq5Yqo55m75b2VSU0KICAgICAgICBhd2FpdCBsb2dpbklNKHVzZXJJbmZvKTsKICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICBzdG9yZS5jb21taXQoInNob3dNZXNzYWdlIiwgewogICAgICAgICAgdHlwZTogImVycm9yIiwKICAgICAgICAgIG1lc3NhZ2U6IGVyciwKICAgICAgICAgIGR1cmF0aW9uOiAwCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIC8vIOacieeUqOaIt+S/oeaBr+ebtOaOpei/m+WFpQogICAgICBuZXh0KCk7CiAgICAgIHN0b3JlLmNvbW1pdCgiU0VUX0FQUF9MT0FESU5HIiwgZmFsc2UpOwogICAgfQogIH0gZWxzZSB7CiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oImRpc3BhdGNoVG9rZW4iKSkgewogICAgICBjb25zb2xlLmxvZygic3lzVXNlckluZm89PT0iKTsKICAgICAgY29uc29sZS5sb2coc3RvcmUuZ2V0dGVycy5zeXNVc2VySW5mbyk7CiAgICAgIGlmIChzdG9yZS5nZXR0ZXJzLnN5c1VzZXJJbmZvID09PSBudWxsKSB7CiAgICAgICAgLy8g5Yik5pat5b2T5YmN55So5oi35piv5ZCm5bey5ouJ5Y+W5a6MdXNlcl9pbmZv5L+h5oGvCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IHVzZXJJbmZvID0gYXdhaXQgZ2V0VXNlckluZm8oKTsKICAgICAgICAgIGNvbnNvbGUubG9nKCJ1c2VySW5mbyIsIHVzZXJJbmZvKTsKICAgICAgICAgIHN0b3JlLmNvbW1pdCgiU0VUX0FQUF9MT0FESU5HIiwgZmFsc2UpOwogICAgICAgICAgbmV4dCh7CiAgICAgICAgICAgIC4uLnRvLAogICAgICAgICAgICByZXBsYWNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIC8vIOadg+mZkOmAmui/h+WQjuiHquWKqOeZu+W9lUlNCiAgICAgICAgICBhd2FpdCBsb2dpbklNKHVzZXJJbmZvKTsKICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICBzdG9yZS5jb21taXQoInNob3dNZXNzYWdlIiwgewogICAgICAgICAgICB0eXBlOiAiZXJyb3IiLAogICAgICAgICAgICBtZXNzYWdlOiBlcnIsCiAgICAgICAgICAgIGR1cmF0aW9uOiAwCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5pyJ55So5oi35L+h5oGv55u05o6l6L+b5YWlCiAgICAgICAgbmV4dCgpOwogICAgICAgIHN0b3JlLmNvbW1pdCgiU0VUX0FQUF9MT0FESU5HIiwgZmFsc2UpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBuZXh0KCIvbXlTdGF0aW9uTGlzdCIpOwogICAgfQogIH0KfSk7"},null]}