{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/node_modules/thread-loader/dist/cjs.js!/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/node_modules/babel-loader/lib/index.js!/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/src/api/organizationServerApi.js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/src/api/organizationServerApi.js","mtime":1702016964279},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/node_modules/cache-loader/dist/cjs.js","mtime":1702017034107},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/node_modules/thread-loader/dist/cjs.js","mtime":1702017030024},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vuechat/node_modules/babel-loader/lib/index.js","mtime":1702017034360}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZSI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmciOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybCI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiL2RhdGEvamVua2lucy93b3Jrc3BhY2UvYmFkcC1iY3hpbi13ZWItNS54LXZ1ZWNoYXQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5IjsKaW1wb3J0ICJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiL2RhdGEvamVua2lucy93b3Jrc3BhY2UvYmFkcC1iY3hpbi13ZWItNS54LXZ1ZWNoYXQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IiOwppbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gIi9kYXRhL2plbmtpbnMvd29ya3NwYWNlL2JhZHAtYmN4aW4td2ViLTUueC12dWVjaGF0L25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjayI7CmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSAiL2RhdGEvamVua2lucy93b3Jrc3BhY2UvYmFkcC1iY3hpbi13ZWItNS54LXZ1ZWNoYXQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzIjsKaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICIvZGF0YS9qZW5raW5zL3dvcmtzcGFjZS9iYWRwLWJjeGluLXdlYi01LngtdnVlY2hhdC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkiOwppbXBvcnQgYXhpb3MgZnJvbSAiYXhpb3MiOwppbXBvcnQgQ29uZmlnIGZyb20gIi4uL2NvbmZpZyI7CmltcG9ydCB7IGdldEl0ZW0sIHNldEl0ZW0gfSBmcm9tICIuLi91aS91dGlsL3N0b3JhZ2VIZWxwZXIiOwppbXBvcnQgd2ZjIGZyb20gIi4uL3dmYy9jbGllbnQvd2ZjIjsKaW1wb3J0IE9yZ2FuaXphdGlvblNlcnZlckVycm9yIGZyb20gIi4vb3JnYW5pemF0aW9uU2VydmVyRXJyb3IiOwppbXBvcnQgVXNlckluZm8gZnJvbSAiLi4vd2ZjL21vZGVsL3VzZXJJbmZvIjsKZXhwb3J0IHZhciBPcmdhbml6YXRpb25TZXJ2ZXJBcGkgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogIGZ1bmN0aW9uIE9yZ2FuaXphdGlvblNlcnZlckFwaSgpIHsvLyBkbyBub3RoaW5nCgogICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE9yZ2FuaXphdGlvblNlcnZlckFwaSk7CgogICAgX2RlZmluZVByb3BlcnR5KHRoaXMsICJpc1NlcnZpY2VBdmFpbGFibGUiLCB0cnVlKTsKCiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgInNlcnZpY2VVbmF2YWlsYmVsRXJyb3IiLCBuZXcgT3JnYW5pemF0aW9uU2VydmVyRXJyb3IoLTEsICfmnKrnmbvlvZXmiJbmnI3liqHkuI3lj6/nlKgnKSk7CiAgfQoKICBfY3JlYXRlQ2xhc3MoT3JnYW5pemF0aW9uU2VydmVyQXBpLCBbewogICAga2V5OiAibG9naW4iLAogICAgdmFsdWU6IGZ1bmN0aW9uIGxvZ2luKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAvLyAgICAgICAgaW50IEFwcGxpY2F0aW9uVHlwZV9Sb2JvdCA9IDA7CiAgICAgICAgLy8gICAgICAgIGludCBBcHBsaWNhdGlvblR5cGVfQ2hhbm5lbCA9IDE7CiAgICAgICAgLy8gICAgICAgIGludCBBcHBsaWNhdGlvblR5cGVfQWRtaW4gPSAyOwogICAgICAgIGlmICghQ29uZmlnLk9SR0FOSVpBVElPTl9TRVJWRVIpIHsKICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChfdGhpcy5zZXJ2aWNlVW5hdmFpbGJlbEVycm9yKTsKICAgICAgICB9CgogICAgICAgIHdmYy5nZXRBdXRoQ29kZSgnYWRtaW4nLCAyLCAnJywgZnVuY3Rpb24gKGNvZGUpIHsKICAgICAgICAgIHZhciBwYXRoID0gJy9hcGkvdXNlcl9sb2dpbic7CgogICAgICAgICAgX3RoaXMuX3Bvc3QocGF0aCwgewogICAgICAgICAgICBhdXRoQ29kZTogY29kZQogICAgICAgICAgfSwgdHJ1ZSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgICAgIHZhciBhcHBBdXRoVG9rZW4gPSByZXNwb25zZS5oZWFkZXJzWydhdXRodG9rZW4nXTsKCiAgICAgICAgICAgICAgaWYgKCFhcHBBdXRoVG9rZW4pIHsKICAgICAgICAgICAgICAgIGFwcEF1dGhUb2tlbiA9IHJlc3BvbnNlLmhlYWRlcnNbJ2F1dGhUb2tlbiddOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYgKGFwcEF1dGhUb2tlbikgewogICAgICAgICAgICAgICAgc2V0SXRlbSgnYXV0aFRva2VuLScgKyBuZXcgVVJMKHJlc3BvbnNlLmNvbmZpZy51cmwpLmhvc3QsIGFwcEF1dGhUb2tlbik7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBfdGhpcy5pc1NlcnZpY2VBdmFpbGFibGUgPSB0cnVlOwogICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuZGF0YS5yZXN1bHQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJlamVjdChuZXcgT3JnYW5pemF0aW9uU2VydmVyRXJyb3IocmVzcG9uc2UuZGF0YS5jb2RlLCByZXNwb25zZS5kYXRhLm1lc3NhZ2UpKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICBjb25zb2xlLmVycm9yKCdnZXRBdXRoQ29kZSBlcnJvcicsIGVycm9yKTsKICAgICAgICAgIHJlamVjdChuZXcgT3JnYW5pemF0aW9uU2VydmVyRXJyb3IoLTEsICfmnKrnmbvlvZXvvIzmiJbmnI3liqHkuI3lj6/nlKgnKSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0sIHsKICAgIGtleTogImdldFJvb3RPcmdhbml6YXRpb24iLAogICAgdmFsdWU6IGZ1bmN0aW9uIGdldFJvb3RPcmdhbml6YXRpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLl9wb3N0KCcvYXBpL29yZ2FuaXphdGlvbi9yb290Jyk7CiAgICB9CiAgfSwgewogICAga2V5OiAiZ2V0UmVsYXRpb25TaGlwIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRSZWxhdGlvblNoaXAoZW1wbG95ZWVJZCkgewogICAgICByZXR1cm4gdGhpcy5fcG9zdCgnL2FwaS9yZWxhdGlvbnNoaXAvZW1wbG95ZWUnLCB7CiAgICAgICAgZW1wbG95ZWVJZDogZW1wbG95ZWVJZAogICAgICB9KTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJnZXRPcmdhbml6YXRpb25FeCIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0T3JnYW5pemF0aW9uRXgob3JnSWQpIHsKICAgICAgcmV0dXJuIHRoaXMuX3Bvc3QoJy9hcGkvb3JnYW5pemF0aW9uL3F1ZXJ5X2V4JywgewogICAgICAgIGlkOiBvcmdJZAogICAgICB9KTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJnZXRPcmdhbml6YXRpb25zIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRPcmdhbml6YXRpb25zKG9yZ0lkcykgewogICAgICByZXR1cm4gdGhpcy5fcG9zdCgnL2FwaS9vcmdhbml6YXRpb24vcXVlcnlfbGlzdCcsIHsKICAgICAgICBpZHM6IG9yZ0lkcwogICAgICB9KTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJnZXRPcmdhbml6YXRpb25FbXBsb3llZXMiLAogICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIF9nZXRPcmdhbml6YXRpb25FbXBsb3llZXMgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUob3JnSWRzKSB7CiAgICAgICAgdmFyIGVtcGxveWVlSWRzOwogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgICAgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc3QoJy9hcGkvb3JnYW5pemF0aW9uL2JhdGNoX2VtcGxveWVlcycsIHsKICAgICAgICAgICAgICAgICAgaWRzOiBvcmdJZHMKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBlbXBsb3llZUlkcyA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iLCB0aGlzLmdldEVtcGxveWVlTGlzdChlbXBsb3llZUlkcykpOwoKICAgICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlLCB0aGlzKTsKICAgICAgfSkpOwoKICAgICAgZnVuY3Rpb24gZ2V0T3JnYW5pemF0aW9uRW1wbG95ZWVzKF94KSB7CiAgICAgICAgcmV0dXJuIF9nZXRPcmdhbml6YXRpb25FbXBsb3llZXMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGdldE9yZ2FuaXphdGlvbkVtcGxveWVlczsKICAgIH0oKQogIH0sIHsKICAgIGtleTogImdldE9yZ0VtcGxveWVlcyIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0T3JnRW1wbG95ZWVzKG9yZ0lkKSB7CiAgICAgIHJldHVybiB0aGlzLl9wb3N0KCcvYXBpL29yZ2FuaXphdGlvbi9lbXBsb3llZXMnLCB7CiAgICAgICAgaWRzOiBvcmdJZAogICAgICB9KTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJnZXRFbXBsb3llZSIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RW1wbG95ZWUoZW1wbG95ZWVJZCkgewogICAgICByZXR1cm4gdGhpcy5fcG9zdCgnL2FwaS9lbXBsb3llZS9xdWVyeScsIHsKICAgICAgICBlbXBsb3llZUlkOiBlbXBsb3llZUlkCiAgICAgIH0pOwogICAgfQogIH0sIHsKICAgIGtleTogImdldEVtcGxveWVlRXgiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGdldEVtcGxveWVlRXgoZW1wbG95ZWVJZCkgewogICAgICByZXR1cm4gdGhpcy5fcG9zdCgnL2FwaS9lbXBsb3llZS9xdWVyeV9leCcsIHsKICAgICAgICBlbXBsb3llZUlkOiBlbXBsb3llZUlkCiAgICAgIH0pOwogICAgfQogIH0sIHsKICAgIGtleTogImdldEVtcGxveWVlTGlzdCIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RW1wbG95ZWVMaXN0KGVtcGxveWVlSWRzKSB7CiAgICAgIHJldHVybiB0aGlzLl9wb3N0KCcvYXBpL2VtcGxveWVlL3F1ZXJ5X2xpc3QnLCB7CiAgICAgICAgZW1wbG95ZWVJZHM6IGVtcGxveWVlSWRzCiAgICAgIH0pOwogICAgfQogIH0sIHsKICAgIGtleTogInNlYXJjaEVtcGxveWVlIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBzZWFyY2hFbXBsb3llZShvcmdJZCwga2V5d29yZCkgewogICAgICByZXR1cm4gdGhpcy5fcG9zdCgnL2FwaS9lbXBsb3llZS9zZWFyY2gnLCB7CiAgICAgICAgb3JnYW5pemF0aW9uSWQ6IG9yZ0lkLAogICAgICAgIGtleXdvcmQ6IGtleXdvcmQKICAgICAgfSk7CiAgICB9CiAgfSwgewogICAga2V5OiAiZ2V0T3JnYW5pemF0aW9uUGF0aCIsCiAgICB2YWx1ZTogZnVuY3Rpb24gKCkgewogICAgICB2YXIgX2dldE9yZ2FuaXphdGlvblBhdGggPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKG9yZ2FuaXphdGlvbklkKSB7CiAgICAgICAgdmFyIHBhdGhMaXN0LCBvcmc7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSB7CiAgICAgICAgICAgIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIHBhdGhMaXN0ID0gW107CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDM7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3JnYW5pemF0aW9uU3luYyhvcmdhbml6YXRpb25JZCk7CgogICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgIG9yZyA9IF9jb250ZXh0Mi5zZW50OwoKICAgICAgICAgICAgICAgIGlmICghb3JnKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHBhdGhMaXN0LnB1c2gob3JnKTsKCiAgICAgICAgICAgICAgICBpZiAoIW9yZy5wYXJlbnRJZCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDE1OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBwYXRoTGlzdC5wdXNoOwogICAgICAgICAgICAgICAgX2NvbnRleHQyLnQxID0gcGF0aExpc3Q7CiAgICAgICAgICAgICAgICBfY29udGV4dDIudDIgPSBfdG9Db25zdW1hYmxlQXJyYXk7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDEyOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JnYW5pemF0aW9uUGF0aChvcmcucGFyZW50SWQpOwoKICAgICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgICAgX2NvbnRleHQyLnQzID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgICBfY29udGV4dDIudDQgPSAoMCwgX2NvbnRleHQyLnQyKShfY29udGV4dDIudDMpOwoKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi50MC5hcHBseS5jYWxsKF9jb250ZXh0Mi50MCwgX2NvbnRleHQyLnQxLCBfY29udGV4dDIudDQpOwoKICAgICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5hYnJ1cHQoInJldHVybiIsIHBhdGhMaXN0KTsKCiAgICAgICAgICAgICAgY2FzZSAxNjoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgdGhpcyk7CiAgICAgIH0pKTsKCiAgICAgIGZ1bmN0aW9uIGdldE9yZ2FuaXphdGlvblBhdGgoX3gyKSB7CiAgICAgICAgcmV0dXJuIF9nZXRPcmdhbml6YXRpb25QYXRoLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgIH0KCiAgICAgIHJldHVybiBnZXRPcmdhbml6YXRpb25QYXRoOwogICAgfSgpCiAgfSwgewogICAga2V5OiAiZW1wbG95ZWVUb1VzZXJJbmZvIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBlbXBsb3llZVRvVXNlckluZm8oZW1wbG95ZWUpIHsKICAgICAgdmFyIHVzZXJJbmZvID0gbmV3IFVzZXJJbmZvKCk7CiAgICAgIHVzZXJJbmZvLnVpZCA9IGVtcGxveWVlLmVtcGxveWVlSWQ7CiAgICAgIHVzZXJJbmZvLm5hbWUgPSBlbXBsb3llZS5uYW1lOwogICAgICB1c2VySW5mby5kaXNwbGF5TmFtZSA9IGVtcGxveWVlLm5hbWU7CiAgICAgIHVzZXJJbmZvLnBvcnRyYWl0ID0gZW1wbG95ZWUucG9ydHJhaXQgPyBlbXBsb3llZS5wb3J0cmFpdCA6IENvbmZpZy5ERUZBVUxUX1BPUlRSQUlUX1VSTDsKICAgICAgdXNlckluZm8uZ2VuZGVyID0gZW1wbG95ZWUuZ2VuZGVyOwogICAgICB1c2VySW5mby5tb2JpbGUgPSBlbXBsb3llZS5tb2JpbGU7CiAgICAgIHVzZXJJbmZvLmVtYWlsID0gZW1wbG95ZWUuZW1haWw7CiAgICAgIHVzZXJJbmZvLnVwZGF0ZUR0ID0gZW1wbG95ZWUudXBkYXRlRHQ7IC8vMCBub3JtYWw7IDEgcm9ib3Q7IDIgdGhpbmc7CgogICAgICB1c2VySW5mby50eXBlID0gMTsKICAgICAgdXNlckluZm8uZGVsZXRlZCA9IDA7CiAgICAgIHJldHVybiB1c2VySW5mbzsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJfZ2V0T3JnYW5pemF0aW9uU3luYyIsCiAgICB2YWx1ZTogZnVuY3Rpb24gKCkgewogICAgICB2YXIgX2dldE9yZ2FuaXphdGlvblN5bmMyID0gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9yZWdlbmVyYXRvclJ1bnRpbWUubWFyayhmdW5jdGlvbiBfY2FsbGVlMyhvcmdJZCkgewogICAgICAgIHZhciBvcmdzOwogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRPcmdhbml6YXRpb25zKFtvcmdJZF0pOwoKICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBvcmdzID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmFicnVwdCgicmV0dXJuIiwgb3JncyAmJiBvcmdzLmxlbmd0aCA+IDAgPyBvcmdzWzBdIDogbnVsbCk7CgogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMywgdGhpcyk7CiAgICAgIH0pKTsKCiAgICAgIGZ1bmN0aW9uIF9nZXRPcmdhbml6YXRpb25TeW5jKF94MykgewogICAgICAgIHJldHVybiBfZ2V0T3JnYW5pemF0aW9uU3luYzIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgfQoKICAgICAgcmV0dXJuIF9nZXRPcmdhbml6YXRpb25TeW5jOwogICAgfSgpCiAgICAvKioKICAgICAqCiAgICAgKiBAcGFyYW0gcGF0aAogICAgICogQHBhcmFtIGRhdGEKICAgICAqIEBwYXJhbSByYXdSZXNwb25zZQogICAgICogQHBhcmFtIHJhd1Jlc3BvbnNlRGF0YQogICAgICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmcgfCBBeGlvc1Jlc3BvbnNlPGFueT58KnxUPn0KICAgICAqIEBwcml2YXRlCiAgICAgKi8KCiAgfSwgewogICAga2V5OiAiX3Bvc3QiLAogICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIF9wb3N0MiA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQocGF0aCkgewogICAgICAgIHZhciBkYXRhLAogICAgICAgICAgICByYXdSZXNwb25zZSwKICAgICAgICAgICAgcmF3UmVzcG9uc2VEYXRhLAogICAgICAgICAgICByZXNwb25zZSwKICAgICAgICAgICAgX2FyZ3M0ID0gYXJndW1lbnRzOwogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlNCQoX2NvbnRleHQ0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICBzd2l0Y2ggKF9jb250ZXh0NC5wcmV2ID0gX2NvbnRleHQ0Lm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBkYXRhID0gX2FyZ3M0Lmxlbmd0aCA+IDEgJiYgX2FyZ3M0WzFdICE9PSB1bmRlZmluZWQgPyBfYXJnczRbMV0gOiB7fTsKICAgICAgICAgICAgICAgIHJhd1Jlc3BvbnNlID0gX2FyZ3M0Lmxlbmd0aCA+IDIgJiYgX2FyZ3M0WzJdICE9PSB1bmRlZmluZWQgPyBfYXJnczRbMl0gOiBmYWxzZTsKICAgICAgICAgICAgICAgIHJhd1Jlc3BvbnNlRGF0YSA9IF9hcmdzNC5sZW5ndGggPiAzICYmIF9hcmdzNFszXSAhPT0gdW5kZWZpbmVkID8gX2FyZ3M0WzNdIDogZmFsc2U7CiAgICAgICAgICAgICAgICBwYXRoID0gQ29uZmlnLk9SR0FOSVpBVElPTl9TRVJWRVIgKyBwYXRoOwogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSA2OwogICAgICAgICAgICAgICAgcmV0dXJuIGF4aW9zLnBvc3QocGF0aCwgZGF0YSwgewogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1SZXNwb25zZTogcmF3UmVzcG9uc2VEYXRhID8gW2Z1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICAgIH1dIDogYXhpb3MuZGVmYXVsdHMudHJhbnNmb3JtUmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICAgICAnYXV0aFRva2VuJzogZ2V0SXRlbSgnYXV0aFRva2VuLScgKyBuZXcgVVJMKHBhdGgpLmhvc3QpCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gX2NvbnRleHQ0LnNlbnQ7CgogICAgICAgICAgICAgICAgaWYgKCFyYXdSZXNwb25zZSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDk7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuYWJydXB0KCJyZXR1cm4iLCByZXNwb25zZSk7CgogICAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuZGF0YSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDE5OwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIXJhd1Jlc3BvbnNlRGF0YSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDEyOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LmFicnVwdCgicmV0dXJuIiwgcmVzcG9uc2UuZGF0YSk7CgogICAgICAgICAgICAgIGNhc2UgMTI6CiAgICAgICAgICAgICAgICBpZiAoIShyZXNwb25zZS5kYXRhLmNvZGUgPT09IDApKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0NC5uZXh0ID0gMTY7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuYWJydXB0KCJyZXR1cm4iLCByZXNwb25zZS5kYXRhLnJlc3VsdCk7CgogICAgICAgICAgICAgIGNhc2UgMTY6CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT3JnYW5pemF0aW9uU2VydmVyRXJyb3IocmVzcG9uc2UuZGF0YS5jb2RlLCByZXNwb25zZS5kYXRhLm1lc3NhZ2UpOwoKICAgICAgICAgICAgICBjYXNlIDE3OgogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAyMDsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlIDE5OgogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXF1ZXN0IGVycm9yLCBzdGF0dXMgY29kZTogJyArIHJlc3BvbnNlLnN0YXR1cyk7CgogICAgICAgICAgICAgIGNhc2UgMjA6CiAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDQuc3RvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICB9KSk7CgogICAgICBmdW5jdGlvbiBfcG9zdChfeDQpIHsKICAgICAgICByZXR1cm4gX3Bvc3QyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgIH0KCiAgICAgIHJldHVybiBfcG9zdDsKICAgIH0oKQogIH1dKTsKCiAgcmV0dXJuIE9yZ2FuaXphdGlvblNlcnZlckFwaTsKfSgpOwp2YXIgb3JnYW5pemF0aW9uU2VydmVyQXBpID0gbmV3IE9yZ2FuaXphdGlvblNlcnZlckFwaSgpOwpleHBvcnQgZGVmYXVsdCBvcmdhbml6YXRpb25TZXJ2ZXJBcGk7"},null]}