{"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\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\appComponents\\AppSyncTree.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\appComponents\\AppSyncTree.vue","mtime":1736535326078},{"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},{"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-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKZXhwb3J0IGRlZmF1bHQgewogIHByb3BzOiB7CiAgICAvLyDlvLnnqpflrr3luqYKICAgIGRpYWxvZ1dpZHRoOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJzQ4MHB4JwogICAgfSwKICAgIC8vIOihqOWNleWuveW6pgogICAgZm9ybVdpZHRoOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJycKICAgIH0sCiAgICAvLyDooajljZXpqozor4Hop4TliJkKICAgIGZvcm1SdWxlczogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICAvLyDmoIfpopgKICAgIHRpdGxlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJycKICAgIH0sCiAgICAvLyDmmK/lkKbmh5LliqDovb0KICAgIGxhenk6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICAvLyDpu5jorqTmoLnoioLngrkKICAgIHJvb3ROb2RlOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIOm7mOiupOWxleW8gOiKgueCuembhuWQiAogICAgZGVmYXVsdEV4cGFuZGVkS2V5czogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIOivt+axguWHveaVsAogICAgcmVxdWVzdE1ldGhvZDogewogICAgICB0eXBlOiBGdW5jdGlvbiwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIGVsIHRyZWUgcG9ycHMKICAgIHByb3BzOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIGFjdGlvbnM6IHsKICAgICAgdHlwZTogW0FycmF5LCBGdW5jdGlvbl0sCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICAvLyDmoJHlvaLmlbDmja7vvIjkuI3kvKByZXF1ZXN0TWV0aG9k5oOF5Ya15LiL5L2/55So77yJCiAgICB0cmVlT3B0aW9uczogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgZmllbGRzOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gW107CiAgICAgIH0KICAgIH0sCiAgICBkZWZGaWVsZHM6IHsKICAgICAgdHlwZTogW0FycmF5LCBGdW5jdGlvbl0sCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgfSwKICAgIGRlZmF1bHREYXRhOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9LAogICAgcmVsb2FkOiB7CiAgICAgIHR5cGU6IEZ1bmN0aW9uLAogICAgICBkZWZhdWx0OiBudWxsCiAgICB9LAogICAgaGlkZVRvcGJhcjogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog5byC5q2l6buY6K6kZmFsc2UNCiAgICAgKi8KICAgIGV4cGFuZEFsbDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog5piv5ZCm6Ieq5a6a5LmJ5aSE55CG6IqC54K55by55bGC5LqL5Lu2DQogICAgICovCiAgICBjdXN0b21BY3Rpb25zOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLyoqDQogICAgICogQGRlc2NyaXB0aW9uOiDlj4zlh7vlsZXlvIDoioLngrkNCiAgICAgKi8KICAgIGRiQ2xpY2tFeHBhbmRBbGxvdzogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIGVkaXQ6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog6auY5Lqu56ys5LiA5Liq6IqC54K5DQogICAgICovCiAgICBoaWdobGlnaHRGaXJzdDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGRlZkV4cGFuZGVkS2V5czogdGhpcy5kZWZhdWx0RXhwYW5kZWRLZXlzIHx8IFtdLAogICAgICAvLyB0cmVlCiAgICAgIHRyZWVEYXRhOiBbXSwKICAgICAgLy8gZGlhbG9nCiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBkaWFsb2dUaXRsZTogJycsCiAgICAgIGRpYWxvZ0xvYWRpbmc6IGZhbHNlLAogICAgICBkaWFsb2dGb3JtOiB7fSwKICAgICAgZGVmYXVsdFByb3BzOiBfb2JqZWN0U3ByZWFkKHsKICAgICAgICB2YWx1ZTogJ2lkJywKICAgICAgICBsYWJlbDogJ2xhYmVsJwogICAgICB9LCB0aGlzLnByb3BzKSwKICAgICAgbGF6eVRyZWU6IHRoaXMubGF6eSwKICAgICAgY3VyTm9kZTogbnVsbAogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBsYXp5OiBmdW5jdGlvbiBsYXp5KHZhbCkgewogICAgICB0aGlzLmxhenlUcmVlID0gdmFsOwogICAgfSwKICAgIGRlZmF1bHRFeHBhbmRlZEtleXM6IGZ1bmN0aW9uIGRlZmF1bHRFeHBhbmRlZEtleXMoYXJyKSB7CiAgICAgIGlmIChhcnIgJiYgQXJyYXkuaXNBcnJheShhcnIpKSB7CiAgICAgICAgdGhpcy5kZWZFeHBhbmRlZEtleXMgPSBhcnI7CiAgICAgIH0KICAgIH0sCiAgICB0cmVlT3B0aW9uczogZnVuY3Rpb24gdHJlZU9wdGlvbnModHJlZV9kYXRhKSB7CiAgICAgIGlmICh0cmVlX2RhdGEgIT09IG51bGwgJiYgdHJlZV9kYXRhICE9PSB2b2lkIDAgJiYgdHJlZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuaGFuZGxlVHJlZURhdGEodHJlZV9kYXRhKTsKICAgICAgICAvLyB0aGlzLiRyZWZzLmFwcFRyZWUuZWxUcmVlLnNldEN1cnJlbnRLZXkodHJlZV9kYXRhWzBdW3RoaXMuZGVmYXVsdFByb3BzLnZhbHVlXSk7CiAgICAgICAgdGhpcy5vbk5vZGVDbGljayh0cmVlX2RhdGFbMF0pOwogICAgICB9CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgaWYgKCF0aGlzLmxhenlUcmVlICYmIHRoaXMucmVxdWVzdE1ldGhvZCkgewogICAgICB0aGlzLmdldFRyZWVEYXRhKCk7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBnZXRFbFRyZWU6IGZ1bmN0aW9uIGdldEVsVHJlZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuJHJlZnMuYXBwVHJlZS4kcmVmcy5lbFRyZWU7CiAgICB9LAogICAgZ2V0VHJlZURhdGE6IGZ1bmN0aW9uIGdldFRyZWVEYXRhKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF90aGlzJHRyZWVEYXRhOwogICAgICAgIHZhciBfeWllbGQkX3RoaXMkcmVxdWVzdE0sIGRhdGE7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIF90aGlzLnJlcXVlc3RNZXRob2QgPT09ICdmdW5jdGlvbicpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gODsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXMucmVxdWVzdE1ldGhvZCgpOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgX3lpZWxkJF90aGlzJHJlcXVlc3RNID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBkYXRhID0gX3lpZWxkJF90aGlzJHJlcXVlc3RNLmRhdGE7CiAgICAgICAgICAgICAgX3RoaXMuaGFuZGxlVHJlZURhdGEoZGF0YSk7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBfdGhpcy50cmVlRGF0YSA9IF90aGlzLnJvb3ROb2RlID8gW190aGlzLnJvb3ROb2RlXSA6IFtdOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgaWYgKChfdGhpcyR0cmVlRGF0YSA9IF90aGlzLnRyZWVEYXRhKSAhPT0gbnVsbCAmJiBfdGhpcyR0cmVlRGF0YSAhPT0gdm9pZCAwICYmIF90aGlzJHRyZWVEYXRhLmxlbmd0aCkgewogICAgICAgICAgICAgICAgX3RoaXMub25Ob2RlQ2xpY2soX3RoaXMudHJlZURhdGFbMF0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoIV90aGlzLmxhenlUcmVlICYmIF90aGlzLmxhenkpIF90aGlzLmxhenlUcmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAvLyDpq5jkuq7nrKzkuIDkuKroioLngrkKICAgICAgICAgICAgICBfdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKF90aGlzLmhpZ2hsaWdodEZpcnN0ICYmIF90aGlzLnRyZWVEYXRhLmxlbmd0aCkgX3RoaXMuJHJlZnMuYXBwVHJlZS4kcmVmcy5lbFRyZWUuc2V0Q3VycmVudEtleShfdGhpcy50cmVlRGF0YVswXVtfdGhpcy5wcm9wcy52YWx1ZV0pOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIGhhbmRsZVRyZWVEYXRhOiBmdW5jdGlvbiBoYW5kbGVUcmVlRGF0YShkYXRhKSB7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpICYmIGRhdGEubGVuZ3RoID4gMCkgewogICAgICAgIHRoaXMudHJlZURhdGEgPSBkYXRhOwogICAgICB9IGVsc2UgaWYgKGRhdGEgIT09IG51bGwgJiYgZGF0YSAhPT0gdm9pZCAwICYmIGRhdGEuaWQpIHsKICAgICAgICB2YXIgX3RoaXMkZGVmRXhwYW5kZWRLZXlzOwogICAgICAgIGlmICgoKF90aGlzJGRlZkV4cGFuZGVkS2V5cyA9IHRoaXMuZGVmRXhwYW5kZWRLZXlzKSA9PT0gbnVsbCB8fCBfdGhpcyRkZWZFeHBhbmRlZEtleXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJGRlZkV4cGFuZGVkS2V5cy5sZW5ndGgpIDw9IDEpIHsKICAgICAgICAgIHRoaXMuZGVmRXhwYW5kZWRLZXlzID0gW2RhdGEuaWRdOwogICAgICAgIH0KICAgICAgICB0aGlzLnRyZWVEYXRhID0gW2RhdGFdOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMudHJlZURhdGEgPSB0aGlzLnJvb3ROb2RlID8gW3RoaXMucm9vdE5vZGVdIDogW107CiAgICAgIH0KICAgIH0sCiAgICAvLyDpgInmi6nmoJHoioLngrkKICAgIG9uTm9kZUNsaWNrOiBmdW5jdGlvbiBvbk5vZGVDbGljayhkYXRhKSB7CiAgICAgIHRoaXMuJGVtaXQoJ3NlbGVjdCcsIGRhdGEpOwogICAgfSwKICAgIGhhbmRsZVBhcmFtczogZnVuY3Rpb24gaGFuZGxlUGFyYW1zKCkgewogICAgICB2YXIgcGFyYW1zID0gX29iamVjdFNwcmVhZCh7fSwgdGhpcy5kaWFsb2dGb3JtKTsKICAgICAgaWYgKHRoaXMuY3VyQWN0aW9uLnR5cGUgPT09ICdhZGQnKSB7CiAgICAgICAgdmFyIF90aGlzJGN1ck5vZGU7CiAgICAgICAgcGFyYW1zLnBhcmVudElkID0gKF90aGlzJGN1ck5vZGUgPSB0aGlzLmN1ck5vZGUpID09PSBudWxsIHx8IF90aGlzJGN1ck5vZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJGN1ck5vZGUuaWQ7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJBY3Rpb24udHlwZSA9PT0gJ2VkaXQnKSB7CiAgICAgICAgdmFyIF90aGlzJGN1ck5vZGUyOwogICAgICAgIHBhcmFtcy5pZCA9IChfdGhpcyRjdXJOb2RlMiA9IHRoaXMuY3VyTm9kZSkgPT09IG51bGwgfHwgX3RoaXMkY3VyTm9kZTIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJGN1ck5vZGUyLmlkOwogICAgICAgIHBhcmFtcy5wYXJlbnRJZCA9IHRoaXMuY3VyTm9kZS5wYXJlbnRJZDsKICAgICAgfQogICAgICByZXR1cm4gcGFyYW1zOwogICAgfSwKICAgIC8vIOa3u+WKoOagkeiKgueCuQogICAgb25EaWFsb2dDb25maXJtOiBmdW5jdGlvbiBvbkRpYWxvZ0NvbmZpcm0oKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB0aGlzLiRyZWZzLmRpYWxvZ0Zvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMih2YWxpZCkgewogICAgICAgICAgdmFyIHBhcmFtczsKICAgICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5wcmV2ID0gX2NvbnRleHQyLm5leHQpIHsKICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTE7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAxOwogICAgICAgICAgICAgICAgX3RoaXMyLmRpYWxvZ0xvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgcGFyYW1zID0gX3RoaXMyLmhhbmRsZVBhcmFtcygpOwogICAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIF90aGlzMi5jdXJBY3Rpb24ubWV0aG9kID09PSAnZnVuY3Rpb24nKSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDg7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSA3OwogICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5jdXJBY3Rpb24ubWV0aG9kKHBhcmFtcywgX3RoaXMyLmN1ck5vZGUpOwogICAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICAgIF90aGlzMi5kaWFsb2dWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAvLyBpZiAodGhpcy5sYXp5KSB7CiAgICAgICAgICAgICAgICAvLyAgIC8vIOWIt+aWsOeItuiKgueCuQogICAgICAgICAgICAgICAgLy8gICB0aGlzLmN1ckFjdGlvbi50eXBlID09PSAnZWRpdCcgJiYgdGhpcy5yZWZyZXNoTm9kZXModGhpcy5jdXJOb2RlPy5wYXJlbnRJZCk7CiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuY3VyQWN0aW9uLnR5cGUgPT09ICdhZGQnICYmIHRoaXMucmVmcmVzaE5vZGVzKHRoaXMuY3VyTm9kZT8uaWQpOwogICAgICAgICAgICAgICAgLy8gfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vICAgdGhpcy5yZXF1ZXN0TWV0aG9kICYmIHRoaXMuZ2V0VHJlZURhdGEoKTsKICAgICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDg7CiAgICAgICAgICAgICAgICBfdGhpczIuZGlhbG9nTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5maW5pc2goOCk7CiAgICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sIF9jYWxsZWUyLCBudWxsLCBbWzEsLCA4LCAxMV1dKTsKICAgICAgICB9KSk7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCkgewogICAgICAgICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9OwogICAgICB9KCkpOwogICAgfSwKICAgIC8vIOiKgueCueWxleW8gOiusOW9leS4i+adpQogICAgb25Ob2RlRXhwYW5kOiBmdW5jdGlvbiBvbk5vZGVFeHBhbmQoZGF0YSkgewogICAgICB0aGlzLmRlZkV4cGFuZGVkS2V5cy5wdXNoKGRhdGEuaWQpOwogICAgfSwKICAgIG9uTm9kZUNvbGxhcHNlOiBmdW5jdGlvbiBvbk5vZGVDb2xsYXBzZShkYXRhKSB7CiAgICAgIHZhciBpbmRleCA9IHRoaXMuZGVmRXhwYW5kZWRLZXlzLmluZGV4T2YoZGF0YS5pZCk7CiAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgdGhpcy5kZWZFeHBhbmRlZEtleXMuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgfQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjoNCiAgICAgKiBAcGFyYW0geyp9IHZhbA0KICAgICAqIEBwYXJhbSB7Kn0gZm9ybWF0IG5vU3BlY2lhbA0KICAgICAqIEByZXR1cm4geyp9DQogICAgICovCiAgICBmb3JtYXRJbnB1dDogZnVuY3Rpb24gZm9ybWF0SW5wdXQodmFsLCBfcmVmMikgewogICAgICB2YXIgZm9ybWF0ID0gX3JlZjIuZm9ybWF0LAogICAgICAgIHByb3AgPSBfcmVmMi5wcm9wOwogICAgICBpZiAoZm9ybWF0KSB7CiAgICAgICAgdGhpcy5kaWFsb2dGb3JtW3Byb3BdID0gdGhpcy5mb3JtYXRCeVJ1bGUodmFsLCBmb3JtYXQpOwogICAgICB9CiAgICB9LAogICAgZm9ybWF0QnlSdWxlOiBmdW5jdGlvbiBmb3JtYXRCeVJ1bGUodmFsLCB0eXBlKSB7CiAgICAgIHZhciBydWxlcyA9IHsKICAgICAgICBub1NwZWNpYWw6IC9bXlx1NEUwMC1cdTlGQTVBLVphLXowLTldL2cKICAgICAgfTsKICAgICAgaWYgKHJ1bGVzW3R5cGVdICYmIHZhbCkgewogICAgICAgIHJldHVybiB2YWwucmVwbGFjZShydWxlc1t0eXBlXSwgJycpOwogICAgICB9CiAgICAgIHJldHVybiB2YWw7CiAgICB9LAogICAgZ2V0QWN0aW9uczogZnVuY3Rpb24gZ2V0QWN0aW9ucyhfcmVmMywgYWN0aW9ucykgewogICAgICB2YXIgZGF0YSA9IF9yZWYzLmRhdGE7CiAgICAgIGlmICh0eXBlb2YgdGhpcy5hY3Rpb25zID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyhkYXRhLCBhY3Rpb25zKTsKICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuYWN0aW9ucykpIHsKICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBhY3Rpb25zOwogICAgICB9CiAgICB9LAogICAgYWRkTm9kZTogZnVuY3Rpb24gYWRkTm9kZSgpIHsKICAgICAgLy8gb3JkZXJOdW06IERFRl9PUkRFUl9OVU0sCiAgICAgIHRoaXMuZGlhbG9nRm9ybSA9IF9vYmplY3RTcHJlYWQoe30sIHRoaXMuZGVmYXVsdERhdGEpOwogICAgICB0aGlzLmRpYWxvZ1RpdGxlID0gJ+aWsOWinuiKgueCuSc7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgZWRpdE5vZGU6IGZ1bmN0aW9uIGVkaXROb2RlKGRhdGEpIHsKICAgICAgdGhpcy5kaWFsb2dGb3JtID0gX29iamVjdFNwcmVhZCh7fSwgZGF0YSk7CiAgICAgIHRoaXMuZGlhbG9nVGl0bGUgPSAn57yW6L6R6IqC54K5JzsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICBkZWxldGVOb2RlOiBmdW5jdGlvbiBkZWxldGVOb2RlKGRhdGEpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oIlx1Nzg2RVx1OEJBNFx1NTIyMFx1OTY2NCIuY29uY2F0KGRhdGFbdGhpcy5kZWZhdWx0UHJvcHMubGFiZWxdICsgKHRoaXMuY3VyQWN0aW9uLnRpcHMgPyB0aGlzLmN1ckFjdGlvbi50aXBzIDogJycpLCAiXHU1NDE3XHVGRjFGIiksICfmj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKC8qI19fUFVSRV9fKi9fYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMoKSB7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGlmICghKHR5cGVvZiBfdGhpczMuY3VyQWN0aW9uLm1ldGhvZCA9PT0gJ2Z1bmN0aW9uJykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gNDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDM7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMy5jdXJBY3Rpb24ubWV0aG9kKFtkYXRhLmlkXSwgZGF0YSk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBpZiAoX3RoaXMzLmxhenkpIHsKICAgICAgICAgICAgICAgIF90aGlzMy5yZWZyZXNoTm9kZXMoX3RoaXMzLmN1ck5vZGUucGFyZW50SWQpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoX3RoaXMzLnJlcXVlc3RNZXRob2QpIHsKICAgICAgICAgICAgICAgICAgX3RoaXMzLmdldFRyZWVEYXRhKCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBfdGhpczMuJHJlZnMuYXBwVHJlZS5lbFRyZWUucmVtb3ZlKGRhdGEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzKTsKICAgICAgfSkpKS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgb25Ob2RlQWN0aW9uQ2xpY2s6IGZ1bmN0aW9uIG9uTm9kZUFjdGlvbkNsaWNrKGUpIHsKICAgICAgdmFyIHR5cGUgPSBlLnR5cGUsCiAgICAgICAgZGF0YSA9IGUuZGF0YTsKICAgICAgdGhpcy4kZW1pdCgnYmVmb3JlQWN0aW9uc0NsaWNrJywgZSk7CiAgICAgIGlmICh0aGlzLmN1c3RvbUFjdGlvbnMpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5jdXJOb2RlID0gZGF0YTsKICAgICAgdGhpcy5jdXJBY3Rpb24gPSBlOwogICAgICB2YXIgbWFwID0gewogICAgICAgIGFkZDogdGhpcy5hZGROb2RlLAogICAgICAgIGVkaXQ6IHRoaXMuZWRpdE5vZGUsCiAgICAgICAgZGVsZXRlOiB0aGlzLmRlbGV0ZU5vZGUKICAgICAgfTsKICAgICAgbWFwW3R5cGVdICYmIG1hcFt0eXBlXShkYXRhKTsKICAgIH0sCiAgICByZWZyZXNoTm9kZXM6IGZ1bmN0aW9uIHJlZnJlc2hOb2RlcygpIHsKICAgICAgdmFyIF90aGlzJGN1ck5vZGUzOwogICAgICB2YXIgaWQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IChfdGhpcyRjdXJOb2RlMyA9IHRoaXMuY3VyTm9kZSkgPT09IG51bGwgfHwgX3RoaXMkY3VyTm9kZTMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJGN1ck5vZGUzLmlkOwogICAgICB2YXIgbm9kZSA9IHRoaXMuJHJlZnMuYXBwVHJlZS5lbFRyZWUuZ2V0Tm9kZShpZCk7CiAgICAgIG5vZGUubG9hZGVkID0gZmFsc2U7CiAgICAgIG5vZGUuZXhwYW5kKCk7CiAgICB9LAogICAgbG9hZE5vZGU6IGZ1bmN0aW9uIGxvYWROb2RlKG5vZGUsIHJlc29sdmUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgdmFyIGNiOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNCQoX2NvbnRleHQ0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBjYiA9IGZ1bmN0aW9uIGNiKGRhdGEpIHsKICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKGRhdGEpOwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgX3RoaXM0LnJlcXVlc3RNZXRob2Qobm9kZSwgY2IpOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyBsYXp5IHNlYXJjaAogICAgc2VhcmNoUmVsb2FkOiBmdW5jdGlvbiBzZWFyY2hSZWxvYWQodmFsKSB7CiAgICAgIHRoaXMubGF6eVRyZWUgPSAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmFsLmxlbmd0aCkgPT09IDA7CiAgICAgIHR5cGVvZiB0aGlzLnJlbG9hZCA9PT0gJ2Z1bmN0aW9uJyAmJiB0aGlzLnJlbG9hZCh2YWwpOwogICAgfSwKICAgIHJlbG9hZFRyZWU6IGZ1bmN0aW9uIHJlbG9hZFRyZWUoKSB7CiAgICAgIHRoaXMuJHJlZnMuYXBwVHJlZS5yZWxvYWRUcmVlKCk7CiAgICAgIC8vIOW8guatpeaQnOe0ouafpeivouagkeiwg+eUqOaOpeWPo+afpeivouWFqOmDqOiKgueCuQogICAgICBpZiAodGhpcy5sYXp5ICYmICF0aGlzLmxhenlUcmVlICYmIHRoaXMucmVxdWVzdE1ldGhvZCkgewogICAgICAgIHRoaXMuZ2V0VHJlZURhdGEoKTsKICAgICAgfQogICAgfSwKICAgIC8vIOWPjOWHu+WxleW8gOiKgueCuQogICAgb25Ob2RlREJDbGljazogZnVuY3Rpb24gb25Ob2RlREJDbGljayhlLCBzY29wZSkgewogICAgICBpZiAodGhpcy5kYkNsaWNrRXhwYW5kQWxsb3cpIHsKICAgICAgICB0aGlzLiRyZWZzLmFwcFRyZWUuZWxUcmVlLnN0b3JlLm5vZGVzTWFwW3Njb3BlLmRhdGEuaWRdLmV4cGFuZGVkID0gIXNjb3BlLm5vZGUuZXhwYW5kZWQ7CiAgICAgIH0KICAgIH0KICB9Cn07"},null]}